Уважаемые пользователи!
C 7 ноября 2020 года phpBB Group прекратила выпуск обновлений и завершила дальнейшее развитие phpBB версии 3.2.
С 1 августа 2024 года phpBB Group прекращает поддержку phpBB 3.2 на официальном сайте.
Сайт официальной русской поддержки phpBB Guru продолжит поддержку phpBB 3.2 до 31 декабря 2024 года.
С учетом этого, настоятельно рекомендуется обновить конференции до версии 3.3.

Проблема с "Edit Post Date"

Ответы на вопросы, связанные с модами для phpBB 2.0.x, кроме относящихся к форуму Для авторов (phpBB 2.0.x).
SevenUp
phpBB 1.4.1
Сообщения: 44
Стаж: 19 лет
Откуда: www.EKCTPA.info

Сообщение SevenUp »

id поста в самой ссылке хотя бы правильно прописывается?
Просьба сообщить о результатах до модификации и после оной.
до:

Код: Выделить всё

javascript:window.open('includes/edit_post_date.php?p=8585','edit_post_date','width=500,height=430');void(0);
после:

Код: Выделить всё

javascript:window.open('includes/edit_post_date.php?p=Array[post_id]','edit_post_date','width=500,height=430');void(0);
Аватара пользователя
Доминион
phpBB 1.4.2
Сообщения: 56
Стаж: 18 лет 11 месяцев
Откуда: Россия, город Москва
Контактная информация:

Сообщение Доминион »

Я понял. Проблема в файле 'includes/edit_post_date.php' В строке 43. Автор криворучка явно не до конца сделал эту модификацию. Запрос к базе '$sql=' СОВЕРШЕННО не правилен. Лишняя ", зачем-то выставленный в конце параметр $p... Не знаю как Вам, но мне такой подход не нужен. Удаляю эту модификацию. Кто знает что она может натворить с моим Форумом :!:...
Для чего существую я? Для того чтобы править эти миром. Для чего существует этот мир? Для того чтобы им правил я...
Xpert
phpBB Guru
phpBB Guru
Сообщения: 5484
Стаж: 20 лет
Поблагодарили: 2 раза
Контактная информация:

Сообщение Xpert »

Хм. Это правильный параметр. Просто моду 3 года, тогда еще в ходу было получение значений переменных напрямую, не используя специальные массивы. А посему перед выполнением запроса необходимо вставить вот такой код:

Код: Выделить всё

$p = (isset($HTTP_GET_VARS['p'])) ? intval($HTTP_GET_VARS['p']) : 0;
Эксперт - это человек, который избегает мелких ошибок на пути к грандиозному провалу.
Любая более-менее сложная задача имеет несколько простых, изящных, лёгких для понимания неправильных решений
SevenUp
phpBB 1.4.1
Сообщения: 44
Стаж: 19 лет
Откуда: www.EKCTPA.info

Сообщение SevenUp »

так куды именно его ставить?
Аватара пользователя
Доминион
phpBB 1.4.2
Сообщения: 56
Стаж: 18 лет 11 месяцев
Откуда: Россия, город Москва
Контактная информация:

Сообщение Доминион »

Xpert, теперь другое. Всегда при изменении даты ошибка.

Добавлено спустя 37 секунд:

SevenUp, в файл 'edit_post_date.php' до строки 43 или 42.
Для чего существую я? Для того чтобы править эти миром. Для чего существует этот мир? Для того чтобы им правил я...
SevenUp
phpBB 1.4.1
Сообщения: 44
Стаж: 19 лет
Откуда: www.EKCTPA.info

Сообщение SevenUp »

ну так что, не доведём этот мод до ума?
Аватара пользователя
Nikel
phpBB 2.0.5
Сообщения: 496
Стаж: 18 лет 11 месяцев
Откуда: Киев
Контактная информация:

Сообщение Nikel »

SevenUp писал(а):ну так что, не доведём этот мод до ума?
Доведем :D

Итак :
edit_post_date.php

Ищем

Код: Выделить всё

include($phpbb_root_path . 'language/lang_' . $board_config['default_lang'] . '/lang_edit_post_date.' . $phpEx);
После добавляем

Код: Выделить всё

$p = ( isset($HTTP_GET_VARS['p']) ) ? intval($HTTP_GET_VARS['p']) : '';


Ищем

Код: Выделить всё

