Запретить предупреждения администратору
Правила форума
Местная Конституция | Шаблон запроса | Документация (phpBB3) | Переход на 3.0.6 и выше | FAQ-3 (phpbb3) | Как задавать вопросы | Как устанавливать моды
Ваш вопрос может быть удален без объяснения причин, если на него есть ответы по приведённым ссылкам (а вы рискуете получить предупреждение
).
Местная Конституция | Шаблон запроса | Документация (phpBB3) | Переход на 3.0.6 и выше | FAQ-3 (phpbb3) | Как задавать вопросы | Как устанавливать моды
Ваш вопрос может быть удален без объяснения причин, если на него есть ответы по приведённым ссылкам (а вы рискуете получить предупреждение
-
Shredder
- Former team member
- Сообщения: 2266
- Стаж: 17 лет 9 месяцев
- Благодарил (а): 283 раза
- Поблагодарили: 584 раза
Запретить предупреждения администратору
При знакомстве с phpbb3 столкнулся с неожиданной особенностью - модератор может поставить предупреждение администратору. Как это устранить? И возможно ли вообще? Ничего нигде не нашёл по этому вопросу.
-
Палыч
- Former team member
- Сообщения: 9683
- Стаж: 20 лет 4 месяца
- Откуда: Питер
- Благодарил (а): 3 раза
- Поблагодарили: 454 раза
Re: Запретить предупреждения администратору
Shredder
во viewtopic.php добавить
и в viewtopic_body.html
во viewtopic.php добавить
Код: Выделить всё
=== find ===
'online' => false,
=== before add ===
'user_type' => $row['user_type'],
=== find ===
'POSTER_AGE' => $user_cache[$poster_id]['age'],
=== after add ===
'USER_TYPE' => $user_cache[$poster_id]['user_type'],Код: Выделить всё
=== find ===
<!-- IF postrow.U_WARN -->
=== replace ===
<!-- IF postrow.U_WARN and postrow.USER_TYPE != 3 -->Не все то WINDOWS, что висит... phpBB только учусь.
ICQ, email, ЛС - только для личных сообщений. Вопросы по phpbb только на форумах. По найму не работаю.
ICQ, email, ЛС - только для личных сообщений. Вопросы по phpbb только на форумах. По найму не работаю.
-
Shredder
- Former team member
- Сообщения: 2266
- Стаж: 17 лет 9 месяцев
- Благодарил (а): 283 раза
- Поблагодарили: 584 раза
Re: Запретить предупреждения администратору
Палыч
Отлично, работает на ура! Спасибо.
Правда, не сразу ещё допёр, что 'online' => false, и вторая строка там есть...
Отлично, работает на ура! Спасибо.
Правда, не сразу ещё допёр, что 'online' => false, и вторая строка там есть...
-
Shredder
- Former team member
- Сообщения: 2266
- Стаж: 17 лет 9 месяцев
- Благодарил (а): 283 раза
- Поблагодарили: 584 раза
Re: Запретить предупреждения администратору
Поковырялся немного в файлах и по аналогии с предыдущим мне удалось сделать, чтобы при просмотре профиля основателя пропали строки "[ Блокировка ]" и "Вынести предупреждение". Для стиля subsilver2:
в memberlist.php
в memberlist_view.html
Навскидку: глюками это не грозит? Просто "по учебникам" я никогда всё это не изучал, потому и спрашиваю. При тестировании никаких не заметил.
И ещё такой вопрос: имеет ли значение, в каком порядке вставлять переменные? То есть, в данном же примере можно вместо "before" и после поставить, и вообще куда-нибудь дальше - главное, чтобы в нужном блоке было. Результат тоже не меняется. Так всё-таки имеет это значение или нет?
в memberlist.php
Код: Выделить всё
=== find ===
'AGE' => $age,
=== before add ===
'USER_TYPE' => $data['user_type'],Код: Выделить всё
=== find ===
<!-- IF U_USER_BAN -->
=== replace ===
<!-- IF U_USER_BAN and USER_TYPE != 3 -->
=== find ===
<!-- IF U_WARN -->
=== replace ===
<!-- IF U_WARN and USER_TYPE != 3 -->И ещё такой вопрос: имеет ли значение, в каком порядке вставлять переменные? То есть, в данном же примере можно вместо "before" и после поставить, и вообще куда-нибудь дальше - главное, чтобы в нужном блоке было. Результат тоже не меняется. Так всё-таки имеет это значение или нет?
-
rxu
- phpBB Guru

- Сообщения: 17273
- Стаж: 20 лет 4 месяца
- Откуда: Красноярск
- Благодарил (а): 633 раза
- Поблагодарили: 2413 раз
Re: Запретить предупреждения администратору
Shredder
Любой код грозит глюками.
Любой код грозит глюками.
Конечно, имеет. Вставлять нужно туда, где вы хотите получить именно этот контент на странице.Shredder писал(а):имеет ли значение, в каком порядке вставлять переменные?
-
Shredder
- Former team member
- Сообщения: 2266
- Стаж: 17 лет 9 месяцев
- Благодарил (а): 283 раза
- Поблагодарили: 584 раза
Re: Запретить предупреждения администратору
Поясню на конкретном примере, что я имел в виду. Именно про файл php, потому что с шаблонами-то всё и так понятно. Допустим, нашёл я этот участок кода в memberlist.php , генерирующий значки, ссылки и прочее при просмотре профиля (судя по тому, что они начинают пропадать со страницы, если соответствующие им названия убираешь):Конечно, имеет. Вставлять нужно туда, где вы хотите получить именно этот контент на странице.
Код: Выделить всё
// Dump it out to the template
return array(
'USER_TYPE' => $data['user_type'],
'AGE' => $age,
'RANK_TITLE' => $rank_title,
'JOINED' => $user->format_date($data['user_regdate']),
'VISITED' => (empty($last_visit)) ? ' - ' : $user->format_date($last_visit),
'POSTS' => ($data['user_posts']) ? $data['user_posts'] : 0,
'WARNINGS' => isset($data['user_warnings']) ? $data['user_warnings'] : 0,
'USERNAME_FULL' => get_username_string('full', $user_id, $username, $data['user_colour']),
'USERNAME' => get_username_string('username', $user_id, $username, $data['user_colour']),
'USER_COLOR' => get_username_string('colour', $user_id, $username, $data['user_colour']),
'U_VIEW_PROFILE' => get_username_string('profile', $user_id, $username, $data['user_colour']),
'A_USERNAME' => addslashes(get_username_string('username', $user_id, $username, $data['user_colour'])),
'AVATAR_IMG' => get_user_avatar($data['user_avatar'], $data['user_avatar_type'], $data['user_avatar_width'], $data['user_avatar_height']),
'ONLINE_IMG' => (!$config['load_onlinetrack']) ? '' : (($online) ? $user->img('icon_user_online', 'ONLINE') : $user->img('icon_user_offline', 'OFFLINE')),
'S_ONLINE' => ($config['load_onlinetrack'] && $online) ? true : false,
'RANK_IMG' => $rank_img,
'RANK_IMG_SRC' => $rank_img_src,
'ICQ_STATUS_IMG' => (!empty($data['user_icq'])) ? '<img src="http://web.icq.com/whitepages/online?icq=' . $data['user_icq'] . '&img=5" width="18" height="18" />' : '',
'S_JABBER_ENABLED' => ($config['jab_enable']) ? true : false,
'U_SEARCH_USER' => ($auth->acl_get('u_search')) ? append_sid("{$phpbb_root_path}search.$phpEx", "author_id=$user_id&sr=posts") : '',
'U_NOTES' => $auth->acl_getf_global('m_') ? append_sid("{$phpbb_root_path}mcp.$phpEx", 'i=notes&mode=user_notes&u=' . $user_id, true, $user->session_id) : '',
'U_WARN' => $auth->acl_get('m_warn') ? append_sid("{$phpbb_root_path}mcp.$phpEx", 'i=warn&mode=warn_user&u=' . $user_id, true, $user->session_id) : '',
'U_PM' => ($config['allow_privmsg'] && $auth->acl_get('u_sendpm') && ($data['user_allow_pm'] || $auth->acl_gets('a_', 'm_') || $auth->acl_getf_global('m_'))) ? append_sid("{$phpbb_root_path}ucp.$phpEx", 'i=pm&mode=compose&u=' . $user_id) : '',
'U_EMAIL' => $email,
'U_WWW' => (!empty($data['user_website'])) ? $data['user_website'] : '',
'U_SHORT_WWW' => (!empty($data['user_website'])) ? ((strlen($data['user_website']) > 55) ? substr($data['user_website'], 0, 39) . ' ... ' . substr($data['user_website'], -10) : $data['user_website']) : '',
'U_ICQ' => ($data['user_icq']) ? 'http://www.icq.com/people/webmsg.php?to=' . urlencode($data['user_icq']) : '',
'U_AIM' => ($data['user_aim'] && $auth->acl_get('u_sendim')) ? append_sid("{$phpbb_root_path}memberlist.$phpEx", 'mode=contact&action=aim&u=' . $user_id) : '',
'U_YIM' => ($data['user_yim']) ? 'http://edit.yahoo.com/config/send_webmesg?.target=' . urlencode($data['user_yim']) . '&.src=pg' : '',
'U_MSN' => ($data['user_msnm'] && $auth->acl_get('u_sendim')) ? append_sid("{$phpbb_root_path}memberlist.$phpEx", 'mode=contact&action=msnm&u=' . $user_id) : '',
'U_JABBER' => ($data['user_jabber'] && $auth->acl_get('u_sendim')) ? append_sid("{$phpbb_root_path}memberlist.$phpEx", 'mode=contact&action=jabber&u=' . $user_id) : '',
'LOCATION' => ($data['user_from']) ? $data['user_from'] : '',
'USER_ICQ' => $data['user_icq'],
'USER_AIM' => $data['user_aim'],
'USER_YIM' => $data['user_yim'],
'USER_MSN' => $data['user_msnm'],
'USER_JABBER' => $data['user_jabber'],
'USER_JABBER_IMG' => ($data['user_jabber']) ? $user->img('icon_contact_jabber', $data['user_jabber']) : '',
'L_VIEWING_PROFILE' => sprintf($user->lang['VIEWING_PROFILE'], $username),
);
}-
rxu
- phpBB Guru

