Уважаемые пользователи!
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.1.1 и php (код сапы)

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

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

Re: phpBB 3.1.1 и php (код сапы)

Сообщение rxu »

Sheer писал(а):значит еще есть ограничение на длину имени, надо проверить.
Есть такие. Не менее 2-х символов и в имени вендора, и в имени проекта.
Изображение
Thanx
phpBB 2.0.2
Сообщения: 334
Стаж: 18 лет 3 месяца
Благодарил (а): 16 раз
Контактная информация:

Re: phpBB 3.1.1 и php (код сапы)

Сообщение Thanx »

Ну вот! Я уже тестером утроился на проект phpBB! :)

Добавлено спустя 40 минут 13 секунд:
Мда, всё-равно мне не понятно, как и в каком месте в листенере мне прописывать блок сапы.

Даже вот что не понятно:
если в листенере мы подключаем вот так:
'core.user_setup' => 'load_language_on_setup',

то что писать тут:
'core.index_modify_page_title' => ????????????

Тут уровень настолько сложный, как примерно выучить что-то новое, типо Ext-JS. И контроллёры, и всякая другая штуковина. Только для программиста, - однозначно. Любитель может и не соваться.

Добавлено спустя 11 минут 28 секунд:
Разобрался,

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

class listener implements EventSubscriberInterface
{
	/**
	* Assign functions defined in this class to event listeners in the core
	*
	* @return array
	* @static
	* @access public
	*/
	static public function getSubscribedEvents()
	{
		return array(
			'core.index_modify_page_title' => 'sCode',
		);
	}

	public function sCode($event)
	{
		if (!defined('_SAPE_USER')){
		 define('_SAPE_USER', '***********'); 
		}
		require_once($_SERVER['DOCUMENT_ROOT'].'/'._SAPE_USER.'/sape.php');
		$o['multi_site'] = true;
		$o['host'] = '*********.ru';
		$o['charset'] = 'utf-8';
		/*$sape = new SAPE_client($o);*/
		/*unset($o);*/
		/* $template->assign_var('SAPE_LINKS', $sape->return_links()); */
	}
}
Но, вот если я только хочу раскомментировать строчку
/*$sape = new SAPE_client($o);*/
то сразу же вместо форума - белый экран. Что мне делать?
Аватара пользователя
Татьяна5
Поддержка
Поддержка
Сообщения: 12372
Стаж: 12 лет 7 месяцев
Благодарил (а): 223 раза
Поблагодарили: 3517 раз
Контактная информация:

Re: phpBB 3.1.1 и php (код сапы)

Сообщение Татьяна5 »

Thanx писал(а):$_SERVER['DOCUMENT_ROOT']
Уже несколько раз писали, что $_SERVER использовать нельзя
Thanx писал(а):Что мне делать?
Включить дебаг и посмотреть что он напишет
Thanx
phpBB 2.0.2
Сообщения: 334
Стаж: 18 лет 3 месяца
Благодарил (а): 16 раз
Контактная информация:

Re: phpBB 3.1.1 и php (код сапы)

Сообщение Thanx »

Включил дебаг:

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

@define('DEBUG', true);
@define('DEBUG_EXTRA', true);
Но по-прежнему, если раскомментировать
/*$sape = new SAPE_client($o);*/
то сразу же вместо форума - белый экран.

И это точно не $_SERVER['DOCUMENT_ROOT'] тут замешан, т.к. у меня на данный момент:
core.disable_super_globals: false
Аватара пользователя
Татьяна5
Поддержка
Поддержка
Сообщения: 12372
Стаж: 12 лет 7 месяцев
Благодарил (а): 223 раза
Поблагодарили: 3517 раз
Контактная информация:

Re: phpBB 3.1.1 и php (код сапы)

Сообщение Татьяна5 »

Thanx писал(а):белый экран
Что пишет на этом белом экране?
Кеш физически чистили после раскомментирования строки?
Thanx писал(а):core.disable_super_globals: false
Включайте обратно. Возможно, что из-за этого не виден текст ошибки (других причин отсутствия текста, по крайней мере, не вижу)
Thanx
phpBB 2.0.2
Сообщения: 334
Стаж: 18 лет 3 месяца
Благодарил (а): 16 раз
Контактная информация:

Re: phpBB 3.1.1 и php (код сапы)

Сообщение Thanx »

Кеш не мог почистить, т.к. админка тоже была недоступна - белый лист.
Включить обратно пока не могу, т.к. уже использую $_SERVER в php вставке в хедере, которая оформлена по-старинке, а не как должно через собственное расширение.
Видимо, сначала мне нужно эту вставку в хедере оформить через расширение, как положено, и тогда потом установлю true у core.disable_super_globals: false.
shvager
phpBB 1.4.4
Сообщения: 159
Стаж: 15 лет 11 месяцев
Благодарил (а): 104 раза
Поблагодарили: 8 раз

Re: phpBB 3.1.1 и php (код сапы)

Сообщение shvager »

Thanx писал(а):Кеш не мог почистить
Физически:)
Татьяна5 писал(а):Кеш физически чистили
Аватара пользователя
Татьяна5
Поддержка
Поддержка
Сообщения: 12372
Стаж: 12 лет 7 месяцев
Благодарил (а): 223 раза
Поблагодарили: 3517 раз
Контактная информация:

