function getExpr(&$rubrics) { $expr = ""; if (!StrUtils::isEmpty($_REQUEST["rubricsIds"])) { $rubs = explode(",", $_REQUEST["rubricsIds"]); $tmpRubrics = array(); foreach ($rubs as $r) { $tmpRubrics = array_merge($tmpRubrics, $rubrics->getNoParentRubrics(trim($r))); } if (sizeof($tmpRubrics) == 0) { return new PEAR_Error("Empty subrubrics id for rubric"); } $expr .= " AND rubrics.id IN (" . implode(", ", $tmpRubrics) . ") \n"; } if (isset($_REQUEST["useParams"]) && $_REQUEST["useParams"] == "1") { if (isset($_REQUEST["status"])) { if (!in_array("all", $_REQUEST["status"]) && sizeof($_REQUEST["status"]) > 0) { $expr .= " AND (status LIKE '" . implode("' OR status LIKE '", $_REQUEST["status"]) . "') "; } } if (!StrUtils::isEmpty($_REQUEST["begdate"]) && trim($_REQUEST["begdate"]) !== "дд/мм/гггг" && !StrUtils::isEmpty($_REQUEST["enddate"]) && trim($_REQUEST["enddate"]) !== "дд/мм/гггг") { $begdate = split("/", $_REQUEST["begdate"]); $begdate = $begdate[2] . "-" . $begdate[1] . "-" . $begdate[0]; $enddate = split("/", $_REQUEST["enddate"]); $enddate = $enddate[2] . "-" . $enddate[1] . "-" . $enddate[0]; $expr .= " AND (lastdate >= '" . $begdate . "' AND lastdate <= '" . $enddate . "') \n"; } if (!StrUtils::isEmpty($_REQUEST["city"]) && trim($_REQUEST["city"]) !== "город") { $expr .= " AND address LIKE '%" . trim($_REQUEST["city"]) . "%' \n"; } if (!StrUtils::isEmpty($_REQUEST["keyword"]) && trim($_REQUEST["keyword"]) !== "ключевое слово") { $val = trim($_REQUEST["keyword"]); $expr .= " AND (address LIKE '%{$val}%' OR phone LIKE '%{$val}%'\n\t\t\t\tOR site LIKE '%{$val}%' OR items.name LIKE '%{$val}%'\n\t\t\t\tOR emailtext LIKE '%{$val}%' OR fax LIKE '%{$val}%') "; } } if (isset($_REQUEST["region"]) && (int) $_REQUEST["region"] > 0) { $expr .= " AND street_id IN (\n\t\t\tSELECT id FROM streets WHERE region_id = " . $_REQUEST["region"] . ") "; } $expr .= " AND level = 2 "; if (!StrUtils::isEmpty($_REQUEST["listType"]) && strcmp($_REQUEST["listType"], "uniques") == 0) { $expr .= " GROUP BY items.address, items.name "; } $expr .= " ORDER BY rubrics.id "; return $expr; }
function HandleShowProcesses() { session_start(); require_once "Pager.php"; require_once "RubricsData.php"; require_once "StrUtils.php"; $procNum = -1; if (!StrUtils::isEmpty($_REQUEST["procType"]) && $_REQUEST["procType"] == "all") { $_GLOBAL["procType"]["all"] = "selected"; $_SESSION["procType"] = "all"; $procNum = -1; } else { if (!StrUtils::isEmpty($_REQUEST["procType"]) && $_REQUEST["procType"] == "usual") { $_GLOBAL["procType"]["usual"] = "selected"; $_SESSION["procType"] = "usual"; $procNum = 0; } else { if (!StrUtils::isEmpty($_REQUEST["procType"]) && $_REQUEST["procType"] == "test") { $_GLOBAL["procType"]["test"] = "selected"; $_SESSION["procType"] = "test"; $procNum = 1; } else { if (!StrUtils::isEmpty($_REQUEST["procType"]) && $_REQUEST["procType"] == "spec") { $_GLOBAL["procType"]["spec"] = "selected"; $_SESSION["procType"] = "spec"; $procNum = 2; } else { if ($_SESSION["procType"] == "all") { $_GLOBAL["procType"]["all"] = "selected"; $procNum = -1; } else { if ($_SESSION["procType"] == "usual") { $_GLOBAL["procType"]["usual"] = "selected"; $procNum = 0; } else { if ($_SESSION["procType"] == "test") { $_GLOBAL["procType"]["test"] = "selected"; $procNum = 1; } else { if ($_SESSION["procType"] == "spec") { $_GLOBAL["procType"]["spec"] = "selected"; $procNum = 2; } } } } } } } } if (isset($_REQUEST["bSelProcType"])) { $_REQUEST["pageID"] = 0; } header("Content-type: text/html; charset=windows-1251"); print " "; $header = array("Дата", "Время начала", "Время окончания", "Название процесса", "Cтатус", "Очередь"); $rubricsData = new RubricsData(); $data = array(); $navContent = getPagesHtml($rubricsData, $data, $procNum); print <<<HTML <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3c.org/TR/1999/REC-html401-19991224/loose.dtd"> <html><head><title>Журнал текущего состояния</title> <meta http-equiv="content-type" content="text/html; charset=windows-1251"> <meta name="description" content=""> <meta name="keywords" content=""> <link type="text/css" rel="stylesheet" href="styles/style.css"> <script src="scripts/jquery.js"></script> </head> <body><div id="container" class="stats"><div id="page"> <div id="content"><div id="header"> <a href="./categs.html">Категории</a> | <a href="./tasks.html"><b>Журнал обновлений</b></a> | <a href="./stat.html">Статистика скачиваний</a></div> <div id="main_content"> <h1>Журнал обновлений</h1> <strong style="font-size: 11px;">Обновление статистики производится ежедневно после 06.00, 12.00, 16.00, 20.00, 00.00 часов.</strong> <p> </p> <form id="selProc" name="selProc" action="" method="POST"> <input type="hidden" name="action" value="ShowProcesses"> <select name="procType" style="width: 150pt;"> <option value="all" {$_GLOBAL['procType']['all']}>Все</option> <option value="usual" {$_GLOBAL['procType']['usual']}>Обычная очередь</option> <option value="test" {$_GLOBAL['procType']['test']}>Тестовая очередь</option> <option value="spec" {$_GLOBAL['procType']['spec']}>Специальная очередь</option> </select> <input name="bSelProcType" type="submit" value="Выбрать"> </form> <br><br><br> <p> {$navContent} <p> <br> <table border=0 cellspacing=1 cellpadding=3> HTML; print "<thead><tr><th>" . implode("<th>", $header) . "</tr></thead>\n"; $empty = " "; $even = true; if ($procNum >= 0) { $expr = " AND processes.rprocess_num = {$procNum} "; } else { $expr = ""; } $ids = ""; if (sizeof($data) > 0) { foreach ($data as $r) { $ids .= $r[0] . ","; } $ids = substr($ids, 0, -1); $res =& $rubricsData->getProcesses(" WHERE processes.id IN ({$ids}) {$expr}", true); if (PEAR::isError($res)) { print $res->getMessage() . "<br>"; print $res->getuserInfo() . "<br>"; exit; } foreach ($res as $row) { //while ($row = &$res->fetchRow(DB_FETCHMODE_ASSOC)) { $row["name"] = $rubricsData->getPath($row["rubric_id"]) . " / " . $row["name"]; unset($row["rubric_id"]); $row["adddate"] = date("d.m.Y H:i", strtotime($row["adddate"])); $row["startdate"] = $row["startdate"] == 0 ? $empty : date("d.m.Y H:i", strtotime($row["startdate"])); $row["enddate"] = $row["enddate"] == 0 ? $empty : date("d.m.Y H:i", strtotime($row["enddate"])); if ($row["loaded"] == 0 && $row["startdate"] === $empty) { $row["loaded"] = "Поставлено в очередь"; } else { $row["loaded"] = $row["loaded"] == 1 ? "Обновлено" : "Идет обновление"; } if ($row["rprocess_num"] == 0) { $row["rprocess_num"] = "Основная"; } else { if ($row["rprocess_num"] == 1) { $row["rprocess_num"] = "Тестовая"; } else { if ($row["rprocess_num"] == 2) { $row["rprocess_num"] = "Специальная"; } } } if ($even) { $evenClass = ' class="even" '; } else { $evenClass = ''; } $even = !$even; print "<tr {$evenClass}><th>" . implode("<th>", $row) . "</tr>\n"; } } print <<<HTML </table> <br> <p> {$navContent} <p> </div> </div></div></div><div id="footer"></div> </body></html> HTML; }