Пропустить

Prime Trash Bin

Поддержка старых модов или модов, созданных авторами не из нашего сообщества, а также любые вопросы, связанные с модами для phpBB 3.0.x, кроме относящихся к форуму Для авторов (phpBB 3.0.x).
Свернуть Развернуть Правила форума Местная Конституция | Шаблон запроса | Документация (phpBB3) | Переход на 3.0.6 и выше | FAQ-3 (phpbb3) | Как задавать вопросы | Как устанавливать моды

Ваш вопрос может быть удален без объяснения причин, если на него есть ответы по приведённым ссылкам (а вы рискуете получить предупреждение ;) ).

Prime Trash Bin

Сообщение МайскийЖук » 05.01.2012 15:27

Вообще странно, конечно. У меня так же стоит версия корзины 1.1.4, я так же обновил форум с 3.0.9 до 3.0.10, но у меня подобных ошибок не возникло.

Может действительно отослать bug report создателю мода, а на ошибку пока забить? Она же на работоспособность корзины, насколько я понял, не повлияла?
Любовь и боль, покой и бой я как любой несу с собой...
Аватара пользователя
МайскийЖук
phpBB 3.0.0 RC1
 
Сообщения: 996
Зарегистрирован: 28.09.2009 16:07
Благодарил (а): 12 раз.
Поблагодарили: 124 раз.
Предупреждения: 1

Re: Prime Trash Bin

Сообщение FomenkoAndrey » 05.01.2012 16:00

МайскийЖук писал(а): Она же на работоспособность корзины

с одной стороны - вроде как и сайт и корзина работают.
я проверял - посты как непосредственно в теме, так и через панель модератора удаляются/восстанавливаются.
если вы обратите внимание на скрин - ошибки вызываются либо ботами либо гостями...
внешне я заметить ничего не смог, только в логах ошибок сайта.
с другой стороны - если этот баг всплывет со временем, а лекарство найдено не будет - это труба... ресурс посещаемый и живой - не хочу рисковать.
после обнаружения ошибки сайт откатил до версии 3.0.9 (обновить теперь смогу за пару минут, как исправлю ошибку).
для отладки ошибок обновления сейчас разворачиваю клон сайта на зарезервированном домене...

я уже создал тему на phpbb.com в разделе поддержки мода, посмотрим что автор отпишет.

Добавлено спустя 2 часа 31 минуту 55 секунд:
на развернутом тестовом сайте что только не делал с корзиной... и удалял и восстанавливал и через панель модератора, и так и на перекосяк - ошибок не было... под гостем облазил темы с удаленными постами - ошибок не было...

и тут зашел поисковый гугл-бот:
General Error 
» SQL ERROR [ mysql4 ]

Unknown column 'p1.post_deleted_time' in 'where clause' [1054]

SQL

SELECT COUNT(p.post_id) AS prev_posts
 FROM phpbb_posts p
 WHERE (p1.post_deleted_time = 0) AND p.topic_id = 164
 AND p.post_approved = 1 AND (p.post_time < 1238079984 OR (p.post_time = 1238079984 AND p.post_id <= 873))

BACKTRACE

FILE: [ROOT]/includes/db/mysql.php
LINE: 175
CALL: dbal->sql_error()

FILE: [ROOT]/viewtopic.php
LINE: 341
CALL: dbal_mysql->sql_query()

FomenkoAndrey
phpBB 2.0.19
 
Сообщения: 616
Зарегистрирован: 25.12.2009 1:27
Благодарил (а): 47 раз.
Поблагодарили: 26 раз.

Prime Trash Bin

Сообщение МайскийЖук » 05.01.2012 18:48

А мож вообще удалить (p1.post_deleted_time = 0) AND и оставить только p.topic_id = 164?
Любовь и боль, покой и бой я как любой несу с собой...
Аватара пользователя
МайскийЖук
phpBB 3.0.0 RC1
 
