/** * This file is a part of MyWebSQL package * * @file: modules/import.php * @author Samnan ur Rehman * @copyright (c) 2008-2014 Samnan ur Rehman * @web http://mywebsql.net * @license http://mywebsql.net/license */ function processRequest(&$db) { $importDone = FALSE; $message = ''; $refresh = '0'; $max_upload_size = min(bytes_value(ini_get('post_max_size')), bytes_value(ini_get('upload_max_filesize'))) / 1024; $max_upload_size_text = $max_upload_size < 1024 ? $max_upload_size . 'KB' : $max_upload_size / 1024 . ' MB'; if (isset($_FILES['impfile'])) { if (v($_FILES['impfile']['tmp_name']) != '' && file_exists($_FILES['impfile']['tmp_name'])) { include BASE_PATH . "/lib/sqlparser.php"; $parser = new sqlParser($db); $parser->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 .= '<div class="message ui-state-default">' . str_replace('{{NUM}}', $executed, __('{{NUM}} queries successfully executed')); $message .= '<br />[ ' . str_replace('{{NUM}}', $parser->getRowsAffected(), __('{{NUM}} record(s) were affected')) . '. ]</div>'; if ($failed > 0) { $message_tmp = $failed > 1 ? str_replace('{{NUM}}', $failed, __('{{NUM}} queries failed to execute')) : __('Error occurred while executing the query'); $message .= '<div class="message ui-state-error">' . $message_tmp . '</div>'; if ($failed == 1) { $message .= '<div class="message ui-state-highlight">' . htmlspecialchars($parser->getError()) . '</div>'; $message .= '<div class="sql-text ui-state-error">' . htmlspecialchars($parser->getLastQuery()) . '</div>'; } } } else { $message .= '<div class="message ui-state-default">' . __('No queries were executed during import') . '.</div>'; } } else { $message .= '<div class="message ui-state-error">' . __('File upload failed. Please try again') . '.</div>'; } $importDone = TRUE; } if (!$importDone) { $message = '<div class="message ui-state-default">' . str_replace('{{SIZE}}', $max_upload_size_text, __('Maximum upload filesize is {{SIZE}}')); $message .= '<br/>' . str_replace('{{LIST}}', valid_import_files(), __('Supported filetypes / extensions are: ({{LIST}})')) . '</div>'; } else { $refresh = '1'; } $replace = array('MESSAGE' => $message, 'MAX_SIZE' => $max_upload_size, 'REFRESH' => $refresh); echo view('import', $replace, array('progress' => phpCheck(5.4))); }
<?php $all_pass = true; $failed = false; $php_version = false; $openssl = false; $bcmath = false; $gmp = false; $uri = false; ?> <table cellspacing="0"> <tr> <th>PHP Version</th> <?php if (phpCheck(5.0)) { $php_version = true; ?> <td class="pass"><?php echo PHP_VERSION; ?> </td> <?php } else { $failed = TRUE; ?> <td class="fail">MyWebSQL requires PHP 5.0 or newer, your current PHP version is <?php echo PHP_VERSION; ?> .</td> <?php
function getFieldValues($table, $name) { $sql = 'show full fields from `' . $table . '` where `Field` = \'' . $this->escape($name) . '\''; $res = mysqli_query($this->conn, $sql); if (mysqli_num_rows($res) == 0) { return (object) array('list' => array()); } $row = mysqli_fetch_array($res); $type = $row['Type']; preg_match('/enum\\((.*)\\)$/', $type, $matches); if (!isset($matches[1])) { preg_match('/set\\((.*)\\)$/', $type, $matches); } if (isset($matches[1])) { if (phpCheck(5.3)) { $regex = "/\\('(.*)'\\)/"; preg_match_all($regex, $row['Type'], $list); return array_map('replace_single_quotes', explode("','", $list[1][0])); } else { $list = explode(',', $matches[1]); foreach ($list as $k => $v) { $list[$k] = str_replace("\\'", "'", trim($v, " '")); } return $list; } } return (object) array('list' => array()); }