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?').''. - '
'. - '