[ticket/16649] Upgrade to Symfony 5

PHPBB3-16649
This commit is contained in:
rxu 2020-12-01 13:10:45 +07:00
parent 7110b61df5
commit 19b12bf6ee
No known key found for this signature in database
GPG key ID: 955F0567380E586A
133 changed files with 524 additions and 190 deletions

View file

@ -156,4 +156,4 @@ if (@is_file($phpbb_root_path . $config['exts_composer_vendor_dir'] . '/autoload
* @event core.common * @event core.common
* @since 3.1.0-a1 * @since 3.1.0-a1
*/ */
$phpbb_dispatcher->dispatch('core.common'); $phpbb_dispatcher->trigger_event('core.common');

View file

@ -36,6 +36,8 @@ imports:
- { resource: parameters.yml } - { resource: parameters.yml }
services: services:
_defaults: { public: true }
cache: cache:
class: phpbb\cache\service class: phpbb\cache\service
arguments: arguments:

View file

@ -1,4 +1,6 @@
services: services:
_defaults: { public: true }
attachment.delete: attachment.delete:
class: phpbb\attachment\delete class: phpbb\attachment\delete
shared: false shared: false

View file

@ -1,4 +1,6 @@
services: services:
_defaults: { public: true }
# ----- Auth management ----- # ----- Auth management -----
auth: auth:
class: phpbb\auth\auth class: phpbb\auth\auth

View file

@ -1,4 +1,6 @@
services: services:
_defaults: { public: true }
avatar.manager: avatar.manager:
class: phpbb\avatar\manager class: phpbb\avatar\manager
arguments: arguments:

View file

@ -1,4 +1,6 @@
services: services:
_defaults: { public: true }
captcha.factory: captcha.factory:
class: phpbb\captcha\factory class: phpbb\captcha\factory
arguments: arguments:

View file

@ -1,4 +1,6 @@
services: services:
_defaults: { public: true }
console.exception_subscriber: console.exception_subscriber:
class: phpbb\console\exception_subscriber class: phpbb\console\exception_subscriber
arguments: arguments:

View file

@ -1,4 +1,6 @@
services: services:
_defaults: { public: true }
content.visibility: content.visibility:
class: phpbb\content_visibility class: phpbb\content_visibility
arguments: arguments:

View file

@ -1,4 +1,6 @@
services: services:
_defaults: { public: true }
cron.manager: cron.manager:
class: phpbb\cron\manager class: phpbb\cron\manager
arguments: arguments:

View file

@ -1,4 +1,6 @@
services: services:
_defaults: { public: true }
dbal.conn: dbal.conn:
class: phpbb\db\driver\factory class: phpbb\db\driver\factory
arguments: arguments:

View file

@ -1,4 +1,6 @@
services: services:
_defaults: { public: true }
dispatcher: dispatcher:
class: phpbb\event\dispatcher class: phpbb\event\dispatcher
arguments: arguments:

View file

@ -1,4 +1,6 @@
services: services:
_defaults: { public: true }
ext.manager: ext.manager:
class: phpbb\extension\manager class: phpbb\extension\manager
arguments: arguments:

View file

@ -1,4 +1,6 @@
services: services:
_defaults: { public: true }
phpbb.feed.controller: phpbb.feed.controller:
class: phpbb\feed\controller\feed class: phpbb\feed\controller\feed
arguments: arguments:

View file

@ -1,4 +1,6 @@
services: services:
_defaults: { public: true }
files.factory: files.factory:
class: phpbb\files\factory class: phpbb\files\factory
arguments: arguments:

View file

@ -2,6 +2,8 @@ parameters:
core.filesystem.cache_temp_dir: '%core.cache_dir%tmp/' core.filesystem.cache_temp_dir: '%core.cache_dir%tmp/'
services: services:
_defaults: { public: true }
filesystem: filesystem:
class: phpbb\filesystem\filesystem class: phpbb\filesystem\filesystem

View file

@ -1,4 +1,6 @@
services: services:
_defaults: { public: true }
phpbb.help.manager: phpbb.help.manager:
class: phpbb\help\manager class: phpbb\help\manager
arguments: arguments:

View file

@ -1,4 +1,6 @@
services: services:
_defaults: { public: true }
http_kernel: http_kernel:
class: Symfony\Component\HttpKernel\HttpKernel class: Symfony\Component\HttpKernel\HttpKernel
arguments: arguments:

View file

@ -1,4 +1,6 @@
services: services:
_defaults: { public: true }
language.helper.language_file: language.helper.language_file:
class: phpbb\language\language_file_helper class: phpbb\language\language_file_helper
arguments: arguments:

View file

@ -1,4 +1,6 @@
services: services:
_defaults: { public: true }
# ----- Migrator ----- # ----- Migrator -----
migrator: migrator:
class: phpbb\db\migrator class: phpbb\db\migrator

View file

@ -1,4 +1,6 @@
services: services:
_defaults: { public: true }
mimetype.guesser_collection: mimetype.guesser_collection:
class: phpbb\di\service_collection class: phpbb\di\service_collection
arguments: arguments:
@ -7,12 +9,12 @@ services:
- { name: service_collection, tag: mimetype.guessers } - { name: service_collection, tag: mimetype.guessers }
mimetype.fileinfo_mimetype_guesser: mimetype.fileinfo_mimetype_guesser:
class: Symfony\Component\HttpFoundation\File\MimeType\FileinfoMimeTypeGuesser class: Symfony\Component\Mime\FileinfoMimeTypeGuesser
tags: tags:
- { name: mimetype.guessers } - { name: mimetype.guessers }
mimetype.filebinary_mimetype_guesser: mimetype.filebinary_mimetype_guesser:
class: Symfony\Component\HttpFoundation\File\MimeType\FileBinaryMimeTypeGuesser class: Symfony\Component\Mime\FileBinaryMimeTypeGuesser
tags: tags:
- { name: mimetype.guessers } - { name: mimetype.guessers }

View file

@ -1,4 +1,6 @@
services: services:
_defaults: { public: true }
module.manager: module.manager:
class: phpbb\module\module_manager class: phpbb\module\module_manager
arguments: arguments:

View file

@ -1,4 +1,6 @@
services: services:
_defaults: { public: true }
notification_manager: notification_manager:
class: phpbb\notification\manager class: phpbb\notification\manager
arguments: arguments:

View file

@ -5,6 +5,8 @@ parameters:
passwords.driver.bcrypt_cost: 10 passwords.driver.bcrypt_cost: 10
services: services:
_defaults: { public: true }
# ----- Password management ----- # ----- Password management -----
passwords.manager: passwords.manager:
class: phpbb\passwords\manager class: phpbb\passwords\manager

View file

@ -1,3 +1,5 @@
services: services:
_defaults: { public: true }
php_ini: php_ini:
class: bantu\IniGetWrapper\IniGetWrapper class: bantu\IniGetWrapper\IniGetWrapper

View file

@ -1,4 +1,6 @@
services: services:
_defaults: { public: true }
profilefields.manager: profilefields.manager:
class: phpbb\profilefields\manager class: phpbb\profilefields\manager
arguments: arguments:

View file

@ -1,4 +1,6 @@
services: services:
_defaults: { public: true }
# ----- Report controller ----- # ----- Report controller -----
phpbb.report.controller: phpbb.report.controller:
class: phpbb\report\controller\report class: phpbb\report\controller\report

View file

@ -1,4 +1,6 @@
services: services:
_defaults: { public: true }
router: router:
class: phpbb\routing\router class: phpbb\routing\router
arguments: arguments:

View file

@ -1,4 +1,5 @@
services: services:
_defaults: { public: true }
# Storages # Storages
storage.attachment: storage.attachment:

View file

@ -4,6 +4,8 @@ parameters:
text_formatter.cache.renderer.key: _text_formatter_renderer text_formatter.cache.renderer.key: _text_formatter_renderer
services: services:
_defaults: { public: true }
text_formatter.acp_utils: text_formatter.acp_utils:
class: phpbb\textformatter\s9e\acp_utils class: phpbb\textformatter\s9e\acp_utils
arguments: arguments:

View file

@ -1,4 +1,6 @@
services: services:
_defaults: { public: true }
text_reparser.manager: text_reparser.manager:
class: phpbb\textreparser\manager class: phpbb\textreparser\manager
arguments: arguments:

View file

@ -2,6 +2,8 @@ parameters:
core.template.cache_path: '%core.cache_dir%twig/' core.template.cache_path: '%core.cache_dir%twig/'
services: services:
_defaults: { public: true }
template.twig.environment: template.twig.environment:
class: phpbb\template\twig\environment class: phpbb\template\twig\environment
arguments: arguments:

View file

@ -1,6 +1,8 @@
# Twig extensions not needed by the installer # Twig extensions not needed by the installer
services: services:
_defaults: { public: true }
template.twig.extensions.icon: template.twig.extensions.icon:
class: phpbb\template\twig\extension\icon class: phpbb\template\twig\extension\icon
arguments: arguments:

View file

@ -1,4 +1,6 @@
services: services:
_defaults: { public: true }
phpbb.ucp.controller.reset_password: phpbb.ucp.controller.reset_password:
class: phpbb\ucp\controller\reset_password class: phpbb\ucp\controller\reset_password
arguments: arguments:

View file

@ -1,4 +1,6 @@
services: services:
_defaults: { public: true }
acl.permissions: acl.permissions:
class: phpbb\permissions class: phpbb\permissions
arguments: arguments:

View file

@ -9,6 +9,8 @@ imports:
- { resource: ../../default/container/services_twig.yml } - { resource: ../../default/container/services_twig.yml }
services: services:
_defaults: { public: true }
cache.driver: cache.driver:
class: '%cache.driver.class%' class: '%cache.driver.class%'
arguments: arguments:

View file

@ -1,4 +1,6 @@
services: services:
_defaults: { public: true }
installer.file_updater.factory: installer.file_updater.factory:
class: phpbb\install\helper\file_updater\factory class: phpbb\install\helper\file_updater\factory
arguments: arguments:

View file

@ -1,4 +1,6 @@
services: services:
_defaults: { public: true }
console.installer.command_collection: console.installer.command_collection:
class: phpbb\di\service_collection class: phpbb\di\service_collection
arguments: arguments:

View file

@ -1,4 +1,6 @@
services: services:
_defaults: { public: true }
phpbb.installer.controller.welcome: phpbb.installer.controller.welcome:
class: phpbb\install\controller\installer_index class: phpbb\install\controller\installer_index
arguments: arguments:

View file

@ -1,4 +1,6 @@
services: services:
_defaults: { public: true }
installer.install_database.create_schema_file: installer.install_database.create_schema_file:
class: phpbb\install\module\install_database\task\create_schema_file class: phpbb\install\module\install_database\task\create_schema_file
arguments: arguments:

View file

@ -1,4 +1,6 @@
services: services:
_defaults: { public: true }
installer.install_filesystem.create_config_file: installer.install_filesystem.create_config_file:
class: phpbb\install\module\install_filesystem\task\create_config_file class: phpbb\install\module\install_filesystem\task\create_config_file
arguments: arguments:

View file

@ -1,4 +1,6 @@
services: services:
_defaults: { public: true }
installer.install_finish.populate_migrations: installer.install_finish.populate_migrations:
class: phpbb\install\module\install_finish\task\populate_migrations class: phpbb\install\module\install_finish\task\populate_migrations
arguments: arguments:

View file

@ -1,4 +1,6 @@
services: services:
_defaults: { public: true }
installer.navigation.provider: installer.navigation.provider:
class: phpbb\install\helper\navigation\navigation_provider class: phpbb\install\helper\navigation\navigation_provider
arguments: arguments:

View file

@ -1,4 +1,6 @@
services: services:
_defaults: { public: true }
installer.obtain_data.obtain_admin_data: installer.obtain_data.obtain_admin_data:
class: phpbb\install\module\obtain_data\task\obtain_admin_data class: phpbb\install\module\obtain_data\task\obtain_admin_data
arguments: arguments:

View file

@ -1,4 +1,6 @@
services: services:
_defaults: { public: true }
installer.requirements.check_filesystem: installer.requirements.check_filesystem:
class: phpbb\install\module\requirements\task\check_filesystem class: phpbb\install\module\requirements\task\check_filesystem
arguments: arguments:

View file

@ -15,6 +15,8 @@ imports:
- { resource: services_update_requirements.yml } - { resource: services_update_requirements.yml }
services: services:
_defaults: { public: true }
# -------- Installer helpers ------------------------ # -------- Installer helpers ------------------------
installer.helper.config: installer.helper.config:
class: phpbb\install\helper\config class: phpbb\install\helper\config

View file

@ -1,4 +1,6 @@
services: services:
_defaults: { public: true }
installer.update_database.update_task: installer.update_database.update_task:
class: phpbb\install\module\update_database\task\update class: phpbb\install\module\update_database\task\update
arguments: arguments:

View file

@ -1,4 +1,6 @@
services: services:
_defaults: { public: true }
installer.update_filesystem.check_task: installer.update_filesystem.check_task:
class: phpbb\install\module\update_filesystem\task\file_check class: phpbb\install\module\update_filesystem\task\file_check
arguments: arguments:

View file

@ -1,4 +1,6 @@
services: services:
_defaults: { public: true }
installer.obtain_data.update_options: installer.obtain_data.update_options:
class: phpbb\install\module\obtain_data\task\obtain_update_settings class: phpbb\install\module\obtain_data\task\obtain_update_settings
arguments: arguments:

View file

@ -1,4 +1,6 @@
services: services:
_defaults: { public: true }
installer.requirements.check_filesystem_update: installer.requirements.check_filesystem_update:
class: phpbb\install\module\requirements\task\check_filesystem class: phpbb\install\module\requirements\task\check_filesystem
arguments: arguments:

View file

@ -484,7 +484,7 @@ class acp_main
* @event core.acp_main_notice * @event core.acp_main_notice
* @since 3.1.0-RC3 * @since 3.1.0-RC3
*/ */
$phpbb_dispatcher->dispatch('core.acp_main_notice'); $phpbb_dispatcher->trigger_event('core.acp_main_notice');
// Get forum statistics // Get forum statistics
$total_posts = $config['num_posts']; $total_posts = $config['num_posts'];

View file

@ -84,7 +84,7 @@ class acp_storage
* @event core.acp_storage_load * @event core.acp_storage_load
* @since 3.3.0-a1 * @since 3.3.0-a1
*/ */
$phpbb_dispatcher->dispatch('core.acp_storage_load'); $phpbb_dispatcher->trigger_event('core.acp_storage_load');
$this->overview($id, $mode); $this->overview($id, $mode);
} }

