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

[Отделено][dev] Thanks for posts

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

Правила форума
Местная Конституция | Шаблон запроса | Документация (phpBB3) | Мини [FAQ] по phpBB 3.1.x/3.2.x | FAQ | Как задавать вопросы | Как устанавливать расширения

Ваш вопрос может быть удален без объяснения причин, если на него есть ответы по приведённым ссылкам (а вы рискуете получить предупреждение ;) ).
Аватара пользователя
LavIgor
Former team member
Сообщения: 3468
Стаж: 9 лет 11 месяцев
Благодарил (а): 41 раз
Поблагодарили: 830 раз

Re: [dev] Thanks for posts

Сообщение LavIgor »

LavIgor писал(а): Хм... никаких изменений в ядре в отношении этого свойства не заметил.
Нашёл.
https://github.com/phpbb/phpbb/commit/b ... 65b8f2071a

Удалили $notifications_table, оставили $user_notifications_table.
Т.е. отделили внутрифорумные уведомления от уведомлений в целом.

Нужно думать, какую из двух таблиц всё же нужно использовать в данном случае.

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

Отправлено спустя 1 минуту 28 секунд:
Raisin, исправленный вариант: в тех строчках замените FROM ' . $this->notifications_table . ' на FROM ' . NOTIFICATIONS_TABLE . '.
Аватара пользователя
Slash
phpBB 2.0.10
Сообщения: 794
Стаж: 13 лет 2 месяца
Благодарил (а): 62 раза
Поблагодарили: 22 раза

Re: [dev] Thanks for posts

Сообщение Slash »

Блин... Сейчас та все поля существуют, но ошибка все ровно есть:

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

You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'WHERE notification_type_id = 10 AND item_id = 2' at line 3 [1064]

SQL

UPDATE phpbb_notifications SET WHERE notification_type_id = 10 AND item_id = 2

BACKTRACE
Отправлено спустя 1 минуту 31 секунду:
Только сейчас заметил, что в сообщении ошибке запрос сменился с SELECT на UPDATE. Что то вообще сверх естественное...
Аватара пользователя
LavIgor
Former team member
Сообщения: 3468
Стаж: 9 лет 11 месяцев
Благодарил (а): 41 раз
Поблагодарили: 830 раз

Re: [dev] Thanks for posts

Сообщение LavIgor »

BACKTRACE можно?

Отправлено спустя 2 минуты 35 секунд:
Сейчас тогда себе поставлю на 3.2.

Отправлено спустя 2 минуты 58 секунд:
У меня пока что и вовсе не ставится.
Потому что SQLite.

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

General Error

SQL ERROR [ sqlite3 ]

near "t": syntax error [1]

SQL

UPDATE phpbb_thanks t LEFT JOIN phpbb_posts p ON t.post_id = p.post_id SET t.forum_id = p.forum_id, t.topic_id = p.topic_id WHERE t.post_id = p.post_id
Пытаюсь исправить ситуацию.
Аватара пользователя
rxu
phpBB Guru
phpBB Guru
Сообщения: 16359
Стаж: 17 лет 11 месяцев
Откуда: Красноярск
Благодарил (а): 521 раз
Поблагодарили: 1742 раза

Re: [dev] Thanks for posts

Сообщение rxu »

По ходу пьесы, уведомление для совместимости с 3.2 придется переписывать чуть более, чем полностью.

Отправлено спустя 6 минут 40 секунд:
Хотя, похоже есть другой способ.
Изображение
Аватара пользователя
Slash
phpBB 2.0.10
Сообщения: 794
Стаж: 13 лет 2 месяца
Благодарил (а): 62 раза
Поблагодарили: 22 раза

Re: [dev] Thanks for posts

Сообщение Slash »

rxu писал(а): Хотя, похоже есть другой способ.
Что за способ?
Аватара пользователя
LavIgor
Former team member
Сообщения: 3468
Стаж: 9 лет 11 месяцев
Благодарил (а): 41 раз
Поблагодарили: 830 раз

Re: [dev] Thanks for posts

Сообщение LavIgor »

Установилось только с такой правкой:

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

	public function update_thanks_table()
	{
		$thanks_table = $this->table_prefix . 'thanks';

		$sql = 'UPDATE '.$thanks_table.'
			SET forum_id = (
			SELECT p.forum_id FROM '.POSTS_TABLE.' p
			WHERE '.$thanks_table.'.post_id = p.post_id
			), topic_id = (
			SELECT p.topic_id FROM '.POSTS_TABLE.' p
			WHERE '.$thanks_table.'.post_id = p.post_id
			)';
		$this->db->sql_query($sql);
	}
