From 75e01f5e44f29c45ed5b02c4d0a44cbd59b4894d Mon Sep 17 00:00:00 2001 From: CaMer0n Date: Wed, 11 Apr 2007 22:29:34 +0000 Subject: [PATCH] Simple Language-pack generation added to Admin -> Language -> Tools. --- e107_admin/language.php | 126 +++++++++++++++++- e107_languages/English/admin/lan_language.php | 10 +- 2 files changed, 129 insertions(+), 7 deletions(-) diff --git a/e107_admin/language.php b/e107_admin/language.php index 3adbd4aef..1c8d6abb5 100644 --- a/e107_admin/language.php +++ b/e107_admin/language.php @@ -11,8 +11,8 @@ | GNU General Public License (http://gnu.org). | | $Source: /cvs_backup/e107_0.8/e107_admin/language.php,v $ -| $Revision: 1.2 $ -| $Date: 2007-03-31 01:18:33 $ +| $Revision: 1.3 $ +| $Date: 2007-04-11 22:29:34 $ | $Author: e107coders $ +----------------------------------------------------------------------------+ */ @@ -23,6 +23,10 @@ if (!getperms("ML")) exit; } + + + + $e_sub_cat = 'language'; require_once("auth.php"); @@ -53,6 +57,7 @@ if (isset($_POST['submit_prefs']) && isset($_POST['mainsitelanguage'])) { } + // ----------------- delete tables --------------------------------------------- if (isset($_POST['del_existing']) && $_POST['lang_choices']) { @@ -112,6 +117,7 @@ if (isset($_POST['create_tables']) && $_POST['language']) { unset($text); + if (!e_QUERY || $action == 'main' && !$_POST['language'] && !$_POST['edit_existing']) { multilang_prefs(); } @@ -120,6 +126,12 @@ if ($action == 'db') { multilang_db(); } +if($_POST['ziplang'] && $_POST['language']) +{ + $text = zip_up_lang($_POST['language']); + $ns -> tablerender(LANG_LAN_25, $text); +} + if($action == "tools"){ show_tools(); } @@ -127,7 +139,6 @@ if($action == "tools"){ - // Grab Language configuration. --- if ($_POST['edit_existing']) { @@ -403,8 +414,8 @@ function show_tools()
- - +
".LAN_CHECK_1." + ".LAN_CHECK_1."
"; + $text .= " +
+ + + + +
".LANG_LAN_23." + + +
"; + $ns->tablerender(LANG_LAN_21, $text); } @@ -458,4 +495,83 @@ function language_adminmenu() { show_admin_menu(ADLAN_132, $action, $var); } + + +// Zip up the language pack. + +// =================================================== +function zip_up_lang($language) +{ + if (is_readable(e_ADMIN."ver.php")) + { + include(e_ADMIN."ver.php"); + } +/* + $core_plugins = array( + "alt_auth","banner_menu","blogcalendar_menu","calendar_menu","chatbox_menu", + "clock_menu","comment_menu","content","featurebox","forum","gsitemap", + "lastseen","links_page","linkwords","list_new","log","login_menu", + "newforumposts_main","newsfeed","newsletter","online_extended_menu", + "online_menu","other_news_menu","pdf","pm","poll","rss_menu", + "search_menu","siteinfo_menu","trackback","tree_menu","user_menu","userlanguage_menu", + "usertheme_menu" + ); + + $core_themes = array("crahan","e107v4a","human_condition","interfectus","jayya", + "khatru","kubrick","lamb","leaf","newsroom","reline","sebes","vekna_blue"); +*/ + + require_once(e_HANDLER.'pclzip.lib.php'); + + list($ver,$tmp) = explode(" ",$e107info['e107_version']); + + $newfile = e_UPLOAD."e107_".$ver."_".$language."_utf8.zip"; + $archive = new PclZip($newfile); + + $core = grab_lans(e_LANGUAGEDIR.$language."/",$language); + $plugs = grab_lans(e_PLUGIN,$language); + $theme = grab_lans(e_THEME,$language); + + $file = array_merge($core,$plugs,$theme); + $data = implode(",",$file); + + if ($archive->create($data) == 0) + { + return $archive->errorInfo(true); + } + else + { + return LANG_LAN_22." (".str_replace("../","",e_UPLOAD)."".basename($newfile).")."; + } + + +} + +function grab_lans($path,$language,$filter = "") +{ + require_once(e_HANDLER."file_class.php"); + $fl = new e_file; + + if($lanlist = $fl->get_files($path,"", "standard",4)){ + sort($lanlist); + }else{ + return; + } + + $pzip = array(); + foreach($lanlist as $p) + { + $fullpath = $p['path'].$p['fname']; + if(strpos($fullpath,$language)!== FALSE) + { + $pzip[] = $fullpath; + } + } + return $pzip; + +} + + + + ?> diff --git a/e107_languages/English/admin/lan_language.php b/e107_languages/English/admin/lan_language.php index 3fe6b15b7..801a31c14 100644 --- a/e107_languages/English/admin/lan_language.php +++ b/e107_languages/English/admin/lan_language.php @@ -4,8 +4,8 @@ | e107 website system - Language File. | | $Source: /cvs_backup/e107_0.8/e107_languages/English/admin/lan_language.php,v $ -| $Revision: 1.2 $ -| $Date: 2007-03-31 01:18:33 $ +| $Revision: 1.3 $ +| $Date: 2007-04-11 22:29:34 $ | $Author: e107coders $ +----------------------------------------------------------------------------+ */ @@ -32,6 +32,12 @@ define("LANG_LAN_19", "e.g. fr.mydomain.com to set the language to French."); define("LANG_LAN_21", "Language Tools"); +define("LANG_LAN_22", "Language Pack created successfully."); +define("LANG_LAN_23", "Create Language-Pack (zip)"); +define("LANG_LAN_24", "Generate"); +define("LANG_LAN_25", "Language-Pack Creation Status"); + +