1
0
mirror of https://github.com/e107inc/e107.git synced 2025-07-27 18:00:30 +02:00

Finalise locations of language files, option to disable auto-load of English files on non-English sites if required files not found

This commit is contained in:
e107steved
2008-12-07 21:41:04 +00:00
parent 40418d08c9
commit dd282efc69
15 changed files with 141 additions and 50 deletions

View File

@@ -11,9 +11,9 @@
| GNU General Public License (http://gnu.org). | GNU General Public License (http://gnu.org).
| |
| $Source: /cvs_backup/e107_0.8/class2.php,v $ | $Source: /cvs_backup/e107_0.8/class2.php,v $
| $Revision: 1.84 $ | $Revision: 1.85 $
| $Date: 2008-12-04 21:05:05 $ | $Date: 2008-12-07 21:41:03 $
| $Author: mcfly_e107 $ | $Author: e107steved $
+----------------------------------------------------------------------------+ +----------------------------------------------------------------------------+
*/ */
// //
@@ -1708,20 +1708,93 @@ function e107_require($fname)
function include_lan($path, $force = false) function include_lan($path, $force = false)
{ {
global $pref;
if (!is_readable($path)) if (!is_readable($path))
{ {
if (varsettrue($pref['noLanguageSubs']) || (e_LANGUAGE == 'English'))
{
return FALSE;
}
$path = str_replace(e_LANGUAGE, 'English', $path); $path = str_replace(e_LANGUAGE, 'English', $path);
} }
$ret = ($force) ? include($path) : include_once($path); $ret = ($force) ? include($path) : include_once($path);
return (isset($ret)) ? $ret : ""; return (isset($ret)) ? $ret : "";
} }
/*
withdrawn - use loadLanFiles($path, 'admin') instead
// Searches a defined set of paths and file names to load language files used for admin (including install etc) // Searches a defined set of paths and file names to load language files used for admin (including install etc)
function include_lan_admin($path) function include_lan_admin($path)
{ {
include_lan($path.'languages/'.e_LANGUAGE.'/lan_config.php'); include_lan($path.'languages/'.e_LANGUAGE.'/lan_config.php');
include_lan($path.'languages/admin/'.e_LANGUAGE.'.php'); include_lan($path.'languages/admin/'.e_LANGUAGE.'.php');
} }
*/
// Routine looks in standard paths for language files associated with a plugin or theme - primarily for core routines, which won't know
// for sure where the author has put them.
// $unitName is the name (directory path) of the plugin or theme
// $type determines what is to be loaded:
// 'runtime' - the standard runtime language file for a plugin
// 'admin' - the standard admin language file for a plugin
// 'theme' - the standard language file for a plugin (these are usually pretty small, so one is enough)
// Otherwise, $type is treated as part of a filename within the plugin's language directory, prefixed with the current language
// Returns FALSE on failure (not found).
// Returns the include_once error return if there is one
// Otherwise returns an empty string.
// Note - if the code knows precisely where the language file is located, use include_lan()
// $pref['noLanguageSubs'] can be set TRUE to prevent searching for the English files if the files for the current site language don't exist.
function loadLanFiles($unitName, $type='runtime')
{
global $pref;
switch ($type)
{
case 'runtime' :
$searchPath[1] = e_PLUGIN.$unitName.'/languages/'.e_LANGUAGE.'_'.$unitName.'.php';
$searchPath[2] = e_PLUGIN.$unitName.'/languages/'.e_LANGUAGE.'/'.$unitName.'.php';
break;
case 'admin' :
$searchPath[1] = e_PLUGIN.$unitName.'/languages/'.e_LANGUAGE.'_admin_'.$unitName.'.php';
$searchPath[2] = e_PLUGIN.$unitName.'/languages/'.e_LANGUAGE.'/'.'admin_'.$unitName.'.php';
break;
case 'theme' :
$searchPath[1] = e_THEME.$unitName.'/languages/'.e_LANGUAGE.'_'.$unitName.'.php';
$searchPath[2] = e_THEME.$unitName.'/languages/'.e_LANGUAGE.'/'.$unitName.'.php';
break;
default :
$searchPath[1] = e_PLUGIN.$unitName.'/languages/'.e_LANGUAGE.'_'.$type.'.php';
$searchPath[2] = e_PLUGIN.$unitName.'/languages/'.e_LANGUAGE.'/'.$type.'.php';
}
foreach ($searchPath as $s) // Look for files in current language first - should usually be found
{
if (is_readable($s))
{
$ret = include_once($s);
return (isset($ret)) ? $ret : "";
}
}
if (varsettrue($pref['noLanguageSubs']) || (e_LANGUAGE == 'English'))
{
return FALSE; // No point looking for the English files twice
}
foreach ($searchPath as $s) // Now look for the English files
{
$s = str_replace(e_LANGUAGE, 'English', $s);
if (is_readable($s))
{
$ret = include_once($s);
return (isset($ret)) ? $ret : "";
}
}
return FALSE; // Nothing found
}
if(!function_exists('print_a')) if(!function_exists('print_a'))
{ {

View File

@@ -11,8 +11,8 @@
| GNU General Public License (http://gnu.org). | GNU General Public License (http://gnu.org).
| |
| $Source: /cvs_backup/e107_0.8/e107_admin/admin.php,v $ | $Source: /cvs_backup/e107_0.8/e107_admin/admin.php,v $
| $Revision: 1.5 $ | $Revision: 1.6 $
| $Date: 2008-12-04 20:17:49 $ | $Date: 2008-12-07 21:41:04 $
| $Author: e107steved $ | $Author: e107steved $
+----------------------------------------------------------------------------+ +----------------------------------------------------------------------------+
*/ */
@@ -302,7 +302,7 @@ function getPluginLinks($iconSize = E_16_PLUGMANAGER, $linkStyle = 'adminb')
} }
else else
{ {
include_lan_admin($plugin_path); loadLanFiles($plugin_path, 'admin');
$eplug_name = $tp->toHTML($readFile['@attributes']['name'],FALSE,"defs, emotes_off"); $eplug_name = $tp->toHTML($readFile['@attributes']['name'],FALSE,"defs, emotes_off");
$eplug_conffile = $readFile['administration']['configFile']; $eplug_conffile = $readFile['administration']['configFile'];
$eplug_icon_small = $plugin_path.'/'.$readFile['administration']['iconSmall']; $eplug_icon_small = $plugin_path.'/'.$readFile['administration']['iconSmall'];

View File

@@ -11,8 +11,8 @@
| GNU General Public License (http://gnu.org). | GNU General Public License (http://gnu.org).
| |
| $Source: /cvs_backup/e107_0.8/e107_admin/language.php,v $ | $Source: /cvs_backup/e107_0.8/e107_admin/language.php,v $
| $Revision: 1.10 $ | $Revision: 1.11 $
| $Date: 2008-12-06 15:48:16 $ | $Date: 2008-12-07 21:41:04 $
| $Author: e107steved $ | $Author: e107steved $
+----------------------------------------------------------------------------+ +----------------------------------------------------------------------------+
*/ */
@@ -54,6 +54,7 @@ if (isset($_POST['submit_prefs']) && isset($_POST['mainsitelanguage']))
$temp['multilanguage'] = $_POST['multilanguage']; $temp['multilanguage'] = $_POST['multilanguage'];
$temp['multilanguage_subdomain'] = $_POST['multilanguage_subdomain']; $temp['multilanguage_subdomain'] = $_POST['multilanguage_subdomain'];
$temp['sitelanguage'] = $_POST['mainsitelanguage']; $temp['sitelanguage'] = $_POST['mainsitelanguage'];
$temp['noLanguageSubs'] = $_POST['noLanguageSubs'];
if ($admin_log->logArrayDiffs($temp, $pref, 'LANG_01')) if ($admin_log->logArrayDiffs($temp, $pref, 'LANG_01'))
{ {
@@ -179,9 +180,11 @@ if ($_POST['edit_existing'])
<div style='text-align:center'> <div style='text-align:center'>
<table class='fborder' style='".ADMIN_WIDTH."'>\n"; <table class='fborder' style='".ADMIN_WIDTH."'>\n";
foreach ($tabs as $table_name) { foreach ($tabs as $table_name)
{
$installed = strtolower($_POST['lang_choices'])."_".$table_name; $installed = strtolower($_POST['lang_choices'])."_".$table_name;
if (stristr($_POST['lang_choices'], $installed) === FALSE) { if (stristr($_POST['lang_choices'], $installed) === FALSE)
{
$text .= "<tr> $text .= "<tr>
<td style='width:30%' class='forumheader3'>".ucfirst(str_replace("_", " ", $table_name))."</td>\n <td style='width:30%' class='forumheader3'>".ucfirst(str_replace("_", " ", $table_name))."</td>\n
<td style='width:70%' class='forumheader3'>\n"; <td style='width:70%' class='forumheader3'>\n";
@@ -228,7 +231,8 @@ if ($_POST['edit_existing'])
require_once(e_ADMIN."footer.php"); require_once(e_ADMIN."footer.php");
// --------------------------------------------------------------------------- // ---------------------------------------------------------------------------
function multilang_prefs() { function multilang_prefs()
{
global $ns, $pref,$lanlist; global $ns, $pref,$lanlist;
$text = "<div style='text-align:center'> $text = "<div style='text-align:center'>
@@ -245,7 +249,8 @@ function multilang_prefs() {
$text .= " $text .= "
<select name='mainsitelanguage' class='tbox'>\n"; <select name='mainsitelanguage' class='tbox'>\n";
$sellan = preg_replace("/lan_*.php/i", "", $pref['sitelanguage']); $sellan = preg_replace("/lan_*.php/i", "", $pref['sitelanguage']);
foreach($lanlist as $lan){ foreach($lanlist as $lan)
{
$sel = ($lan == $sellan) ? "selected='selected'" : ""; $sel = ($lan == $sellan) ? "selected='selected'" : "";
$text .= "<option value='{$lan}' {$sel}>".$lan."</option>\n"; $text .= "<option value='{$lan}' {$sel}>".$lan."</option>\n";
} }
@@ -259,7 +264,17 @@ function multilang_prefs() {
<td style='width:80%' class='forumheader3'>".LANG_LAN_12.": </td> <td style='width:80%' class='forumheader3'>".LANG_LAN_12.": </td>
<td style='width:20%;text-align:center' class='forumheader3'>"; <td style='width:20%;text-align:center' class='forumheader3'>";
$checked = ($pref['multilanguage'] == 1) ? "checked='checked'" : ""; $checked = ($pref['multilanguage'] == 1) ? "checked='checked'" : "";
$text .= "<input type='checkbox' name='multilanguage' value='1' $checked /> $text .= "<input type='checkbox' name='multilanguage' value='1' {$checked} />
</td>
</tr>
";
$text .= "
<tr>
<td style='width:80%' class='forumheader3'>".LANG_LAN_26.": <br /><span class='smalltext'>".LANG_LAN_27."</span></td>
<td style='width:20%;text-align:center' class='forumheader3'>";
$checked = ($pref['noLanguageSubs'] == 1) ? "checked='checked'" : "";
$text .= "<input type='checkbox' name='noLanguageSubs' value='1' {$checked} />
</td> </td>
</tr> </tr>
"; ";

View File

@@ -11,8 +11,8 @@
| GNU General Public License (http://gnu.org). | GNU General Public License (http://gnu.org).
| |
| $Source: /cvs_backup/e107_0.8/e107_files/def_e107_prefs.php,v $ | $Source: /cvs_backup/e107_0.8/e107_files/def_e107_prefs.php,v $
| $Revision: 1.18 $ | $Revision: 1.19 $
| $Date: 2008-12-07 13:08:41 $ | $Date: 2008-12-07 21:41:04 $
| $Author: e107steved $ | $Author: e107steved $
+----------------------------------------------------------------------------+ +----------------------------------------------------------------------------+
*/ */
@@ -164,6 +164,7 @@ City, State, Country
'ban_retrigger' => '0', 'ban_retrigger' => '0',
'multilanguage' => '0', 'multilanguage' => '0',
'noLanguageSubs' => '0',
'user_tracking' => 'cookie', 'user_tracking' => 'cookie',
'cookie_name' => 'e107cookie', 'cookie_name' => 'e107cookie',

View File

@@ -1,6 +1,6 @@
/* /*
* e107 website system (c) 2001-2008 Steve Dunstan (e107.org) * e107 website system (c) 2001-2008 Steve Dunstan (e107.org)
* $Id: admin_alt_nav.sc,v 1.5 2008-12-05 19:56:45 e107steved Exp $ * $Id: admin_alt_nav.sc,v 1.6 2008-12-07 21:41:04 e107steved Exp $
*/ */
if (ADMIN) if (ADMIN)
@@ -81,6 +81,7 @@ if (ADMIN)
if($plug->parse_plugin($_path)) if($plug->parse_plugin($_path))
{ {
$plug_vars = $plug->plug_vars; $plug_vars = $plug->plug_vars;
loadLanFiles($row['plugin_path'], 'admin');
if($plug_vars['administration']['configFile']) if($plug_vars['administration']['configFile'])
{ {
$plug_vars['@attributes']['name'] = $tp->toHTML($plug_vars['@attributes']['name'], FALSE, "defs"); $plug_vars['@attributes']['name'] = $tp->toHTML($plug_vars['@attributes']['name'], FALSE, "defs");

View File

@@ -1,6 +1,6 @@
/* /*
* e107 website system (c) 2001-2008 Steve Dunstan (e107.org) * e107 website system (c) 2001-2008 Steve Dunstan (e107.org)
* $Id: admin_nav.sc,v 1.4 2008-12-04 20:17:54 e107steved Exp $ * $Id: admin_nav.sc,v 1.5 2008-12-07 21:41:04 e107steved Exp $
*/ */
if (ADMIN) if (ADMIN)
{ {
@@ -49,7 +49,7 @@ if (ADMIN)
if (is_readable(e_PLUGIN.$plugin_path."/plugin.xml")) if (is_readable(e_PLUGIN.$plugin_path."/plugin.xml"))
{ {
$readFile = $xml->loadXMLfile(e_PLUGIN.$plugin_path.'/plugin.xml', true, true); $readFile = $xml->loadXMLfile(e_PLUGIN.$plugin_path.'/plugin.xml', true, true);
include_lan_admin(e_PLUGIN.$plugin_path.'/'); loadLanFiles($plugin_path, 'admin');
$eplug_caption = $tp->toHTML($readFile['@attributes']['name'],FALSE,"defs, emotes_off"); $eplug_caption = $tp->toHTML($readFile['@attributes']['name'],FALSE,"defs, emotes_off");
$eplug_conffile = $readFile['administration']['configFile']; $eplug_conffile = $readFile['administration']['configFile'];
} }

View File

@@ -11,8 +11,8 @@
| GNU General Public License (http://gnu.org). | GNU General Public License (http://gnu.org).
| |
| $Source: /cvs_backup/e107_0.8/e107_handlers/plugin_class.php,v $ | $Source: /cvs_backup/e107_0.8/e107_handlers/plugin_class.php,v $
| $Revision: 1.54 $ | $Revision: 1.55 $
| $Date: 2008-12-05 19:56:51 $ | $Date: 2008-12-07 21:41:04 $
| $Author: e107steved $ | $Author: e107steved $
+----------------------------------------------------------------------------+ +----------------------------------------------------------------------------+
*/ */
@@ -1542,7 +1542,7 @@ class e107plugin
function parse_plugin_xml($path) function parse_plugin_xml($path)
{ {
global $tp; global $tp;
include_lan_admin($path); // Look for LAN files on default paths loadLanFiles($path, 'admin'); // Look for LAN files on default paths
require_once(e_HANDLER.'xml_class.php'); require_once(e_HANDLER.'xml_class.php');
$xml = new xmlClass; $xml = new xmlClass;
$this->plug_vars = $xml->loadXMLfile($path.'plugin.xml', true, true); $this->plug_vars = $xml->loadXMLfile($path.'plugin.xml', true, true);

View File

@@ -11,9 +11,9 @@
| GNU General Public License (http://gnu.org). | GNU General Public License (http://gnu.org).
| |
| $Source: /cvs_backup/e107_0.8/e107_handlers/theme_handler.php,v $ | $Source: /cvs_backup/e107_0.8/e107_handlers/theme_handler.php,v $
| $Revision: 1.13 $ | $Revision: 1.14 $
| $Date: 2008-12-03 18:09:00 $ | $Date: 2008-12-07 21:41:04 $
| $Author: mcfly_e107 $ | $Author: e107steved $
+----------------------------------------------------------------------------+ +----------------------------------------------------------------------------+
*/ */
@@ -572,7 +572,7 @@ class themeHandler{
function parse_theme_xml($path) function parse_theme_xml($path)
{ {
global $tp; global $tp;
// include_lan_admin($path); // Look for LAN files on default paths // loadLanFiles($path, 'admin'); // Look for LAN files on default paths
require_once(e_HANDLER.'xml_class.php'); require_once(e_HANDLER.'xml_class.php');
$xml = new xmlClass; $xml = new xmlClass;
$vars = $xml->loadXMLfile(e_THEME.$path.'/theme.xml', true, true); $vars = $xml->loadXMLfile(e_THEME.$path.'/theme.xml', true, true);

View File

@@ -4,9 +4,9 @@
| e107 website system - Language File. | e107 website system - Language File.
| |
| $Source: /cvs_backup/e107_0.8/e107_languages/English/admin/lan_language.php,v $ | $Source: /cvs_backup/e107_0.8/e107_languages/English/admin/lan_language.php,v $
| $Revision: 1.4 $ | $Revision: 1.5 $
| $Date: 2007-09-20 21:45:33 $ | $Date: 2008-12-07 21:41:04 $
| $Author: e107coders $ | $Author: e107steved $
+----------------------------------------------------------------------------+ +----------------------------------------------------------------------------+
*/ */
@@ -36,6 +36,8 @@ define("LANG_LAN_22", "Language Pack created successfully.");
define("LANG_LAN_23", "Create Language-Pack (zip)"); define("LANG_LAN_23", "Create Language-Pack (zip)");
define("LANG_LAN_24", "Generate"); define("LANG_LAN_24", "Generate");
define("LANG_LAN_25", "Language-Pack Creation Status"); define("LANG_LAN_25", "Language-Pack Creation Status");
define('LANG_LAN_26', 'Load language files only for current language');
define('LANG_LAN_27', 'If checked, and a required language can\'t be found, there will be an error');

View File

@@ -11,8 +11,8 @@
| GNU General Public License (http://gnu.org). | GNU General Public License (http://gnu.org).
| |
| $Source: /cvs_backup/e107_0.8/e107_plugins/calendar_menu/admin_config.php,v $ | $Source: /cvs_backup/e107_0.8/e107_plugins/calendar_menu/admin_config.php,v $
| $Revision: 1.10 $ | $Revision: 1.11 $
| $Date: 2008-11-20 21:43:57 $ | $Date: 2008-12-07 21:41:04 $
| $Author: e107steved $ | $Author: e107steved $
| |
+----------------------------------------------------------------------------+ +----------------------------------------------------------------------------+
@@ -28,7 +28,7 @@ if (!getperms("P"))
} }
include_lan_admin(e_PLUGIN.'calendar_menu/'); include_lan(e_PLUGIN.'calendar_menu/languages/'.e_LANGUAGE.'_admin_calendar_menu.php');
$message = ""; $message = "";

View File

@@ -10,9 +10,9 @@
| Released under the terms and conditions of the | Released under the terms and conditions of the
| GNU General Public License (http://gnu.org). | GNU General Public License (http://gnu.org).
| |
| $Source: /cvs_backup/e107_0.8/e107_plugins/calendar_menu/languages/admin/English.php,v $ | $Source: /cvs_backup/e107_0.8/e107_plugins/calendar_menu/languages/English_admin_calendar_menu.php,v $
| $Revision: 1.2 $ | $Revision: 1.1 $
| $Date: 2008-08-12 19:59:59 $ | $Date: 2008-12-07 21:41:04 $
| $Author: e107steved $ | $Author: e107steved $
| |
+----------------------------------------------------------------------------+ +----------------------------------------------------------------------------+

View File

@@ -11,17 +11,16 @@
| GNU General Public License (http://gnu.org). | GNU General Public License (http://gnu.org).
| |
| $Source: /cvs_backup/e107_0.8/e107_plugins/log/admin_config.php,v $ | $Source: /cvs_backup/e107_0.8/e107_plugins/log/admin_config.php,v $
| $Revision: 1.5 $ | $Revision: 1.6 $
| $Date: 2008-08-13 20:47:09 $ | $Date: 2008-12-07 21:41:04 $
| $Author: e107steved $ | $Author: e107steved $
+----------------------------------------------------------------------------+ +----------------------------------------------------------------------------+
To do:
1. Admin log for changes
*/ */
require_once("../../class2.php"); require_once("../../class2.php");
if (!plugInstalled('log')) header("Location: ".e_BASE."index.php");
if (!getperms("P")) if (!getperms("P"))
{ {
header("location:../../index.php"); header("location:../../index.php");
@@ -31,9 +30,9 @@ if (!getperms("P"))
require_once(e_ADMIN."auth.php"); require_once(e_ADMIN."auth.php");
require_once(e_HANDLER."userclass_class.php"); require_once(e_HANDLER."userclass_class.php");
define("LOGPATH", e_PLUGIN."log/"); define('LOGPATH', e_PLUGIN.'log/');
include_lan(LOGPATH."languages/admin/".e_LANGUAGE.".php"); include_lan(LOGPATH.'languages/'.e_LANGUAGE.'_admin_log.php');
if (e_QUERY) if (e_QUERY)
{ {

View File

@@ -11,8 +11,8 @@
| GNU General Public License (http://gnu.org). | GNU General Public License (http://gnu.org).
| |
| $Source: /cvs_backup/e107_0.8/e107_plugins/log/e_help.php,v $ | $Source: /cvs_backup/e107_0.8/e107_plugins/log/e_help.php,v $
| $Revision: 1.1 $ | $Revision: 1.2 $
| $Date: 2008-01-06 10:18:34 $ | $Date: 2008-12-07 21:41:04 $
| $Author: e107steved $ | $Author: e107steved $
+----------------------------------------------------------------------------+ +----------------------------------------------------------------------------+
*/ */
@@ -20,7 +20,7 @@
if (!defined('e107_INIT')) { exit; } if (!defined('e107_INIT')) { exit; }
define("LOGPATH", e_PLUGIN."log/"); define("LOGPATH", e_PLUGIN."log/");
include_lan(LOGPATH."languages/admin/".e_LANGUAGE."_log_help.php"); include_lan(LOGPATH."languages/".e_LANGUAGE."_log_help.php");
if (e_QUERY) list($action,$junk) = explode('.',e_QUERY); else $action = 'list'; if (e_QUERY) list($action,$junk) = explode('.',e_QUERY); else $action = 'list';

View File

@@ -10,9 +10,9 @@
| Released under the terms and conditions of the | Released under the terms and conditions of the
| GNU General Public License (http://gnu.org). | GNU General Public License (http://gnu.org).
| |
| $Source: /cvs_backup/e107_0.8/e107_plugins/log/languages/admin/English.php,v $ | $Source: /cvs_backup/e107_0.8/e107_plugins/log/languages/English_admin_log.php,v $
| $Revision: 1.6 $ | $Revision: 1.1 $
| $Date: 2008-08-13 20:47:10 $ | $Date: 2008-12-07 21:41:04 $
| $Author: e107steved $ | $Author: e107steved $
+----------------------------------------------------------------------------+ +----------------------------------------------------------------------------+
*/ */

View File

@@ -10,9 +10,9 @@
| Released under the terms and conditions of the | Released under the terms and conditions of the
| GNU General Public License (http://gnu.org). | GNU General Public License (http://gnu.org).
| |
| $Source: /cvs_backup/e107_0.8/e107_plugins/log/languages/admin/English_log_help.php,v $ | $Source: /cvs_backup/e107_0.8/e107_plugins/log/languages/English_log_help.php,v $
| $Revision: 1.2 $ | $Revision: 1.1 $
| $Date: 2008-02-16 14:57:37 $ | $Date: 2008-12-07 21:41:04 $
| $Author: e107steved $ | $Author: e107steved $
+----------------------------------------------------------------------------+ +----------------------------------------------------------------------------+
*/ */