Да, не так много возможностей у SQLite.

Отправлено спустя 4 минуты 39 секунд:
Хм... у меня без всяких правок работает.
Спасибка и ставится, и снимается.
phpBB 3.2.0-a3-dev.
Аватара пользователя
rxu
phpBB Guru
phpBB Guru
Сообщения: 16359
Стаж: 17 лет 11 месяцев
Откуда: Красноярск
Благодарил (а): 521 раз
Поблагодарили: 1742 раза

Re: [dev] Thanks for posts

Сообщение rxu »

Raisin писал(а): Что за способ?
Попробуйте перекачать архив заново и обновить расширение.
Изображение
Аватара пользователя
LavIgor
Former team member
Сообщения: 3468
Стаж: 9 лет 11 месяцев
Благодарил (а): 41 раз
Поблагодарили: 830 раз

Re: [dev] Thanks for posts

Сообщение LavIgor »

Видимо, помог этот фикс.
Аватара пользователя
rxu
phpBB Guru
phpBB Guru
Сообщения: 16359
Стаж: 17 лет 11 месяцев
Откуда: Красноярск
Благодарил (а): 521 раз
Поблагодарили: 1742 раза

Re: [dev] Thanks for posts

Сообщение rxu »

LavIgor писал(а): Спасибка и ставится, и снимается.
Вопрос в том, что будет, если второй пользователь скажет спасибо.
Изображение
Аватара пользователя
LavIgor
Former team member
Сообщения: 3468
Стаж: 9 лет 11 месяцев
Благодарил (а): 41 раз
Поблагодарили: 830 раз

Re: [dev] Thanks for posts

Сообщение LavIgor »

rxu, да, сейчас уже не работает.
Обновил архив.

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

General Error

SQL ERROR [ sqlite3 ]

near "WHERE": syntax error [1]
Аватара пользователя
rxu
phpBB Guru
phpBB Guru
Сообщения: 16359
Стаж: 17 лет 11 месяцев
Откуда: Красноярск
Благодарил (а): 521 раз
Поблагодарили: 1742 раза

Re: [dev] Thanks for posts

Сообщение rxu »

А весь запрос как выглядит?

Отправлено спустя 32 секунды:
Надо стандартным способом обновляться, есть изменение в сервисах. Или чистить кэш.
Изображение
Аватара пользователя
Slash
phpBB 2.0.10
Сообщения: 794
Стаж: 13 лет 2 месяца
Благодарил (а): 62 раза
Поблагодарили: 22 раза

Re: [dev] Thanks for posts

Сообщение Slash »

Перезалил полностью расширение. Тестирую от админа все нормально, затем от пользователя (id ) получаю ошибку, а потом и от админа получил ошибку:

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

SQL ERROR [ mysql4 ]

You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'WHERE notification_type_id = 11 AND item_id = 2' at line 3 [1064]

SQL

UPDATE phpbb_notifications SET WHERE notification_type_id = 11 AND item_id = 2
Обновляю страницу, сообщение:
Некорректные параметры запрошенного действия
Аватара пользователя
LavIgor
Former team member
Сообщения: 3468
Стаж: 9 лет 11 месяцев
Благодарил (а): 41 раз
Поблагодарили: 830 раз

Re: [dev] Thanks for posts

Сообщение LavIgor »

Он не показан.
Сделал var_dump().

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

string 'SELECT notification_data
			FROM phpbb_notifications
			WHERE notification_type_id = 19
				AND item_id = 2' (length=107)
Возможно, снова косяки SQLite, но на вид запрос корректный.
rxu писал(а): Надо стандартным способом обновляться
Обновлять расширение? Движок ставил с нуля.
rxu писал(а): Или чистить кэш.
Чистил и проверял.
Аватара пользователя
Slash
phpBB 2.0.10
Сообщения: 794
Стаж: 13 лет 2 месяца
Благодарил (а): 62 раза
Поблагодарили: 22 раза

Re: [dev] Thanks for posts

Сообщение Slash »

LavIgor писал(а): Чистил и проверял.
Я тоже...
Аватара пользователя
LavIgor
Former team member
Сообщения: 3468
Стаж: 9 лет 11 месяцев
Благодарил (а): 41 раз
Поблагодарили: 830 раз

Re: [dev] Thanks for posts

Сообщение LavIgor »

Похоже, что этот WHERE где-то в другом месте не работает.
Но никакого BACKTRACE нет.

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