![]() |
Xataface 2.0
Xataface Application Framework
|
00001 <?php 00002 import('Dataface/QueryTool.php'); 00007 class dataface_actions_import { 00008 function handle($params){ 00009 import( 'Dataface/ImportForm.php'); 00010 $app =& Dataface_Application::getInstance(); 00011 $query =& $app->getQuery(); 00012 00013 $form = new Dataface_ImportForm($query['-table']); 00014 $record =& $form->_record; 00015 00016 if ( is_object($record) ){ 00017 if ( !$record->checkPermission('import') ){ 00018 00019 return Dataface_Error::permissionDenied(); 00020 } 00021 } else { 00022 if ( !Dataface_PermissionsTool::checkPermission('import',Dataface_Table::loadTable($query['-table']) ) ){ 00023 return Dataface_Error::permissionDenied(); 00024 } 00025 } 00026 $form->_build(); 00027 00028 00029 00030 if ( $form->validate() ){ 00031 //echo "validated"; 00032 $querystr = $form->exportValue('-query'); 00033 $returnPage = $form->exportValue('--redirect'); 00034 00035 if ( intval($form->_step) === 1 ){ 00036 00037 if ( preg_match('/--step=1/',$querystr) ){ 00038 $querystr = preg_replace('/--step=1/', '--step=2', $querystr); 00039 } else { 00040 $querystr .= '&--step=2'; 00041 } 00042 $importTablename = $form->process(array(&$form, 'import')); 00043 $app->redirect($_SERVER['PHP_SELF'].'?'.$querystr.'&--importTablename='.$importTablename.'&--redirect='.urlencode($returnPage)); 00044 } else { 00045 $records = $form->process(array(&$form, 'import')); 00046 $returnPage = $form->exportValue('--redirect'); 00047 //$keys = $form->exportValue('__keys__'); 00048 //$keys['-action'] = 'browse'; 00049 //$keys['-step'] = null; 00050 //$keys['-query'] = null; 00051 00052 //$link = Dataface_LinkTool::buildLink($keys); 00053 $link = $returnPage; 00054 $response =& Dataface_Application::getResponse(); 00055 $msg = urlencode(trim("Records imported successfully.\n".@$response['--msg'])); 00056 if ( strpos($link,'?') === false ) $link .= '?'; 00057 $app->redirect($link.'&--msg='.$msg); 00058 00059 00060 00061 } 00062 00063 00064 00065 00066 } 00067 00068 ob_start(); 00069 $form->display(); 00070 $out = ob_get_contents(); 00071 ob_end_clean(); 00072 $context['form'] = $out; 00073 $context['filters'] = $form->_filterNames; 00074 $context['step'] = $form->_step; 00075 00076 if ( isset($query['-template']) ) $template = $query['-template']; 00077 else if ( isset( $params['action']['template']) ) $template = $params['action']['template']; 00078 else { 00079 if ( isset( $query['-relationship'] ) ){ 00080 $template = 'Dataface_Import_RelatedRecords.html'; 00081 00082 } else { 00083 $template = 'Dataface_Import_RelatedRecords.html'; 00084 } 00085 00086 } 00087 00088 df_display($context, $template, true); 00089 00090 } 00091 } 00092 00093 00094 ?>