View file

@ -4189,7 +4189,7 @@ function garbage_collection()
* @event core.garbage_collection * @event core.garbage_collection
* @since 3.1.0-a1 * @since 3.1.0-a1
*/ */
$phpbb_dispatcher->dispatch('core.garbage_collection'); $phpbb_dispatcher->trigger_event('core.garbage_collection');
} }
// Unload cache, must be done before the DB connection if closed // Unload cache, must be done before the DB connection if closed

View file

@ -1152,7 +1152,7 @@ function display_custom_bbcodes()
* @event core.display_custom_bbcodes * @event core.display_custom_bbcodes
* @since 3.1.0-a1 * @since 3.1.0-a1
*/ */
$phpbb_dispatcher->dispatch('core.display_custom_bbcodes'); $phpbb_dispatcher->trigger_event('core.display_custom_bbcodes');
} }
/** /**

View file

@ -262,7 +262,7 @@ class ucp_main
* @event core.ucp_main_subscribed_post_data * @event core.ucp_main_subscribed_post_data
* @since 3.1.10-RC1 * @since 3.1.10-RC1
*/ */
$phpbb_dispatcher->dispatch('core.ucp_main_subscribed_post_data'); $phpbb_dispatcher->trigger_event('core.ucp_main_subscribed_post_data');
if ($unwatch) if ($unwatch)
{ {

View file

@ -12,6 +12,7 @@
*/ */
namespace phpbb\console\command\cache; namespace phpbb\console\command\cache;
use Symfony\Component\Console\Command\Command as symfony_command;
use Symfony\Component\Console\Input\InputInterface; use Symfony\Component\Console\Input\InputInterface;
use Symfony\Component\Console\Output\OutputInterface; use Symfony\Component\Console\Output\OutputInterface;
use Symfony\Component\Console\Style\SymfonyStyle; use Symfony\Component\Console\Style\SymfonyStyle;
@ -72,7 +73,7 @@ class purge extends \phpbb\console\command\command
* @param InputInterface $input An InputInterface instance * @param InputInterface $input An InputInterface instance
* @param OutputInterface $output An OutputInterface instance * @param OutputInterface $output An OutputInterface instance
* *
* @return void * @return int
*/ */
protected function execute(InputInterface $input, OutputInterface $output) protected function execute(InputInterface $input, OutputInterface $output)
{ {
@ -87,5 +88,7 @@ class purge extends \phpbb\console\command\command
$io = new SymfonyStyle($input, $output); $io = new SymfonyStyle($input, $output);
$io->success($this->user->lang('PURGE_CACHE_SUCCESS')); $io->success($this->user->lang('PURGE_CACHE_SUCCESS'));
return symfony_command::SUCCESS;
} }
} }

View file

@ -12,6 +12,7 @@
*/ */
namespace phpbb\console\command\config; namespace phpbb\console\command\config;
use Symfony\Component\Console\Command\Command as symfony_command;
use Symfony\Component\Console\Input\InputArgument; use Symfony\Component\Console\Input\InputArgument;
use Symfony\Component\Console\Input\InputInterface; use Symfony\Component\Console\Input\InputInterface;
use Symfony\Component\Console\Output\OutputInterface; use Symfony\Component\Console\Output\OutputInterface;
@ -20,8 +21,8 @@ use Symfony\Component\Console\Style\SymfonyStyle;
class delete extends command class delete extends command
{ {
/** /**
* {@inheritdoc} * {@inheritdoc}
*/ */
protected function configure() protected function configure()
{ {
$this $this
@ -36,16 +37,16 @@ class delete extends command
} }
/** /**
* Executes the command config:delete. * Executes the command config:delete.
* *
* Removes a configuration option * Removes a configuration option
* *
* @param InputInterface $input An InputInterface instance * @param InputInterface $input An InputInterface instance
* @param OutputInterface $output An OutputInterface instance * @param OutputInterface $output An OutputInterface instance
* *
* @return void * @return int
* @see \phpbb\config\config::delete() * @see \phpbb\config\config::delete()
*/ */
protected function execute(InputInterface $input, OutputInterface $output) protected function execute(InputInterface $input, OutputInterface $output)
{ {
$io = new SymfonyStyle($input, $output); $io = new SymfonyStyle($input, $output);
@ -57,10 +58,13 @@ class delete extends command
$this->config->delete($key); $this->config->delete($key);
$io->success($this->user->lang('CLI_CONFIG_DELETE_SUCCESS', $key)); $io->success($this->user->lang('CLI_CONFIG_DELETE_SUCCESS', $key));
return symfony_command::SUCCESS;
} }
else else
{ {
$io->error($this->user->lang('CLI_CONFIG_NOT_EXISTS', $key)); $io->error($this->user->lang('CLI_CONFIG_NOT_EXISTS', $key));
return symfony_command::FAILURE;
} }
} }
} }

View file

@ -12,6 +12,7 @@
*/ */
namespace phpbb\console\command\config; namespace phpbb\console\command\config;
use Symfony\Component\Console\Command\Command as symfony_command;
use Symfony\Component\Console\Input\InputArgument; use Symfony\Component\Console\Input\InputArgument;
use Symfony\Component\Console\Input\InputInterface; use Symfony\Component\Console\Input\InputInterface;
use Symfony\Component\Console\Input\InputOption; use Symfony\Component\Console\Input\InputOption;
@ -50,7 +51,7 @@ class get extends command
* @param InputInterface $input An InputInterface instance * @param InputInterface $input An InputInterface instance
* @param OutputInterface $output An OutputInterface instance * @param OutputInterface $output An OutputInterface instance
* *
* @return void * @return int
* @see \phpbb\config\config::offsetGet() * @see \phpbb\config\config::offsetGet()
*/ */
protected function execute(InputInterface $input, OutputInterface $output) protected function execute(InputInterface $input, OutputInterface $output)
@ -62,14 +63,17 @@ class get extends command
if (isset($this->config[$key]) && $input->getOption('no-newline')) if (isset($this->config[$key]) && $input->getOption('no-newline'))
{ {
$output->write($this->config[$key]); $output->write($this->config[$key]);
return symfony_command::SUCCESS;
} }
else if (isset($this->config[$key])) else if (isset($this->config[$key]))
{ {
$output->writeln($this->config[$key]); $output->writeln($this->config[$key]);
return symfony_command::SUCCESS;
} }
else else
{ {
$io->error($this->user->lang('CLI_CONFIG_NOT_EXISTS', $key)); $io->error($this->user->lang('CLI_CONFIG_NOT_EXISTS', $key));
return symfony_command::FAILURE;
} }
} }
} }

