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

Сообщаем об ошибках phpBB 3.3.x разработчикам

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

Ваш вопрос может быть удален без объяснения причин, если на него есть ответы по приведённым ссылкам (а вы рискуете получить предупреждение ;) ).
Аватара пользователя
rxu
phpBB Guru
phpBB Guru
Сообщения: 16367
Стаж: 17 лет 11 месяцев
Откуда: Красноярск
Благодарил (а): 521 раз
Поблагодарили: 1744 раза

Сообщаем об ошибках phpBB 3.3.x разработчикам

Сообщение rxu »

Об ошибках, выявленных в работе phpBB 3.3 Proteus, сообщаем в этой теме.
Ошибками является некорректная работа ядра phpBB, подтвержденная на последней актуальной версии phpBB, требующая устранения в коде ядра, и не связанная с работой расширений, сторонних стилей оформления, неверной работой серверного оборудования или серверного софта, а также с некорректными действиями администратора.
Запросы поддержки также не размещаются в данной теме.
Изображение
Аватара пользователя
Siava
Поддержка
Поддержка
Сообщения: 5283
Стаж: 19 лет 3 месяца
Откуда: Питер
Благодарил (а): 186 раз
Поблагодарили: 793 раза

Re: Сообщаем об ошибках phpBB 3.3.x разработчикам

Сообщение Siava »

Не уверен, что это ошибки движка 3.3.4 при работе с PHP 8.0..., но при срабатывании системного cron в одном из расширений (отправка поздравлений) появляется ворох таких предупреждений:

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

PHP Warning:  Undefined array key "user_form_salt" in ./includes/functions.php on line 1963
PHP Warning:  Undefined array key "page_dir" in ./phpbb/notification/type/base.php on line 283
PHP Warning:  Undefined array key "page_name" in ./phpbb/notification/type/base.php on line 283
PHP Warning:  Undefined array key "query_string" in ./phpbb/notification/type/base.php on line 283
PHP Warning:  Undefined array key "page_dir" in ./phpbb/notification/type/base.php on line 283
PHP Warning:  Undefined array key "page_name" in ./phpbb/notification/type/base.php on line 283
PHP Warning:  Undefined array key "query_string" in ./phpbb/notification/type/base.php on line 283
PHP Warning:  Undefined array key "page_dir" in ./phpbb/notification/type/base.php on line 283
PHP Warning:  Undefined array key "page_name" in ./phpbb/notification/type/base.php on line 283
PHP Warning:  Undefined array key "query_string" in ./phpbb/notification/type/base.php on line 283
PHP Warning:  Undefined array key "page_dir" in ./phpbb/notification/type/base.php on line 283
PHP Warning:  Undefined array key "page_name" in ./phpbb/notification/type/base.php on line 283
PHP Warning:  Undefined array key "query_string" in ./phpbb/notification/type/base.php on line 283
PHP Warning:  Undefined array key "page_dir" in ./phpbb/notification/type/base.php on line 283
PHP Warning:  Undefined array key "page_name" in ./phpbb/notification/type/base.php on line 283
PHP Warning:  Undefined array key "query_string" in ./phpbb/notification/type/base.php on line 283
PHP Warning:  Undefined array key "style_path" in ./includes/functions.php on line 3690
PHP Warning:  Undefined array key "style_path" in ./includes/functions.php on line 3690
PHP Warning:  Undefined array key "page_dir" in ./phpbb/notification/type/base.php on line 283
PHP Warning:  Undefined array key "page_name" in ./phpbb/notification/type/base.php on line 283
PHP Warning:  Undefined array key "query_string" in ./phpbb/notification/type/base.php on line 283
PHP Warning:  Undefined array key "page_dir" in ./phpbb/notification/type/base.php on line 283
PHP Warning:  Undefined array key "page_name" in ./phpbb/notification/type/base.php on line 283
PHP Warning:  Undefined array key "query_string" in ./phpbb/notification/type/base.php on line 283
PHP Warning:  Undefined array key "style_path" in ./includes/functions.php on line 3690
PHP Warning:  Undefined array key "style_path" in ./includes/functions.php on line 3690
PHP Warning:  Undefined array key "page_dir" in ./phpbb/notification/type/base.php on line 283
PHP Warning:  Undefined array key "page_name" in ./phpbb/notification/type/base.php on line 283
PHP Warning:  Undefined array key "query_string" in ./phpbb/notification/type/base.php on line 283
PHP Warning:  Undefined array key "style_path" in ./includes/functions.php on line 3690
PHP Warning:  Undefined array key "style_path" in ./includes/functions.php on line 3690
PHP Warning:  Undefined array key "page_dir" in ./phpbb/notification/type/base.php on line 283
PHP Warning:  Undefined array key "page_name" in ./phpbb/notification/type/base.php on line 283
PHP Warning:  Undefined array key "query_string" in ./phpbb/notification/type/base.php on line 283
PHP Warning:  Undefined array key "style_path" in ./includes/functions.php on line 3690
PHP Warning:  Undefined array key "style_path" in ./includes/functions.php on line 3690
Еще одно нарушение правил и будете забанены. © Mr. Anderson
Ты очистил кеш? © Sheer
https://siava.ru (phpbb 2.0.x 3.5.x)
Аватара пользователя
rxu
phpBB Guru
phpBB Guru
Сообщения: 16367
Стаж: 17 лет 11 месяцев
Откуда: Красноярск
Благодарил (а): 521 раз
Поблагодарили: 1744 раза

