From 3f5e26ab409ea11a7126eaf76c1a37fd9661c4e7 Mon Sep 17 00:00:00 2001 From: lLefevre Date: Wed, 28 Sep 2011 07:10:24 +0000 Subject: [PATCH] //fix correction norm in SQL manager --- admin-dev/requestSql.php | 79 +- admin-dev/tabs/AdminRequestSql.php | 155 +- classes/RequestSql.php | 256 ++-- classes/Tools.php | 2 +- docs/licences/php-sql-parser.txt | 12 + install-dev/sql/db_settings_lite.sql | 10 +- install-dev/sql/upgrade/1.5.0.1.sql | 2 +- tools/parser_sql/php-sql-parser.php | 1970 ++++++++++++++++++++++++++ translations/fr/admin.php | 25 +- 9 files changed, 2263 insertions(+), 248 deletions(-) create mode 100644 docs/licences/php-sql-parser.txt create mode 100644 tools/parser_sql/php-sql-parser.php diff --git a/admin-dev/requestSql.php b/admin-dev/requestSql.php index 74d984aaa..e986851b6 100644 --- a/admin-dev/requestSql.php +++ b/admin-dev/requestSql.php @@ -1,6 +1,6 @@ ExecuteS($sql[0]['sql']); - foreach (array_keys($results[0]) as $key) + $sql = RequestSql::getRequestSqlById($id); + + if ($sql) { - $tab_key[] = $key; - fputs($csv, $key.';'); - } - foreach ($results as $result) - { - fputs($csv, "\n"); - foreach ($tab_key as $name) - fputs($csv, $result[$name].';'); - } - if (file_exists(PS_ADMIN_DIR.'/export/'.$file)) - { - $filesize = filesize(PS_ADMIN_DIR.'/export/'.$file); - $upload_max_filesize = return_bytes(ini_get('upload_max_filesize')); - if ($filesize < $upload_max_filesize) + $results = Db::getInstance()->ExecuteS($sql[0]['sql']); + foreach (array_keys($results[0]) as $key) { - header("Content-type: text/csv"); - header("Cache-Control: no-store, no-cache"); - header("Content-Disposition: attachment; filename=\"$file\""); - header("Content-Length: ".$filesize); - readfile(PS_ADMIN_DIR.'/export/'.$file); - die(); + $tab_key[] = $key; + fputs($csv, $key.';'); } - else + foreach ($results as $result) { - header('Location: '.$_SERVER['HTTP_REFERER'].'&maxsize=1'); - die(); + fputs($csv, "\n"); + foreach ($tab_key as $name) + fputs($csv, '"'.Tools::safeOutput($result[$name]).'";'); } + if (file_exists(PS_ADMIN_DIR.'/export/'.$file)) + { + $filesize = filesize(PS_ADMIN_DIR.'/export/'.$file); + $upload_max_filesize = returnBytes(ini_get('upload_max_filesize')); + if ($filesize < $upload_max_filesize) + { + header('Content-type: text/csv'); + header('Cache-Control: no-store, no-cache'); + header('Content-Disposition: attachment; filename="$file"'); + header('Content-Length: '.$filesize); + readfile(PS_ADMIN_DIR.'/export/'.$file); + die(); + } + else + { + header('Location: '.$_SERVER['HTTP_REFERER'].'&maxsize=1'); + die(); + } + } + } + else + { + header('Location: '.$_SERVER['HTTP_REFERER']); + die(); } } else @@ -81,13 +88,12 @@ else die(); } -function return_bytes($val) +function returnBytes($val) { $val = trim($val); - $last = strtolower($val[strlen($val)-1]); + $last = strtolower($val[strlen($val) - 1]); switch ($last) - { - // Le modifieur 'G' est disponible depuis PHP 5.1.0 + { case 'g': $val *= 1024; case 'm': @@ -95,6 +101,5 @@ function return_bytes($val) case 'k': $val *= 1024; } - return $val; } \ No newline at end of file diff --git a/admin-dev/tabs/AdminRequestSql.php b/admin-dev/tabs/AdminRequestSql.php index fd7de3668..f5c664239 100644 --- a/admin-dev/tabs/AdminRequestSql.php +++ b/admin-dev/tabs/AdminRequestSql.php @@ -1,6 +1,6 @@ table = 'request_sql'; @@ -44,7 +44,7 @@ class AdminRequestSql extends AdminTab ); parent::__construct(); } - + public function displayList() { return parent::displayList(); @@ -52,44 +52,44 @@ class AdminRequestSql extends AdminTab public function displayTop() { - echo - '
'. - ' '.$this->l('How to create a new sql query?').''. - '
'. - '