[Wolverine]

Рейтинг
6
Регистрация
07.08.2009
MisakaMisaka:
А если выключить?

Точно сказать нельзя, зависит от количества активных плагинов. lastcomments +1, top_news +1, lastnews +1 и так далее. Но выключать его полностью бессмысленно.

bearman:
если куки не установлена - зачем в бд ломиться? очевидно что там ничего нет🤣

Если кук нет, то в БД мы никаких запросов не делаем и просто выходим из функции

 $auth_cookie = $_COOKIE['zz_auth']; 

if (!$auth_cookie) { return ''; }
bearman:
какой интересный бессмысленный запрос :D

ну да ладно

эээм, в чем его бессмысленность? вот функция, которая проверяет авторизацию и соответственно обновляет данные о последнем посещении юзера

function check_auth() {

global $config, $mysql;

$auth_cookie = $_COOKIE['zz_auth'];
if (!$auth_cookie) { return ''; }

$query = "select * from ".uprefix."_users where authcookie = ".db_squote($auth_cookie)." limit 1";
$row = $mysql->record($query);

// Auth done
if ($row['name']) {
// Check if we need to update last visit field
if ((pluginGetVariable('auth_openid', 'lastupdate') > 0) && ((time() - $row['last']) > pluginGetVariable('auth_openid', 'lastupdate'))) {
$query = "update ".uprefix."_users set last = ".db_squote(time()).", ip=".db_squote($ip)." where id=".db_squote($row['id']);
$mysql->query($query);
}

return $row;
}
return '';
}

После вызова заполняем переменные, которые можно юзать в плагинах, типа $userROW

$xrow = $auth_db->check_auth();

$CURRENT_USER = $xrow;

if ($xrow['name']) {
$is_logged_cookie = true;
$is_logged = true;
$username = $xrow['name'];
$userROW = $xrow;
}
futuristian:
Константинович, установил предложенный движок, полазил понравился, только не нашел ничего про кэширование, последняя версия, минимум 11 sql запросов каждый раз, для новостного движка это слишком много, хотя может что-то пропустил, не подскажете?

Если включить везде кеш, то на главной делается 4(четыре!) запроса:

1. select * from `ng_category` order by posorder asc Заполняет глобальные массивы $catz и $catmap

2. select * from ng_users where authcookie = '' limit 1 Запрос от модуля авторизации, проверяет сессию

3. SELECT * FROM ng_news WHERE (`approve` = '1') AND (`mainpage` = '1') order by pinned desc, postdate desc limit 0,4 Выборка новостей

4. SELECT count(*) as count FROM ng_news WHERE (`approve` = '1') AND (`mainpage` = '1') Количество всех новостей для пагинатора

Сделать еще меньше затруднительно 😂

Вопрос по поводу PingShot из фидбурнера (дабы не плодить топики пишу здесь): где можно посмотреть какие сервисы он пингует? И входит ли туда Яндекс?