Re: Сообщаем об ошибках phpBB 3.3.x разработчикам

Сообщение rxu »

А код расширения и самого крона есть?
Изображение
Аватара пользователя
Siava
Поддержка
Поддержка
Сообщения: 5283
Стаж: 19 лет 3 месяца
Откуда: Питер
Благодарил (а): 186 раз
Поблагодарили: 793 раза

Re: Сообщаем об ошибках phpBB 3.3.x разработчикам

Сообщение Siava »

rxu, вот это расширение. Оно кривое немного было, но в целом рабочее.

Конкретно код его крона:
(также ругался в 103 строчке на пустой session_ip, но я его там пофиксил)

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

<?php
/**
*
* @package E-mail on birthday
* @copyright (c) 2015 ForumHulp.com
* @license http://opensource.org/licenses/gpl-2.0.php GNU General Public License v2
*
*/

namespace forumhulp\emailonbirthday\cron\task\core;

use phpbb\config\config;
use phpbb\user;
use phpbb\db\driver\driver_interface;
use phpbb\log\log;
use forumhulp\emailonbirthday\lang_manager\lang_manager;
use phpbb\notification\manager;

/**
* @ignore
*/

class birthday extends \phpbb\cron\task\base
{
	protected $config;
	protected $user;
	protected $db;
	protected $log;
	protected $lang_manager;
	protected $notification_manager;

	/**
	* Constructor.
	*/
	public function __construct(config $config, user $user, driver_interface $db, log $log, lang_manager $lang_manager, manager $notification_manager)
	{
		$this->config			= $config;
		$this->user				= $user;
		$this->db				= $db;
		$this->log				= $log;
		$this->lang_manager		= $lang_manager;
		$this->noti_manager		= $notification_manager;
	}