View file

@ -12,6 +12,7 @@
*/ */
namespace phpbb\console\command\config; namespace phpbb\console\command\config;
use Symfony\Component\Console\Command\Command as symfony_command;
use Symfony\Component\Console\Input\InputArgument; use Symfony\Component\Console\Input\InputArgument;
use Symfony\Component\Console\Input\InputInterface; use Symfony\Component\Console\Input\InputInterface;
use Symfony\Component\Console\Input\InputOption; use Symfony\Component\Console\Input\InputOption;
@ -55,7 +56,7 @@ class increment extends command
* @param InputInterface $input An InputInterface instance * @param InputInterface $input An InputInterface instance
* @param OutputInterface $output An OutputInterface instance * @param OutputInterface $output An OutputInterface instance
* *
* @return void * @return int
* @see \phpbb\config\config::increment() * @see \phpbb\config\config::increment()
*/ */
protected function execute(InputInterface $input, OutputInterface $output) protected function execute(InputInterface $input, OutputInterface $output)
@ -69,5 +70,7 @@ class increment extends command
$this->config->increment($key, $increment, $use_cache); $this->config->increment($key, $increment, $use_cache);
$io->success($this->user->lang('CLI_CONFIG_INCREMENT_SUCCESS', $key)); $io->success($this->user->lang('CLI_CONFIG_INCREMENT_SUCCESS', $key));
return symfony_command::SUCCESS;
} }
} }

View file

@ -12,6 +12,7 @@
*/ */
namespace phpbb\console\command\config; namespace phpbb\console\command\config;
use Symfony\Component\Console\Command\Command as symfony_command;
use Symfony\Component\Console\Input\InputArgument; use Symfony\Component\Console\Input\InputArgument;
use Symfony\Component\Console\Input\InputInterface; use Symfony\Component\Console\Input\InputInterface;
use Symfony\Component\Console\Input\InputOption; use Symfony\Component\Console\Input\InputOption;
@ -55,7 +56,7 @@ class set extends command
* @param InputInterface $input An InputInterface instance * @param InputInterface $input An InputInterface instance
* @param OutputInterface $output An OutputInterface instance * @param OutputInterface $output An OutputInterface instance
* *
* @return void * @return int
* @see \phpbb\config\config::set() * @see \phpbb\config\config::set()
*/ */
protected function execute(InputInterface $input, OutputInterface $output) protected function execute(InputInterface $input, OutputInterface $output)
@ -69,5 +70,7 @@ class set extends command
$this->config->set($key, $value, $use_cache); $this->config->set($key, $value, $use_cache);
$io->success($this->user->lang('CLI_CONFIG_SET_SUCCESS', $key)); $io->success($this->user->lang('CLI_CONFIG_SET_SUCCESS', $key));
return symfony_command::SUCCESS;
} }
} }

View file

@ -12,6 +12,7 @@
*/ */
namespace phpbb\console\command\config; namespace phpbb\console\command\config;
use Symfony\Component\Console\Command\Command as symfony_command;
use Symfony\Component\Console\Input\InputArgument; use Symfony\Component\Console\Input\InputArgument;
use Symfony\Component\Console\Input\InputInterface; use Symfony\Component\Console\Input\InputInterface;
use Symfony\Component\Console\Input\InputOption; use Symfony\Component\Console\Input\InputOption;
@ -76,12 +77,12 @@ class set_atomic extends command
if ($this->config->set_atomic($key, $old_value, $new_value, $use_cache)) if ($this->config->set_atomic($key, $old_value, $new_value, $use_cache))
{ {
$io->success($this->user->lang('CLI_CONFIG_SET_SUCCESS', $key)); $io->success($this->user->lang('CLI_CONFIG_SET_SUCCESS', $key));
return 0; return symfony_command::SUCCESS;
} }
else else
{ {
$io->error($this->user->lang('CLI_CONFIG_SET_FAILURE', $key)); $io->error($this->user->lang('CLI_CONFIG_SET_FAILURE', $key));
return 1; return symfony_command::FAILURE;
} }
} }
} }

View file

@ -12,6 +12,7 @@
*/ */
namespace phpbb\console\command\cron; namespace phpbb\console\command\cron;
use Symfony\Component\Console\Command\Command as symfony_command;
use Symfony\Component\Console\Input\InputInterface; use Symfony\Component\Console\Input\InputInterface;
use Symfony\Component\Console\Output\OutputInterface; use Symfony\Component\Console\Output\OutputInterface;
use Symfony\Component\Console\Style\SymfonyStyle; use Symfony\Component\Console\Style\SymfonyStyle;
@ -52,7 +53,7 @@ class cron_list extends \phpbb\console\command\command
* @param InputInterface $input An InputInterface instance * @param InputInterface $input An InputInterface instance
* @param OutputInterface $output An OutputInterface instance * @param OutputInterface $output An OutputInterface instance
* *
* @return void * @return int
*/ */
protected function execute(InputInterface $input, OutputInterface $output) protected function execute(InputInterface $input, OutputInterface $output)
{ {
@ -63,7 +64,7 @@ class cron_list extends \phpbb\console\command\command
if (empty($tasks)) if (empty($tasks))
{ {
$io->error($this->user->lang('CRON_NO_TASKS')); $io->error($this->user->lang('CRON_NO_TASKS'));
return; return symfony_command::FAILURE;
} }
$ready_tasks = $not_ready_tasks = array(); $ready_tasks = $not_ready_tasks = array();
@ -90,5 +91,7 @@ class cron_list extends \phpbb\console\command\command
$io->title($this->user->lang('TASKS_NOT_READY')); $io->title($this->user->lang('TASKS_NOT_READY'));
$io->listing($not_ready_tasks); $io->listing($not_ready_tasks);
} }
return symfony_command::SUCCESS;
} }
} }

View file

@ -12,6 +12,7 @@
*/ */
namespace phpbb\console\command\db; namespace phpbb\console\command\db;
use Symfony\Component\Console\Command\Command as symfony_command;
use Symfony\Component\Console\Input\InputInterface; use Symfony\Component\Console\Input\InputInterface;
use Symfony\Component\Console\Input\InputOption; use Symfony\Component\Console\Input\InputOption;
use Symfony\Component\Console\Output\OutputInterface; use Symfony\Component\Console\Output\OutputInterface;
@ -19,6 +20,9 @@ use Symfony\Component\Console\Style\SymfonyStyle;
class list_command extends \phpbb\console\command\db\migration_command class list_command extends \phpbb\console\command\db\migration_command
{ {
/**
* {@inheritdoc}
*/
protected function configure() protected function configure()
{ {
$this $this
@ -33,6 +37,16 @@ class list_command extends \phpbb\console\command\db\migration_command
; ;
} }
/**
* Executes the command db:list.
*
* Lists all installed and available migrations
*
* @param InputInterface $input An InputInterface instance
* @param OutputInterface $output An OutputInterface instance
*
* @return int
*/
protected function execute(InputInterface $input, OutputInterface $output) protected function execute(InputInterface $input, OutputInterface $output)
{ {
$io = new SymfonyStyle($input, $output); $io = new SymfonyStyle($input, $output);
@ -71,11 +85,13 @@ class list_command extends \phpbb\console\command\db\migration_command
if (!empty($available)) if (!empty($available))
{ {
$io->listing($available); $io->listing($available);
return symfony_command::SUCCESS;
} }
else else
{ {
$io->text($this->user->lang('CLI_MIGRATIONS_EMPTY')); $io->text($this->user->lang('CLI_MIGRATIONS_EMPTY'));
$io->newLine(); $io->newLine();
return symfony_command::FAILURE;
} }
} }
} }

View file

@ -12,6 +12,7 @@
*/ */
namespace phpbb\console\command\db; namespace phpbb\console\command\db;
use Symfony\Component\Console\Command\Command as symfony_command;
use phpbb\db\output_handler\log_wrapper_migrator_output_handler; use phpbb\db\output_handler\log_wrapper_migrator_output_handler;
use Symfony\Component\Console\Input\InputInterface; use Symfony\Component\Console\Input\InputInterface;
use Symfony\Component\Console\Output\OutputInterface; use Symfony\Component\Console\Output\OutputInterface;
@ -41,6 +42,9 @@ class migrate extends \phpbb\console\command\db\migration_command
$this->language->add_lang(array('common', 'install', 'migrator')); $this->language->add_lang(array('common', 'install', 'migrator'));
} }
/**
* {@inheritdoc}
*/
protected function configure() protected function configure()
{ {
$this $this
@ -49,6 +53,16 @@ class migrate extends \phpbb\console\command\db\migration_command
; ;
} }
/**
* Executes the command db:migrate.
*
* Updates the database by applying migrations
*
* @param InputInterface $input An InputInterface instance
* @param OutputInterface $output An OutputInterface instance
*
* @return int
*/
protected function execute(InputInterface $input, OutputInterface $output) protected function execute(InputInterface $input, OutputInterface $output)
{ {
$io = new SymfonyStyle($input, $output); $io = new SymfonyStyle($input, $output);
@ -71,7 +85,7 @@ class migrate extends \phpbb\console\command\db\migration_command
{ {
$io->error($e->getLocalisedMessage($this->user)); $io->error($e->getLocalisedMessage($this->user));
$this->finalise_update(); $this->finalise_update();
return 1; return symfony_command::FAILURE;
} }
} }
@ -82,5 +96,6 @@ class migrate extends \phpbb\console\command\db\migration_command
$this->finalise_update(); $this->finalise_update();
$io->success($this->language->lang('INLINE_UPDATE_SUCCESSFUL')); $io->success($this->language->lang('INLINE_UPDATE_SUCCESSFUL'));
return symfony_command::SUCCESS;
} }
} }

View file

