- bug 168 fixed: crash when language file does not exists. Constant

PHPWG_DEFAULT_LANGUAGE added. New function get_language_filepath always
  used to find language files.


git-svn-id: http://piwigo.org/svn/trunk@879 68402e56-0260-453c-a942-63ccdbb3a9ee
This commit is contained in:
plegall 2005-09-27 21:57:14 +00:00
parent b7b05eafc3
commit 0c0ab6d700
6 changed files with 55 additions and 51 deletions

View file

@ -27,19 +27,11 @@
include_once( PHPWG_ROOT_PATH.'admin/include/isadmin.inc.php' );
// language files
$user_langdir = PHPWG_ROOT_PATH.'language/'.$user['language'];
$conf_langdir = PHPWG_ROOT_PATH.'language/'.$conf['default_language'];
if (file_exists($user_langdir.'/help.html'))
{
$html_file = $user_langdir.'/help.html';
}
else
{
$html_file = $conf_langdir.'/help.html';
}
$template->set_filenames(array('help_content' => $html_file));
$template->set_filenames(
array(
'help_content' => get_language_filepath('help.html')
)
);
$template->assign_var_from_handle('ADMIN_CONTENT', 'help_content');
?>

View file

@ -1,3 +1,9 @@
2005-09-27 Pierrick LE GALL
* bug 168 fixed: crash when language file does not
exists. Constant PHPWG_DEFAULT_LANGUAGE added. New function
get_language_filepath always used to find language files.
2005-09-26 Pierrick LE GALL
* bug 158 fixed: display error on "double selects" screens (with

View file

@ -166,32 +166,11 @@ while ( $row =mysql_fetch_array( $result ) )
include(PHPWG_ROOT_PATH.'include/user.inc.php');
// language files
$user_langdir = PHPWG_ROOT_PATH.'language/'.$user['language'];
$conf_langdir = PHPWG_ROOT_PATH.'language/'.$conf['default_language'];
include_once(get_language_filepath('common.lang.php'));
if (file_exists($user_langdir.'/common.lang.php'))
{
include_once($user_langdir.'/common.lang.php');
}
else
{
include_once($conf_langdir.'/common.lang.php');
}
// The administration section requires 2 more language files
if (defined('IN_ADMIN') and IN_ADMIN)
{
foreach (array('admin') as $section)
{
if (file_exists($user_langdir.'/'.$section.'.lang.php'))
{
include_once($user_langdir.'/'.$section.'.lang.php');
}
else
{
include_once($conf_langdir.'/'.$section.'.lang.php');
}
}
include_once(get_language_filepath('admin.lang.php'));
}
// only now we can set the localized username of the guest user (and not in

View file

@ -29,6 +29,7 @@
define('PHPWG_VERSION', '%PWGVERSION%');
define('PHPWG_URL', 'http://www.phpwebgallery.net');
define('PHPWG_FORUM_URL', 'http://forum.phpwebgallery.net');
define('PHPWG_DEFAULT_LANGUAGE', 'en_UK.iso-8859-1');
// Error codes
define('GENERAL_MESSAGE', 200);

View file

@ -497,4 +497,38 @@ SELECT name
return $groupname;
}
/**
* return the file path of the given language filename, depending on the
* availability of the file
*
* in descending order of preference: user language, default language,
* PhpWebGallery default language.
*
* @param string filename
* @return string filepath
*/
function get_language_filepath($filename)
{
global $user, $conf;
$directories =
array(
PHPWG_ROOT_PATH.'language/'.$user['language'],
PHPWG_ROOT_PATH.'language/'.$conf['default_language'],
PHPWG_ROOT_PATH.'language/'.PHPWG_DEFAULT_LANGUAGE
);
foreach ($directories as $directory)
{
$filepath = $directory.'/'.$filename;
if (file_exists($filepath))
{
return $filepath;
}
}
return false;
}
?>

View file

@ -32,23 +32,15 @@
define('PHPWG_ROOT_PATH','./');
include_once( PHPWG_ROOT_PATH.'include/common.inc.php' );
// language files
$user_langdir = PHPWG_ROOT_PATH.'language/'.$user['language'];
$conf_langdir = PHPWG_ROOT_PATH.'language/'.$conf['default_language'];
if (file_exists($user_langdir.'/help/'.$_GET['page'].'.html'))
{
$html_file = $user_langdir.'/help/'.$_GET['page'].'.html';
}
else
{
$html_file = $conf_langdir.'/help/'.$_GET['page'].'.html';
}
$page['body_id'] = 'thePopuphelpPage';
$page['gallery_title'] = $title = l10n('PhpWebGallery Help');
include(PHPWG_ROOT_PATH.'include/page_header.php');
$template->set_filenames(array('help_content' => $html_file));
$template->set_filenames(
array(
'help_content' => get_language_filepath('help/'.$_GET['page'].'.html')
)
);
$template->set_filenames(array('popuphelp' => 'popuphelp.tpl'));