	/**
	* Runs this cron task.
	*
	* @return null
	*/
	public function run()
	{
		$time = $this->user->create_datetime();
		$now = phpbb_gmgetdate($time->getTimestamp() + $time->getOffset());

		// Display birthdays of 29th february on 28th february in non-leap-years
		$leap_year_birthdays = '';
		if ($now['mday'] == 28 && $now['mon'] == 2 && !$time->format('L'))
		{
			$leap_year_birthdays = ' OR user_birthday LIKE "' . $this->db->sql_escape(sprintf("%2d-%2d-", 29, 2)) . '%"';
		}

		$sql = 'SELECT user_id, username, user_email, user_lang, 
				YEAR(CURRENT_TIMESTAMP) - YEAR(str_to_date(user_birthday, "%d-%m-%Y")) AS age
				FROM ' . USERS_TABLE . ' 
				WHERE user_birthday <> " 0- 0-   0" AND user_birthday <> "" AND 
				(user_birthday LIKE "' . $this->db->sql_escape(sprintf("%2d-%2d-", $now["mday"], $now["mon"])) . '%"' . $leap_year_birthdays . ') AND 
				email_on_birthday + 86400 < UNIX_TIMESTAMP(now())
				AND user_posts > 1
				AND user_id NOT IN(SELECT ban_userid FROM ' . BANLIST_TABLE . ')'; // Siava add 2 strings
		$result = $this->db->sql_query($sql);
		$msg_list = array();
		while ($row = $this->db->sql_fetchrow($result))
		{
			$msg_list[] = array(
				'user_id'	=> $row['user_id'],
				'name'		=> $row['username'],
				'email' 	=> $row['user_email'],
				'lang'		=> $row['user_lang'],
				'age'		=> $this->lang_manager->numbertext($row['age'], $row['user_lang']),
				'time'		=> time()
			);
		}

		if (sizeof($msg_list))
		{
			foreach ($msg_list as $key => $value)
			{
				$this->noti_manager->add_notifications('forumhulp.emailonbirthday.notification.type.birthday', array(
					  'user_id'		=> $value['user_id'],
					  'age'			=> $value['age'],
					  'name'		=> $value['name'],
					  'user_email'	=> $value['email']
				));

				$sql = 'UPDATE ' . USERS_TABLE . ' SET email_on_birthday = ' . time() . ' WHERE user_id = ' . $value['user_id'];
				$this->db->sql_query($sql);
			}
			$userlist = array_map(function ($entry)
			{
				return $entry['name'];
			}, $msg_list);

			$this->log->add('admin', $this->user->data['user_id'], $this->user->data['session_ip'] ?? '', 'BIRTHDAYSEND', false, array(implode(', ', $userlist)));
		}
		$this->config->set('emailonbirthday_last_gc', time());
	}

	/**
	* Returns whether this cron task can run, given current board configuration.
	*
	* @return bool
	*/
	public function is_runnable()
	{
		return $this->config['email_on_birthday'];
	}

	/**
	* Returns whether this cron task should run now, because enough time
	* has passed since it was last run.
	*
	* @return bool
	*/
	public function should_run()
	{
		return $this->config['emailonbirthday_last_gc'] < (time() - $this->config['emailonbirthday_gc']);
	}
}
Еще одно нарушение правил и будете забанены. © Mr. Anderson
Ты очистил кеш? © Sheer
https://siava.ru (phpbb 2.0.x 3.5.x)
Аватара пользователя
rxu
phpBB Guru
phpBB Guru
Сообщения: 16367
Стаж: 17 лет 11 месяцев
Откуда: Красноярск
Благодарил (а): 521 раз
Поблагодарили: 1744 раза

Re: Сообщаем об ошибках phpBB 3.3.x разработчикам

Сообщение rxu »

Siava, все говорит за то, что при вызове менеджера уведомлений из крона объект $user либо не определен, либо не заполнен как положено (уже или еще). так что это проблема данного конкретного экста. Думаю, что если посмотреть внимательнее на его работу под PHP 7, то обнаружится, что ссылка редиректа с уведомления кривая, например, хотя ошибка и не выпадает.
Изображение
Аватара пользователя
Siava
Поддержка
Поддержка
Сообщения: 5283
Стаж: 19 лет 3 месяца
Откуда: Питер
Благодарил (а): 186 раз
Поблагодарили: 793 раза

Re: Сообщаем об ошибках phpBB 3.3.x разработчикам

Сообщение Siava »