@ -12,6 +12,7 @@
*/ */
namespace phpbb\console\command\db; namespace phpbb\console\command\db;
use Symfony\Component\Console\Command\Command as symfony_command;
use phpbb\db\output_handler\log_wrapper_migrator_output_handler; use phpbb\db\output_handler\log_wrapper_migrator_output_handler;
use Symfony\Component\Console\Input\InputArgument; use Symfony\Component\Console\Input\InputArgument;
use Symfony\Component\Console\Input\InputInterface; use Symfony\Component\Console\Input\InputInterface;
@ -20,6 +21,9 @@ use Symfony\Component\Console\Style\SymfonyStyle;
class revert extends \phpbb\console\command\db\migrate class revert extends \phpbb\console\command\db\migrate
{ {
/**
* {@inheritdoc}
*/
protected function configure() protected function configure()
{ {
$this $this
@ -33,6 +37,16 @@ class revert extends \phpbb\console\command\db\migrate
; ;
} }
/**
* Executes the command db:revert.
*
* Reverts a migration
*
* @param InputInterface $input An InputInterface instance
* @param OutputInterface $output An OutputInterface instance
*
* @return int
*/
protected function execute(InputInterface $input, OutputInterface $output) protected function execute(InputInterface $input, OutputInterface $output)
{ {
$io = new SymfonyStyle($input, $output); $io = new SymfonyStyle($input, $output);
@ -46,12 +60,12 @@ class revert extends \phpbb\console\command\db\migrate
if (!in_array($name, $this->load_migrations())) if (!in_array($name, $this->load_migrations()))
{ {
$io->error($this->language->lang('MIGRATION_NOT_VALID', $name)); $io->error($this->language->lang('MIGRATION_NOT_VALID', $name));
return 1; return symfony_command::FAILURE;
} }
else if ($this->migrator->migration_state($name) === false) else if ($this->migrator->migration_state($name) === false)
{ {
$io->error($this->language->lang('MIGRATION_NOT_INSTALLED', $name)); $io->error($this->language->lang('MIGRATION_NOT_INSTALLED', $name));
return 1; return symfony_command::FAILURE;
} }
try try
@ -65,10 +79,11 @@ class revert extends \phpbb\console\command\db\migrate
{ {
$io->error($e->getLocalisedMessage($this->user)); $io->error($e->getLocalisedMessage($this->user));
$this->finalise_update(); $this->finalise_update();
return 1; return symfony_command::FAILURE;
} }
$this->finalise_update(); $this->finalise_update();
$io->success($this->language->lang('INLINE_UPDATE_SUCCESSFUL')); $io->success($this->language->lang('INLINE_UPDATE_SUCCESSFUL'));
return symfony_command::SUCCESS;
} }
} }

View file

@ -12,6 +12,7 @@
*/ */
namespace phpbb\console\command\dev; namespace phpbb\console\command\dev;
use Symfony\Component\Console\Command\Command as symfony_command;
use Symfony\Component\Console\Input\InputInterface; use Symfony\Component\Console\Input\InputInterface;
use Symfony\Component\Console\Output\OutputInterface; use Symfony\Component\Console\Output\OutputInterface;
@ -26,6 +27,9 @@ class migration_tips extends \phpbb\console\command\command
parent::__construct($user); parent::__construct($user);
} }
/**
* {@inheritdoc}
*/
protected function configure() protected function configure()
{ {
$this $this
@ -34,6 +38,16 @@ class migration_tips extends \phpbb\console\command\command
; ;
} }
/**
* Executes the command dev:migration-tips.
*
* Finds migrations that are not depended upon
*
* @param InputInterface $input An InputInterface instance
* @param OutputInterface $output An OutputInterface instance
*
* @return int
*/
protected function execute(InputInterface $input, OutputInterface $output) protected function execute(InputInterface $input, OutputInterface $output)
{ {
$migrations = $this->extension_manager->get_finder() $migrations = $this->extension_manager->get_finder()
@ -60,5 +74,7 @@ class migration_tips extends \phpbb\console\command\command
$output->writeln("\t\t\t'{$migration}',"); $output->writeln("\t\t\t'{$migration}',");
} }
$output->writeln("\t\t];"); $output->writeln("\t\t];");
return symfony_command::SUCCESS;
} }
} }

View file

@ -12,6 +12,7 @@
*/ */
namespace phpbb\console\command\extension; namespace phpbb\console\command\extension;
use Symfony\Component\Console\Command\Command as symfony_command;
use Symfony\Component\Console\Input\InputArgument; use Symfony\Component\Console\Input\InputArgument;
use Symfony\Component\Console\Input\InputInterface; use Symfony\Component\Console\Input\InputInterface;
use Symfony\Component\Console\Output\OutputInterface; use Symfony\Component\Console\Output\OutputInterface;
@ -19,6 +20,9 @@ use Symfony\Component\Console\Style\SymfonyStyle;
class disable extends command class disable extends command
{ {
/**
* {@inheritdoc}
*/
protected function configure() protected function configure()
{ {
$this $this
@ -32,6 +36,16 @@ class disable extends command
; ;
} }
/**
* Executes the command extension:disable.
*
* Disables the specified extension
*
* @param InputInterface $input An InputInterface instance
* @param OutputInterface $output An OutputInterface instance
*
* @return int
*/
protected function execute(InputInterface $input, OutputInterface $output) protected function execute(InputInterface $input, OutputInterface $output)
{ {
$io = new SymfonyStyle($input, $output); $io = new SymfonyStyle($input, $output);
@ -50,14 +64,14 @@ class disable extends command
if ($this->manager->is_enabled($name)) if ($this->manager->is_enabled($name))
{ {
$io->error($this->user->lang('CLI_EXTENSION_DISABLE_FAILURE', $name)); $io->error($this->user->lang('CLI_EXTENSION_DISABLE_FAILURE', $name));
return 1; return symfony_command::FAILURE;
} }
else else
{ {
$this->log->add('admin', ANONYMOUS, '', 'LOG_EXT_DISABLE', time(), array($name)); $this->log->add('admin', ANONYMOUS, '', 'LOG_EXT_DISABLE', time(), array($name));
$this->check_apcu_cache($io); $this->check_apcu_cache($io);
$io->success($this->user->lang('CLI_EXTENSION_DISABLE_SUCCESS', $name)); $io->success($this->user->lang('CLI_EXTENSION_DISABLE_SUCCESS', $name));
return 0; return symfony_command::SUCCESS;
} }
} }
} }

View file

@ -12,6 +12,7 @@
*/ */
namespace phpbb\console\command\extension; namespace phpbb\console\command\extension;
use Symfony\Component\Console\Command\Command as symfony_command;
use Symfony\Component\Console\Input\InputArgument; use Symfony\Component\Console\Input\InputArgument;
use Symfony\Component\Console\Input\InputInterface; use Symfony\Component\Console\Input\InputInterface;
use Symfony\Component\Console\Output\OutputInterface; use Symfony\Component\Console\Output\OutputInterface;
@ -19,6 +20,9 @@ use Symfony\Component\Console\Style\SymfonyStyle;
class enable extends command class enable extends command
{ {
/**
* {@inheritdoc}
*/
protected function configure() protected function configure()
{ {
$this $this
@ -32,6 +36,16 @@ class enable extends command
; ;
} }
/**
* Executes the command extension:enable.
*
* Enables the specified extension
*
* @param InputInterface $input An InputInterface instance
* @param OutputInterface $output An OutputInterface instance
*
* @return int
*/
protected function execute(InputInterface $input, OutputInterface $output) protected function execute(InputInterface $input, OutputInterface $output)
{ {
$io = new SymfonyStyle($input, $output); $io = new SymfonyStyle($input, $output);
@ -41,7 +55,7 @@ class enable extends command
if (!$this->manager->is_available($name)) if (!$this->manager->is_available($name))
{ {
$io->error($this->user->lang('CLI_EXTENSION_NOT_EXIST', $name)); $io->error($this->user->lang('CLI_EXTENSION_NOT_EXIST', $name));
return 1; return symfony_command::FAILURE;
} }
$extension = $this->manager->get_extension($name); $extension = $this->manager->get_extension($name);
@ -51,13 +65,13 @@ class enable extends command
$message = !empty($enableable) ? $enableable : $this->user->lang('CLI_EXTENSION_NOT_ENABLEABLE', $name); $message = !empty($enableable) ? $enableable : $this->user->lang('CLI_EXTENSION_NOT_ENABLEABLE', $name);
$message = is_array($message) ? implode(PHP_EOL, $message) : $message; $message = is_array($message) ? implode(PHP_EOL, $message) : $message;
$io->error($message); $io->error($message);
return 1; return symfony_command::FAILURE;
} }
if ($this->manager->is_enabled($name)) if ($this->manager->is_enabled($name))
{ {
$io->error($this->user->lang('CLI_EXTENSION_ENABLED', $name)); $io->error($this->user->lang('CLI_EXTENSION_ENABLED', $name));
return 1; return symfony_command::FAILURE;
} }
$this->manager->enable($name); $this->manager->enable($name);
@ -68,12 +82,12 @@ class enable extends command
$this->log->add('admin', ANONYMOUS, '', 'LOG_EXT_ENABLE', time(), array($name)); $this->log->add('admin', ANONYMOUS, '', 'LOG_EXT_ENABLE', time(), array($name));
$this->check_apcu_cache($io); $this->check_apcu_cache($io);
$io->success($this->user->lang('CLI_EXTENSION_ENABLE_SUCCESS', $name)); $io->success($this->user->lang('CLI_EXTENSION_ENABLE_SUCCESS', $name));
return 0; return symfony_command::SUCCESS;
} }
else else
{ {
$io->error($this->user->lang('CLI_EXTENSION_ENABLE_FAILURE', $name)); $io->error($this->user->lang('CLI_EXTENSION_ENABLE_FAILURE', $name));
return 1; return symfony_command::FAILURE;
} }
} }
} }

View file

@ -16,6 +16,7 @@ namespace phpbb\console\command\extension;
use phpbb\composer\extension_manager; use phpbb\composer\extension_manager;
use phpbb\composer\io\console_io; use phpbb\composer\io\console_io;
use phpbb\language\language; use phpbb\language\language;
use Symfony\Component\Console\Command\Command as symfony_command;
use Symfony\Component\Console\Formatter\OutputFormatterStyle; use Symfony\Component\Console\Formatter\OutputFormatterStyle;
use Symfony\Component\Console\Input\InputArgument; use Symfony\Component\Console\Input\InputArgument;
use Symfony\Component\Console\Input\InputInterface; use Symfony\Component\Console\Input\InputInterface;
@ -83,7 +84,7 @@ class install extends \phpbb\console\command\command
if (!$this->manager->check_requirements()) if (!$this->manager->check_requirements())
{ {
$io->error($this->language->lang('EXTENSIONS_COMPOSER_NOT_WRITABLE')); $io->error($this->language->lang('EXTENSIONS_COMPOSER_NOT_WRITABLE'));
return 1; return symfony_command::FAILURE;
} }
$composer_io = new console_io($input, $output, $this->getHelperSet(), $this->language); $composer_io = new console_io($input, $output, $this->getHelperSet(), $this->language);
@ -98,6 +99,6 @@ class install extends \phpbb\console\command\command
$io->success($this->language->lang('EXTENSIONS_INSTALLED')); $io->success($this->language->lang('EXTENSIONS_INSTALLED'));
return 0; return symfony_command::SUCCESS;
} }
} }