- Сообщения: 17273
- Стаж: 20 лет 4 месяца
- Откуда: Красноярск
- Благодарил (а): 633 раза
- Поблагодарили: 2413 раз
Re: Запретить предупреждения администратору
Это верно.Shredder писал(а):Но в пределах именно этого нужного куска кода, выходит, что не имеет значения, что ли, куда я его помещу?
-
Shredder
- Former team member
- Сообщения: 2266
- Стаж: 17 лет 9 месяцев
- Благодарил (а): 283 раза
- Поблагодарили: 584 раза
Re: Запретить предупреждения администратору
Насчёт иконки варна при просмотре тем: http://www.phpbbguru.net/community/post ... t=#p249725
Можно, кстати, ещё проще сделать, даже без правки шаблонов:
В viewtopic.php
Добавлено спустя 14 минут 40 секунд:
Также и при просмотре профиля: http://www.phpbbguru.net/community/post ... t=#p253596 - ничего этого не надо, достаточно:
В memberlist.php
Можно, кстати, ещё проще сделать, даже без правки шаблонов:
В viewtopic.php
Код: Выделить всё
=== find ===
'online' => false,
=== before add ===
'user_type' => $row['user_type'],
=== find ===
'U_WARN'
=== in-line find ===
$poster_id != ANONYMOUS
=== after add ===
&& $user_cache[$poster_id]['user_type'] != 3Также и при просмотре профиля: http://www.phpbbguru.net/community/post ... t=#p253596 - ничего этого не надо, достаточно:
В memberlist.php
Код: Выделить всё
=== find ===
'U_WARN'
=== inline find ===
$auth->acl_get('m_warn')
=== after add ===
&& $data['user_type'] != 3-
rxu
- phpBB Guru

