mirror of
https://github.com/phpbb/phpbb.git
synced 2025-06-28 06:08:52 +00:00
[ticket/11458] Use finder to get all permission language files
PHPBB3-11458
This commit is contained in:
parent
109b1a3a95
commit
a50d23078e
1 changed files with 12 additions and 35 deletions
|
@ -3042,50 +3042,27 @@ function add_permission_language()
|
||||||
{
|
{
|
||||||
global $user, $phpEx, $phpbb_extension_manager;
|
global $user, $phpEx, $phpbb_extension_manager;
|
||||||
|
|
||||||
// First of all, our own file. We need to include it as the first file because it presets all relevant variables.
|
// add permission language files from extensions
|
||||||
$user->add_lang('acp/permissions_phpbb');
|
|
||||||
|
|
||||||
$files_to_add = array();
|
|
||||||
|
|
||||||
// Now search in acp and mods folder for permissions_ files.
|
|
||||||
foreach (array('acp/', 'mods/') as $path)
|
|
||||||
{
|
|
||||||
$dh = @opendir($user->lang_path . $user->lang_name . '/' . $path);
|
|
||||||
|
|
||||||
if ($dh)
|
|
||||||
{
|
|
||||||
while (($file = readdir($dh)) !== false)
|
|
||||||
{
|
|
||||||
if ($file !== 'permissions_phpbb.' . $phpEx && strpos($file, 'permissions_') === 0 && substr($file, -(strlen($phpEx) + 1)) === '.' . $phpEx)
|
|
||||||
{
|
|
||||||
$files_to_add[] = $path . substr($file, 0, -(strlen($phpEx) + 1));
|
|
||||||
}
|
|
||||||
}
|
|
||||||
closedir($dh);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
// find permission language files from extensions
|
|
||||||
$finder = $phpbb_extension_manager->get_finder();
|
$finder = $phpbb_extension_manager->get_finder();
|
||||||
|
|
||||||
$ext_lang_files = $finder
|
$lang_files = $finder
|
||||||
->prefix('permissions_')
|
->prefix('permissions_')
|
||||||
->suffix(".$phpEx")
|
->suffix(".$phpEx")
|
||||||
|
->core_path('language/' . $user->lang_name . '/')
|
||||||
->extension_directory('/language/' . $user->lang_name)
|
->extension_directory('/language/' . $user->lang_name)
|
||||||
->find();
|
->find();
|
||||||
|
|
||||||
foreach ($ext_lang_files as $lang_file => $ext_name)
|
foreach ($lang_files as $lang_file => $ext_name)
|
||||||
|
{
|
||||||
|
if ($ext_name === '/')
|
||||||
|
{
|
||||||
|
$user->add_lang($lang_file);
|
||||||
|
}
|
||||||
|
else
|
||||||
{
|
{
|
||||||
$user->add_lang_ext($ext_name, $lang_file);
|
$user->add_lang_ext($ext_name, $lang_file);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!sizeof($files_to_add))
|
|
||||||
{
|
|
||||||
return false;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
$user->add_lang($files_to_add);
|
|
||||||
return true;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
Loading…
Add table
Reference in a new issue