Skip to content

Commit

Permalink
[ticket/13762] Moving language related functionality into a separate …
Browse files Browse the repository at this point in the history
…class

PHPBB3-13762
  • Loading branch information
CHItA committed Apr 19, 2015
1 parent ecc65f5 commit 2d9c982
Show file tree
Hide file tree
Showing 73 changed files with 1,737 additions and 727 deletions.
2 changes: 1 addition & 1 deletion phpBB/composer.json
Expand Up @@ -34,6 +34,7 @@
"symfony/dependency-injection": "2.7.*@dev",
"symfony/event-dispatcher": "2.7.*@dev",
"symfony/filesystem": "2.7.*@dev",
"symfony/finder": "2.7.*@dev",
"symfony/http-kernel": "2.7.*@dev",
"symfony/routing": "2.7.*@dev",
"symfony/security-core": "2.7.*@dev",
Expand All @@ -53,7 +54,6 @@
"symfony/css-selector": "2.7.*@dev",
"symfony/debug": "2.7.*@dev",
"symfony/dom-crawler": "2.7.*@dev",
"symfony/finder": "2.7.*@dev",
"symfony/http-foundation": "2.7.*@dev",
"symfony/process": "2.7.*@dev"
}
Expand Down
2 changes: 1 addition & 1 deletion phpBB/config/default/container/services.yml
Expand Up @@ -9,6 +9,7 @@ imports:
- { resource: services_event.yml }
- { resource: services_feed.yml }
- { resource: services_help.yml }
- { resource: services_language.yml }
- { resource: services_mimetype_guesser.yml }
- { resource: services_notification.yml }
- { resource: services_password.yml }
Expand Down Expand Up @@ -98,7 +99,6 @@ services:
- @dbal.conn
- @config
- @filesystem
- @user
- %tables.ext%
- %core.root_path%
- %core.php_ext%
Expand Down
22 changes: 22 additions & 0 deletions phpBB/config/default/container/services_language.yml
@@ -0,0 +1,22 @@
services:
language.helper.language_file:
class: phpbb\language\language_file_helper
arguments:
- %core.root_path%

language:
class: phpbb\language\language
arguments:
- @language.loader

language.loader_abstract:
abstract: true
class: phpbb\language\language_file_loader
arguments:
- %core.root_path%
- %core.php_ext%

language.loader:
parent: language.loader_abstract
calls:
- [set_extension_manager, ["@ext.manager"]]
1 change: 1 addition & 0 deletions phpBB/config/default/container/services_user.yml
Expand Up @@ -8,6 +8,7 @@ services:
user:
class: phpbb\user
arguments:
- @language
- %datetime.class%

user_loader:
Expand Down
29 changes: 20 additions & 9 deletions phpBB/includes/acp/acp_extensions.php
Expand Up @@ -70,15 +70,17 @@ function main()
// If they've specified an extension, let's load the metadata manager and validate it.
if ($ext_name)
{
$md_manager = new \phpbb\extension\metadata_manager($ext_name, $config, $phpbb_extension_manager, $template, $user, $phpbb_root_path);
$md_manager = new \phpbb\extension\metadata_manager($ext_name, $config, $phpbb_extension_manager, $template, $phpbb_root_path);

try
{
$md_manager->get_metadata('all');
}
catch(\phpbb\extension\exception $e)
catch (\phpbb\extension\exception $e)
{
trigger_error($e, E_USER_WARNING);
$prepare_parameters = array_merge(array($e->getMessage()), $e->get_parameters());
$message = call_user_func_array(array($this->user, 'lang'), $prepare_parameters);
trigger_error($message, E_USER_WARNING);
}
}

