Страница 1 из 1

[3.3] Информация о невозможности включить расширение

Добавлено: 24.10.2019 18:11
rxu
В phpBB 3.3 появилась возможность показывать содержательные сообщения в случае невозможности включения расширения по каким-либо причинам.
Теперь такие сообщения может возвращать функция is_enableable().
Пример. Если в файле ext.php провести проверку вида

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

	public function is_enableable()
	{
		$language= $this->container->get('language');
		$language->add_lang('my_lang_file', $this->extension_name);
		if (phpbb_version_compare(PHPBB_VERSION, '3.2.7', '>='))
		{
			return $language->lang('PHPBB_VERSION_TOO_LOW');
		}
		
		return true;
	}
То при попытке включить расширение на версии phpBB 3.2.7 и выше пользователь получит сообщение, заданное языковой переменной 'PHPBB_VERSION_TOO_LOW' из языкового файла этого же расширения my_lang_file.php. В противном случае функция вернет true и расширение будет успешно включено.
Также можно возвращать сразу несколько сообщений в виде массива, тогда они будут выведены все вместе, например

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

return [$language->lang('PHPBB_VERSION_TOO_LOW'), $language->lang('EXT_VERSION_UPGRADE')];
Если вместо языковой переменной (или их массива) вернуть false, будет получено стандартное сообщение phpBB о невозможности включить расширение 'EXTENSION_NOT_ENABLEABLE' (как и в предыдущих версиях).