- Сообщения: 17273
- Стаж: 20 лет 4 месяца
- Откуда: Красноярск
- Благодарил (а): 633 раза
- Поблагодарили: 2413 раз
Re: Запретить предупреждения администратору
Shredder
Администраторы определяются не только по типу пользователя, но и по правам доступа.
Администраторы определяются не только по типу пользователя, но и по правам доступа.
-
Shredder
- Former team member
- Сообщения: 2266
- Стаж: 17 лет 9 месяцев
- Благодарил (а): 283 раза
- Поблагодарили: 584 раза
Re: Запретить предупреждения администратору
rxu
Знаю. Но я имел в виду именно основателя, ведь и прежде - в тех постах, на которые ссылки давал, запрещали основателю. Просто тема изначально так названа. А обычным админам пусть варн остаётся
Кстати, заметил одну любопытную вещь: вместо цифры 3, которая обозначает основателя, можно вставить USER_FOUNDER - и эффект будет тот же. Например:
и
- эти два куска кода дают один и тот же эффкект. В некоторых местах родного кода форума я также замечал использование USER_FOUNDER вместо цифры 3. Интересно, почему так? Так правильней?
Знаю. Но я имел в виду именно основателя, ведь и прежде - в тех постах, на которые ссылки давал, запрещали основателю. Просто тема изначально так названа. А обычным админам пусть варн остаётся
Кстати, заметил одну любопытную вещь: вместо цифры 3, которая обозначает основателя, можно вставить USER_FOUNDER - и эффект будет тот же. Например:
Код: Выделить всё
$data['user_type'] != 3Код: Выделить всё
$data['user_type'] != USER_FOUNDER-
nissin
- phpBB 3.0.4
- Сообщения: 2229
- Стаж: 18 лет 9 месяцев
- Откуда: Астана
- Благодарил (а): 7 раз
- Поблагодарили: 344 раза
Re: Запретить предупреждения администратору
Правильней USER_FOUNDER.
В phpBB 3.0.6 везде используется USER_FOUNDER.
Но в шаблонах эта константа недоступна, поэтому ставят цифру 3.
В phpBB 3.0.6 везде используется USER_FOUNDER.
Но в шаблонах эта константа недоступна, поэтому ставят цифру 3.
-
Татьяна5
- Поддержка