Re: phpBB 3.1.1 и php (код сапы)

Сообщение Татьяна5 »

Thanx писал(а): т.к. уже использую $_SERVER в php вставке в хедере
Убирайте. Без текста ошибок понять проблему невозможно.
Thanx
phpBB 2.0.2
Сообщения: 334
Стаж: 18 лет 3 месяца
Благодарил (а): 16 раз
Контактная информация:

Re: phpBB 3.1.1 и php (код сапы)

Сообщение Thanx »

Вернул
core.disable_super_globals: true

Поставил дебаг.

Раскомментировал строку
/*$sape = new SAPE_client($o);*/

И опять как форум, так и админка тоже - белые листы.

Кеш физически почистил на сервере. Как были белые листы, так и остались. Даже на $_SERVER (который вроде как есть в файле sape.php) не ругнулось.

Добавлено спустя 8 минут 58 секунд:
sape.rar
(10.76 КБ) 230 скачиваний
Аватара пользователя
Татьяна5
Поддержка
Поддержка
Сообщения: 12372
Стаж: 12 лет 7 месяцев
Благодарил (а): 223 раза
Поблагодарили: 3517 раз
Контактная информация:

Re: phpBB 3.1.1 и php (код сапы)

Сообщение Татьяна5 »

Прикрепите тогда и все файлы расширения (чтобы не собирать их по теме)
Thanx
phpBB 2.0.2
Сообщения: 334
Стаж: 18 лет 3 месяца
Благодарил (а): 16 раз
Контактная информация:

Re: phpBB 3.1.1 и php (код сапы)

Сообщение Thanx »

mytest.rar
(1.49 КБ) 225 скачиваний
Аватара пользователя
Татьяна5
Поддержка
Поддержка
Сообщения: 12372
Стаж: 12 лет 7 месяцев
Благодарил (а): 223 раза
Поблагодарили: 3517 раз
Контактная информация:

Re: phpBB 3.1.1 и php (код сапы)

Сообщение Татьяна5 »

У меня ошибка видна

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

Fatal error: Class 'fofo\mytest\event\SAPE_client' not found in Z:\home\test.zz\www\ext\fofo\mytest\event\listener.php on line 42
Надо SAPE_client заменить на \SAPE_client

Добавлено спустя 3 минуты 40 секунд:
И сразу поехали дальше. Строка

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

$template->assign_var('SAPE_LINKS', $sape->return_links());
выдаст ошибку, т.к. $template нигде не задано. Надо использовать вместо этого $this->template, и задать её в config/services.yml и в методе __construct в listener.php (подробней - в статье Создание страниц в стиле конференции)
Thanx
phpBB 2.0.2
Сообщения: 334
Стаж: 18 лет 3 месяца
Благодарил (а): 16 раз
Контактная информация:

Re: phpBB 3.1.1 и php (код сапы)

Сообщение Thanx »

А как это?
Заменить

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

$sape = new SAPE_client($o);
на

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

$sape = new \SAPE_client($o);
?

Я не очень понял. :)

Добавлено спустя 1 минуту 55 секунд:
И ещё. Даже если всё будет проделано правильно, ведь сам файл sape.php напичкан глобальными переменными $_SERVER - ведь полезут же ошибки из этого файла.
Аватара пользователя
Татьяна5
Поддержка
Поддержка
Сообщения: 12372
Стаж: 12 лет 7 месяцев
Благодарил (а): 223 раза
Поблагодарили: 3517 раз
Контактная информация:

Re: phpBB 3.1.1 и php (код сапы)

Сообщение Татьяна5 »

Thanx писал(а):А как это?
Именно так
Thanx писал(а):ведь полезут же ошибки из этого файла
Ещё как полезут. Только править sape.php, про это тут уже говорилось
Thanx
phpBB 2.0.2
Сообщения: 334
Стаж: 18 лет 3 месяца
Благодарил (а): 16 раз
Контактная информация:

Re: phpBB 3.1.1 и php (код сапы)

Сообщение Thanx »

Да, теперь, когда со слешем, - всё в порядке, никаких белых листов.

И вопрос. А контроллер нам понадобится?

И немного не понятно по
$this->template

нам в config/services.yml
нужно заменить строчку

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

class: fofo\mytest\event\listener
на

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

class: fofo\mytest\event\listener
arguments:
            - @template
?

а в listener.php нам нужно добавить конструктор:

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

	/**
	* Constructor
	*/
	public function __construct(\phpbb\template\template $template)
	{
		$this->template = $template;
	}
?

и ещё переписать уже существующий код так:

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

	public function sCode($event)
	{
...
		$this->template->assign_vars('SAPE_LINKS', $sape->return_links());
	}
Немного не понятно, что нужно делать точно в каждом из трёх мест, где нужно поменять код.

Добавлено спустя 14 минут 42 секунды:
А файл sape.php можно будет попробовать взять тот, что приведён на первой странице этой темы (от rxu)?
Перенесено из форума Поддержка phpBB 3.1.x в форум Запросы расширений для phpBB 04.02.2019 12:28 модератором Sheer

Ответить

Вернуться в «Запросы расширений для phpBB»