rxu писал(а): 04.12.2021 13:35 при вызове менеджера уведомлений из крона объект $user либо не определен, либо не заполнен как положено
Подобное происходит при использовании системного крона и в ряде других расширений:
[beta] Connection Log
[3.1][3.2] Stop Spamer Register
То есть cron работает от гостя и без IP адреса
Изображение
Еще одно нарушение правил и будете забанены. © Mr. Anderson
Ты очистил кеш? © Sheer
https://siava.ru (phpbb 2.0.x 3.5.x)
Аватара пользователя
rxu
phpBB Guru
phpBB Guru
Сообщения: 16367
Стаж: 17 лет 11 месяцев
Откуда: Красноярск
Благодарил (а): 521 раз
Поблагодарили: 1744 раза

Re: Сообщаем об ошибках phpBB 3.3.x разработчикам

Сообщение rxu »

Тогда нужно проверять объект на наличие данных и при их отсутствии присваивать им какие-то значения по умолчанию, например, как это делается в ядре https://github.com/phpbb/phpbb/blob/3.3 ... s.php#L192
Хотя, не факт, что так сработает получается, что эти значения должны меняться глобально.
Либо просто проверять и отправлять уведомление только тогда, когда юзер залогинен.
Изображение
Аватара пользователя
Siava
Поддержка
Поддержка
Сообщения: 5283
Стаж: 19 лет 3 месяца
Откуда: Питер
Благодарил (а): 186 раз
Поблагодарили: 793 раза

Re: Сообщаем об ошибках phpBB 3.3.x разработчикам

Сообщение Siava »

phpbb 3.3.4 (тестил на чистом)

Меняю настройки доп. поля "Интересы" на следующее:
Scr-4327.png
Но всё равно не даёт использовать следующие разрешённые символы: _,-.
P.S>
цифры тоже не даёт.
Scr-4328.png
P.S.
"Любые буквенные символы, цифры и точки" тоже работает криво.
С латинскими аналогично.
У вас нет необходимых прав для просмотра вложений в этом сообщении.
Еще одно нарушение правил и будете забанены. © Mr. Anderson
Ты очистил кеш? © Sheer
https://siava.ru (phpbb 2.0.x 3.5.x)
Аватара пользователя
ronim
Модератор
Модератор
Сообщения: 914
Стаж: 6 лет 3 месяца
Откуда: Таллин ,Эстония
Благодарил (а): 167 раз
Поблагодарили: 160 раз

Re: Сообщаем об ошибках phpBB 3.3.x разработчикам

Сообщение ronim »

Siava
Siava писал(а): 05.12.2021 22:17 phpbb 3.3.4 (тестил на чистом)
а почему не на 3.3.5 :oops:
Если ты не видишь проблем на форуме , но это не значить что их там нет
Аватара пользователя
Siava
Поддержка
Поддержка
Сообщения: 5283
Стаж: 19 лет 3 месяца
Откуда: Питер
Благодарил (а): 186 раз
Поблагодарили: 793 раза

Re: Сообщаем об ошибках phpBB 3.3.x разработчикам

Сообщение Siava »

ronim, мне кажется, что эта бага и в 3.3.5 присутствует :)
Еще одно нарушение правил и будете забанены. © Mr. Anderson
Ты очистил кеш? © Sheer
https://siava.ru (phpbb 2.0.x 3.5.x)
Аватара пользователя
ronim
Модератор
Модератор
Сообщения: 914
Стаж: 6 лет 3 месяца
Откуда: Таллин ,Эстония
Благодарил (а): 167 раз
Поблагодарили: 160 раз

Re: Сообщаем об ошибках phpBB 3.3.x разработчикам

Сообщение ronim »

Siava, Вот в том и и проблема что вам кажется.Вы же не знаете результат :oops:
тут не в обиду сказано . но нужно подтверждение
Последний раз редактировалось ronim 06.12.2021 0:37, всего редактировалось 1 раз.
Если ты не видишь проблем на форуме , но это не значить что их там нет
Аватара пользователя
Siava
Поддержка
Поддержка
Сообщения: 5283
Стаж: 19 лет 3 месяца
Откуда: Питер
Благодарил (а): 186 раз
Поблагодарили: 793 раза

