Страница 2 из 6

Добавлено: 03.05.2005 22:29
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);

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

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

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

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

Добавлено: 06.05.2005 22:28
SevenUp
так куды именно его ставить?

Добавлено: 06.05.2005 22:34
Доминион
Xpert, теперь другое. Всегда при изменении даты ошибка.

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

SevenUp, в файл 'edit_post_date.php' до строки 43 или 42.

Добавлено: 10.05.2005 20:15
SevenUp
ну так что, не доведём этот мод до ума?

Добавлено: 10.05.2005 22:50
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" , тоесть без того всего что вы делали выше .

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

Изображение

что не так? :(

Добавлено: 11.05.2005 10:56
Nikel
SevenUp
А само редактирвание даты работает ?
Или после етого окна ерор идет ?

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

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

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

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

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

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

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

Добавлено: 11.05.2005 20:17
Nikel
SevenUp
Как я понимаю у Вас стоит не subSilver?

Добавлено: 11.05.2005 21:20
SevenUp
да, стоит phpbb Plus, и в нём fisubsilversh (Fi SubSilver Shadow)