stopOnError(v($_REQUEST['ignore_errors']) == 'yes' ? FALSE : TRUE); //$parser->setCallback( 'report_progress', $module_id ); //$parser->collectStats(v($_REQUEST['stats']) == 'yes'); Session::close(); $result = $parser->parse($_FILES['impfile']['tmp_name'], $_FILES['impfile']['size'], $_FILES['impfile']['name']); $executed = $parser->getExecutedQueries(); $failed = $parser->getFailedQueries(); if (!$result || $executed > 0 || $failed > 0) { $message .= '
'.str_replace('{{NUM}}', $executed, __('{{NUM}} queries successfully executed')); $message .= '
[ ' . str_replace('{{NUM}}', $parser->getRowsAffected(), __('{{NUM}} record(s) were affected')) . '. ]
'; if ($failed > 0) { $message_tmp = ($failed > 1) ? str_replace('{{NUM}}', $failed, __('{{NUM}} queries failed to execute')) : __('Error occurred while executing the query'); $message .= '
'.$message_tmp.'
'; if ($failed == 1) { $message .= '
' . htmlspecialchars($parser->getError()) . '
'; $message .= '
' . htmlspecialchars($parser->getLastQuery()) . '
'; } } } else $message .= '
'.__('No queries were executed during import').'.
'; } else $message .= '
'.__('File upload failed. Please try again').'.
'; $importDone = TRUE; } if (!$importDone) { $message = '
'.str_replace('{{SIZE}}', $max_upload_size_text, __('Maximum upload filesize is {{SIZE}}')); $message .= '
' . str_replace('{{LIST}}', valid_import_files(), __('Supported filetypes / extensions are: ({{LIST}})')) . '
'; } else { $refresh = '1'; } $replace = array( 'MESSAGE' => $message, 'MAX_SIZE' => $max_upload_size, 'REFRESH' => $refresh ); echo view( 'import', $replace, array( 'progress' => phpCheck(5.4) ) ); } function valid_import_files() { $files = '*.sql, *.txt'; if (function_exists('bzopen')) $files .= ', *.bz, *.bzip, *.bz2'; if (function_exists('gzopen')) $files .= ', *.gz, *.gzip'; return $files; } // reports file upload progress during import function getModuleStatus( $id ) { $key = "upload_progress_import"; $status = array('c' => 0, 'r' => 0, 's' => 0); if ( isset( $_SESSION[$key] ) ) { $status['c'] = (int) ( $_SESSION[$key]['bytes_processed'] / $_SESSION[$key]['content_length'] * 100 ); $status['s'] = 1; } return $status; } // reports sql import status after file uploads function report_progress( $module_id, $executed ) { $st = Session::get( 'status', $module_id ); Session::set( 'status', $module_id, $executed ); } ?>