function getDomainHistory($domain, $pageNumber, $testType) { global $history; global $totalPages; global $sourceIdentifiers; $query = "\r\n\t\t\tSELECT\r\n\t\t\t\t\t\t\ttests.id AS id,\r\n\t\t\t\t\t\t\tUNIX_TIMESTAMP(tests.begin) AS time,\r\n\t\t\t\t\t\t\tIF(0 < tests.count_error, 'error', IF(0 < tests.count_warning, 'warn', 'ok')) AS status\r\n\t\t\t\tFROM\ttests\r\n\t\t\t\t\tINNER JOIN source ON source.id = tests.source_id\r\n\t\t\t\t\t\tAND source.name = '" . DatabasePackage::escape($sourceIdentifiers[$testType]) . "'\r\n\t\t\t\tWHERE\ttests.domain = '" . DatabasePackage::escape($domain) . "'\r\n\t\t\t\t\t\tAND NOT(ISNULL(tests.end))\r\n\t\t\t\tORDER BY time DESC\r\n\t\t\t\tLIMIT\t" . ($pageNumber - 1) * PAGER_SIZE . ", " . PAGER_SIZE . "\r\n\t\t"; $result = null; $status = DatabasePackage::query($query, $result); if (false === $status) { return false; } foreach ($result as $resultItem) { $history[] = array('class' => $resultItem['status'], 'time' => $resultItem['time'], 'id' => $resultItem['id']); } $query = "\r\n\t\t\tSELECT\r\n\t\t\t\t\t\t\tCOUNT(*) AS num_rows\r\n\t\t\t\tFROM\ttests\r\n\t\t\t\t\tINNER JOIN source ON source.id = tests.source_id\r\n\t\t\t\t\t\tAND source.name = '" . DatabasePackage::escape($sourceIdentifiers[$testType]) . "'\r\n\t\t\t\tWHERE\ttests.domain = '" . DatabasePackage::escape($domain) . "'\r\n\t\t\t\t\t\tAND NOT(ISNULL(tests.end))\r\n\t\t"; $result = null; $status = DatabasePackage::query($query, $result); if (false === $status) { return false; } $totalPages = intval(ceil($result[0]['num_rows'] / PAGER_SIZE)); if (0 == $totalPages) { $totalPages = 1; } return true; }
/** * Gets source ID. It checks if ID is already there, and if it is not, it creates one and returns it. * @param $source String identifier of the source * @return int Id of the source. -1 If database query failed. */ function getSourceID($source) { $result; // Get the value $query = "SELECT id FROM source WHERE name = '" . DatabasePackage::escape($source) . "'"; $status = DatabasePackage::query($query, $result); if (true !== $status) { return -1; } if (count($result) == 0) { // Make a new insert, if we do not have the result $query = "INSERT IGNORE INTO source (name) VALUES ('" . DatabasePackage::escape($source) . "')"; $status = DatabasePackage::query($query, $result); if (true !== $status) { return -1; } // Get the value $query = "SELECT id FROM source WHERE name = '" . DatabasePackage::escape($source) . "'"; $status = DatabasePackage::query($query, $result); if (true !== $status) { return -1; } } if (count($result) <= 0) { return -1; } return intval($result[0]['id']); }
function main(&$tree, &$list) { global $time; global $domain; global $testId; global $languageId; global $sourceIdentifiers; global $sourceData; global $thisVersion; $IDN = new idna_convert(); $domain = $IDN->encode(trim(strtolower($_REQUEST['domain']))); $sourceData = isset($_REQUEST['parameters']) ? trim(strtolower($_REQUEST['parameters'])) : ''; $testId = 0; if (isset($_REQUEST['historyId'])) { $testId = intval($_REQUEST['historyId']); $query = "SELECT UNIX_TIMESTAMP(tests.begin) AS time,\r\n\t\t\t\t\t\t\tsource_data AS source_data\r\n\t\t\t\t\t FROM tests WHERE tests.id = {$testId}"; $result = null; $status = DatabasePackage::query($query, $result); if (true != $status) { return STATUS_INTERNAL_ERROR; } $time = intval($result[0]['time']); $sourceData = $result[0]['source_data']; } else { $query = "\r\n\t\t\t\t(\r\n\t\t\t\t\tSELECT\r\n\t\t\t\t\t\t\t\t\tNULL AS id,\r\n\t\t\t\t\t\t\t\t\tNULL AS time,\r\n\t\t\t\t\t\t\t\t\t'NO' AS finished,\r\n\t\t\t\t\t\t\t\t\tsource_data AS source_data\r\n\t\t\t\t\t\tFROM\tqueue\r\n\t\t\t\t\t\t\tINNER JOIN source ON source.id = queue.source_id\r\n\t\t\t\t\t\t\t\tAND source.name = '" . DatabasePackage::escape($sourceIdentifiers[$_REQUEST['test']]) . "'\r\n\t\t\t\t\t\tWHERE\tqueue.domain = '" . DatabasePackage::escape($domain) . "'\r\n\t\t\t\t\t\t\t\tAND queue.source_data = '" . DatabasePackage::escape($sourceData) . "'\r\n\t\t\t\t)\r\n\t\t\t\tUNION\r\n\t\t\t\t(\r\n\t\t\t\t\tSELECT\r\n\t\t\t\t\t\t\t\t\ttests.id AS id,\r\n\t\t\t\t\t\t\t\t\tUNIX_TIMESTAMP(tests.begin) AS time,\r\n\t\t\t\t\t\t\t\t\tIF(ISNULL(tests.end), 'NO', 'YES') AS finished,\r\n\t\t\t\t\t\t\t\t\tsource_data AS source_data\r\n\t\t\t\t\t\tFROM\ttests\r\n\t\t\t\t\t\t\tINNER JOIN source ON source.id = tests.source_id\r\n\t\t\t\t\t\t\t\tAND source.name = '" . DatabasePackage::escape($sourceIdentifiers[$_REQUEST['test']]) . "'\r\n\t\t\t\t\t\tWHERE\ttests.domain = '" . DatabasePackage::escape($domain) . "'\r\n\t\t\t\t\t\t\t\tAND (ISNULL(tests.end) OR (UNIX_TIMESTAMP() - UNIX_TIMESTAMP(tests.end) < 300))\r\n\t\t\t\t\t\t\t\tAND tests.source_data = '" . DatabasePackage::escape($sourceData) . "'\r\n\t\t\t\t)\r\n\t\t\t"; $result = null; $status = DatabasePackage::query($query, $result); if (true != $status) { return STATUS_INTERNAL_ERROR; } if (0 == count($result)) { $id = getSourceID($sourceIdentifiers[$_REQUEST['test']]); $query = "INSERT INTO queue (domain, priority, source_id, source_data, fake_parent_glue) VALUES ('" . DatabasePackage::escape($domain) . "', 10, {$id}, '" . DatabasePackage::escape($sourceData) . "', '" . DatabasePackage::escape($sourceData) . "')"; $result; $status = DatabasePackage::query($query, $result); if (true !== $status) { return STATUS_INTERNAL_ERROR; } return STATUS_IN_PROGRESS; } if ('NO' == $result[0]['finished']) { return STATUS_IN_PROGRESS; } $testId = intval($result[0]['id']); $time = intval($result[0]['time']); $sourceData = $result[0]['source_data']; } $languageId = __("languageId"); $rawResultTree = null; getRawResultTree($testId, $languageId, $rawResultTree); $tree = null; $result = constructFinalTree($rawResultTree, false, true, $tree); $list = null; constructFinalTree($rawResultTree, true, false, $list); return $result; }
?> </p> <p class="testoff"><?php _e("test_was_not_performed"); ?> </p> </div> </div> </div> <div id="footer"> <p id="f_info"><?php $footer = __("se_tagline"); $sql = "SELECT arg1 FROM results WHERE message = 'ZONE:BEGIN' and test_id = (select max(test_id) from results) ORDER BY test_id DESC LIMIT 0, 1"; $status = DatabasePackage::query($sql, $version); printf($footer, $version[0]["arg1"], $_SERVER["REMOTE_ADDR"]); ?> </p> <p id="f_links"><?php _e("language"); ?> : <select name="language" onchange="switchLang(this[this.selectedIndex].value);"> <?php $langAr = i18n_get_language_names(); foreach ($langAr as $key => $name) { echo "\t\t\t\t<option "; if (strtolower($i18n_current_language) == strtolower($key)) {