send fake headers to bypass browser timeout

This commit is contained in:
Loïc Chapeaux
2001-12-08 21:05:38 +00:00
parent 1c554449ea
commit 55dd29646f
3 changed files with 41 additions and 13 deletions

View File

@@ -9,6 +9,8 @@ $Source$
* libraries/left.js, lines 234-240: fixed a js bug with empty databases. * libraries/left.js, lines 234-240: fixed a js bug with empty databases.
* libraries/functions.js: improved pointer code (for Opera 6.0). * libraries/functions.js: improved pointer code (for Opera 6.0).
* left.php3: nicer codding for Opera exception. * left.php3: nicer codding for Opera exception.
* read_dump.php3; libraries/build_dump.lib.php3: send fake headers to
bypass browser timeout.
2001-12-07 Lo<4C>c Chapeaux <lolo@phpheaven.net> 2001-12-07 Lo<4C>c Chapeaux <lolo@phpheaven.net>
* lang/polish.inc.php3: fixed typos thanks to Tomasz Regdos & Jakub Wilk. * lang/polish.inc.php3: fixed typos thanks to Tomasz Regdos & Jakub Wilk.

View File

@@ -199,9 +199,10 @@ if (!defined('PMA_BUILD_DUMP_LIB_INCLUDED')){
. ' VALUES ('; . ' VALUES (';
} }
$search = array("\x00", "\x0a", "\x0d", "\x1a"); //\x08\\x09, not required $search = array("\x00", "\x0a", "\x0d", "\x1a"); //\x08\\x09, not required
$replace = array('\0', '\n', '\r', '\Z'); $replace = array('\0', '\n', '\r', '\Z');
$isFirstRow = TRUE; $is_first_row = TRUE;
$prev_time = time();
@set_time_limit($GLOBALS['cfgExecTimeLimit']); @set_time_limit($GLOBALS['cfgExecTimeLimit']);
@@ -225,9 +226,9 @@ if (!defined('PMA_BUILD_DUMP_LIB_INCLUDED')){
// Extended inserts case // Extended inserts case
if (isset($GLOBALS['extended_ins'])) { if (isset($GLOBALS['extended_ins'])) {
if ($isFirstRow) { if ($is_first_row) {
$insert_line = $schema_insert . implode(', ', $values) . ')'; $insert_line = $schema_insert . implode(', ', $values) . ')';
$isFirstRow = FALSE; $is_first_row = FALSE;
} else { } else {
$insert_line = '(' . implode(', ', $values) . ')'; $insert_line = '(' . implode(', ', $values) . ')';
} }
@@ -240,6 +241,14 @@ if (!defined('PMA_BUILD_DUMP_LIB_INCLUDED')){
// Call the handler // Call the handler
$handler($insert_line); $handler($insert_line);
// loic1: each 20 seconds, send a fake header to bypass browser
// timeout
$new_time = time();
if ($new_time - $prev_time >= 20) {
$prev_time = $new_time;
header('Expires: 0');
}
} // end while } // end while
// Replace last comma by a semi-column in extended inserts case // Replace last comma by a semi-column in extended inserts case
@@ -282,11 +291,12 @@ if (!defined('PMA_BUILD_DUMP_LIB_INCLUDED')){
{ {
global $use_backquotes; global $use_backquotes;
$local_query = 'SELECT * FROM ' . PMA_backquote($db) . '.' . PMA_backquote($table) . $add_query; $local_query = 'SELECT * FROM ' . PMA_backquote($db) . '.' . PMA_backquote($table) . $add_query;
$result = mysql_query($local_query) or PMA_mysqlDie('', $local_query, '', $error_url); $result = mysql_query($local_query) or PMA_mysqlDie('', $local_query, '', $error_url);
$i = 0; $i = 0;
$isFirstRow = TRUE; $is_first_row = TRUE;
$fields_cnt = mysql_num_fields($result); $fields_cnt = mysql_num_fields($result);
$prev_time = time();
@set_time_limit($GLOBALS['cfgExecTimeLimit']); // HaRa @set_time_limit($GLOBALS['cfgExecTimeLimit']); // HaRa
@@ -298,7 +308,7 @@ if (!defined('PMA_BUILD_DUMP_LIB_INCLUDED')){
$table_list = substr($table_list, 0, -2); $table_list = substr($table_list, 0, -2);
$table_list .= ')'; $table_list .= ')';
if (isset($GLOBALS['extended_ins']) && !$isFirstRow) { if (isset($GLOBALS['extended_ins']) && !$is_first_row) {
$schema_insert = '('; $schema_insert = '(';
} else { } else {
if (isset($GLOBALS['showcolumns'])) { if (isset($GLOBALS['showcolumns'])) {
@@ -308,7 +318,7 @@ if (!defined('PMA_BUILD_DUMP_LIB_INCLUDED')){
$schema_insert = 'INSERT INTO ' . PMA_backquote(PMA_htmlFormat($table), $use_backquotes) $schema_insert = 'INSERT INTO ' . PMA_backquote(PMA_htmlFormat($table), $use_backquotes)
. ' VALUES ('; . ' VALUES (';
} }
$isFirstRow = FALSE; $is_first_row = FALSE;
} }
for ($j = 0; $j < $fields_cnt; $j++) { for ($j = 0; $j < $fields_cnt; $j++) {
@@ -348,6 +358,14 @@ if (!defined('PMA_BUILD_DUMP_LIB_INCLUDED')){
$schema_insert .= ')'; $schema_insert .= ')';
$handler(trim($schema_insert)); $handler(trim($schema_insert));
++$i; ++$i;
// loic1: each 20 seconds, send a fake header to bypass browser
// timeout
$new_time = time();
if ($new_time - $prev_time >= 20) {
$prev_time = $new_time;
header('Expires: 0');
}
} // end while } // end while
mysql_free_result($result); mysql_free_result($result);

View File

@@ -23,6 +23,7 @@ function PMA_splitSqlFile(&$ret, $sql, $release)
$char = ''; $char = '';
$string_start = ''; $string_start = '';
$in_string = FALSE; $in_string = FALSE;
$prev_time = time();
for ($i = 0; $i < $sql_len; ++$i) { for ($i = 0; $i < $sql_len; ++$i) {
$char = $sql[$i]; $char = $sql[$i];
@@ -117,6 +118,13 @@ function PMA_splitSqlFile(&$ret, $sql, $release)
&& ($char == '!' && $i > 1 && $sql[$i-2] . $sql[$i-1] == '/*')) { && ($char == '!' && $i > 1 && $sql[$i-2] . $sql[$i-1] == '/*')) {
$sql[$i] = ' '; $sql[$i] = ' ';
} // end else if } // end else if
// loic1: each 20 seconds, send a fake header to bypass browser timeout
$new_time = time();
if ($new_time - $prev_time >= 20) {
$prev_time = $new_time;
header('Expires: 0');
}
} // end for } // end for
// add any rest to the returned array // add any rest to the returned array