Re: Сообщаем об ошибках phpBB 3.3.x разработчикам

Сообщение Siava »

ronim, да нормально всё) сам понимаю, что надо на последней версии проверять всегда. Днём напишу)

P.S.
В 3.3.5 аналогично.
Еще одно нарушение правил и будете забанены. © Mr. Anderson
Ты очистил кеш? © Sheer
https://siava.ru (phpbb 2.0.x 3.5.x)
Аватара пользователя
Siava
Поддержка
Поддержка
Сообщения: 5283
Стаж: 19 лет 3 месяца
Откуда: Питер
Благодарил (а): 186 раз
Поблагодарили: 793 раза

Re: Сообщаем об ошибках phpBB 3.3.x разработчикам

Сообщение Siava »

Ещё кое-что вспомнил.. тоже тянется из версии в версию.
При использовании sphinx поисковые запросы типа:
19"
19"19
"19
выдают ошибку вида:

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

Ошибка поиска: index index_phpbb_1462a65519054b7e_delta,index_phpbb_1462a65519054b7e_main: syntax error, unexpected $end near ''
"19" - ищет нормально.

У себя пока сделал такой костыль, так как лучше не придумал:
phpbb/search/fulltext_sphinx.php
найти

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

$this->search_query = str_replace('"', '&quot;', $keywords);
заменить

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

$this->search_query = str_replace('"', '\&quot;', $keywords);
Еще одно нарушение правил и будете забанены. © Mr. Anderson
Ты очистил кеш? © Sheer
https://siava.ru (phpbb 2.0.x 3.5.x)
Аватара пользователя
rxu
phpBB Guru
phpBB Guru
Сообщения: 16367
Стаж: 17 лет 11 месяцев
Откуда: Красноярск
Благодарил (а): 521 раз
Поблагодарили: 1744 раза

Re: Сообщаем об ошибках phpBB 3.3.x разработчикам

Сообщение rxu »

Siava писал(а): 05.12.2021 22:17 Но всё равно не даёт использовать следующие разрешённые символы: _,-.
Дает, если прочитать внимательно описание, то пробела в списке разрешенных нет, в других правилах есть пробел, но нет знаков пунктуации, поэтому Тест 12345... ни под одно правило не подходит, кроме самого первого.
Изображение
Аватара пользователя
Siava
Поддержка
Поддержка
Сообщения: 5283
Стаж: 19 лет 3 месяца
Откуда: Питер
Благодарил (а): 186 раз
Поблагодарили: 793 раза

Re: Сообщаем об ошибках phpBB 3.3.x разработчикам

Сообщение Siava »

rxu писал(а): 11.12.2021 18:21 кроме самого первого
Спасибо, невнимательно прочитал :)

Всё равно неудобно. Спамеры используют доп.поля профиля для ссылок, так как по-умолчанию в них разрешены любые символы.
Пытаюсь ограничить, но из всех вариантов реально рабочие только "Любые" и "Любые буквенные символы, цифры и разделители", так как в остальных вариантах даже простой пробел нельзя написать.
А оставшееся "Любые буквенные символы, цифры и разделители" даже не позволяет запятую добавить. Вот например, как ещё заполнить поле Интересы, перечислить их..? Разве что использовать разделители типа пробела, квадратных скобок, плюса и минуса, да знак подчёркивания.. :dontknow
Еще одно нарушение правил и будете забанены. © Mr. Anderson
Ты очистил кеш? © Sheer
https://siava.ru (phpbb 2.0.x 3.5.x)
Bydlocoder
phpBB 1.4.0
Сообщения: 35
Стаж: 4 года 3 месяца
Благодарил (а): 2 раза
Поблагодарили: 4 раза

Re: Сообщаем об ошибках phpBB 3.3.x разработчикам

Сообщение Bydlocoder »

Объединение тем сломалось? При нажатии на ссылку выбора темы, в которую надо перенести сообщения - редиректит на главную страницу модераторского раздела.

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