Сообщения: 996
Зарегистрирован: 28.09.2009 16:07
Благодарил (а): 12 раз.
Поблагодарили: 124 раз.
Предупреждения: 1

Re: Prime Trash Bin

Сообщение DK7 » 05.01.2012 19:14

МайскийЖук
так нельзя..
Аватара пользователя
DK7
Модератор
Модератор
 
Сообщения: 939
Зарегистрирован: 17.07.2006 15:52
Откуда: Кишинёв
Благодарил (а): 6 раз.
Поблагодарили: 11 раз.

Prime Trash Bin

Сообщение МайскийЖук » 05.01.2012 20:07

Ну, я тоже предполагаю, что так нельзя. Только почему? За что отвечает конкретно эта вставка?
Любовь и боль, покой и бой я как любой несу с собой...
Аватара пользователя
МайскийЖук
phpBB 3.0.0 RC1
 
Сообщения: 996
Зарегистрирован: 28.09.2009 16:07
Благодарил (а): 12 раз.
Поблагодарили: 124 раз.
Предупреждения: 1

Re: Prime Trash Bin

Сообщение FomenkoAndrey » 05.01.2012 20:58

МайскийЖук писал(а):p1.post_deleted_time = 0

похоже 0 означает, что сообщение НЕ удалено. в противном случае там хранится значение времени удаления в корзину.

FomenkoAndrey
phpBB 2.0.19
 
Сообщения: 616
Зарегистрирован: 25.12.2009 1:27
Благодарил (а): 47 раз.
Поблагодарили: 26 раз.

Re: Prime Trash Bin

Сообщение pisikot » 05.01.2012 23:49

Ставлю Prime Trash Bin (1.1.4) на форум 3.0.10

в инструкции написано Открыть: viewtopic.php Найти
		$sql = 'SELECT COUNT(p1.post_id) AS prev_posts
			FROM ' . POSTS_TABLE . ' p1, ' . POSTS_TABLE . " p2
			WHERE p1.topic_id = {$topic_data['topic_id']}
				AND p2.post_id = {$post_id}
				" . ((!$auth->acl_get('m_approve', $forum_id)) ? 'AND p1.post_approved = 1' : '') . '
				AND ' . (($sort_dir == 'd') ? 'p1.post_time >= p2.post_time' : 'p1.post_time <= p2.post_time');

Вставить
//-- mod: Prime Trash Bin (Posts) -------------------------------------------//
// Don't include posts that have been mock-deleted if user isn't supposed to see the placeholder
		include ($phpbb_root_path . 'includes/prime_trash_bin_a.' . $phpEx);
		if (stifle_posts_enabled() && !auth_fake_delete('list', $forum_id))
		{
			$sql = str_replace('WHERE ', 'WHERE (p1.post_deleted_time = 0) AND ', $sql);
		}
//-- end: Prime Trash Bin (Posts) -------------------------------------------//

Но там нету! Это в 3.0.9 так было...
Вопрос если я вставлю после вот этого кода
$sql = 'SELECT COUNT(p.post_id) AS prev_posts
			FROM ' . POSTS_TABLE . " p
			WHERE p.topic_id = {$topic_data['topic_id']}
				" . ((!$auth->acl_get('m_approve', $forum_id)) ? 'AND p.post_approved = 1' : '');

		if ($sort_dir == 'd')
		{
			$sql .= " AND (p.post_time > {$topic_data['post_time']} OR (p.post_time = {$topic_data['post_time']} AND p.post_id >= {$topic_data['post_id']}))";
		}
		else
		{
			$sql .= " AND (p.post_time < {$topic_data['post_time']} OR (p.post_time = {$topic_data['post_time']} AND p.post_id <= {$topic_data['post_id']}))";
		}


Это правильно будет??
Аватара пользователя
pisikot
phpBB 1.2.0
 
