Xataface 2.0
Xataface Application Framework
actions/delete.php
Go to the documentation of this file.
00001 <?php
00002 class dataface_actions_delete {
00003 
00004         function handle(&$params){
00005                 import( 'Dataface/DeleteForm.php');
00006                 import( 'Dataface/LanguageTool.php');
00007                 import( 'Dataface/Record.php');
00008                 
00009                 $app =& Dataface_Application::getInstance();
00010                 $query =& $app->getQuery();
00011                 $record = new Dataface_Record($query['-table'], @$_REQUEST['--__keys__']);
00012 
00013 //              if ( !Dataface_PermissionsTool::delete($record) ) {
00014 //                      return Dataface_Error::permissionDenied(
00015 //                              Dataface_LanguageTool::translate(
00016 //                                      /* i18n id */
00017 //                                      'No delete permissions',
00018 //                                      /* Default error message */
00019 //                                      'Insufficient Permissions to delete this record',
00020 //                                      /* i18n parameters */
00021 //                                      array('record'=>$record->getTitle())
00022 //                              )
00023 //                      );
00024 //                      
00025 //                      
00026 //              }
00027                 
00028         
00029                 
00030                 $form = new Dataface_DeleteForm($query['-table'], $app->db(), $query);
00031                 
00032                 $form->_build();
00033                 $form->addElement('hidden','-table');
00034                 $form->setDefaults(array('-table'=>$query['-table']));
00035                 $msg = '';
00036                 
00037                 if ( $form->validate() ){
00038                         $res = $form->process( array(&$form, 'delete'), true);
00039                         $response =& Dataface_Application::getResponse();
00040                         if ( !isset($response['--msg']) ) $response['--msg'] = '';
00041                         $failed = false;
00042                         if ( PEAR::isError($res) && !Dataface_Error::isNotice($res) ){
00043                                 return $res;
00044                                 //$error = $res->getMessage();
00045                                 //$msg .= "\n". $res->getUserInfo();
00046                         } else if ( Dataface_Error::isNotice($res) ){
00047                                 $app->addError($res);
00048                                 //$response['--msg'] = @$response['--msg'] ."\n".$res->getMessage();
00049                                 $failed = true;
00050                         } else if ( is_array($res) ){
00051                                 $msg = df_translate(
00052                                         'Some errors occurred while deleting records',
00053                                         'Some errors occurred while deleting records'
00054                                         );
00055                                 foreach ($res as $warning){
00056                                         $response['--msg'] .= "\n".$warning->getMessage();
00057                                 }
00058                                 
00059                         } else  {
00060                                 $msg = Dataface_LanguageTool::translate(
00061                                         /* i18n id */
00062                                         'Records successfully deleted',
00063                                         /* default message */
00064                                         'Records successfully deleted.'
00065                                 );
00066                         }
00067                         $msg = urlencode(trim($msg."\n".$response['--msg']));
00068                         if ( !$failed ){
00069                                 import('Dataface/Utilities.php');
00070                                 Dataface_Utilities::fireEvent('after_action_delete', array('record'=>&$record));
00071                                 header('Location: '.$_SERVER['HOST_URI'].DATAFACE_SITE_HREF.'?-table='.$query['-table'].'&--msg='.$msg);
00072                                 exit;
00073                         }
00074                 }
00075                 
00076                 ob_start();
00077                 $form->display();
00078                 $out = ob_get_contents();
00079                 ob_end_clean();
00080                 
00081                 
00082                 $context = array('form'=>$out);
00083                 if ( isset($query['-template']) ) $template = $query['-template'];
00084                 else if ( isset( $params['action']['template']) ) $template = $params['action']['template'];
00085                 else $template = 'Dataface_Delete_Record.html';
00086                 df_display($context, $template, true);
00087         
00088         }
00089 }
 All Data Structures Namespaces Files Functions Variables Enumerations