Expand Down Expand Up @@ -352,10 +354,13 @@ public function list_enabled_exts(\phpbb\extension\manager $phpbb_extension_mana
$enabled_extension_meta_data[$name]['S_VERSIONCHECK'] = true;
$enabled_extension_meta_data[$name]['U_VERSIONCHECK_FORCE'] = $this->u_action . '&action=details&versioncheck_force=1&ext_name=' . urlencode($md_manager->get_metadata('name'));
}
catch(\phpbb\extension\exception $e)
catch (\phpbb\extension\exception $e)
{
$prepare_parameters = array_merge(array($e->getMessage()), $e->get_parameters());
$message = call_user_func_array(array($this->user, 'lang'), $prepare_parameters);

$this->template->assign_block_vars('disabled', array(
'META_DISPLAY_NAME' => $this->user->lang('EXTENSION_INVALID_LIST', $name, $e),
'META_DISPLAY_NAME' => $this->user->lang('EXTENSION_INVALID_LIST', $name, $message),
'S_VERSIONCHECK' => false,
));
}
Expand Down Expand Up @@ -408,10 +413,13 @@ public function list_disabled_exts(\phpbb\extension\manager $phpbb_extension_man
$disabled_extension_meta_data[$name]['S_VERSIONCHECK'] = true;
$disabled_extension_meta_data[$name]['U_VERSIONCHECK_FORCE'] = $this->u_action . '&action=details&versioncheck_force=1&ext_name=' . urlencode($md_manager->get_metadata('name'));
}
catch(\phpbb\extension\exception $e)
catch (\phpbb\extension\exception $e)
{
$prepare_parameters = array_merge(array($e->getMessage()), $e->get_parameters());
$message = call_user_func_array(array($this->user, 'lang'), $prepare_parameters);

$this->template->assign_block_vars('disabled', array(
'META_DISPLAY_NAME' => $this->user->lang('EXTENSION_INVALID_LIST', $name, $e),
'META_DISPLAY_NAME' => $this->user->lang('EXTENSION_INVALID_LIST', $name, $message),
'S_VERSIONCHECK' => false,
));
}
Expand Down Expand Up @@ -467,10 +475,13 @@ public function list_available_exts(\phpbb\extension\manager $phpbb_extension_ma
$available_extension_meta_data[$name]['S_VERSIONCHECK'] = true;
$available_extension_meta_data[$name]['U_VERSIONCHECK_FORCE'] = $this->u_action . '&action=details&versioncheck_force=1&ext_name=' . urlencode($md_manager->get_metadata('name'));
}
catch(\phpbb\extension\exception $e)
catch (\phpbb\extension\exception $e)
{
$prepare_parameters = array_merge(array($e->getMessage()), $e->get_parameters());
$message = call_user_func_array(array($this->user, 'lang'), $prepare_parameters);

$this->template->assign_block_vars('disabled', array(
'META_DISPLAY_NAME' => $this->user->lang('EXTENSION_INVALID_LIST', $name, $e),
'META_DISPLAY_NAME' => $this->user->lang('EXTENSION_INVALID_LIST', $name, $message),
'S_VERSIONCHECK' => false,
));
}
Expand Down
38 changes: 10 additions & 28 deletions phpBB/includes/acp/acp_language.php
Expand Up @@ -31,7 +31,7 @@ class acp_language

function main($id, $mode)
{
global $config, $db, $user, $template, $phpbb_log;
global $config, $db, $user, $template, $phpbb_log, $phpbb_container;
global $phpbb_root_path, $phpEx, $request;

include_once($phpbb_root_path . 'includes/functions_user.' . $phpEx);
Expand Down Expand Up @@ -377,37 +377,19 @@ function main($id, $mode)
$db->sql_freeresult($result);

$new_ary = $iso = array();
$dp = @opendir("{$phpbb_root_path}language");

if ($dp)
/** @var \phpbb\language\language_file_helper $language_helper */
$language_helper = $phpbb_container->get('language.helper.language_file');
$iso = $language_helper->get_available_languages();

foreach ($iso as $lang_array)
{
while (($file = readdir($dp)) !== false)
{
if ($file[0] == '.' || !is_dir($phpbb_root_path . 'language/' . $file))
{
continue;
}
$lang_iso = $lang_array['iso'];

if (file_exists("{$phpbb_root_path}language/$file/iso.txt"))
{
if (!in_array($file, $installed))
{
if ($iso = file("{$phpbb_root_path}language/$file/iso.txt"))
{
if (sizeof($iso) == 3)
{
$new_ary[$file] = array(
'iso' => $file,
'name' => trim($iso[0]),
'local_name'=> trim($iso[1]),
'author' => trim($iso[2])
);
}
}
}
}
if (!in_array($lang_iso, $installed))
{
$new_ary[$lang_iso] = $lang_array;
}
closedir($dp);
}

unset($installed);
Expand Down

0 comments on commit 2d9c982

Please sign in to comment.