Xataface  2.0alpha2
Xataface Application Framework
 All Data Structures Namespaces Files Functions Variables Groups Pages
delete.php
Go to the documentation of this file.
1 <?php
3 
4  function handle(&$params){
5  import( 'Dataface/DeleteForm.php');
6  import( 'Dataface/LanguageTool.php');
7  import( 'Dataface/Record.php');
8 
10  $query =& $app->getQuery();
11  $record = new Dataface_Record($query['-table'], @$_REQUEST['--__keys__']);
12 
13 // if ( !Dataface_PermissionsTool::delete($record) ) {
14 // return Dataface_Error::permissionDenied(
15 // Dataface_LanguageTool::translate(
16 // /* i18n id */
17 // 'No delete permissions',
18 // /* Default error message */
19 // 'Insufficient Permissions to delete this record',
20 // /* i18n parameters */
21 // array('record'=>$record->getTitle())
22 // )
23 // );
24 //
25 //
26 // }
27 
28 
29 
30  $form = new Dataface_DeleteForm($query['-table'], $app->db(), $query);
31 
32  $form->_build();
33  $form->addElement('hidden','-table');
34  $form->setDefaults(array('-table'=>$query['-table']));
35  $msg = '';
36 
37  if ( $form->validate() ){
38  $res = $form->process( array(&$form, 'delete'), true);
39  $response =& Dataface_Application::getResponse();
40  if ( !isset($response['--msg']) ) $response['--msg'] = '';
41  $failed = false;
42  if ( PEAR::isError($res) && !Dataface_Error::isNotice($res) ){
43  return $res;
44  //$error = $res->getMessage();
45  //$msg .= "\n". $res->getUserInfo();
46  } else if ( Dataface_Error::isNotice($res) ){
47  $app->addError($res);
48  //$response['--msg'] = @$response['--msg'] ."\n".$res->getMessage();
49  $failed = true;
50  } else if ( is_array($res) ){
51  $msg = df_translate(
52  'Some errors occurred while deleting records',
53  'Some errors occurred while deleting records'
54  );
55  foreach ($res as $warning){
56  $response['--msg'] .= "\n".$warning->getMessage();
57  }
58 
59  } else {
61  /* i18n id */
62  'Records successfully deleted',
63  /* default message */
64  'Records successfully deleted.'
65  );
66  }
67  $msg = urlencode(trim($msg."\n".$response['--msg']));
68  if ( !$failed ){
69  import('Dataface/Utilities.php');
70  Dataface_Utilities::fireEvent('after_action_delete', array('record'=>&$record));
71  header('Location: '.$_SERVER['HOST_URI'].DATAFACE_SITE_HREF.'?-table='.$query['-table'].'&--msg='.$msg);
72  exit;
73  }
74  }
75 
76  ob_start();
77  $form->display();
78  $out = ob_get_contents();
79  ob_end_clean();
80 
81 
82  $context = array('form'=>$out);
83  if ( isset($query['-template']) ) $template = $query['-template'];
84  else if ( isset( $params['action']['template']) ) $template = $params['action']['template'];
85  else $template = 'Dataface_Delete_Record.html';
86  df_display($context, $template, true);
87 
88  }
89 }