Скрытый пользователь на форуме 0.9Данный хак поможет Вам выбрать пользователей как из числа администраторов, так и простых пользователей, которые не будут выводиться в списке "он-лайн" на форуме. Обо всех найденных проблемах просим сообщать в этой теме. Системные требования: DataLife Engine 9.2 DLE-Forum 2.6 Совместимость с версией 2.6.1 проверяется. phpMyAdmin или иной клиент для работы с MySQL.
Внимание! Работоспособность гарантируется только на данных версиях скриптов. Если у Вас другие версии - техническая поддержка не будет осуществляться.
Редактируемые файлы: /language/Russian/adminpanel.lng /engine/inc/editusers.php /engine/forum/sources/components/functions.php 0. На случай, если код на странице побит, воспользуйтесь инструкцией в формате TXT: hide_user.txt 1. Делаем резервную копию Базы Данных и редактируемых файлов. 2. Данный шаг повторяем для всех языков сайта. Открываем файл /language/Russian/adminpanel.lng Находим строку:
// 9.2
Добавить раньше:
'forum_online' => "Показывать пользователя в списке Online форума?",
3. Открываем файл /engine/inc/editusers.php Найти:
<tr> <td style="padding:4px;">{$lang['extra_minfo']}< /td> Добавить раньше:
HTML; if( $row['forum_online'] == "1" ) $forum__online = "checked"; echo <<<HTML <tr> <td style="padding:4px;">{$lang['forum_online']}< ;/td> <td colspan="2"><input type="checkbox" name="forum_online" value="1" $forum__online/></td> </tr> <tr> <td colspan="3"><div class="hr_line"></div></td> </tr> Найти:
$sql_update = "UPDATE " . USERPREFIX . "_users set user_group='$editlevel', banned='$banned', icq='$editicq', land='$editland', info='$editinfo', signature='$editsignature', email='$editmail', fullname='$editfullname', time_limit='$time_limit', xfields='$filecontents'";
Заменить на:
$forum_online = intval( $_POST['forum_online'] ); $sql_update = "UPDATE " . USERPREFIX . "_users set user_group='$editlevel', banned='$banned', icq='$editicq', land='$editland', info='$editinfo', signature='$editsignature', email='$editmail', fullname='$editfullname', time_limit='$time_limit', xfields='$filecontents', forum_online='$forum_online'"; $db->query("DELETE FROM " . USERPREFIX . "_forum_sessions WHERE member_id = '$id'"); 5. Открываем файл /engine/forum/sources/components/functions.php Найти:
$db->query("INSERT INTO " . PREFIX . "_forum_sessions (id, member_name, member_id, user_group, ip, browser, running_time, location, act_forum, act_topic) VALUES ('$id', '$member_name', '$member_id[user_id]', '$member_id[user_group]', '$ip', '$browser', '$time', '$act', '$act_forum', '$act_topic')"); Заменить на:
$db->query("INSERT INTO " . PREFIX . "_forum_sessions (id, member_name, member_id, user_group, ip, browser, running_time, location, act_forum, act_topic, online) VALUES ('$id', '$member_name', '$member_id[user_id]', '$member_id[user_group]', '$ip', '$browser', '$time', '$act', '$act_forum', '$act_topic', '$member_id[forum_online]')");
Найти:
$sessions = $db->query("SELECT member_name, member_id, user_group FROM " . PREFIX . "_forum_sessions WHERE {$WHERE} running_time > '$stime'"); Заменить:
$sessions = $db->query("SELECT member_name, member_id, user_group, online FROM " . PREFIX . "_forum_sessions WHERE {$WHERE} running_time > '$stime'"); Найти:
if ($row['member_name'])
Заменить на:
if ($row['member_name'] AND $row['online'] !== '0')
6. Выполняем SQL-запрос:
ALTER TABLE `dle_users` ADD `forum_online` ENUM( '1', '0' ) NOT NULL; ALTER TABLE `dle_forum_sessions` ADD `online` ENUM( '1', '0' ) NOT NULL; DELETE FROM `dle_forum_sessions`; 7. Сохраните все изменения в файлах и загрузите их на веб-сервер. На этом установка закончена. Если возникли ошибки в работе сайта, проверьте правильность выполнения инструкции. При необходимости, восстановите резервную копию. Как это работает? В админ-панели ДЛЕ редактируем нужного пользователя и снимаем галочку "Показывать пользователя в списке Online форума". Всё, теперь пользователь не видим в списке On-line. Автор: M-V-L Group
Комментарии к статьеЕсли Вам понравилась эта статья или не понравилась напишите об этом в комментариях
Информация
Посетители, находящиеся в группе Гости, не могут оставлять комментарии к данной публикации. |