![]() |
Xataface 2.0
Xataface Application Framework
|
00001 <?php 00002 class dataface_actions_related_records_checkboxes { 00003 00004 function handle($params){ 00005 $app =& Dataface_Application::getInstance(); 00006 $query =& $app->getQuery(); 00007 $record =& $app->getRecord(); 00008 if ( !$record ){ 00009 return PEAR::raiseError("No record found.", DATAFACE_E_NOTICE); 00010 } 00011 if ( !isset($query['-relationship']) ){ 00012 return PEAR::raiseError("No relationship specified."); 00013 } 00014 00015 $table =& Dataface_Table::loadTable($query['-table']); 00016 00017 $action = $table->getRelationshipsAsActions(array(), $query['-relationship']); 00018 00019 if ( @$action['permission'] and !$record->checkPermission($action['permission']) ){ 00020 return Dataface_Error::permissionDenied(); 00021 } 00022 00023 ob_start(); 00024 import('Dataface/RelationshipCheckboxForm.php'); 00025 $form = new Dataface_RelationshipCheckboxForm($record, $query['-relationship']); 00026 $out = ob_get_contents(); 00027 ob_end_clean(); 00028 00029 if ( isset($query['-template']) ){ 00030 df_display(array('form'=>$out), $query['-template']); 00031 } else if ( isset($action['template']) ){ 00032 df_display(array('form'=>$out), $action['template']); 00033 } else { 00034 df_display(array('form'=>$out), 'Dataface_related_records_checkboxes.html'); 00035 } 00036 00037 00038 } 00039 00040 } 00041 00042 ?>