Перейти к контенту
  • 0

Забаненые пользователи и их log on


Fobian

Вопрос

Здравствуйте. Подскажите пожалуйста как можно в log on error добавить информацию о последнем предупреждении, выданном пользователю. А то уже третий час туплю, перерыл всем html шаблоны, но редактирование error log ничего не даёт без каких-то (неизвестных мне) запросов к БД. Если кто знает - слёзно прошу откликнуться.
Ссылка на комментарий
Поделиться на других сайтах

Рекомендуемые сообщения

  • 0
Хм... неужто никто подобное не осуществлял? А как тогда сделать чтобы пользователи узнавали за что их забанили?
Ссылка на комментарий
Поделиться на других сайтах

  • 0

Fobian

Теоретически это делается так:

1. При входе на главную страницу, точнее до входа на нее, при поступлении запроса об открытии страницы форум определяет IP пользователя (точнее он это и так делает) и путем небольших манипуляций с БД и создания например 404.html файла, форум после проверки забанен ip или нет выдает или главную страницу или 404.html где можно написать все что угодно.

Ссылка на комментарий
Поделиться на других сайтах

  • 0

Song

Нет, тут стоит вопрос об причине бана, т.е. хотелось бы видеть на этой error страничке или проценты этого пользователя, или ссылку на его профиль, или (что было бы вообще отлично) последнее предупреждение из его логов рейтинга.

Ссылка на комментарий
Поделиться на других сайтах

  • 0

Fobian

И что мешает? Знаешь, что $std->Error можно вызвать с параметром 'EXTRA'? Поищи по файлам форума, посмотри, как это делается.

В lang'e для той ошибки, которая на этой страничке, допишешь <# EXTRA #> (вроде так), а перед выдачей этой самой ошибки пользователю эту самую экстру просчитаешь. Попробуй. Не получится, приходи, поправим.

Ссылка на комментарий
Поделиться на других сайтах

  • 0
И всё-таки окончательно я так и не понял как добавить в вызов $std->Error ещё одну переменную. В данном случае есть код
$std->Error( array( 'LEVEL' => 1, 'MSG' => 'account_susp', 'INIT' => 1, 'EXTRA' => $std->get_date($ban_arr['date_end']), 'LONG' ) );

, есть запрос в БД на выбор именно последней записи в логах

SELECT wlog_notes FROM ibf_warn_logs WHERE wlog_mid=.intval($this->member['id']) LIMIT 1

, вот только всё воедино связать не получается. В данном случае только интересно добавление ещё одной строчки в этот массив...

Ссылка на комментарий
Поделиться на других сайтах

  • 0

что ж тут непонятного?

создай в языковом файле какое-нибудь сообщение

$lang['apple'] = "Вы дохрена съели яблок, ваша норма #EXTRA# штук";

 

и делай

if ( $apple > $norma ) $std->Error( array( 'LEVEL' => 1, 'MSG' => 'apple', 'EXTRA' => $norma) );

Ссылка на комментарий
Поделиться на других сайтах

  • 0
Хм, перефразирую слегка - у меня затруднение с определением места прописывания этого запроса. Т.е. как я понял, то можно $norma = "запрос" прописать перед вышеупомянутым кодом в function.php?
Ссылка на комментарий
Поделиться на других сайтах

  • 0
$DB->query("SELECT norma FROM Settings WHERE man=1");
if ( $row = $DB->fetch_row() ) $norma=$row['norma'];
.. // ну а дальше уже знгаешь

Ссылка на комментарий
Поделиться на других сайтах

Присоединиться к обсуждению

Вы можете ответить сейчас, а зарегистрироваться позже. Если у вас уже есть аккаунт, войдите, чтобы ответить от своего имени.

Гость
Unfortunately, your content contains terms that we do not allow. Please edit your content to remove the highlighted words below.
Ответить на вопрос...

×   Вы вставили отформатированный текст.   Удалить форматирование

  Допустимо не более 75 смайлов.

×   Ваша ссылка была автоматически заменена на медиа-контент.   Отображать как ссылку

×   Ваши публикации восстановлены.   Очистить редактор

×   Вы не можете вставить изображения напрямую. Загрузите или вставьте изображения по ссылке.

Зарузка...
×
×
  • Создать...

Важная информация

Находясь на нашем сайте, вы соглашаетесь на использование файлов cookie, а также с нашим положением о конфиденциальности Политика конфиденциальности и пользовательским соглашением Условия использования.