mirror of
https://github.com/phpbb/phpbb.git
synced 2025-06-28 06:08:52 +00:00
The same way we allow defining a custom template/style path we now allow this for languages too.
This will allow applications to define their own language folder for certain parts for example. Callable by $user->set_custom_lang_path({new_path}) git-svn-id: file:///svn/phpbb/branches/phpBB-3_0_0@8782 89ea8834-ac86-4346-8a33-228a782c2dd0
This commit is contained in:
parent
6c763cd8b6
commit
d7fa3f83ce
6 changed files with 63 additions and 43 deletions
|
@ -97,12 +97,13 @@
|
||||||
<li>[Fix] Added VST - Venezuela Standard Time (Bug #30545).</li>
|
<li>[Fix] Added VST - Venezuela Standard Time (Bug #30545).</li>
|
||||||
<li>[Fix] Close DB connections in file.php.</li>
|
<li>[Fix] Close DB connections in file.php.</li>
|
||||||
<li>[Change] Set headers to allow browsers to better cache attachments (Mylek pointed this out)</li>
|
<li>[Change] Set headers to allow browsers to better cache attachments (Mylek pointed this out)</li>
|
||||||
<li>[Change] Hide parameters if they equal the default (Bug #31185)</li>
|
<li>[Change] Hide parameters if they equal the default in viewforum/viewtopic (Bug #31185)</li>
|
||||||
<li>[Change] Various improvements to group listings (Bugs #32155, #32145, #32085, #26675, #26265)</li>
|
<li>[Change] Various improvements to group listings (Bugs #32155, #32145, #32085, #26675, #26265)</li>
|
||||||
<li>[Fix] Correctly return results for nested cached queries (Bug #31445 - Patch by faw).</li>
|
<li>[Fix] Correctly return results for nested cached queries (Bug #31445 - Patch by faw).</li>
|
||||||
|
<li>[Feature] Allow setting custom language path through $user->set_custom_lang_path(). $user->lang_path now also do not include the user language, but only the path.</li>
|
||||||
|
|
||||||
|
|
||||||
</ul>
|
</ul>
|
||||||
|
|
||||||
<a name="v301"></a><h3>1.ii. Changes since 3.0.1</h3>
|
<a name="v301"></a><h3>1.ii. Changes since 3.0.1</h3>
|
||||||
|
|
||||||
|
|
|
@ -3034,7 +3034,7 @@ function add_permission_language()
|
||||||
// Now search in acp and mods folder for permissions_ files.
|
// Now search in acp and mods folder for permissions_ files.
|
||||||
foreach (array('acp/', 'mods/') as $path)
|
foreach (array('acp/', 'mods/') as $path)
|
||||||
{
|
{
|
||||||
$dh = @opendir($user->lang_path . $path);
|
$dh = @opendir($user->lang_path . $user->lang_name . '/' . $path);
|
||||||
|
|
||||||
if ($dh)
|
if ($dh)
|
||||||
{
|
{
|
||||||
|
|
|
@ -818,11 +818,11 @@ class p_master
|
||||||
{
|
{
|
||||||
global $user, $phpEx;
|
global $user, $phpEx;
|
||||||
|
|
||||||
if (file_exists($user->lang_path . 'mods'))
|
if (file_exists($user->lang_path . $user->lang_name . '/mods'))
|
||||||
{
|
{
|
||||||
$add_files = array();
|
$add_files = array();
|
||||||
|
|
||||||
$dir = @opendir($user->lang_path . 'mods');
|
$dir = @opendir($user->lang_path . $user->lang_name . '/mods');
|
||||||
|
|
||||||
if ($dir)
|
if ($dir)
|
||||||
{
|
{
|
||||||
|
|
|
@ -52,10 +52,10 @@ class search_backend
|
||||||
|
|
||||||
$words = array();
|
$words = array();
|
||||||
|
|
||||||
if (file_exists("{$user->lang_path}/search_ignore_words.$phpEx"))
|
if (file_exists("{$user->lang_path}{$user->lang_name}/search_ignore_words.$phpEx"))
|
||||||
{
|
{
|
||||||
// include the file containing ignore words
|
// include the file containing ignore words
|
||||||
include("{$user->lang_path}/search_ignore_words.$phpEx");
|
include("{$user->lang_path}{$user->lang_name}/search_ignore_words.$phpEx");
|
||||||
}
|
}
|
||||||
|
|
||||||
$this->ignore_words = $words;
|
$this->ignore_words = $words;
|
||||||
|
@ -74,10 +74,10 @@ class search_backend
|
||||||
|
|
||||||
$synonyms = array();
|
$synonyms = array();
|
||||||
|
|
||||||
if (file_exists("{$user->lang_path}/search_synonyms.$phpEx"))
|
if (file_exists("{$user->lang_path}{$user->lang_name}/search_synonyms.$phpEx"))
|
||||||
{
|
{
|
||||||
// include the file containing synonyms
|
// include the file containing synonyms
|
||||||
include("{$user->lang_path}/search_synonyms.$phpEx");
|
include("{$user->lang_path}{$user->lang_name}/search_synonyms.$phpEx");
|
||||||
}
|
}
|
||||||
|
|
||||||
$this->match_synonym = array_keys($synonyms);
|
$this->match_synonym = array_keys($synonyms);
|
||||||
|
|
|
@ -1382,7 +1382,7 @@ class user extends session
|
||||||
var $timezone;
|
var $timezone;
|
||||||
var $dst;
|
var $dst;
|
||||||
|
|
||||||
var $lang_name;
|
var $lang_name = false;
|
||||||
var $lang_id = false;
|
var $lang_id = false;
|
||||||
var $lang_path;
|
var $lang_path;
|
||||||
var $img_lang;
|
var $img_lang;
|
||||||
|
@ -1392,6 +1392,32 @@ class user extends session
|
||||||
var $keyoptions = array('viewimg' => 0, 'viewflash' => 1, 'viewsmilies' => 2, 'viewsigs' => 3, 'viewavatars' => 4, 'viewcensors' => 5, 'attachsig' => 6, 'bbcode' => 8, 'smilies' => 9, 'popuppm' => 10);
|
var $keyoptions = array('viewimg' => 0, 'viewflash' => 1, 'viewsmilies' => 2, 'viewsigs' => 3, 'viewavatars' => 4, 'viewcensors' => 5, 'attachsig' => 6, 'bbcode' => 8, 'smilies' => 9, 'popuppm' => 10);
|
||||||
var $keyvalues = array();
|
var $keyvalues = array();
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Constructor to set the lang path
|
||||||
|
*/
|
||||||
|
function user()
|
||||||
|
{
|
||||||
|
global $phpbb_root_path;
|
||||||
|
|
||||||
|
$this->lang_path = $phpbb_root_path . 'language/';
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Function to set custom language path (able to use directory outside of phpBB)
|
||||||
|
*
|
||||||
|
* @param string $lang_path New language path used.
|
||||||
|
* @access public
|
||||||
|
*/
|
||||||
|
function set_custom_lang_path($lang_path)
|
||||||
|
{
|
||||||
|
$this->lang_path = $lang_path;
|
||||||
|
|
||||||
|
if (substr($this->lang_path, -1) != '/')
|
||||||
|
{
|
||||||
|
$this->lang_path .= '/';
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Setup basic user-specific items (style, language, ...)
|
* Setup basic user-specific items (style, language, ...)
|
||||||
*/
|
*/
|
||||||
|
@ -1401,8 +1427,7 @@ class user extends session
|
||||||
|
|
||||||
if ($this->data['user_id'] != ANONYMOUS)
|
if ($this->data['user_id'] != ANONYMOUS)
|
||||||
{
|
{
|
||||||
$this->lang_name = (file_exists($phpbb_root_path . 'language/' . $this->data['user_lang'] . "/common.$phpEx")) ? $this->data['user_lang'] : basename($config['default_lang']);
|
$this->lang_name = (file_exists($this->lang_path . $this->data['user_lang'] . "/common.$phpEx")) ? $this->data['user_lang'] : basename($config['default_lang']);
|
||||||
$this->lang_path = $phpbb_root_path . 'language/' . $this->lang_name . '/';
|
|
||||||
|
|
||||||
$this->date_format = $this->data['user_dateformat'];
|
$this->date_format = $this->data['user_dateformat'];
|
||||||
$this->timezone = $this->data['user_timezone'] * 3600;
|
$this->timezone = $this->data['user_timezone'] * 3600;
|
||||||
|
@ -1411,7 +1436,6 @@ class user extends session
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
$this->lang_name = basename($config['default_lang']);
|
$this->lang_name = basename($config['default_lang']);
|
||||||
$this->lang_path = $phpbb_root_path . 'language/' . $this->lang_name . '/';
|
|
||||||
$this->date_format = $config['default_dateformat'];
|
$this->date_format = $config['default_dateformat'];
|
||||||
$this->timezone = $config['board_timezone'] * 3600;
|
$this->timezone = $config['board_timezone'] * 3600;
|
||||||
$this->dst = $config['board_dst'] * 3600;
|
$this->dst = $config['board_dst'] * 3600;
|
||||||
|
@ -1431,10 +1455,9 @@ class user extends session
|
||||||
$accept_lang = substr($accept_lang, 0, 2) . '_' . strtoupper(substr($accept_lang, 3, 2));
|
$accept_lang = substr($accept_lang, 0, 2) . '_' . strtoupper(substr($accept_lang, 3, 2));
|
||||||
$accept_lang = basename($accept_lang);
|
$accept_lang = basename($accept_lang);
|
||||||
|
|
||||||
if (file_exists($phpbb_root_path . 'language/' . $accept_lang . "/common.$phpEx"))
|
if (file_exists($this->lang_path . $accept_lang . "/common.$phpEx"))
|
||||||
{
|
{
|
||||||
$this->lang_name = $config['default_lang'] = $accept_lang;
|
$this->lang_name = $config['default_lang'] = $accept_lang;
|
||||||
$this->lang_path = $phpbb_root_path . 'language/' . $accept_lang . '/';
|
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
|
@ -1443,10 +1466,9 @@ class user extends session
|
||||||
$accept_lang = substr($accept_lang, 0, 2);
|
$accept_lang = substr($accept_lang, 0, 2);
|
||||||
$accept_lang = basename($accept_lang);
|
$accept_lang = basename($accept_lang);
|
||||||
|
|
||||||
if (file_exists($phpbb_root_path . 'language/' . $accept_lang . "/common.$phpEx"))
|
if (file_exists($this->lang_path . $accept_lang . "/common.$phpEx"))
|
||||||
{
|
{
|
||||||
$this->lang_name = $config['default_lang'] = $accept_lang;
|
$this->lang_name = $config['default_lang'] = $accept_lang;
|
||||||
$this->lang_path = $phpbb_root_path . 'language/' . $accept_lang . '/';
|
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -1458,9 +1480,9 @@ class user extends session
|
||||||
// We include common language file here to not load it every time a custom language file is included
|
// We include common language file here to not load it every time a custom language file is included
|
||||||
$lang = &$this->lang;
|
$lang = &$this->lang;
|
||||||
|
|
||||||
if ((@include $this->lang_path . "common.$phpEx") === false)
|
if ((@include $this->lang_path . $this->lang_name . "/common.$phpEx") === false)
|
||||||
{
|
{
|
||||||
die('Language file ' . $this->lang_name . "/common.$phpEx" . " couldn't be opened.");
|
die('Language file ' . $this->lang_path . $this->lang_name . "/common.$phpEx" . " couldn't be opened.");
|
||||||
}
|
}
|
||||||
|
|
||||||
$this->add_lang($lang_set);
|
$this->add_lang($lang_set);
|
||||||
|
@ -1830,12 +1852,10 @@ class user extends session
|
||||||
{
|
{
|
||||||
global $phpEx;
|
global $phpEx;
|
||||||
|
|
||||||
// Make sure the language path is set (if the user setup did not happen it is not set)
|
// Make sure the language name is set (if the user setup did not happen it is not set)
|
||||||
if (!$this->lang_path)
|
if (!$this->lang_name)
|
||||||
{
|
{
|
||||||
global $phpbb_root_path, $config;
|
$this->lang_name = basename($config['default_lang']);
|
||||||
|
|
||||||
$this->lang_path = $phpbb_root_path . 'language/' . basename($config['default_lang']) . '/';
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// $lang == $this->lang
|
// $lang == $this->lang
|
||||||
|
@ -1845,11 +1865,11 @@ class user extends session
|
||||||
{
|
{
|
||||||
if ($use_help && strpos($lang_file, '/') !== false)
|
if ($use_help && strpos($lang_file, '/') !== false)
|
||||||
{
|
{
|
||||||
$language_filename = $this->lang_path . substr($lang_file, 0, stripos($lang_file, '/') + 1) . 'help_' . substr($lang_file, stripos($lang_file, '/') + 1) . '.' . $phpEx;
|
$language_filename = $this->lang_path . $this->lang_name . '/' . substr($lang_file, 0, stripos($lang_file, '/') + 1) . 'help_' . substr($lang_file, stripos($lang_file, '/') + 1) . '.' . $phpEx;
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
$language_filename = $this->lang_path . (($use_help) ? 'help_' : '') . $lang_file . '.' . $phpEx;
|
$language_filename = $this->lang_path . $this->lang_name . '/' . (($use_help) ? 'help_' : '') . $lang_file . '.' . $phpEx;
|
||||||
}
|
}
|
||||||
|
|
||||||
if ((@include $language_filename) === false)
|
if ((@include $language_filename) === false)
|
||||||
|
|
|
@ -58,7 +58,7 @@ class ucp_register
|
||||||
{
|
{
|
||||||
$use_lang = ($change_lang) ? basename($change_lang) : basename($user_lang);
|
$use_lang = ($change_lang) ? basename($change_lang) : basename($user_lang);
|
||||||
|
|
||||||
if (file_exists($phpbb_root_path . 'language/' . $use_lang . '/'))
|
if (file_exists($user->lang_path . $use_lang . '/'))
|
||||||
{
|
{
|
||||||
if ($change_lang)
|
if ($change_lang)
|
||||||
{
|
{
|
||||||
|
@ -69,7 +69,6 @@ class ucp_register
|
||||||
}
|
}
|
||||||
|
|
||||||
$user->lang_name = $lang = $use_lang;
|
$user->lang_name = $lang = $use_lang;
|
||||||
$user->lang_path = $phpbb_root_path . 'language/' . $lang . '/';
|
|
||||||
$user->lang = array();
|
$user->lang = array();
|
||||||
$user->add_lang(array('common', 'ucp'));
|
$user->add_lang(array('common', 'ucp'));
|
||||||
}
|
}
|
||||||
|
|
Loading…
Add table
Reference in a new issue