Сообщения: 16
Зарегистрирован: 18.10.2010 15:31
Откуда: tmn
Благодарил (а): 30 раз.
Поблагодарили: 0 раз.

Prime Trash Bin

Сообщение МайскийЖук » 05.01.2012 23:55

Да.
Любовь и боль, покой и бой я как любой несу с собой...
За это сообщение автора МайскийЖук поблагодарил:
pisikot (05.01.2012 23:58)
Аватара пользователя
МайскийЖук
phpBB 3.0.0 RC1
 
Сообщения: 996
Зарегистрирован: 28.09.2009 16:07
Благодарил (а): 12 раз.
Поблагодарили: 124 раз.
Предупреждения: 1

Re: Prime Trash Bin

Сообщение FomenkoAndrey » 05.01.2012 23:56

pisikot
найди похожее место в районе строк версии 3.0.9, вставь по инструкции (до/после).
если мод заработает - значит правильно.
нет - откатить сайт и, скорее всего ждать версию под 3.0.10 либо писать автору.
За это сообщение автора FomenkoAndrey поблагодарил:
pisikot (05.01.2012 23:58)

FomenkoAndrey
phpBB 2.0.19
 
Сообщения: 616
Зарегистрирован: 25.12.2009 1:27
Благодарил (а): 47 раз.
Поблагодарили: 26 раз.

Re: Prime Trash Bin

Сообщение FomenkoAndrey » 06.01.2012 4:32

методом научного тыка вычислил место в файле viewtopic.php, которые вызывает ошибки в моде корзины (все остальные изменения для 3.0.10 не влияют).

старый код для форума версии 3.0.9 (с этим кодом корзина работает без ошибок):
		$sql = 'SELECT COUNT(p1.post_id) AS prev_posts
			FROM ' . POSTS_TABLE . ' p1, ' . POSTS_TABLE . " p2
			WHERE p1.topic_id = {$topic_data['topic_id']}
				AND p2.post_id = {$post_id}
				" . ((!$auth->acl_get('m_approve', $forum_id)) ? 'AND p1.post_approved = 1' : '') . '
				AND ' . (($sort_dir == 'd') ? 'p1.post_time >= p2.post_time' : 'p1.post_time <= p2.post_time');


это же место в 3.0.10 (именно оно вызывает ошибки):
		$sql = 'SELECT COUNT(p.post_id) AS prev_posts
			FROM ' . POSTS_TABLE . " p
			WHERE p.topic_id = {$topic_data['topic_id']}
				" . ((!$auth->acl_get('m_approve', $forum_id)) ? 'AND p.post_approved = 1' : '');

		if ($sort_dir == 'd')
		{
			$sql .= " AND (p.post_time > {$topic_data['post_time']} OR (p.post_time = {$topic_data['post_time']} AND p.post_id >= {$topic_data['post_id']}))";
		}
		else
		{
			$sql .= " AND (p.post_time < {$topic_data['post_time']} OR (p.post_time = {$topic_data['post_time']} AND p.post_id <= {$topic_data['post_id']}))";
		}

FomenkoAndrey
phpBB 2.0.19
 
Сообщения: 616
Зарегистрирован: 25.12.2009 1:27
Благодарил (а): 47 раз.
Поблагодарили: 26 раз.

Re: Prime Trash Bin

Сообщение Пчелкин » 06.01.2012 5:04

Во как инсталлятор правку засунул..прям в внутрь корзиновского кода...
Вот почему второй день сижу и для основного форума готовлю обновление до 3.0.10 вручную...
Три попытки в автомате привели к бум-бум...ни на Денвере ни на Хосте...
Инсталлятор предлагал качать измененные файлы с вкраплениями - изменениями не там, где мне надо с моим количеством дополнительного кода в файлах..короче инсталлятор у меня застрелился... :lol:
Фанат phpBB. В HTML - без проблем, в CSS - так себе, учусь, в php - баран, помогает только дедукция
Аватара пользователя
Пчелкин
phpBB 3.0.7-PL1
 
