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

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

Сообщение SevenUp » 03.05.2005 22:29

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
Зарегистрирован: 06.04.2005 17:20
Откуда: Россия, город Москва
Контактная информация:

Сообщение Доминион » 06.05.2005 22:18

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

Xpert
phpBB Guru
phpBB Guru
Сообщения: 5484
Зарегистрирован: 13.03.2004 21:27
Поблагодарили: 2 раза
Контактная информация:

Сообщение Xpert » 06.05.2005 22:23

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

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

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

SevenUp
phpBB 1.4.1
Сообщения: 44
Зарегистрирован: 16.03.2005 14:44
Откуда: www.EKCTPA.info

Сообщение SevenUp » 06.05.2005 22:28

так куды именно его ставить?

Аватара пользователя
Доминион
phpBB 1.4.2
Сообщения: 56
Зарегистрирован: 06.04.2005 17:20
Откуда: Россия, город Москва
Контактная информация:

Сообщение Доминион » 06.05.2005 22:34

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

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

SevenUp, в файл 'edit_post_date.php' до строки 43 или 42.
Для чего существую я? Для того чтобы править эти миром. Для чего существует этот мир? Для того чтобы им правил я...

SevenUp
phpBB 1.4.1
Сообщения: 44
Зарегистрирован: 16.03.2005 14:44
Откуда: www.EKCTPA.info

Сообщение SevenUp » 10.05.2005 20:15

ну так что, не доведём этот мод до ума?

Аватара пользователя
Nikel
phpBB 2.0.5
Сообщения: 496
Зарегистрирован: 25.04.2005 0:41
Откуда: Киев
Контактная информация:

Сообщение Nikel » 10.05.2005 22:50

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
Зарегистрирован: 16.03.2005 14:44
Откуда: www.EKCTPA.info

Сообщение SevenUp » 11.05.2005 1:03

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

Изображение

что не так? :(

Аватара пользователя
Nikel
phpBB 2.0.5
Сообщения: 496
Зарегистрирован: 25.04.2005 0:41
Откуда: Киев
Контактная информация:

Сообщение Nikel » 11.05.2005 10:56

SevenUp
А само редактирвание даты работает ?
Или после етого окна ерор идет ?
Хочешь помочь коллеге- поделись опытом, хочешь помочь профессионалу-отойди и не мешай, хочешь помочь дураку... Сам дурак

Аватара пользователя
Alexis1805
phpBB 1.4.3
Сообщения: 87
Зарегистрирован: 27.02.2005 12:49
Контактная информация:

Сообщение Alexis1805 » 11.05.2005 13:08

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

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

Вопрос снят с повестки дня! :)
Все работает!

SevenUp
phpBB 1.4.1
Сообщения: 44
Зарегистрирован: 16.03.2005 14:44
Откуда: www.EKCTPA.info

Сообщение SevenUp » 11.05.2005 13:52

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

только само окно какой то корявое

Аватара пользователя
Alexis1805
phpBB 1.4.3
Сообщения: 87
Зарегистрирован: 27.02.2005 12:49
Контактная информация:

Сообщение Alexis1805 » 11.05.2005 13:57

SevenUp
У меня ничего корявого не наблюдаю. Окно, как окно, такое как должно быть в этом моде.
Единственное у меня почему-то меняет надпись даты вверху поста, только у тех постах, которые были написаны после установки мода.

SevenUp
phpBB 1.4.1
Сообщения: 44
Зарегистрирован: 16.03.2005 14:44
Откуда: www.EKCTPA.info

Сообщение SevenUp » 11.05.2005 13:59

Alexis1805 писал(а):SevenUp
У меня ничего корявого не наблюдаю. Окно, как окно, такое как должно быть в этом моде.
а у меня коряво
сам посмотри в моём посте выше

Аватара пользователя
Nikel
phpBB 2.0.5
Сообщения: 496
Зарегистрирован: 25.04.2005 0:41
Откуда: Киев
Контактная информация:

Сообщение Nikel » 11.05.2005 20:17

SevenUp
Как я понимаю у Вас стоит не subSilver?
Хочешь помочь коллеге- поделись опытом, хочешь помочь профессионалу-отойди и не мешай, хочешь помочь дураку... Сам дурак

SevenUp
phpBB 1.4.1
Сообщения: 44
Зарегистрирован: 16.03.2005 14:44
Откуда: www.EKCTPA.info

Сообщение SevenUp » 11.05.2005 21:20

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

Закрыто

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