function set_cook_tab() { global $SIDU; $MODE = @explode('.', $_COOKIE['SIDUMODE']); //0lang 1gridMode 2pgsize ... if (isset($_POST['gridMode'])) { $MODE[1] = $_POST['gridMode']; } if (isset($_POST['sidu9'])) { $MODE[2] = @ceil($_POST['sidu9']); } if (!$MODE[0]) { $MODE[0] = 'en'; } if (!$MODE[1]) { $MODE[1] = 0; } $cook = @implode(".", $MODE); if ($cook != $_COOKIE['SIDUMODE']) { $_COOKIE['SIDUMODE'] = $cook; @setcookie('SIDUMODE', $cook, @time() + 311040000); } $cook = $SIDU['cook'][$SIDU[0]]; if ($SIDU[1] == $cook[1] && $SIDU[2] == $cook[2] && $SIDU[3] == $cook[3] && $SIDU[4] == $cook[4]) { return; } @update_sidu_cook(@array($SIDU[0], $SIDU[1], $SIDU[2], $SIDU[3], $SIDU[4])); }
function run_sqls() { global $SIDU; $conn = $SIDU['conn'][$SIDU[0]]; $eng = $conn[1]; $cook = $SIDU['cook'][$SIDU[0]]; @tm_use_db($cook[1], $cook[2]); if ($_GET['sql'] == 'show vars') { $_POST['sqlcur'] = $eng == 'pg' ? 'SHOW ALL' : 'SHOW VARIABLES'; } elseif (@substr($_GET['sql'], 0, 6) == 'FLUSH ') { if ($_GET['sql'] == 'FLUSH ALL') { $_POST['sqlcur'] = "FLUSH LOGS;\nFLUSH HOSTS;\nFLUSH PRIVILEGES;\nFLUSH TABLES;\nFLUSH STATUS;\nFLUSH DES_KEY_FILE;\nFLUSH QUERY CACHE;\nFLUSH USER_RESOURCES;\nFLUSH TABLES WITH READ LOCK"; } else { $_POST['sqlcur'] = $_GET['sql']; } } elseif (@substr($_GET['sql'], 0, 9) == 'STATScol:') { $_POST['sqlcur'] = "SELECT " . @goodname(@substr($_GET['sql'], 9)) . ",count(*) FROM " . @goodname($cook[4]) . " GROUP BY 1 ORDER BY 2 DESC,1 LIMIT 20"; } elseif ($_GET['sql']) { $_POST['sqlcur'] = $_GET['sql']; } $arr = @explode(chr(10), @strip($_POST['sqlcur'], 1, 0, 1)); foreach ($arr as $v) { $v = @trim($v); if ($v) { $arr2[] = $v; } } $txt = @implode(chr(10), $arr2); $arr = @explode(";" . chr(10), $txt); foreach ($arr as $i => $sql) { $time_start = @microtime(true); $res = $eng == 'my' ? @mysql_query($sql) : ($eng == 'pg' ? @pg_query($sql) : @sqlite_query($SIDU['dbL'], $sql)); $time_end = @microtime(true); $time = @round(($time_end - $time_start) * 1000); $SIDU[5] += $time; $err = @sidu_err(1); $RES[$i][0] = $sql; if ($err) { $RES[$i][1] = $err; $SIDU[8]++; } else { $RES[$i][3] = $eng == 'my' ? @mysql_num_rows($res) : ($eng == 'pg' ? @pg_num_rows($res) : @sqlite_num_rows($res)); if ($eng == 'pg' && !$RES[$i][3]) { $RES[$i][2] = @pg_affected_rows($res); if (!$RES[$i][2]) { unset($RES[$i][2]); } } //there is no function: sqlite_affected_rows() if ($RES[$i][3] === false && $eng == 'my') { $RES[$i][2] = @mysql_affected_rows(); } if (!isset($SIDU[6]) && $RES[$i][3] !== false) { $SIDU[6] = $i; $RES[$i][5] = @get_sql_col($res, $eng); $RES[$i][6] = @get_sql_data($res, $eng); } elseif ($_POST['sqlmore'] && $RES[$i][3] !== false) { $RES[$i][5] = @get_sql_col($res, $eng); $RES[$i][6] = @get_sql_data($res, $eng); } $RES[$i][4] = $time; } @tm_his_log('S', $sql, $time, $err); } $SIDU[7] = ++$i; $SIDU['RES'] = $RES; //reset cookie if ($eng == 'my') { $db = @mysql_fetch_row(@mysql_query("SELECT database()")); if ($db[0] != $cook[1]) { $ck = @array($conn[0], $db[0]); } } elseif ($eng == 'pg') { $db[0] = @pg_dbname(); if ($db[0] != $cook[1]) { $ck = @array($conn[0], $db[0]); } else { //sch $sch = pg_fetch_row(pg_query("SHOW search_path")); if (@substr($sch[0], 0, 8) == '"$user",') { $sch[0] = @substr($sch[0], 8); } $sch[0] = @str_replace('"', '', $sch[0]); if ($sch[0] != $cook[2]) { $ck = @array($conn[0], $cook[1], $sch[0]); } } } if (isset($ck)) { @update_sidu_cook($ck); } }
function set_cook_db() { global $SIDU; if (!$SIDU[1]) { return; } $cook = $SIDU['cook'][$SIDU[0]]; if ($SIDU[1] != $cook[1]) { $arr = @array($SIDU[0], $SIDU[1]); } elseif ($SIDU[2] != $cook[2]) { $arr = @array($SIDU[0], $SIDU[1], $SIDU[2]); } elseif ($SIDU[3] != $cook[3]) { $arr = @array($SIDU[0], $SIDU[1], $SIDU[2], $SIDU[3]); } //typ if (isset($arr) && $cook != $arr) { @update_sidu_cook($arr); } }