Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/phpmyadmin/phpmyadmin.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJ.M <me@mynetx.net>2012-06-30 17:20:19 +0400
committerJ.M <me@mynetx.net>2012-06-30 17:21:23 +0400
commit5dc0f782f501ed011a918483e4e69085bff722b0 (patch)
tree2e3a598ebb09793dde09f0ec1b8cc94657d0df65 /import_status.php
parenta042003c329a807e4025b198f0dbe37ad0ae2499 (diff)
Fix PHP 5.4 upload progress working only with session.upload_progress.cleanup set to Off
Diffstat (limited to 'import_status.php')
-rw-r--r--import_status.php13
1 files changed, 11 insertions, 2 deletions
diff --git a/import_status.php b/import_status.php
index d056c3e1d4..4e06ca4103 100644
--- a/import_status.php
+++ b/import_status.php
@@ -25,12 +25,12 @@ if (version_compare(PHP_VERSION, '5.4.0', '>=')
) {
$sessionupload = array();
- $prefix = ini_get('session.upload_progress.prefix');
+ define('UPLOAD_PREFIX', ini_get('session.upload_progress.prefix'));
session_start();
foreach ($_SESSION as $key => $value) {
// only copy session-prefixed data
- if (substr($key, 0, strlen($prefix)) == $prefix) {
+ if (substr($key, 0, strlen(UPLOAD_PREFIX)) == UPLOAD_PREFIX) {
$sessionupload[$key] = $value;
}
}
@@ -54,6 +54,15 @@ if (defined('SESSIONUPLOAD')) {
foreach ($sessionupload as $key => $value) {
$_SESSION[$key] = $value;
}
+
+ // remove session upload data that are not set anymore
+ foreach ($_SESSION as $key => $value) {
+ if (substr($key, 0, strlen(UPLOAD_PREFIX)) == UPLOAD_PREFIX
+ && ! isset($sessionupload[$key])
+ ) {
+ unset($_SESSION[$key]);
+ }
+ }
}
/**