В корневой директории сайта найдем файлик maincore.php и добавим в его начало строчку, выделенную красным:
if (eregi("maincore.php", $_SERVER['PHP_SELF'])) die();
$q_num = 0;
Все. Сохраняем файлы и загружаем их на сервер поверх имеющихся (если вы работали в оффлайне).
Последнее изменение надо бы, по-культурному, внести не в футер, а в тему, в функцию render_footer(), но можно и так оставить.
И еще: здесь считается количество не ЗАПРОСОВ, а вызовов функций dbquery() и dbcount(), что для сайта с корректно написаными (или отсутвующими) модами и плагинами одно и тоже. Но если у Вас есть какя-то самодельная дописка, которая обращается к базе не через эти функции ядра, а самостоятельно, через mysql_query(), то ее запросы НЕ посчитаются. Надо в код такой самоделки, по собственному разумению приписать после каждого запроса $q_num++;, не забывая, что речь идет о глобальной переменной (если запрос встроен в функцию, то надо не забывать дописывать global $q_num;).
// If register_globals is turned off, extract super globals (php 4.2.0+)
if (ini_get('register_globals') != 1) {
$supers = array("_REQUEST","_ENV","_SERVER","_POST","_GET","_COOKIE","_SESSION","_FILES","_GLOBALS");
foreach ($supers as $__s) {
if ((isset($$__s) == true) && (is_array($$__s) == true)) extract($$__s, EXTR_OVERWRITE);
}
unset($supers);
}
Затем, в этом же файле найдем две функции (dbquery() и dbcount()) и перепишем их так:
function dbquery($query) {
global $q_num;
$q_num++;
if (!$query = mysql_query($query)) echo mysql_error();
return $query;
}
function dbcount($field,$table,$conditions="") {
global $q_num;
$q_num++;
$cond = ($conditions ? " WHERE ".$conditions : "");
if (!$query = mysql_query("SELECT Count".$field." FROM ".DB_PREFIX.$table.$cond)) {
echo mysql_error();
} else {
$rows = mysql_result($query, 0); return $rows;
}
}
Это функции ядра через которые PHP-Fusion выполняет все свои запросы к базе данных.
Осталось вывести результаты. Для этого найдем там же, в корне сайта, файл footer.php и добавим в него следующую строчку:
render_footer(false);
echo "\n<br>Количество запросов: ".$q_num."<br>\n";
echo "</body>
</html>\n";
|