Хм...решил тоже сделать для обычных юзеров автоповторение первого сообщения при создании темы на одном простом форуме...
Запрос сделал...
Код: Выделить всё
UPDATE phpbb_topics SET topic_first_post_show = 1
Во всех старых темах все первые сообщения стали дублироваться первыми...хорошо...
В файле
posting_editor.html строку
Код: Выделить всё
<!-- IF S_FIRST_POST_SHOW_ALLOWED -->
<div><label for="topic_first_post_show"><input type="checkbox" name="topic_first_post_show" id="topic_first_post_show"{S_FIRST_POST_SHOW_CHECKED} /> {L_FIRST_POST_SHOW} </label></div>
<!-- ENDIF -->
заменил на
Код: Выделить всё
<!-- IF S_FIRST_POST_SHOW_ALLOWED -->
<div><label for="topic_first_post_show"><input type="checkbox" name="topic_first_post_show" checked="checked" id="topic_first_post_show"{S_FIRST_POST_SHOW_CHECKED} /> {L_FIRST_POST_SHOW} </label></div>
<!-- ENDIF -->
чек у простых не появился...это естественно...право-то не дано...
В файле
posting.php строку
Код: Выделить всё
'S_FIRST_POST_SHOW_ALLOWED' => ($first_post_show_allowed && ($auth->acl_get('m_lock', $forum_id) || ($auth->acl_get('f_post', $forum_id) && $user->data['is_registered'] && !empty($post_data['topic_poster']) && $user->data['user_id'] == $post_data['topic_poster']))) ? true : false,
Заменил на
Код: Выделить всё
'S_FIRST_POST_SHOW_ALLOWED' => ($first_post_show_allowed && $user->data['is_registered']) ? true : false,
исключив проверку на право всем зареганным...
Адмиины и модераторы создают тему и первое сообщение дублируется автоматом на все страницы темы...хорошо...
Создают новую тему обычным юзером -
0368.jpg
Чек стоит и все нормально.....помечаю первое сообщение словами
ПЕРВОЕ СООБЩЕНИЕ...
Делаю следующие сообщения...чека при создании сообщений НЕТ!!! Это хорошо!!!
0370.jpg
Делаю 12 сообщение что б заработала вторая страница темы (по 10)
Дублежа нет!!!
0372.jpg
Возвращаюсь обычным юзеров в правку первого сообщения -
чек там стоит и все вроде нормально...
0373.jpg
Ничего не делая с сообщением, просто давлю на ЕНТЕР...
Первое сообщение становится продублированным...
0374.jpg
Что не так?
В
posting.php все выглядит сейчас так - (+-5 строк)
Код: Выделить всё
'S_HAS_DRAFTS' => ($auth->acl_get('u_savedrafts') && $user->data['is_registered'] && $post_data['drafts']) ? true : false,
'S_COLOUR' => (($auth->acl_get('f_topic_title_colour', $forum_id) && ($mode == 'post' || $mode == 'edit' && $post_data['post_id'] == $post_data['topic_first_post_id'])) ? true : false),
'S_FORM_ENCTYPE' => $form_enctype,
'SSD_FORUM_URL' => preg_replace("/^(http)s?:/+/i", "", generate_board_url()),
'S_FIRST_POST_SHOW_ALLOWED' => ($first_post_show_allowed && $user->data['is_registered']) ? true : false,
'S_FIRST_POST_SHOW_CHECKED' => ($first_post_show_checked) ? ' checked="checked"' : '',
'S_POST_EXPIRE' => ($config['expire_enable']) ? true : false,
'S_POST_EXPIRE_SELECT' => $post_expire_select,
'S_TOPIC_EXPIRE_TYPE' => $topic_expire_type_select,
Повторю - и модеры и админы делают тему и автоповтор сам автоматом появляется...не надо править первое сообщение...
А от обычных юзеров - не появляется...появится, если им-же сделать правку первого сообщения...
Добавлено спустя 5 минут 12 секунд:
Пы...сы...на основном тоже самое....так что не повезло вот для обычных юзеров...можно поиздеваться здесь-
http://fotovideoforum.ru/viewforum.php?f=4
Ник
пароль
Добавлено спустя 8 минут 6 секунд:
При создании темы и в дальнейшем сообщений юзером с админскими или модераторскими правами, дублирование появляется само как надо...без дополнительной правки первого сообщения...воть в доказательство - (меток о правках нет)
0375.jpg
Добавлено спустя 3 минуты 16 секунд:
Там пятая тема осталась без дублирования...не правлю первое сообщение пока..
Добавлено спустя 55 минут 59 секунд:
Даже дав группе обычных юзеров право закрывать свои темы, при создании такой темы первое сообщение не продублировалось на автомате...
Не побороть? Откатываться?
Давать группе Обычные модераторские права закрывать любые темы - не хочется...
Добавлено спустя 7 минут 38 секунд:
Я так понял - надо что-то здесь делать...то есть исключить полностью проверку на модерство и право закрывать свои темы...
Код: Выделить всё
$perm_show_unshow = ($auth->acl_get('m_lock', $forum_id) || ($auth->acl_get('f_user_lock', $forum_id) && $user->data['is_registered'] && !empty($post_data['topic_poster']) && $user->data['user_id'] == $post_data['topic_poster'])) ? true : false;
Добавлено спустя 19 минут 48 секунд:
Ковыряю последнюю строку...ну и ошибки вылазят у дебаггера...ужасы...
мда...не дано...
Щас кто-то напишет - учи матчасть....увы...
У вас нет необходимых прав для просмотра вложений в этом сообщении.