View file

@ -14,6 +14,7 @@
namespace phpbb\console\command\extension; namespace phpbb\console\command\extension;
use phpbb\composer\manager_interface; use phpbb\composer\manager_interface;
use Symfony\Component\Console\Command\Command as symfony_command;
use Symfony\Component\Console\Input\InputInterface; use Symfony\Component\Console\Input\InputInterface;
use Symfony\Component\Console\Output\OutputInterface; use Symfony\Component\Console\Output\OutputInterface;
use Symfony\Component\Console\Style\SymfonyStyle; use Symfony\Component\Console\Style\SymfonyStyle;
@ -68,6 +69,6 @@ class list_available extends \phpbb\console\command\command
$io->listing($extensions); $io->listing($extensions);
return 0; return symfony_command::SUCCESS;
} }
} }

View file

@ -17,6 +17,7 @@ use phpbb\composer\exception\managed_with_error_exception;
use phpbb\composer\io\console_io; use phpbb\composer\io\console_io;
use phpbb\composer\manager_interface; use phpbb\composer\manager_interface;
use phpbb\language\language; use phpbb\language\language;
use Symfony\Component\Console\Command\Command as symfony_command;
use Symfony\Component\Console\Input\InputArgument; use Symfony\Component\Console\Input\InputArgument;
use Symfony\Component\Console\Input\InputInterface; use Symfony\Component\Console\Input\InputInterface;
use Symfony\Component\Console\Output\OutputInterface; use Symfony\Component\Console\Output\OutputInterface;
@ -75,7 +76,7 @@ class manage extends \phpbb\console\command\command
if (!$this->manager->check_requirements()) if (!$this->manager->check_requirements())
{ {
$io->error($this->language->lang('EXTENSIONS_COMPOSER_NOT_WRITABLE')); $io->error($this->language->lang('EXTENSIONS_COMPOSER_NOT_WRITABLE'));
return 1; return symfony_command::FAILURE;
} }
$composer_io = new console_io($input, $output, $this->getHelperSet(), $this->language); $composer_io = new console_io($input, $output, $this->getHelperSet(), $this->language);
@ -89,11 +90,11 @@ class manage extends \phpbb\console\command\command
catch (managed_with_error_exception $e) catch (managed_with_error_exception $e)
{ {
$io->warning($this->language->lang_array($e->getMessage(), $e->get_parameters())); $io->warning($this->language->lang_array($e->getMessage(), $e->get_parameters()));
return 1; return symfony_command::FAILURE;
} }
$io->success($this->language->lang('EXTENSION_MANAGED_SUCCESS', $extension)); $io->success($this->language->lang('EXTENSION_MANAGED_SUCCESS', $extension));
return 0; return symfony_command::SUCCESS;
} }
} }

View file

@ -12,6 +12,7 @@
*/ */
namespace phpbb\console\command\extension; namespace phpbb\console\command\extension;
use Symfony\Component\Console\Command\Command as symfony_command;
use Symfony\Component\Console\Input\InputArgument; use Symfony\Component\Console\Input\InputArgument;
use Symfony\Component\Console\Input\InputInterface; use Symfony\Component\Console\Input\InputInterface;
use Symfony\Component\Console\Output\OutputInterface; use Symfony\Component\Console\Output\OutputInterface;
@ -19,6 +20,9 @@ use Symfony\Component\Console\Style\SymfonyStyle;
class purge extends command class purge extends command
{ {
/**
* {@inheritdoc}
*/
protected function configure() protected function configure()
{ {
$this $this
@ -32,6 +36,16 @@ class purge extends command
; ;
} }
/**
* Executes the command extension:purge.
*
* Purges the specified extension
*
* @param InputInterface $input An InputInterface instance
* @param OutputInterface $output An OutputInterface instance
*
* @return int
*/
protected function execute(InputInterface $input, OutputInterface $output) protected function execute(InputInterface $input, OutputInterface $output)
{ {
$io = new SymfonyStyle($input, $output); $io = new SymfonyStyle($input, $output);
@ -43,14 +57,14 @@ class purge extends command
if ($this->manager->is_enabled($name)) if ($this->manager->is_enabled($name))
{ {
$io->error($this->user->lang('CLI_EXTENSION_PURGE_FAILURE', $name)); $io->error($this->user->lang('CLI_EXTENSION_PURGE_FAILURE', $name));
return 1; return symfony_command::FAILURE;
} }
else else
{ {
$this->log->add('admin', ANONYMOUS, '', 'LOG_EXT_PURGE', time(), array($name)); $this->log->add('admin', ANONYMOUS, '', 'LOG_EXT_PURGE', time(), array($name));
$this->check_apcu_cache($io); $this->check_apcu_cache($io);
$io->success($this->user->lang('CLI_EXTENSION_PURGE_SUCCESS', $name)); $io->success($this->user->lang('CLI_EXTENSION_PURGE_SUCCESS', $name));
return 0; return symfony_command::SUCCESS;
} }
} }
} }

View file

@ -16,6 +16,7 @@ namespace phpbb\console\command\extension;
use phpbb\composer\extension_manager; use phpbb\composer\extension_manager;
use phpbb\composer\io\console_io; use phpbb\composer\io\console_io;
use phpbb\language\language; use phpbb\language\language;
use Symfony\Component\Console\Command\Command as symfony_command;
use Symfony\Component\Console\Formatter\OutputFormatterStyle; use Symfony\Component\Console\Formatter\OutputFormatterStyle;
use Symfony\Component\Console\Input\InputArgument; use Symfony\Component\Console\Input\InputArgument;
use Symfony\Component\Console\Input\InputInterface; use Symfony\Component\Console\Input\InputInterface;
@ -83,7 +84,7 @@ class remove extends \phpbb\console\command\command
if (!$this->manager->check_requirements()) if (!$this->manager->check_requirements())
{ {
$io->error($this->language->lang('EXTENSIONS_COMPOSER_NOT_WRITABLE')); $io->error($this->language->lang('EXTENSIONS_COMPOSER_NOT_WRITABLE'));
return 1; return symfony_command::FAILURE;
} }
$composer_io = new console_io($input, $output, $this->getHelperSet(), $this->language); $composer_io = new console_io($input, $output, $this->getHelperSet(), $this->language);
@ -98,6 +99,6 @@ class remove extends \phpbb\console\command\command
$io->success($this->language->lang('EXTENSIONS_REMOVED')); $io->success($this->language->lang('EXTENSIONS_REMOVED'));
return 0; return symfony_command::SUCCESS;
} }
} }

View file

@ -12,12 +12,16 @@
*/ */
namespace phpbb\console\command\extension; namespace phpbb\console\command\extension;
use Symfony\Component\Console\Command\Command as symfony_command;
use Symfony\Component\Console\Input\InputInterface; use Symfony\Component\Console\Input\InputInterface;
use Symfony\Component\Console\Output\OutputInterface; use Symfony\Component\Console\Output\OutputInterface;
use Symfony\Component\Console\Style\SymfonyStyle; use Symfony\Component\Console\Style\SymfonyStyle;
class show extends command class show extends command
{ {
/**
* {@inheritdoc}
*/
protected function configure() protected function configure()
{ {
$this $this
@ -26,6 +30,16 @@ class show extends command
; ;
} }
/**
* Executes the command extension:show.
*
* Lists all extensions in the database and on the filesystem
*
* @param InputInterface $input An InputInterface instance
* @param OutputInterface $output An OutputInterface instance
*
* @return int
*/
protected function execute(InputInterface $input, OutputInterface $output) protected function execute(InputInterface $input, OutputInterface $output)
{ {
$io = new SymfonyStyle($input, $output); $io = new SymfonyStyle($input, $output);
@ -50,5 +64,7 @@ class show extends command
$purged = array_diff($all, $enabled, $disabled); $purged = array_diff($all, $enabled, $disabled);
$io->section($this->user->lang('CLI_EXTENSIONS_AVAILABLE')); $io->section($this->user->lang('CLI_EXTENSIONS_AVAILABLE'));
$io->listing($purged); $io->listing($purged);
return symfony_command::SUCCESS;
} }
} }

View file

@ -16,6 +16,7 @@ namespace phpbb\console\command\extension;
use phpbb\composer\io\console_io; use phpbb\composer\io\console_io;
use phpbb\composer\manager_interface; use phpbb\composer\manager_interface;
use phpbb\language\language; use phpbb\language\language;
use Symfony\Component\Console\Command\Command as symfony_command;
use Symfony\Component\Console\Formatter\OutputFormatterStyle; use Symfony\Component\Console\Formatter\OutputFormatterStyle;
use Symfony\Component\Console\Input\InputArgument; use Symfony\Component\Console\Input\InputArgument;
use Symfony\Component\Console\Input\InputInterface; use Symfony\Component\Console\Input\InputInterface;
@ -75,7 +76,7 @@ class update extends \phpbb\console\command\command
if (!$this->manager->check_requirements()) if (!$this->manager->check_requirements())
{ {
$io->error($this->language->lang('EXTENSIONS_COMPOSER_NOT_WRITABLE')); $io->error($this->language->lang('EXTENSIONS_COMPOSER_NOT_WRITABLE'));
return 1; return symfony_command::FAILURE;
} }
$composer_io = new console_io($input, $output, $this->getHelperSet(), $this->language); $composer_io = new console_io($input, $output, $this->getHelperSet(), $this->language);
@ -85,6 +86,6 @@ class update extends \phpbb\console\command\command
$io->success($this->language->lang('EXTENSIONS_UPDATED')); $io->success($this->language->lang('EXTENSIONS_UPDATED'));
return 0; return symfony_command::SUCCESS;
} }
} }

View file