- Сообщения: 13159
- Стаж: 15 лет 1 месяц
- Благодарил (а): 236 раз
- Поблагодарили: 3750 раз
Re: Запретить предупреждения администратору
Как закрыть возможность поставить предупреждения и бан основателям через модераторский раздел?
-
Sheer
- Former team member
- Сообщения: 12113
- Стаж: 19 лет 7 месяцев
- Откуда: Калининград не Кенигсберг
- Благодарил (а): 54 раза
- Поблагодарили: 2756 раз
Re: Запретить предупреждения администратору
Татьяна5
Это реализовано по умолчанию - при попытке заблокировать основателя выдается сообщение о недопустимости этого действия
includes/mcp/mcp_warn.php
Найти
После вставить
language/ru/mcp.php
Найти
После вставить
Это реализовано по умолчанию - при попытке заблокировать основателя выдается сообщение о недопустимости этого действия
Чтобы исключить возможность вынести предупреждение основателюВы не можете закрыть доступ основателям.
includes/mcp/mcp_warn.php
Найти
Код: Выделить всё
// Prevent someone from warning themselves
if ($user_row['user_id'] == $user->data['user_id'])
{
trigger_error('CANNOT_WARN_SELF');
}Код: Выделить всё
//-->
// Prevent warning founder
if ($user_row['user_type'] == USER_FOUNDER)
{
trigger_error('CANNOT_WARN_FOUNDER');
}
//<--Найти
Код: Выделить всё
'CANNOT_WARN_SELF' => 'Вы не можете предупредить самого себя.',Код: Выделить всё
'CANNOT_WARN_FOUNDER' => 'Вы не можете вынести предупреждение основателю.',Общие ошибки новичков (07.11.2005) & Как задавать вопросы
Мини FAQ
Если ничто другое не помогает, прочтите, наконец, инструкцию!
"Никакая инструкция не может перечислить всех обязанностей должностного лица, предусмотреть все отдельные случаи и дать вперёд соответствующие указания, а поэтому господа инженеры должны проявить инициативу и, руководствуясь знаниями своей специальности и пользой дела, принять все усилия для оправдания своего назначения".
Циркуляр Морского технического комитета №15 от 29.11.1910 г.

