Уважаемые пользователи!
C 7 ноября 2020 года phpBB Group прекратила выпуск обновлений и завершила дальнейшее развитие phpBB версии 3.2.
С 1 августа 2024 года phpBB Group прекращает поддержку phpBB 3.2 на официальном сайте.
Сайт официальной русской поддержки phpBB Guru продолжит поддержку phpBB 3.2 до 31 декабря 2024 года.
С учетом этого, настоятельно рекомендуется обновить конференции до версии 3.3.
C 7 ноября 2020 года phpBB Group прекратила выпуск обновлений и завершила дальнейшее развитие phpBB версии 3.2.
С 1 августа 2024 года phpBB Group прекращает поддержку phpBB 3.2 на официальном сайте.
Сайт официальной русской поддержки phpBB Guru продолжит поддержку phpBB 3.2 до 31 декабря 2024 года.
С учетом этого, настоятельно рекомендуется обновить конференции до версии 3.3.
Вопрос по редактуре сообщений
-
- phpBB 1.0.0
- Сообщения: 7
- Стаж: 19 лет 2 месяца
- Откуда: МСК
Вопрос по редактуре сообщений
Господа, такой вопрос.
Каков алгоритм добавления в посты надписей вроде "Отредактировано тем-то, тогда-то, столько-то раз", "Добавлено спустя..."?
Я логику вообще не понимаю. На моем форуме у меня, сколько я не редактирую свои и чужие мессаги, ни разу не появлялась приписка. Под своим же тестовым аккаунтом (простой пользователь), тоже такая надпись не появляется. А у пользователей (у НЕКОТОРЫХ, не всех) - высвечивается.
Как оно вообще работает?
Каков алгоритм добавления в посты надписей вроде "Отредактировано тем-то, тогда-то, столько-то раз", "Добавлено спустя..."?
Я логику вообще не понимаю. На моем форуме у меня, сколько я не редактирую свои и чужие мессаги, ни разу не появлялась приписка. Под своим же тестовым аккаунтом (простой пользователь), тоже такая надпись не появляется. А у пользователей (у НЕКОТОРЫХ, не всех) - высвечивается.
Как оно вообще работает?
Улыбайтесь чаще!
-
- phpBB Guru
- Сообщения: 5484
- Стаж: 20 лет 2 месяца
- Поблагодарили: 2 раза
Если пользователь отредактировал свое сообщение после того как в теме появилось еще одно сообщение, надпись появляется. Если сообщение редактирует администратор или модератор - надпись не появляется, однако если администратор или модератор редактируют свое сообщение, надпись появится.
Эксперт - это человек, который избегает мелких ошибок на пути к грандиозному провалу.
Любая более-менее сложная задача имеет несколько простых, изящных, лёгких для понимания неправильных решений
Любая более-менее сложная задача имеет несколько простых, изящных, лёгких для понимания неправильных решений
-
- Поддержка
- Сообщения: 5285
- Стаж: 19 лет 4 месяца
- Откуда: Питер
- Благодарил (а): 186 раз
- Поблагодарили: 793 раза
TLS
можно сделать, чтобы всегда отображалось, что пост редактировался :wink:
Always Show Edited by Messages
можно сделать, чтобы всегда отображалось, что пост редактировался :wink:
Always Show Edited by Messages
Еще одно нарушение правил и будете забанены. © Mr. Anderson
Ты очистил кеш? © Sheer
https://siava.ru (phpbb2.0.x 3.5.x)
Ты очистил кеш? © Sheer
https://siava.ru (phpbb
-
- phpBB 1.0.0
- Сообщения: 7
- Стаж: 19 лет 2 месяца
- Откуда: МСК
-
- phpBB 2.0.7
- Сообщения: 574
- Стаж: 18 лет 1 месяц
Ребята у меня такая трабла: я как админ редактирую сообщение другого юзера, а надпись появляется как будто это он отредактировал сообщение (т.е. пишется не мой ник а ник юзера)..
Единственное что я ставил касательно редактирования сообщений это:
[12/12/06] Always Show Edited Message
http://www.phpbb.com/phpBB/viewtopic.php?t=482272
поэтому на него и грешу ..
Т.к. щас phpBB.ком не пашет мод атачу..
Вот стркоа из моего functions_post.php
Сам фанкшн_пост тож атачу в тхт формате...
Подскажите плиз де накосячил?
Единственное что я ставил касательно редактирования сообщений это:
[12/12/06] Always Show Edited Message
http://www.phpbb.com/phpBB/viewtopic.php?t=482272
поэтому на него и грешу ..
Т.к. щас phpBB.ком не пашет мод атачу..
Вот стркоа из моего functions_post.php
Код: Выделить всё
$edited_sql = ($mode == 'editpost' /* && !$post_data['last_post'] && $post_data['poster_post'] */) ? ", post_edit_time = $current_time, post_edit_count = post_edit_count + 1 " : "";
Подскажите плиз де накосячил?
У вас нет необходимых прав для просмотра вложений в этом сообщении.
-
- phpBB Guru
- Сообщения: 5484
- Стаж: 20 лет 2 месяца
- Поблагодарили: 2 раза
-
- phpBB 2.0.7
- Сообщения: 574
- Стаж: 18 лет 1 месяц
Та это собсно и модом сложно назвать )
Но дело в том что я вот вернул назад как а оно было так и остался.. я думаю чо дело в чем то другом .. щас буду выяснять ..
Все таки понять не могу.. проверил всесвои моды.. ни один вродь не зарагивает..
Аа вот нашел единственное:
Мод - AbTrack BT-Tracker MOD 1.0.1b
Как это могло повлияеть.. щас я поставлю на голый форум.. протестю..
Добавлено спустя 22 минуты 54 секунды:
Да.. так и есть .. причина имено в моде AbTrack.. поставил голый форум, все протестил - нормально, т.е. в случае если амин редактить сообщение юзера то пишеться что авор редакции - амин .. накатил абТрэк, и перестало писаться ..
Xpert, я не могу сориентироваться.. если вы увидели в чем трабл, подскажите плиз фикс..
Если нет, то черт уже с ним .. зато разобрался откуда баг ..
Код: Выделить всё
#
#-----[ OPEN ]------------------------------------------
#
includes/functions_post.php
#
#-----[ FIND ]------------------------------------------
#
$edited_sql = ($mode == 'editpost' && !$post_data['last_post'] && $post_data['poster_post']) ? ", post_edit_time = $current_time, post_edit_count = post_edit_count + 1 " : "";
#
#-----[ IN-LINE FIND ]------------------------------------------
#
&& !$post_data['last_post'] && $post_data['poster_post']
#
#-----[ IN-LINE REPLACE WITH ]------------------------------------------
# We are commenting this code.
/* && !$post_data['last_post'] && $post_data['poster_post'] */
#
#-----[ SAVE/CLOSE ALL FILES ]------------------------------------------
#
# EoM
Все таки понять не могу.. проверил всесвои моды.. ни один вродь не зарагивает..
Аа вот нашел единственное:
Мод - AbTrack BT-Tracker MOD 1.0.1b
Код: Выделить всё
#
#-----[ OPEN ]---------------------------------------------
#
includes/functions_post.php
#
#-----[ FIND ]---------------------------------------------
#
$sql = ($mode != "editpost") ? "INSERT INTO " . TOPICS_TABLE . " (topic_title, topic_poster, topic_time, forum_id, topic_status, topic_type, topic_vote) VALUES ('$post_subject', " . $userdata['user_id'] . ", $current_time, $forum_id, " . TOPIC_UNLOCKED . ", $topic_type, $topic_vote)" : "UPDATE " . TOPICS_TABLE . " SET topic_title = '$post_subject', topic_type = $topic_type " . (($post_data['edit_vote'] || !empty($poll_title)) ? ", topic_vote = " . $topic_vote : "") . " WHERE topic_id = $topic_id";
#
#-----[ REPLACE WITH ]---------------------------------------
#
//bt
global $post_info, $is_auth, $HTTP_POST_VARS;
$topic_dl_type = (isset($HTTP_POST_VARS['topic_dl_type']) && ($post_info['topic_dl_type'] || $post_info['allow_dl_topic'] || $is_auth['auth_mod'])) ? TOPIC_DL_TYPE_DL : TOPIC_DL_TYPE_NORMAL;
$sql = ($mode != "editpost") ? "INSERT INTO " . TOPICS_TABLE . " (topic_title, topic_poster, topic_time, forum_id, topic_status, topic_type, topic_dl_type, topic_vote) VALUES ('$post_subject', " . $userdata['user_id'] . ", $current_time, $forum_id, " . TOPIC_UNLOCKED . ", $topic_type, $topic_dl_type, $topic_vote)" : "UPDATE " . TOPICS_TABLE . " SET topic_title = '$post_subject', topic_type = $topic_type, topic_dl_type = $topic_dl_type " . ((@$post_data['edit_vote'] || !empty($poll_title)) ? ", topic_vote = " . $topic_vote : "") . " WHERE topic_id = $topic_id";
//bt end
#
#-----[ FIND ]---------------------------------------------
#
$sql = "DELETE FROM " . TOPICS_WATCH_TABLE . "
WHERE topic_id = $topic_id";
if (!$db->sql_query($sql))
{
message_die(GENERAL_ERROR, 'Error in deleting post', '', __LINE__, __FILE__, $sql);
}
#
#-----[ AFTER, ADD ]---------------------------------------
#
//bt
$sql = 'DELETE FROM '. BT_USR_DL_STAT_TABLE ."
WHERE topic_id = $topic_id";
if (!$db->sql_query($sql))
{
message_die(GENERAL_ERROR, 'Error in deleting post', '', __LINE__, __FILE__, $sql);
}
//bt end
Добавлено спустя 22 минуты 54 секунды:
Да.. так и есть .. причина имено в моде AbTrack.. поставил голый форум, все протестил - нормально, т.е. в случае если амин редактить сообщение юзера то пишеться что авор редакции - амин .. накатил абТрэк, и перестало писаться ..
Xpert, я не могу сориентироваться.. если вы увидели в чем трабл, подскажите плиз фикс..
Если нет, то черт уже с ним .. зато разобрался откуда баг ..
-
- phpBB Guru
- Сообщения: 5484
- Стаж: 20 лет 2 месяца
- Поблагодарили: 2 раза
Вот тут и ошибка. Не учитывает администратора-модератора.Lektor писал(а):Та это собсно и модом сложно назвать )
Ну так в базе уже все поменялось...Lektor писал(а):о дело в том что я вот вернул назад как а оно было так и остался..
Эксперт - это человек, который избегает мелких ошибок на пути к грандиозному провалу.
Любая более-менее сложная задача имеет несколько простых, изящных, лёгких для понимания неправильных решений
Любая более-менее сложная задача имеет несколько простых, изящных, лёгких для понимания неправильных решений
-
- phpBB 2.0.7
- Сообщения: 574
- Стаж: 18 лет 1 месяц
Xpert
Ага я понял.. Только вот хотел чуть еще разобраться.. мне не понятно почему если закоментировать только "!$post_data['last_post']" (т.е. саму суть мода: чтоб надпись "Редактировалось..." появлялась вне зависимости от того какое сообщение в теме последнее или нет), то если редактирует админ об этом не пишеться в сообщении, а если юзер редактирует свою месагу то пишеться? как условие на "не последнее" сообщение на это повлияло?
А можно сделать так (по русски): если режим редактирования то время редактирования = текущее время, а (добавить) автор редактирования - текущий автор...
Или проще сделать проверку на админа и модератора(как вы говорили)?
Подскажите плиз как можно сделать, т.е. я идею понимаю что то вроде:
после :
$edited_sql =
Добавить:
Вообщем за этот бред сори ) это я так типа размышлял.. подскажите как надо.. )
Ага я понял.. Только вот хотел чуть еще разобраться.. мне не понятно почему если закоментировать только "!$post_data['last_post']" (т.е. саму суть мода: чтоб надпись "Редактировалось..." появлялась вне зависимости от того какое сообщение в теме последнее или нет), то если редактирует админ об этом не пишеться в сообщении, а если юзер редактирует свою месагу то пишеться? как условие на "не последнее" сообщение на это повлияло?
А можно сделать так (по русски): если режим редактирования то время редактирования = текущее время, а (добавить) автор редактирования - текущий автор...
Или проще сделать проверку на админа и модератора(как вы говорили)?
Подскажите плиз как можно сделать, т.е. я идею понимаю что то вроде:
после :
$edited_sql =
Добавить:
Код: Выделить всё
if ($mode == 'editpost' && $userdata['user_level'] == ADMIN или $userdata['user_level'] == MOD)
{
$edited_sql .= ", poster_post = $этот_самый_админ_или_модер ";
$result = $db->sql_query("
UPDATE ". TOPICS_TABLE ." SET
poster_post = $этот_самый_админ_или_модер
WHERE topic_id = $topic_id
LIMIT 1
");
}
-
- phpBB 1.2.0
- Сообщения: 15
- Стаж: 16 лет 4 месяца
- Откуда: Екатеринбург, Агафуровские дачи
Подскажите, а как сделать, что бы вообще это сообщение не появлялось? Простой (для меня) способ установить $lang['Edited_time_total'] в " ". Разумно ли так? А если бы был способ во время написания сообщения указывать ("галочкой") показывать/не показывать этот текст, то было вообще прекрасно! Почему - есть часть сообщений на форуме по которым приципиально важно иметь отметку о последнем редактировании. Есть ситуации обратные (ну исправил орфографическую ошибку!). А возможность выбрать даст поступать и так и эдак.