@ -13,6 +13,7 @@
namespace phpbb\console\command\fixup; namespace phpbb\console\command\fixup;
use Symfony\Component\Console\Command\Command as symfony_command;
use Symfony\Component\Console\Input\InputInterface; use Symfony\Component\Console\Input\InputInterface;
use Symfony\Component\Console\Output\OutputInterface; use Symfony\Component\Console\Output\OutputInterface;
use Symfony\Component\Console\Style\SymfonyStyle; use Symfony\Component\Console\Style\SymfonyStyle;
@ -64,7 +65,7 @@ class fix_left_right_ids extends \phpbb\console\command\command
* @param InputInterface $input An InputInterface instance * @param InputInterface $input An InputInterface instance
* @param OutputInterface $output An OutputInterface instance * @param OutputInterface $output An OutputInterface instance
* *
* @return void * @return int
*/ */
protected function execute(InputInterface $input, OutputInterface $output) protected function execute(InputInterface $input, OutputInterface $output)
{ {
@ -87,6 +88,7 @@ class fix_left_right_ids extends \phpbb\console\command\command
$this->cache->purge(); $this->cache->purge();
$io->success($this->user->lang('CLI_FIXUP_FIX_LEFT_RIGHT_IDS_SUCCESS')); $io->success($this->user->lang('CLI_FIXUP_FIX_LEFT_RIGHT_IDS_SUCCESS'));
return symfony_command::SUCCESS;
} }
/** /**

View file

@ -12,6 +12,7 @@
*/ */
namespace phpbb\console\command\fixup; namespace phpbb\console\command\fixup;
use Symfony\Component\Console\Command\Command as symfony_command;
use Symfony\Component\Console\Input\InputInterface; use Symfony\Component\Console\Input\InputInterface;
use Symfony\Component\Console\Output\OutputInterface; use Symfony\Component\Console\Output\OutputInterface;
use Symfony\Component\Console\Helper\ProgressBar; use Symfony\Component\Console\Helper\ProgressBar;
@ -114,5 +115,6 @@ class update_hashes extends \phpbb\console\command\command
$progress_bar->finish(); $progress_bar->finish();
$output->writeln('<info>' . $this->user->lang('CLI_FIXUP_UPDATE_HASH_BCRYPT_SUCCESS') . '</info>'); $output->writeln('<info>' . $this->user->lang('CLI_FIXUP_UPDATE_HASH_BCRYPT_SUCCESS') . '</info>');
return symfony_command::SUCCESS;
} }
} }

View file

@ -13,6 +13,7 @@
namespace phpbb\console\command\reparser; namespace phpbb\console\command\reparser;
use Symfony\Component\Console\Command\Command as symfony_command;
use Symfony\Component\Console\Input\InputInterface; use Symfony\Component\Console\Input\InputInterface;
use Symfony\Component\Console\Output\OutputInterface; use Symfony\Component\Console\Output\OutputInterface;
use Symfony\Component\Console\Style\SymfonyStyle; use Symfony\Component\Console\Style\SymfonyStyle;
@ -67,6 +68,6 @@ class list_all extends \phpbb\console\command\command
$io->section($this->user->lang('CLI_DESCRIPTION_REPARSER_AVAILABLE')); $io->section($this->user->lang('CLI_DESCRIPTION_REPARSER_AVAILABLE'));
$io->listing($this->reparser_names); $io->listing($this->reparser_names);
return 0; return symfony_command::SUCCESS;
} }
} }

View file

@ -14,6 +14,7 @@
namespace phpbb\console\command\reparser; namespace phpbb\console\command\reparser;
use phpbb\exception\runtime_exception; use phpbb\exception\runtime_exception;
use Symfony\Component\Console\Command\Command as symfony_command;
use Symfony\Component\Console\Input\InputInterface; use Symfony\Component\Console\Input\InputInterface;
use Symfony\Component\Console\Input\InputArgument; use Symfony\Component\Console\Input\InputArgument;
use Symfony\Component\Console\Input\InputOption; use Symfony\Component\Console\Input\InputOption;
@ -157,7 +158,7 @@ class reparse extends \phpbb\console\command\command
$this->reparse_lock->release(); $this->reparse_lock->release();
return 0; return symfony_command::SUCCESS;
} }
/** /**

View file

@ -12,6 +12,7 @@
*/ */
namespace phpbb\console\command\thumbnail; namespace phpbb\console\command\thumbnail;
use Symfony\Component\Console\Command\Command as symfony_command;
use Symfony\Component\Console\Input\InputInterface; use Symfony\Component\Console\Input\InputInterface;
use Symfony\Component\Console\Output\OutputInterface; use Symfony\Component\Console\Output\OutputInterface;
use Symfony\Component\Console\Style\SymfonyStyle; use Symfony\Component\Console\Style\SymfonyStyle;
@ -90,7 +91,7 @@ class delete extends \phpbb\console\command\command
if ($nb_missing_thumbnails === 0) if ($nb_missing_thumbnails === 0)
{ {
$io->warning($this->user->lang('CLI_THUMBNAIL_NOTHING_TO_DELETE')); $io->warning($this->user->lang('CLI_THUMBNAIL_NOTHING_TO_DELETE'));
return 0; return symfony_command::SUCCESS;
} }
$sql = 'SELECT attach_id, physical_filename, extension, real_filename, mimetype $sql = 'SELECT attach_id, physical_filename, extension, real_filename, mimetype
@ -105,7 +106,7 @@ class delete extends \phpbb\console\command\command
$progress->start(); $progress->start();
$thumbnail_deleted = array(); $thumbnail_deleted = array();
$return = 0; $return = symfony_command::SUCCESS;
while ($row = $this->db->sql_fetchrow($result)) while ($row = $this->db->sql_fetchrow($result))
{ {
$thumbnail_path = $this->phpbb_root_path . $this->config['upload_path'] . '/thumb_' . $row['physical_filename']; $thumbnail_path = $this->phpbb_root_path . $this->config['upload_path'] . '/thumb_' . $row['physical_filename'];
@ -124,7 +125,7 @@ class delete extends \phpbb\console\command\command
} }
else else
{ {
$return = 1; $return = symfony_command::FAILURE;
$progress->setMessage('<error>' . $this->user->lang('CLI_THUMBNAIL_SKIPPED', $row['real_filename'], $row['physical_filename']) . '</error>'); $progress->setMessage('<error>' . $this->user->lang('CLI_THUMBNAIL_SKIPPED', $row['real_filename'], $row['physical_filename']) . '</error>');
} }

View file

