Быстрый лёгкий надёжный форумный движок
Вы не вошли.
spycam, стучись ко мне в аську
Стуканулся)))
hcs, друг мой ответь хоть в асе, когда подправишь под меня мод.
spycam, привет. Извиняюсь, но у нас отвалился на жабере icq-транспорт. Поскольку админ отдыхает где-то в Ростове, связаться по icq не было и пока он не приедет не будет возможности. Как только подправлю мод, обязательно дам знать.
у меня время проходит, но предупреждения не снимаются, почему? где начать копать?
По идее наказания должны сниматься отдельным скриптом по крону. Поскольку с кроном у многих могут быть проблемы, то мод решает эту задачу в индексе. Т.е. чтобы запустился механизм проверки, нужно посетить главную страницу форума.
уровни тоже не работают... 2-й уровень пишет, 3-й в бан не попадает... видимо конфликтует тоже с чем-то другим...
Сноси его нафиг, я не собираюсь сейчас этот мод ни продолжать ни поддерживать.
hcs
сейчас нормально проверил... писать нельзя при уровне 3.
А зря... по-моему хороший мод, по-крайнее мере хоть какую-то пользу приносит.
Я не говорю что плохой, я говорю что сейчас у меня на него времени нет.
Кстати по-моему в бан вообще не должны попадать, режим рид-онли, если память не подводит.
установил этот мод, очень приятный в использованиии хотя стараюсь его чуть по реже использовать
смотрю punishments.php
...
Лог предупреждений пользователя ZomBI
От кого Причина
Forum_bot Дата: Сегодня 09:16:07
Уменьшение предупреждений Уменьшение предупреждений в связи с истечением срока действияForum_bot Дата: Сегодня 09:16:01
Уменьшение предупреждений Уменьшение предупреждений в связи с истечением срока действияForum_bot Дата: Сегодня 09:15:54
Уменьшение предупреждений Уменьшение предупреждений в связи с истечением срока действия
...
и так 6 страниц и продолжает увеличиваться.
При это у пользователя стоит 1 предупреждение, которое давно должно было сняться...
Поле punish_expiries в таблице users = 0.
Где копать?
Честно? Я не знаю. Суть проблемы в смене уровня по истечению срока. Сейчас сделано, что уровень проверяется скриптом индивидуально во viewforum.php . Это не правильно, это должен делать отдельный скрипт по крону, "бот". Я пока не поддерживаю мод, ошибки о которых вы сообщаете ( за это спасибо) я записываю и проверяю, где они могут быть и по какой причине. Но поддержку мода осуществлять в данный момент не могу, поэтому не расчитвывайте на помощь.
hcs
ясно
ну я писать по-любому буду, вдруг когда-нибудь пригодиться
Добавлено спустя 1 час 29 минут 5 секунд:
открыл
function update_punish_status
провел все запросы оттуда вручную, вроде работает.
function update_punish_status($now, $lang_punishments) {
global $db, $pun_user;
//следующая проверка намечается через 24 часа
$new_expire = $now + 86400;
$result = $db->query('SELECT id, method FROM '.$db->prefix.'warnings WHERE method >0 AND closed = 0 AND expire < '. $now .' AND uid='.$pun_user['id']
) or error('Unable to fetch expiries info', __FILE__, __LINE__, $db->error());
if ($db->num_rows($result)) {
while ($warn = $db->fetch_assoc($result)) {
$db->query("INSERT INTO ".$db->prefix."warnings (uid, from_uid, method, reason, warn_popup_show, closed, time) Values ('". $pun_user[
'id'] . "', '-1', '0', '".$db->escape($lang_punishments['Warning expire'])."', '0', '1', '" . $now . "')") or error('Unable to add diswarning ', __FILE__, _
_LINE__, $db->error());
$db->query('UPDATE '.$db->prefix.'warnings SET closed="0" WHERE id='.$warn['id']) or error('Unable to minus warning', __FILE__, __LIN
E__, $db->error());
if (method == 1) {
$pun_user['punish_level']--;
if ($pun_user['punish_level'] > 0) {
$result2 = $db->query('SELECT group_id FROM '.$db->prefix.'punish_group WHERE level='.$pun_user['punish_level']) or er
ror('Unable to fetch punish group_id info', __FILE__, __LINE__, $db->error());
$group = $db->fetch_assoc($result2);
}
else {
$group['group_id'] = PUN_MEMBER;
}
$db->query('UPDATE '.$db->prefix.'users SET group_id='.$group['group_id'].' WHERE id='.$pun_user['id']) or error('Unable to up
date group_id for user', __FILE__, __LINE__, $db->error());
}
}
if ($pun_user['punish_level'] <= 0 ) {
$pun_user['punish_level'] = 0;
$new_expire = 0;
}
}
$db->query('UPDATE '.$db->prefix.'users SET punish_expiries="'.$new_expire.'" WHERE id='. $pun_user['id']) or error('Unable update expiries check da
te', __FILE__, __LINE__, $db->error());
}
немножко изменил некоторые запросы, например:
'SELECT id, method FROM '.$db->prefix.'warnings WHERE method >0 AND closed = 0 AND expire < '. $now .' AND uid='.$pun_user['id']
привел к такоему виду:
'SELECT id, method FROM '.$db->prefix.'warnings WHERE method >0 AND closed = 0 AND expire < '. $now .' AND uid='.$pun_user['id'].''
мне почему-то кажется, какой-то запрос не выполняется... ну посмотрим...
Редактировался kmb (2007-02-16 12:50:53)
Нашел сегодня время покопаться с форумом
Вообщем просмотрев внимательно функцию, видим:
...
if (method == 1) {
...
как это у кото-то работало не понимаю...
Стоит заменить на
if ($warn['method'] == 1) {
и еще почему-то поднял в самый вверх уже и не помню почему...
$group['group_id'] = PUN_MEMBER;
с наступающим праздником вас
если у кого, предупреждения будут сниматься сразу, после первого заходу, смотрите файл punismets.php в разделе Plus, переменную $now.
так на всякий... может кому пригодиться
А что там с ней не так?
Notice: Undefined index: punish_only_mod_view in /home/spycam/public_html/punishments.php on line 121
Notice: Undefined index: Login required in /home/spycam/public_html/punishments.php on line 122
Выдает из под гостя + если можно смотреть предупреждения.
spycam
подредактируй php.ini
Или открой файл punishments.php
и на строках 121 и 122 поставь @ перед переменными или функциями.
Вот ещё заметил - когда гостем кликаешь по предупреждениям пользователей (а просмотр для гостей запрещен)
выводится просто пустое окно:
Вернуться назад.
А должно видимо появиться сообщение, что нельзя просматривать предупреждения.
Добавлено спустя 9 минут 18 секунд:
Добавил строчку в ленг файл
парни, тут такое дело, когда прибавляю предупреждению юзеру - у него статус Пользователь заменяется на ??????????? - убераю наказание - все нормально становится, в чем может быть дело?
Я так понимаю забросили мод а жаль ((
Неактуальный.
hcs, почемуж, мод как раз таки очень актуальный. Им только и спасаемся
нафик он нужен...