if( isset($HTTP_POST_VARS['submit']) ) 
      { 
После добавляем

Код: Выделить всё

$edit_month = (isset($HTTP_POST_VARS['edit_month'])) ? htmlspecialchars($HTTP_POST_VARS['edit_month']) : htmlspecialchars($HTTP_GET_VARS['edit_month']); 
$edit_day = (isset($HTTP_POST_VARS['edit_day'])) ? intval($HTTP_POST_VARS['edit_day']) : intval($HTTP_GET_VARS['edit_day']); 
$edit_year = (isset($HTTP_POST_VARS['edit_year'])) ? intval($HTTP_POST_VARS['edit_year']) : intval($HTTP_GET_VARS['edit_year']); 
$edit_ampm = (isset($HTTP_POST_VARS['edit_ampm'])) ? htmlspecialchars($HTTP_POST_VARS['edit_ampm']) : htmlspecialchars($HTTP_GET_VARS['edit_ampm']); 
$edit_minute = (isset($HTTP_POST_VARS['edit_minute'])) ? intval($HTTP_POST_VARS['edit_minute']) : intval($HTTP_GET_VARS['edit_minute']); 
$edit_hour = (isset($HTTP_POST_VARS['edit_hour'])) ? intval($HTTP_POST_VARS['edit_hour']) : intval($HTTP_GET_VARS['edit_hour']);
Ищем

Код: Выделить всё

            if( !$db->sql_query($sql) ) 
            { 
               message_die(GENERAL_ERROR, "Failed to update Post Date for Post \# $p", "", __LINE__, __FILE__, $sql); 
            } 
После добавляем

Код: Выделить всё

        $sql = 'SELECT topic_id FROM ' . TOPICS_TABLE . ' WHERE topic_first_post_id = ' . $p; 
            $result = $db->sql_query($sql); 
            if( $db->sql_numrows($result) ) 
            { 
               $topic_row = $db->sql_fetchrow($result); 
               $sql = 'UPDATE ' . TOPICS_TABLE . ' SET topic_time=' . $enter_new_post_date . ' WHERE topic_id = ' . $topic_row['topic_id']; 
               if( !$db->sql_query($sql) ) 
               { 
                  message_die(GENERAL_ERROR, "Failed to update Post Date for Topic \# " . $topic_row['topic_id'], "", __LINE__, __FILE__, $sql); 
               } 
            }
Добавлено спустя 4 минуты 39 секунд:

У меня все в таком виде работает уже давно.
И пережило штук 8 обновлений версии форума .
Пока глюков не замечал .

Добавлено спустя 5 минут 7 секунд:

Чуть не забыл
Вносите изменения в родной "edit_post_date.php" , тоесть без того всего что вы делали выше .
Хочешь помочь коллеге- поделись опытом, хочешь помочь профессионалу-отойди и не мешай, хочешь помочь дураку... Сам дурак
SevenUp
phpBB 1.4.1
Сообщения: 44
Стаж: 19 лет
Откуда: www.EKCTPA.info

Сообщение SevenUp »

вау!
работает наконец то
только у меня такая косметическая проблема
окошко выглядит так

Изображение

что не так? :(
Аватара пользователя
Nikel
phpBB 2.0.5
Сообщения: 496
Стаж: 18 лет 11 месяцев
Откуда: Киев
Контактная информация:

Сообщение Nikel »

SevenUp
А само редактирвание даты работает ?
Или после етого окна ерор идет ?
Хочешь помочь коллеге- поделись опытом, хочешь помочь профессионалу-отойди и не мешай, хочешь помочь дураку... Сам дурак
Аватара пользователя
Alexis1805
phpBB 1.4.3
Сообщения: 87
Стаж: 19 лет 1 месяц
Контактная информация:

Сообщение Alexis1805 »

Все заработало, кроме одной вещи. Вверху поста, где написано когда был написан сам пост, дата не меняется, остается прежней. Хотя если снова зайти в edit post, то там дата изменена и сам пост перемещается после тех постов, которые были написаны раньше.

Добавлено спустя 49 минут 37 секунд:

Вопрос снят с повестки дня! :)
Все работает!
SevenUp
phpBB 1.4.1
Сообщения: 44
Стаж: 19 лет
Откуда: www.EKCTPA.info

Сообщение SevenUp »

Nikel писал(а):SevenUp
А само редактирвание даты работает ?
Или после етого окна ерор идет ?
всё работает

только само окно какой то корявое
Аватара пользователя
Alexis1805
phpBB 1.4.3
Сообщения: 87
Стаж: 19 лет 1 месяц
Контактная информация:

Сообщение Alexis1805 »

SevenUp
У меня ничего корявого не наблюдаю. Окно, как окно, такое как должно быть в этом моде.
Единственное у меня почему-то меняет надпись даты вверху поста, только у тех постах, которые были написаны после установки мода.
SevenUp
phpBB 1.4.1
Сообщения: 44
Стаж: 19 лет
Откуда: www.EKCTPA.info

Сообщение SevenUp »

Alexis1805 писал(а):SevenUp
У меня ничего корявого не наблюдаю. Окно, как окно, такое как должно быть в этом моде.
а у меня коряво
сам посмотри в моём посте выше
Аватара пользователя
Nikel
phpBB 2.0.5
Сообщения: 496
Стаж: 18 лет 11 месяцев
Откуда: Киев
Контактная информация:

Сообщение Nikel »

SevenUp
Как я понимаю у Вас стоит не subSilver?
Хочешь помочь коллеге- поделись опытом, хочешь помочь профессионалу-отойди и не мешай, хочешь помочь дураку... Сам дурак
SevenUp
phpBB 1.4.1
Сообщения: 44
Стаж: 19 лет
Откуда: www.EKCTPA.info

Сообщение SevenUp »

да, стоит phpbb Plus, и в нём fisubsilversh (Fi SubSilver Shadow)
Закрыто

Вернуться в «Поддержка модов для phpBB 2.0.x»