1
0
mirror of https://github.com/e107inc/e107.git synced 2025-08-04 13:47:31 +02:00

Language admin ui fixes.

This commit is contained in:
Cameron
2015-07-07 12:03:45 -07:00
parent dbd17a4fcb
commit 64f9a747e2
3 changed files with 47 additions and 24 deletions

View File

@@ -318,7 +318,7 @@ class lancheck
if(E107_DEBUG_LEVEL > 0) if(E107_DEBUG_LEVEL > 0)
{ {
print_a($this->core_plugins); // print_a($this->core_plugins);
} }
$acceptedLans = explode(",",e_LANLIST); $acceptedLans = explode(",",e_LANLIST);

View File

@@ -19,6 +19,12 @@ if (!getperms('L'))
e107::coreLan('language', true); e107::coreLan('language', true);
$e_sub_cat = 'language'; $e_sub_cat = 'language';
if(!empty($_GET['iframe']))
{
define('e_IFRAME', true);
}
require_once ("auth.php"); require_once ("auth.php");
@@ -52,6 +58,8 @@ elseif(!getperms('0'))
} }
if (isset($_POST['submit_prefs']) && isset($_POST['mainsitelanguage']) && getperms('0')) if (isset($_POST['submit_prefs']) && isset($_POST['mainsitelanguage']) && getperms('0'))
{ {
unset($temp); unset($temp);
@@ -72,9 +80,10 @@ if (isset($_POST['submit_prefs']) && isset($_POST['mainsitelanguage']) && getper
if (isset($_POST['del_existing']) && $_POST['lang_choices'] && getperms('0')) if (isset($_POST['del_existing']) && $_POST['lang_choices'] && getperms('0'))
{ {
$lang = strtolower($_POST['lang_choices']); $lang = strtolower($_POST['lang_choices']);
foreach ($tabs as $del_table) foreach ($tabs as $del_table)
{ {
if ($sql->db_Table_exists($lang."_".$del_table,TRUE)) if ($sql->db_Table_exists($del_table, $lang))
{ {
// echo $del_table." exists<br />"; // echo $del_table." exists<br />";
$qry = "DROP TABLE ".$mySQLprefix."lan_".$lang."_".$del_table; $qry = "DROP TABLE ".$mySQLprefix."lan_".$lang."_".$del_table;
@@ -92,11 +101,11 @@ if (isset($_POST['del_existing']) && $_POST['lang_choices'] && getperms('0'))
} }
} }
} }
e107::getLog()->add('LANG_02', $message.'[!br!]', E_LOG_INFORMATIVE, ''); e107::getLog()->add('LANG_02', $message.'[!br!]', E_LOG_INFORMATIVE, '');
$sql->db_ResetTableList(); $sql->db_ResetTableList();
if ($action == 'modify')
$action = 'db';//FIX - force db action when deleting all lan tables
} }
// ----------create tables ----------------------------------------------------- // ----------create tables -----------------------------------------------------
if (isset($_POST['create_tables']) && $_POST['language']) if (isset($_POST['create_tables']) && $_POST['language'])
@@ -181,7 +190,7 @@ if (!e_QUERY || $action == 'main' && !$_POST['language'] && !$_POST['edit_existi
{ {
multilang_prefs(); multilang_prefs();
} }
if (varset($action) == 'db') if (varset($_GET['mode']) == 'db' && empty($_GET['action']))
{ {
multilang_db(); multilang_db();
} }
@@ -431,15 +440,17 @@ new lanDeveloper;
if (isset($_POST['create_edit_existing'])) if (isset($_POST['create_edit_existing']))
$_POST['edit_existing'] = true; $_POST['edit_existing'] = true;
// Grab Language configuration. --- // Grab Language configuration. ---
if (isset($_POST['edit_existing'])) if (varset($_GET['mode']) == 'db' && !empty($_GET['action']) && !empty($_GET['lang']))
{ {
//XXX - JS ok with the current functionality?
$frm = e107::getForm(); $frm = e107::getForm();
$languageSelected = $tp->filter($_GET['lang'],'w');
$text .= " $text .= "
<form method='post' action='".e_SELF."?db'> <form method='post' action='".e_SELF."?mode=db'>
<fieldset id='core-language-edit'> <fieldset id='core-language-edit'>
<legend class='e-hideme'>".$_POST['lang_choices']."</legend> <legend class='e-hideme'>".$languageSelected."</legend>
<table class='table adminlist table-striped'> <table class='table adminlist table-striped'>
<colgroup> <colgroup>
<col class='col-label' /> <col class='col-label' />
@@ -449,11 +460,11 @@ if (isset($_POST['edit_existing']))
"; ";
foreach ($tabs as $table_name) foreach ($tabs as $table_name)
{ {
$installed = 'lan_'.strtolower($_POST['lang_choices'])."_".$table_name; $installed = 'lan_'.strtolower($languageSelected)."_".$table_name;
if (stristr($_POST['lang_choices'], $installed) === FALSE) if (stristr($languageSelected, $installed) === FALSE)
{ {
$selected = ($sql->db_Table_exists($table_name,$_POST['lang_choices'])) ? " checked='checked'" : ""; $selected = ($sql->db_Table_exists($table_name,$languageSelected)) ? " checked='checked'" : "";
$tableName = ucfirst(str_replace("_", " ", $table_name)); $tableName = ucfirst(str_replace("_", " ", $table_name));
$tableLabel = ($selected) ? "<span class='label label-success'>".$tableName."</span>" : $tableName; $tableLabel = ($selected) ? "<span class='label label-success'>".$tableName."</span>" : $tableName;
@@ -486,7 +497,7 @@ if (isset($_POST['edit_existing']))
} }
// =========================================================================== // ===========================================================================
// Drop tables ? isset() // Drop tables ? isset()
if (varset($_POST['create_edit_existing'])) if (varset($_GET['action'])=='create')
{ {
$baction = 'create'; $baction = 'create';
$bcaption = LANG_LAN_06; $bcaption = LANG_LAN_06;
@@ -514,14 +525,24 @@ if (isset($_POST['edit_existing']))
</tbody> </tbody>
</table> </table>
<div class='buttons-bar center'> <div class='buttons-bar center'>
<input type='hidden' name='language' value='{$_POST['lang_choices']}' /> <input type='hidden' name='language' value='{$languageSelected}' />
".$frm->admin_button('create_tables','no-value',$baction,$bcaption)." ".$frm->admin_button('create_tables','no-value',$baction,$bcaption)."
</div> </div>
</fieldset> </fieldset>
</form> </form>
"; ";
$ns->tablerender(ADLAN_132.SEP.LANG_LAN_03.SEP.$_POST['lang_choices'], $mes->render().$text);
$ns->tablerender(ADLAN_132.SEP.LANG_LAN_03.SEP.$languageSelected, $mes->render().$text);
} }
require_once (e_ADMIN."footer.php"); require_once (e_ADMIN."footer.php");
// --------------------------------------------------------------------------- // ---------------------------------------------------------------------------
@@ -766,20 +787,22 @@ function multilang_db()
$text .= "</td>\n"; $text .= "</td>\n";
$text .= "<td> $text .= "<td>
<form id='core-language-form-".str_replace(" ", "-", $e_language)."' action='".e_SELF."?modify' method='post'>\n"; <form id='core-language-form-".str_replace(" ", "-", $e_language)."' action='".e_SELF."?mode=db' method='post'>\n";
$text .= " $text .= "
<div> <div>
"; ";
if (count($installed)) if(count($installed))
{ {
$text .= "<a class='btn btn-primary edit' href='".e_SELF."?mode=db&action=edit&lang=".$e_language."'>".LAN_EDIT."</a>";
// $text .= "<button class='btn btn-primary edit' type='submit' name='edit_existing' value='no-value'><span>".LAN_EDIT."</span></button>";
$text .= "<button class='btn btn-primary edit' type='submit' name='edit_existing' value='no-value'><span>".LAN_EDIT."</span></button> $text .= "<button class='btn btn-danger delete' type='submit' name='del_existing' value='no-value' title='".$tp->lanVars(LANG_LAN_105, $e_language).' '.LAN_JSCONFIRM."'><span>".LAN_DELETE."</span></button>";
<button class='btn btn-danger delete' type='submit' name='del_existing' value='no-value' title='".$tp->lanVars(LANG_LAN_105, $e_language).' '.LAN_JSCONFIRM."'><span>".LAN_DELETE."</span></button>";
} }
elseif ($e_language != $pref['sitelanguage']) elseif ($e_language != $pref['sitelanguage'])
{ {
// $text .= "<button class='create' type='submit' name='create_edit_existing' value='no-value'><span>".LAN_CREATE."</span></button>"; // $text .= "<button class='create' type='submit' name='create_edit_existing' value='no-value'><span>".LAN_CREATE."</span></button>";
$text .= $frm->admin_button('create_edit_existing','no-value','create',LAN_CREATE); // $text .= $frm->admin_button('create_edit_existing','no-value','create',LAN_CREATE);
$text .= "<a class='btn btn-primary create' href='".e_SELF."?mode=db&action=create&lang=".$e_language."'>".LAN_CREATE."</a>";
} }
$text .= "<input type='hidden' name='lang_choices' value='".$e_language."' /> $text .= "<input type='hidden' name='lang_choices' value='".$e_language."' />
</div> </div>
@@ -1100,7 +1123,7 @@ function language_adminmenu()
{ {
$action = getperms('0') ? "main" : "tools"; $action = getperms('0') ? "main" : "tools";
} }
if ($action == "modify") if ($_GET['mode'] == 'db')
{ {
$action = "db"; $action = "db";
} }
@@ -1113,7 +1136,7 @@ function language_adminmenu()
if (isset($pref['multilanguage']) && $pref['multilanguage']) if (isset($pref['multilanguage']) && $pref['multilanguage'])
{ {
$var['db']['text'] = LANG_LAN_03; $var['db']['text'] = LANG_LAN_03;
$var['db']['link'] = e_SELF."?db"; $var['db']['link'] = e_SELF."?mode=db";
} }
} }

View File

@@ -3599,7 +3599,7 @@ return;
/** /**
* Filters/Validates using the PHP5 filter_var() method. * Filters/Validates using the PHP5 filter_var() method.
* @param $text * @param $text
* @param $type string str|int|email|url * @param $type string str|int|email|url|w|wds
* @return string | boolean * @return string | boolean
*/ */
function filter($text, $type='str',$validate=false) function filter($text, $type='str',$validate=false)