$db
там объявлена глобальной?Уважаемые пользователи!
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.
Change Post Time 0.0.2
Правила форума
Местная Конституция | Шаблон запроса | Документация (phpBB3) | Переход на 3.0.6 и выше | FAQ-3 (phpbb3) | Как задавать вопросы | Как устанавливать моды
Ваш вопрос может быть удален без объяснения причин, если на него есть ответы по приведённым ссылкам (а вы рискуете получить предупреждение ).
Местная Конституция | Шаблон запроса | Документация (phpBB3) | Переход на 3.0.6 и выше | FAQ-3 (phpbb3) | Как задавать вопросы | Как устанавливать моды
Ваш вопрос может быть удален без объяснения причин, если на него есть ответы по приведённым ссылкам (а вы рискуете получить предупреждение ).
- Татьяна5
- Поддержка
- Сообщения: 12372
- Стаж: 12 лет 7 месяцев
- Благодарил (а): 223 раза
- Поблагодарили: 3517 раз
- Контактная информация:
- Addict
- phpBB 1.4.0
- Сообщения: 30
- Стаж: 15 лет 1 месяц
- Откуда: мск
- Благодарил (а): 8 раз
- Поблагодарили: 3 раза
Re: Change Post Time 0.0.2
Файл mcp_post.php, функция mcp_post_details, global $db присутствует. Запрос на изменение поля post_time в POSTS_TABLE выполняется, следующая за ним функция sync - нет. Попытка подставить вместо sync простой прямой запрос на изменение topic_first_post_id в TOPICS_TABLE - тоже не выполняется, хотя sql отвечает, что affectedrows=1.
И я бы понял, если бы не работало только у меня. Но, насколько я выяснял, мод не работает ни у кого.
показывает 1, значит запрос обработан успешно... Не понимаю, куда копать в этой ситуации.
И я бы понял, если бы не работало только у меня. Но, насколько я выяснял, мод не работает ни у кого.
Код: Выделить всё
print_r($db->sql_query($sql));
-
- Former team member
- Сообщения: 2219
- Стаж: 15 лет 3 месяца
- Благодарил (а): 236 раз
- Поблагодарили: 561 раз
- Контактная информация:
Re: Change Post Time 0.0.2
И не только у темы - у форума тоже.Addict писал(а):пост становится первым по времени, но тема об этом не знает, ибо у темы есть свои поля, в которых хранятся данные о первом и последнем посте. Без внесения изменений в данные темы пост первым не является.
Я же говорю: запросами вы ничего не добьётесь. Даже если вы сделаете несколько запросов для разных таблиц, чтобы обновить в них данные для этого поста, то при следующем же запуске синхронизации (например, из админки) всё вернётся "на круги своя" - в темах и форумах будет полная мешанина. Проверено. Чтобы исправить эту ситуацию, нужно вносить правки в функцию sync, как я на предыдущей странице написал, и вызывать эту функцию после обновления времени поста. Собственно, она и сейчас вызывается в моде, но именно из-за синхронизации по post_id не выполняет ту роль, которую должна.
- Пчелкин
- phpBB 3.3.0
- Сообщения: 11234
- Стаж: 14 лет 2 месяца
- Откуда: fotovideoforum.ru
- Благодарил (а): 1782 раза
- Поблагодарили: 1340 раз
- Контактная информация:
Re: Change Post Time 0.0.2
Проще сделать копию всей темы а исходник убить... В новой теме все будет пучком... Тока что спасибки умрут и просмотры...Addict писал(а):Не понимаю, куда копать в этой ситуации.
NIKON-D90, AF-S 18-105, AF-S 14-24, AF-S 24-70
Фотовидеофорум ; Форум Кировского района ; Форумы Калдина-Клуба ; Форум Japan Navigation Group
Фотовидеофорум ; Форум Кировского района ; Форумы Калдина-Клуба ; Форум Japan Navigation Group
- Addict
- phpBB 1.4.0
- Сообщения: 30
- Стаж: 15 лет 1 месяц
- Откуда: мск
- Благодарил (а): 8 раз
- Поблагодарили: 3 раза
Re: Change Post Time 0.0.2
Shredder, дело даже не в том, добьюсь я запросами или нет, такие костыли как раз городить не хочется. Главным сейчас считаю вопрос: почему не выполняется запрос, следующий за изменением времени поста?
Пчелкин, мне предстоит перелопатить слишком много тем... Таки нужен функционал этого мода...
Можно было бы сварганить костыль из sync и добавить его в этот мод, не сильно сложное мероприятие. Но что с запросами?..
Пчелкин, мне предстоит перелопатить слишком много тем... Таки нужен функционал этого мода...
Можно было бы сварганить костыль из sync и добавить его в этот мод, не сильно сложное мероприятие. Но что с запросами?..
-
- phpBB 2.0.7a
- Сообщения: 627
- Стаж: 12 лет 9 месяцев
- Благодарил (а): 165 раз
- Поблагодарили: 21 раз
Re: Change Post Time 0.0.2
Я немного проще делаю - копирую первый пост темы (он получается от моего имени), потом меняю в нём автора на автора первого поста и меняю время на минуту позже, чем первый пост (получается в теме первый и второй пост абсолютно одинаковы и от одного автора). А потом в первый пост редактированием вставляю нужный текст и нужного автора. Тема сразу всё узнаёт. Фишка в том, чтобы не удалять и не переносить сам первый пост. Все просмотры и остальные плюшки тоже сохраняются.Пчелкин писал(а): Проще сделать копию всей темы а исходник убить... В новой теме все будет пучком... Тока что спасибки умрут и просмотры...
- Addict
- phpBB 1.4.0
- Сообщения: 30
- Стаж: 15 лет 1 месяц
- Откуда: мск
- Благодарил (а): 8 раз
- Поблагодарили: 3 раза
Re: Change Post Time 0.0.2
Booker, я извиняюсь, если вдруг вопрос идиотский, но "копирую пост" - это где такое?
- Пчелкин
- phpBB 3.3.0
- Сообщения: 11234
- Стаж: 14 лет 2 месяца
- Откуда: fotovideoforum.ru
- Благодарил (а): 1782 раза
- Поблагодарили: 1340 раз
- Контактная информация:
Re: Change Post Time 0.0.2
Да и так можно...То есть в первый родной пост темы вставить нужную информацию с заменой автора на нужного. А бывшую информацию первого поста можно скопировать в любой другой ненужный пост или созданный вновь и по времени сделать его вторым постом темы...Booker писал(а):Я немного проще делаю - копирую первый пост темы
Добавлено спустя 1 минуту 13 секунд:
Новое сообщение с заменой потом времени его создания...Addict писал(а): но "копирую пост"
NIKON-D90, AF-S 18-105, AF-S 14-24, AF-S 24-70
Фотовидеофорум ; Форум Кировского района ; Форумы Калдина-Клуба ; Форум Japan Navigation Group
Фотовидеофорум ; Форум Кировского района ; Форумы Калдина-Клуба ; Форум Japan Navigation Group
- Addict
- phpBB 1.4.0
- Сообщения: 30
- Стаж: 15 лет 1 месяц
- Откуда: мск
- Благодарил (а): 8 раз
- Поблагодарили: 3 раза
Re: Change Post Time 0.0.2
Согласен, на таких костылях ковылять тоже вариант, причём, самый простой и безболезненный из рассмотренных, не считая возможных проблем с синхронизацией в случае удаления первого поста и т.п... Но меня никак не отпускает невыполнение запросов...
Кстати, сразу же возникает вопрос: если мод не изменяет информацию о последнем посте темы/форума, а мы перемещаем последний пост на второе место в теме, какие могут быть последствия при синхронизации?
Добавлено спустя 12 минут 56 секунд:
Shredder, можно подробностей? Всё, что я увидел из внесения изменений в БД в функции sync(topic) - это конструкцию
Это синхронизация темы. Здесь, после массы административно-хозяйственных действий, собранные в массив $sql_ary поля обновляются, и на этом, собственно всё. Это мало чем отличается от простого запроса, который я пытаюсь выполнить. Никакой синхронизации по post_id не увидел. Если я правильно понял, посты в темах распределяются по времени их создания, и мод изменения времени (при грамотном подходе) должен вполне правильно всё ставить по своим местам.
Для себя я сделал вывод, что sync в моде не выполняется вообще. Осталось понять, как с этим бороться, и мод сможет жить.
Любая помощь приветствуется хотя бы по причине того, что довольно большое количество людей уже такого наковыряли у себя в форумах...
Кстати, сразу же возникает вопрос: если мод не изменяет информацию о последнем посте темы/форума, а мы перемещаем последний пост на второе место в теме, какие могут быть последствия при синхронизации?
Добавлено спустя 12 минут 56 секунд:
Shredder, можно подробностей? Всё, что я увидел из внесения изменений в БД в функции sync(topic) - это конструкцию
Код: Выделить всё
1728 if (sizeof($sql_ary))
1729 {
1730 $sql = 'UPDATE ' . TOPICS_TABLE . '
1731 SET ' . $db->sql_build_array('UPDATE', $sql_ary) . '
1732 WHERE topic_id = ' . $topic_id;
1733 $db->sql_query($sql);
1734
1735 $resync_forums[$row['forum_id']] = $row['forum_id'];
1736 }
Для себя я сделал вывод, что sync в моде не выполняется вообще. Осталось понять, как с этим бороться, и мод сможет жить.
Любая помощь приветствуется хотя бы по причине того, что довольно большое количество людей уже такого наковыряли у себя в форумах...
- Addict
- phpBB 1.4.0
- Сообщения: 30
- Стаж: 15 лет 1 месяц
- Откуда: мск
- Благодарил (а): 8 раз
- Поблагодарили: 3 раза
Re: Change Post Time 0.0.2
Shredder, аймсори, только сейчас догнал твою мысль. Получается, нужно изменять функцию sync, чтобы синхронизация шла по времени написания поста, а не по его id. Но это, скажем так, не совсем гигиенично...
- Addict
- phpBB 1.4.0
- Сообщения: 30
- Стаж: 15 лет 1 месяц
- Откуда: мск
- Благодарил (а): 8 раз
- Поблагодарили: 3 раза
Re: Change Post Time 0.0.2
Итог почти недельного расследования следующий: запросы выполняются нормально, но мой подход был неверным. Не закоментив функцию sync, я перед ней выполнял запрос на изменение данных о топике, а sync всё возвращал на место Неприятно чувствовать себя идиотом Зато во многом разобрался, и, как говорил великий Брюс Ли, "Цель не обязательно должна достигаться, порой это направление для дальнейшего движения".
Вывод: мод нужно уничтожать, ибо работать правильно он не может из-за несоответствия внутренней функции форума sync, менять которую как минимум опасно.
Лично я мод убиваю. Без него проблем выше крыши.
Вывод: мод нужно уничтожать, ибо работать правильно он не может из-за несоответствия внутренней функции форума sync, менять которую как минимум опасно.
Лично я мод убиваю. Без него проблем выше крыши.
- Sheer
- Former team member
- Сообщения: 12113
- Стаж: 17 лет 1 месяц
- Откуда: Калининград не Кенигсберг
- Благодарил (а): 54 раза
- Поблагодарили: 2752 раза
- Контактная информация:
Re: Change Post Time 0.0.2
Хех, а может в моде использовать не встроенную функцию, а специально адаптированную - тогда и проблем не будет.
Общие ошибки новичков (07.11.2005) & Как задавать вопросы
Мини FAQ
Если ничто другое не помогает, прочтите, наконец, инструкцию!
"Никакая инструкция не может перечислить всех обязанностей должностного лица, предусмотреть все отдельные случаи и дать вперёд соответствующие указания, а поэтому господа инженеры должны проявить инициативу и, руководствуясь знаниями своей специальности и пользой дела, принять все усилия для оправдания своего назначения".
Циркуляр Морского технического комитета №15 от 29.11.1910 г.
-
- Former team member
- Сообщения: 2219
- Стаж: 15 лет 3 месяца
- Благодарил (а): 236 раз
- Поблагодарили: 561 раз
- Контактная информация:
Re: Change Post Time 0.0.2
Скажите, а по какой причине, по-вашему, менять её "столь опасно"? Разве не половина модов занимаются тем, что меняют внутренние функции форума, и ничего - все живут нормально?Addict писал(а):работать правильно он не может из-за несоответствия внутренней функции форума sync, менять которую как минимум опасно.
Будет. Когда очередную синхронизацию из админки (или ещё откуда-нибудь) запустите. Проверено уже.Sheer писал(а):а может в моде использовать не встроенную функцию, а специально адаптированную - тогда и проблем не будет.
- Addict
- phpBB 1.4.0
- Сообщения: 30
- Стаж: 15 лет 1 месяц
- Откуда: мск
- Благодарил (а): 8 раз
- Поблагодарили: 3 раза
Re: Change Post Time 0.0.2
Shredder, не так уж много модов лезут в БД, ещё меньше меняют задуманную разработчиками форума структуру хранения, вывода и т.п... Опасность лично для меня заключается в том, что, используя ли специально написанную под мод функцию, или без неё, мне необходимо изменить время последнего поста на первый в сотнях тем. А ещё нужно, чтобы эти первые посты были прилепленными. Если при этом не использовать встроенную синхронизацию,
Проблемы начнутся, когда эта функция отработает, специально или по причине амнезии, на форумах и темах, где были переезды по времени.Sheer писал(а):тогда и проблем не будет.
-
- Former team member
- Сообщения: 2219
- Стаж: 15 лет 3 месяца
- Благодарил (а): 236 раз
- Поблагодарили: 561 раз
- Контактная информация:
Re: Change Post Time 0.0.2
Не просто много, а ОЧЕНЬ много.Addict писал(а):не так уж много модов лезут в БД, ещё меньше меняют задуманную разработчиками форума структуру хранения, вывода и т.п...
Выдумываете себе несуществующие проблемы. Ну, как хотите, переубеждать не буду.Addict писал(а):Опасность лично для меня заключается в том, что, используя ли специально написанную под мод функцию, или без неё, мне необходимо изменить время последнего поста на первый в сотнях тем. А ещё нужно, чтобы эти первые посты были прилепленными.