Сообщения: 4891
Зарегистрирован: 15.01.2010 14:57
Откуда: От Москвы 9 часов на Боинге
Благодарил (а): 288 раз.
Поблагодарили: 552 раз.

Re: Prime Trash Bin

Сообщение FomenkoAndrey » 06.01.2012 10:23

Пчелкин писал(а):прям в внутрь корзиновского кода

вы не верно поняли написанное.
прикол в том, что код корзины не затрагивался инсталлятором, я проверял. можете в этом сами убедиться.
это место изменения самомго вьютопика, но оно действительно влияет на работу мода корзины.

как временное решение - можно заменить указанный мной код 3.0.10 на 3.0.9.
кроме того, автор мода корзины уже ответил, что фикс к новой версии форума не будет сложным, так что не все потеряно :)

FomenkoAndrey
phpBB 2.0.19
 
Сообщения: 616
Зарегистрирован: 25.12.2009 1:27
Благодарил (а): 47 раз.
Поблагодарили: 26 раз.

Re: Prime Trash Bin

Сообщение FomenkoAndrey » 07.01.2012 6:25

Итак, лекарство (не мое, рекомендация автора мода)... Обновляетесь до 3.0.10 по инструкции...
Попробуйте и отпишитесь:

Найти
//-- mod: Prime Trash Bin (Posts) -------------------------------------------//
// Don't include posts that have been mock-deleted if user isn't supposed to see the placeholder
		include ($phpbb_root_path . 'includes/prime_trash_bin_a.' . $phpEx);
		if (stifle_posts_enabled() && !auth_fake_delete('list', $forum_id))
		{
			$sql = str_replace('WHERE ', 'WHERE (p1.post_deleted_time = 0) AND ', $sql);
		}
//-- end: Prime Trash Bin (Posts) -------------------------------------------//

Заменить p1. на p.

Пока наблюдаю, но ошибок более замечено не было.

FomenkoAndrey
phpBB 2.0.19
 
Сообщения: 616
Зарегистрирован: 25.12.2009 1:27
Благодарил (а): 47 раз.
Поблагодарили: 26 раз.

Re: Prime Trash Bin

Сообщение Пчелкин » 07.01.2012 9:12

Еще это полезно от ошибок Ботовских...как-то где-то находил...
При установленном моде NV Newspage v1.0.5.1

includes/trim_message/bbcodes.php
find:

     $last_html_opening = $last_html_closing = $last_smiley = false;


replace with:

      $last_smiley = false;
      $last_html_opening = $last_html_closing = 0;
Последний раз редактировалось Пчелкин 09.01.2012 12:05, всего редактировалось 1 раз.
Фанат phpBB. В HTML - без проблем, в CSS - так себе, учусь, в php - баран, помогает только дедукция
Аватара пользователя
Пчелкин
phpBB 3.0.7-PL1
 
Сообщения: 4891
Зарегистрирован: 15.01.2010 14:57
Откуда: От Москвы 9 часов на Боинге
Благодарил (а): 288 раз.
Поблагодарили: 552 раз.

Re: Prime Trash Bin

Сообщение Лейтенант » 09.01.2012 10:10

Пчелкин писал(а):Еще это полезно от ошибок Ботовских...как-то где-то находил...

includes/trim_message/bbcodes.php


А это точный адрес? Что-то такой папки не вижу :(
Аватара пользователя
Лейтенант
phpBB 1.4.2
 
Сообщения: 59
Зарегистрирован: 20.07.2009 0:58
Благодарил (а): 2 раз.
Поблагодарили: 2 раз.

Пред.След.

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

 

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Кто сейчас на конференции

Сейчас этот форум просматривают: Magpie [Crawler] и гости: 0

Бессрочный конкурс phpBB-ориентированных материалов
FastVPS — надёжный и доступный хостинг для phpBB
Место для вашей рекламы