@ -13,6 +13,7 @@
namespace phpbb\console\command\thumbnail; namespace phpbb\console\command\thumbnail;
use Symfony\Component\Console\Command\Command as symfony_command;
use Symfony\Component\Console\Input\InputInterface; use Symfony\Component\Console\Input\InputInterface;
use Symfony\Component\Console\Output\OutputInterface; use Symfony\Component\Console\Output\OutputInterface;
use Symfony\Component\Console\Style\SymfonyStyle; use Symfony\Component\Console\Style\SymfonyStyle;
@ -107,7 +108,7 @@ class generate extends \phpbb\console\command\command
if ($nb_missing_thumbnails === 0) if ($nb_missing_thumbnails === 0)
{ {
$io->warning($this->user->lang('CLI_THUMBNAIL_NOTHING_TO_GENERATE')); $io->warning($this->user->lang('CLI_THUMBNAIL_NOTHING_TO_GENERATE'));
return 0; return symfony_command::SUCCESS;
} }
$extensions = $this->cache->obtain_attach_extensions(true); $extensions = $this->cache->obtain_attach_extensions(true);
@ -168,7 +169,7 @@ class generate extends \phpbb\console\command\command
$io->newLine(2); $io->newLine(2);
$io->success($this->user->lang('CLI_THUMBNAIL_GENERATING_DONE')); $io->success($this->user->lang('CLI_THUMBNAIL_GENERATING_DONE'));
return 0; return symfony_command::SUCCESS;
} }
/** /**

View file

@ -12,6 +12,7 @@
*/ */
namespace phpbb\console\command\thumbnail; namespace phpbb\console\command\thumbnail;
use Symfony\Component\Console\Command\Command as symfony_command;
use Symfony\Component\Console\Input\InputInterface; use Symfony\Component\Console\Input\InputInterface;
use Symfony\Component\Console\Input\ArrayInput; use Symfony\Component\Console\Input\ArrayInput;
use Symfony\Component\Console\Output\OutputInterface; use Symfony\Component\Console\Output\OutputInterface;
@ -57,7 +58,7 @@ class recreate extends \phpbb\console\command\command
$input_delete = new ArrayInput($parameters); $input_delete = new ArrayInput($parameters);
$return = $this->getApplication()->run($input_delete, $output); $return = $this->getApplication()->run($input_delete, $output);
if ($return === 0) if ($return === symfony_command::SUCCESS)
{ {
$parameters['command'] = 'thumbnail:generate'; $parameters['command'] = 'thumbnail:generate';

View file

@ -17,6 +17,7 @@ use phpbb\config\config;
use phpbb\exception\exception_interface; use phpbb\exception\exception_interface;
use phpbb\language\language; use phpbb\language\language;
use phpbb\user; use phpbb\user;
use Symfony\Component\Console\Command\Command as symfony_command;
use Symfony\Component\Console\Input\InputInterface; use Symfony\Component\Console\Input\InputInterface;
use Symfony\Component\Console\Input\InputArgument; use Symfony\Component\Console\Input\InputArgument;
use Symfony\Component\Console\Input\InputOption; use Symfony\Component\Console\Input\InputOption;
@ -155,7 +156,7 @@ class check extends \phpbb\console\command\command
$this->display_versions($io, $updates_available); $this->display_versions($io, $updates_available);
} }
return 1; return symfony_command::FAILURE;
} }
else else
{ {
@ -164,14 +165,14 @@ class check extends \phpbb\console\command\command
$io->success($this->language->lang('UPDATE_NOT_NEEDED')); $io->success($this->language->lang('UPDATE_NOT_NEEDED'));
} }
return 0; return symfony_command::SUCCESS;
} }
} }
catch (\RuntimeException $e) catch (\RuntimeException $e)
{ {
$io->error($this->language->lang('EXTENSION_NOT_INSTALLED', $ext_name)); $io->error($this->language->lang('EXTENSION_NOT_INSTALLED', $ext_name));
return 1; return symfony_command::FAILURE;
} }
} }
@ -207,7 +208,7 @@ class check extends \phpbb\console\command\command
$this->display_versions($io, $updates_available); $this->display_versions($io, $updates_available);
} }
return 1; return symfony_command::FAILURE;
} }
else else
{ {
@ -216,7 +217,7 @@ class check extends \phpbb\console\command\command
$io->success($this->language->lang('UPDATE_NOT_NEEDED')); $io->success($this->language->lang('UPDATE_NOT_NEEDED'));
} }
return 0; return symfony_command::SUCCESS;
} }
} }
@ -292,7 +293,7 @@ class check extends \phpbb\console\command\command
$this->language->lang('LATEST_VERSION'), $this->language->lang('LATEST_VERSION'),
], $rows); ], $rows);
return 0; return symfony_command::SUCCESS;
} }
/** /**

View file

@ -20,6 +20,7 @@ use phpbb\log\log_interface;
use phpbb\notification\manager; use phpbb\notification\manager;
use phpbb\user; use phpbb\user;
use phpbb\user_loader; use phpbb\user_loader;
use Symfony\Component\Console\Command\Command as symfony_command;
use Symfony\Component\Console\Input\InputArgument; use Symfony\Component\Console\Input\InputArgument;
use Symfony\Component\Console\Input\InputInterface; use Symfony\Component\Console\Input\InputInterface;
use Symfony\Component\Console\Input\InputOption; use Symfony\Component\Console\Input\InputOption;
@ -137,19 +138,19 @@ class activate extends command
if ($user_row['user_id'] == ANONYMOUS) if ($user_row['user_id'] == ANONYMOUS)
{ {
$io->error($this->language->lang('NO_USER')); $io->error($this->language->lang('NO_USER'));
return 1; return symfony_command::FAILURE;
} }
// Check if the user is already active (or inactive) // Check if the user is already active (or inactive)
if ($mode == 'activate' && $user_row['user_type'] != USER_INACTIVE) if ($mode == 'activate' && $user_row['user_type'] != USER_INACTIVE)
{ {
$io->error($this->language->lang('CLI_DESCRIPTION_USER_ACTIVATE_ACTIVE')); $io->error($this->language->lang('CLI_DESCRIPTION_USER_ACTIVATE_ACTIVE'));
return 1; return symfony_command::FAILURE;
} }
else if ($mode == 'deactivate' && $user_row['user_type'] == USER_INACTIVE) else if ($mode == 'deactivate' && $user_row['user_type'] == USER_INACTIVE)
{ {
$io->error($this->language->lang('CLI_DESCRIPTION_USER_ACTIVATE_INACTIVE')); $io->error($this->language->lang('CLI_DESCRIPTION_USER_ACTIVATE_INACTIVE'));
return 1; return symfony_command::FAILURE;
} }
// Activate the user account // Activate the user account
@ -177,7 +178,7 @@ class activate extends command
$io->success($this->language->lang($msg)); $io->success($this->language->lang($msg));
return 0; return symfony_command::SUCCESS;
} }
/** /**

View file

@ -20,6 +20,7 @@ use phpbb\exception\runtime_exception;
use phpbb\language\language; use phpbb\language\language;
use phpbb\passwords\manager; use phpbb\passwords\manager;
use phpbb\user; use phpbb\user;
use Symfony\Component\Console\Command\Command as symfony_command;
use Symfony\Component\Console\Input\InputInterface; use Symfony\Component\Console\Input\InputInterface;
use Symfony\Component\Console\Input\InputOption; use Symfony\Component\Console\Input\InputOption;
use Symfony\Component\Console\Output\OutputInterface; use Symfony\Component\Console\Output\OutputInterface;
@ -142,7 +143,7 @@ class add extends command
catch (runtime_exception $e) catch (runtime_exception $e)
{ {
$io->error($e->getMessage()); $io->error($e->getMessage());
return 1; return symfony_command::FAILURE;
} }
$user_row = array( $user_row = array(
@ -161,7 +162,7 @@ class add extends command
if (!$user_id) if (!$user_id)
{ {
$io->error($this->language->lang('AUTH_NO_PROFILE_CREATED')); $io->error($this->language->lang('AUTH_NO_PROFILE_CREATED'));
return 1; return symfony_command::FAILURE;
} }
if ($input->getOption('send-email') && $this->config['email_enable']) if ($input->getOption('send-email') && $this->config['email_enable'])
@ -171,7 +172,7 @@ class add extends command
$io->success($this->language->lang('CLI_USER_ADD_SUCCESS', $this->data['username'])); $io->success($this->language->lang('CLI_USER_ADD_SUCCESS', $this->data['username']));
return 0; return symfony_command::SUCCESS;
} }
/** /**

View file

@ -18,6 +18,7 @@ use phpbb\language\language;
use phpbb\log\log_interface; use phpbb\log\log_interface;
use phpbb\user; use phpbb\user;
use phpbb\user_loader; use phpbb\user_loader;
use Symfony\Component\Console\Command\Command as symfony_command;
use Symfony\Component\Console\Input\InputArgument; use Symfony\Component\Console\Input\InputArgument;
use Symfony\Component\Console\Input\InputInterface; use Symfony\Component\Console\Input\InputInterface;
use Symfony\Component\Console\Input\InputOption; use Symfony\Component\Console\Input\InputOption;
@ -122,7 +123,7 @@ class delete extends command
if ($user_row['user_id'] == ANONYMOUS) if ($user_row['user_id'] == ANONYMOUS)
{ {
$io->error($this->language->lang('NO_USER')); $io->error($this->language->lang('NO_USER'));
return 1; return symfony_command::FAILURE;
} }
if (!function_exists('user_delete')) if (!function_exists('user_delete'))
@ -137,7 +138,7 @@ class delete extends command
$io->success($this->language->lang('USER_DELETED')); $io->success($this->language->lang('USER_DELETED'));
} }
return 0; return symfony_command::SUCCESS;
} }
/** /**

View file

@ -17,6 +17,7 @@ use phpbb\console\command\command;
use phpbb\db\driver\driver_interface; use phpbb\db\driver\driver_interface;
use phpbb\language\language; use phpbb\language\language;
use phpbb\user; use phpbb\user;
use Symfony\Component\Console\Command\Command as symfony_command;
use Symfony\Component\Console\Helper\ProgressBar; use Symfony\Component\Console\Helper\ProgressBar;
use Symfony\Component\Console\Input\InputInterface; use Symfony\Component\Console\Input\InputInterface;
use Symfony\Component\Console\Output\OutputInterface; use Symfony\Component\Console\Output\OutputInterface;
@ -98,7 +99,7 @@ class reclean extends command
$io->newLine(2); $io->newLine(2);
$io->success($this->language->lang('CLI_USER_RECLEAN_DONE', $this->processed)); $io->success($this->language->lang('CLI_USER_RECLEAN_DONE', $this->processed));
return 0; return symfony_command::SUCCESS;
} }
/** /**

View file

@ -18,7 +18,7 @@ use phpbb\lock\db;
use phpbb\request\request_interface; use phpbb\request\request_interface;
use Symfony\Component\EventDispatcher\EventSubscriberInterface; use Symfony\Component\EventDispatcher\EventSubscriberInterface;
use Symfony\Component\HttpKernel\KernelEvents; use Symfony\Component\HttpKernel\KernelEvents;
use Symfony\Component\HttpKernel\Event\PostResponseEvent; use Symfony\Component\HttpKernel\Event\TerminateEvent;
/** /**
* Event listener that executes cron tasks, after the response was served * Event listener that executes cron tasks, after the response was served
@ -57,9 +57,9 @@ class cron_runner_listener implements EventSubscriberInterface
/** /**
* Runs the cron job after the response was sent * Runs the cron job after the response was sent
* *
* @param PostResponseEvent $event The event * @param TerminateEvent $event The event
*/ */
public function on_kernel_terminate(PostResponseEvent $event) public function on_kernel_terminate(TerminateEvent $event)
{ {
$request = $event->getRequest(); $request = $event->getRequest();
$controller_name = $request->get('_route'); $controller_name = $request->get('_route');

View file

@ -26,8 +26,8 @@ class container_configuration implements ConfigurationInterface
*/ */
public function getConfigTreeBuilder() public function getConfigTreeBuilder()
{ {
$treeBuilder = new TreeBuilder(); $treeBuilder = new TreeBuilder('core');
$rootNode = $treeBuilder->root('core'); $rootNode = $treeBuilder->getRootNode();
$rootNode $rootNode
->children() ->children()
->booleanNode('require_dev_dependencies')->defaultValue(false)->end() ->booleanNode('require_dev_dependencies')->defaultValue(false)->end()

View file

@ -13,7 +13,7 @@
namespace phpbb\event; namespace phpbb\event;
use Symfony\Component\EventDispatcher\Event; use Symfony\Contracts\EventDispatcher\Event;
class data extends Event implements \ArrayAccess class data extends Event implements \ArrayAccess
{ {

View file

@ -14,7 +14,6 @@
namespace phpbb\event; namespace phpbb\event;
use Symfony\Component\EventDispatcher\EventDispatcher; use Symfony\Component\EventDispatcher\EventDispatcher;
use Symfony\Component\EventDispatcher\Event;
/** /**
* Extension of the Symfony EventDispatcher * Extension of the Symfony EventDispatcher
@ -43,26 +42,24 @@ class dispatcher extends EventDispatcher implements dispatcher_interface
public function trigger_event($eventName, $data = []) public function trigger_event($eventName, $data = [])
{ {
$event = new \phpbb\event\data($data); $event = new \phpbb\event\data($data);
$this->dispatch($eventName, $event); foreach ((array) $eventName as $name)
{
$this->dispatch($event, $name);
}
return $event->get_data_filtered(array_keys($data)); return $event->get_data_filtered(array_keys($data));
} }
/** /**
* {@inheritdoc} * {@inheritdoc}
*/ */
public function dispatch($eventName, Event $event = null) public function dispatch(object $event, string $eventName = null) : object
{ {
if ($this->disabled) if ($this->disabled)
{ {
return $event; return $event;
} }
foreach ((array) $eventName as $name) return parent::dispatch($event, $eventName);
{
$event = parent::dispatch($name, $event);
}
return $event;
} }
/** /**

View file

@ -18,7 +18,7 @@ use Symfony\Component\HttpFoundation\JsonResponse;
use Symfony\Component\HttpKernel\Exception\HttpExceptionInterface; use Symfony\Component\HttpKernel\Exception\HttpExceptionInterface;
use Symfony\Component\HttpKernel\Exception\NotFoundHttpException; use Symfony\Component\HttpKernel\Exception\NotFoundHttpException;
use Symfony\Component\HttpKernel\KernelEvents; use Symfony\Component\HttpKernel\KernelEvents;
use Symfony\Component\HttpKernel\Event\GetResponseForExceptionEvent; use Symfony\Component\HttpKernel\Event\ExceptionEvent;
use Symfony\Component\HttpFoundation\Response; use Symfony\Component\HttpFoundation\Response;
class kernel_exception_subscriber implements EventSubscriberInterface class kernel_exception_subscriber implements EventSubscriberInterface
@ -65,12 +65,12 @@ class kernel_exception_subscriber implements EventSubscriberInterface
/** /**
* This listener is run when the KernelEvents::EXCEPTION event is triggered * This listener is run when the KernelEvents::EXCEPTION event is triggered
* *
* @param GetResponseForExceptionEvent $event * @param ExceptionEvent $event
* @return null * @return null
*/ */
public function on_kernel_exception(GetResponseForExceptionEvent $event) public function on_kernel_exception(ExceptionEvent $event)
{ {
$exception = $event->getException(); $exception = $event->getThrowable();
$message = $exception->getMessage(); $message = $exception->getMessage();
$this->type_caster->set_var($message, $message, 'string', true, false); $this->type_caster->set_var($message, $message, 'string', true, false);

View file

@ -15,7 +15,7 @@ namespace phpbb\event;
use Symfony\Component\EventDispatcher\EventSubscriberInterface; use Symfony\Component\EventDispatcher\EventSubscriberInterface;
use Symfony\Component\HttpKernel\KernelEvents; use Symfony\Component\HttpKernel\KernelEvents;
use Symfony\Component\HttpKernel\Event\PostResponseEvent; use Symfony\Component\HttpKernel\Event\TerminateEvent;
class kernel_terminate_subscriber implements EventSubscriberInterface class kernel_terminate_subscriber implements EventSubscriberInterface
{ {
@ -24,10 +24,10 @@ class kernel_terminate_subscriber implements EventSubscriberInterface
* This comes after a Response has been sent to the server; this is * This comes after a Response has been sent to the server; this is
* primarily cleanup stuff. * primarily cleanup stuff.
* *
* @param PostResponseEvent $event * @param TerminateEvent $event
* @return void * @return void
*/ */
public function on_kernel_terminate(PostResponseEvent $event) public function on_kernel_terminate(TerminateEvent $event)
{ {
garbage_collection(); garbage_collection();

View file

@ -203,16 +203,20 @@ class php_exporter
{ {
$event_line = false; $event_line = false;
$found_trigger_event = strpos($this->file_lines[$i], 'dispatcher->trigger_event('); $found_trigger_event = strpos($this->file_lines[$i], 'dispatcher->trigger_event(');
$found_use_vars = strpos($this->file_lines[$i], ', compact($vars)');
$arguments = array(); $arguments = array();
if ($found_trigger_event !== false) if ($found_trigger_event !== false)
{ {
$event_line = $i; $event_line = $i;
$this->set_current_event($this->get_event_name($event_line, false), $event_line); $this->set_current_event($this->get_event_name($event_line, false), $event_line);
// Find variables of the event if ($found_use_vars)
$arguments = $this->get_vars_from_array(); {
$doc_vars = $this->get_vars_from_docblock(); // Find variables of the event
$this->validate_vars_docblock_array($arguments, $doc_vars); $arguments = $this->get_vars_from_array();
$doc_vars = $this->get_vars_from_docblock();
$this->validate_vars_docblock_array($arguments, $doc_vars);
}
} }
else else
{ {
@ -346,10 +350,10 @@ class php_exporter
} }
else else
{ {
$regex = '#extract\(\$[a-z](?:[a-z0-9_]|->)*'; $regex = '#(?:extract\()?\$[a-z](?:[a-z0-9_]|->)*';
$regex .= '->trigger_event\((\[)?'; $regex .= '->trigger_event\((\[)?';
$regex .= '\'' . $this->preg_match_event_name() . '(?(1)\', \'(?2))+\''; $regex .= '\'' . $this->preg_match_event_name() . '(?(1)\', \'(?2))+\'';
$regex .= '(?(1)\]), compact\(\$vars\)\)\);#'; $regex .= '(?(1)\])(?:, compact\(\$vars\)\))?\);#';
} }
$match = array(); $match = array();

View file

@ -212,6 +212,18 @@ class helper
*/ */
public static function make_path_relative($end_path, $start_path) public static function make_path_relative($end_path, $start_path)
{ {
// Ensure paths are absolute as passing relative paths to the
// Symsony's Filesystem::makePathRelative() method is removed since Symfony 4.0
if (!self::is_absolute_path($end_path))
{
$end_path = self::phpbb_own_realpath($end_path);
}
if (!self::is_absolute_path($start_path))
{
$start_path = self::phpbb_own_realpath($start_path);
}
return self::get_symfony_filesystem()->makePathRelative($end_path, $start_path); return self::get_symfony_filesystem()->makePathRelative($end_path, $start_path);
} }

View file

@ -161,7 +161,7 @@ class container_factory
// Setting request is required for the compatibility globals as those are generated from // Setting request is required for the compatibility globals as those are generated from
// this container // this container
if (!$this->container->isFrozen()) if (!$this->container->isCompiled())
{ {
$this->container->register('request')->setSynthetic(true); $this->container->register('request')->setSynthetic(true);
$this->container->register('language')->setSynthetic(true); $this->container->register('language')->setSynthetic(true);

View file

@ -49,6 +49,7 @@ class guesser
{ {
$is_supported = (method_exists($guesser, 'is_supported')) ? 'is_supported' : ''; $is_supported = (method_exists($guesser, 'is_supported')) ? 'is_supported' : '';
$is_supported = (method_exists($guesser, 'isSupported')) ? 'isSupported' : $is_supported; $is_supported = (method_exists($guesser, 'isSupported')) ? 'isSupported' : $is_supported;
$is_supported = (method_exists($guesser, 'isGuesserSupported')) ? 'isGuesserSupported' : $is_supported;
if (empty($is_supported)) if (empty($is_supported))
{ {
@ -117,9 +118,13 @@ class guesser
$mimetype = 'application/octet-stream'; $mimetype = 'application/octet-stream';
$args = (array) func_get_args();
foreach ($this->guessers as $guesser) foreach ($this->guessers as $guesser)
{ {
$mimetype_guess = $guesser->guess($file, $file_name); $guess = (method_exists($guesser, 'guess')) ? 'guess' : '';
$guess = (method_exists($guesser, 'guessMimeType')) ? 'guessMimeType' : $guess;
$mimetype_guess = $guesser->$guess(...$args);
$mimetype = $this->choose_mime_type($mimetype, $mimetype_guess); $mimetype = $this->choose_mime_type($mimetype, $mimetype_guess);
} }

View file

@ -20,9 +20,11 @@ use Symfony\Component\DependencyInjection\ContainerInterface;
use Symfony\Component\DependencyInjection\Exception\ParameterNotFoundException; use Symfony\Component\DependencyInjection\Exception\ParameterNotFoundException;
use Symfony\Component\DependencyInjection\Exception\RuntimeException; use Symfony\Component\DependencyInjection\Exception\RuntimeException;
use Symfony\Component\Filesystem\Exception\IOException; use Symfony\Component\Filesystem\Exception\IOException;
use Symfony\Component\Routing\Generator\Dumper\PhpGeneratorDumper; use Symfony\Component\Routing\Generator\Dumper\CompiledUrlGeneratorDumper;
use Symfony\Component\Routing\Generator\CompiledUrlGenerator;
use Symfony\Component\Routing\Generator\UrlGenerator; use Symfony\Component\Routing\Generator\UrlGenerator;
use Symfony\Component\Routing\Matcher\Dumper\PhpMatcherDumper; use Symfony\Component\Routing\Matcher\Dumper\CompiledUrlMatcherDumper;
use Symfony\Component\Routing\Matcher\CompiledUrlMatcher;
use Symfony\Component\Routing\Matcher\UrlMatcher; use Symfony\Component\Routing\Matcher\UrlMatcher;
use Symfony\Component\Routing\RequestContext; use Symfony\Component\Routing\RequestContext;
use Symfony\Component\Routing\RouteCollection; use Symfony\Component\Routing\RouteCollection;
@ -217,19 +219,12 @@ class router implements RouterInterface
$cache = new ConfigCache("{$this->cache_dir}url_matcher.{$this->php_ext}", $this->debug_url_matcher); $cache = new ConfigCache("{$this->cache_dir}url_matcher.{$this->php_ext}", $this->debug_url_matcher);
if (!$cache->isFresh()) if (!$cache->isFresh())
{ {
$dumper = new PhpMatcherDumper($this->get_routes()); $dumper = new CompiledUrlMatcherDumper($this->get_routes());
$cache->write($dumper->dump(), $this->get_routes()->getResources());
$options = array(
'class' => 'phpbb_url_matcher',
'base_class' => 'Symfony\\Component\\Routing\\Matcher\\UrlMatcher',
);
$cache->write($dumper->dump($options), $this->get_routes()->getResources());
} }
require_once($cache->getPath()); $compiled_routes = require_once($cache->getPath());
$this->matcher = new CompiledUrlMatcher($compiled_routes, $this->context);
$this->matcher = new \phpbb_url_matcher($this->context);
} }
catch (IOException $e) catch (IOException $e)
{ {
@ -272,19 +267,12 @@ class router implements RouterInterface
$cache = new ConfigCache("{$this->cache_dir}url_generator.{$this->php_ext}", $this->debug_url_generator); $cache = new ConfigCache("{$this->cache_dir}url_generator.{$this->php_ext}", $this->debug_url_generator);
if (!$cache->isFresh()) if (!$cache->isFresh())
{ {
$dumper = new PhpGeneratorDumper($this->get_routes()); $dumper = new CompiledUrlGeneratorDumper($this->get_routes());
$cache->write($dumper->dump(), $this->get_routes()->getResources());
$options = array(
'class' => 'phpbb_url_generator',
'base_class' => 'Symfony\\Component\\Routing\\Generator\\UrlGenerator',
);
$cache->write($dumper->dump($options), $this->get_routes()->getResources());
} }
require_once($cache->getPath()); $compiled_routes = require_once($cache->getPath());
$this->generator = new CompiledUrlGenerator($compiled_routes, $this->context);
$this->generator = new \phpbb_url_generator($this->context);
} }
catch (IOException $e) catch (IOException $e)
{ {

View file

@ -1054,7 +1054,7 @@ class session
* @event core.session_gc_after * @event core.session_gc_after
* @since 3.1.6-RC1 * @since 3.1.6-RC1
*/ */
$phpbb_dispatcher->dispatch('core.session_gc_after'); $phpbb_dispatcher->trigger_event('core.session_gc_after');
return; return;
} }

View file

@ -13,7 +13,9 @@
namespace phpbb\template\twig\extension; namespace phpbb\template\twig\extension;
class avatar extends \Twig_Extension use Twig\Extension\AbstractExtension;
class avatar extends AbstractExtension
{ {
/** /**
* Get the name of this extension * Get the name of this extension

View file

@ -13,7 +13,9 @@
namespace phpbb\template\twig\extension; namespace phpbb\template\twig\extension;
class config extends \Twig_Extension use Twig\Extension\AbstractExtension;
class config extends AbstractExtension
{ {
/** @var \phpbb\config\config */ /** @var \phpbb\config\config */
protected $config; protected $config;

Some files were not shown because too many files have changed in this diff Show more