diff --git a/interface/web/tools/form/interface_settings.tform.php b/interface/web/tools/form/interface_settings.tform.php deleted file mode 100644 index 05eaba941655e0bbb4adac4e4c6e87188ec84694..0000000000000000000000000000000000000000 --- a/interface/web/tools/form/interface_settings.tform.php +++ /dev/null @@ -1,189 +0,0 @@ - 0 id must match with id of current user -$form['auth_preset']['userid'] = 0; -//* 0 = default groupid of the user, > 0 id must match with groupid of current user -$form['auth_preset']['groupid'] = 0; - -//** Permissions are: r = read, i = insert, u = update, d = delete -$form['auth_preset']['perm_user'] = 'riud'; -$form['auth_preset']['perm_group'] = 'riud'; -$form['auth_preset']['perm_other'] = ''; - -//* Pick out modules -//* TODO: limit to activated modules of the user -$modules_list = array(); -if($_SESSION["s"]["user"]["typ"] == 'admin') { - $handle = @opendir(ISPC_WEB_PATH); - while ($file = @readdir($handle)) { - if ($file != '.' && $file != '..') { - if(@is_dir(ISPC_WEB_PATH."/$file")) { - if(is_file(ISPC_WEB_PATH."/$file/lib/module.conf.php") and $file != 'login' && $file != 'designer' && $file != 'mailuser') { - $modules_list[$file] = $file; - } - } - } - } -} else { - $tmp = $app->db->queryOneRecord("SELECT * FROM sys_user where username = ?", $_SESSION["s"]["user"]['username']); - $modules = $tmp['modules']; - //$modules = $conf['interface_modules_enabled']; - if($_SESSION["s"]["user"]["typ"] != 'admin' && $app->auth->has_clients($_SESSION['s']['user']['userid'])) { - $modules .= ',client'; - } - $tmp = explode(',', $modules); - foreach($tmp as $m) { - $modules_list[$m] = $m; - } -} - -//* Languages -$language_list = array(); -$handle = @opendir(ISPC_ROOT_PATH.'/lib/lang'); -while ($file = @readdir($handle)) { - if ($file != '.' && $file != '..') { - if(@is_file(ISPC_ROOT_PATH.'/lib/lang/'.$file) and substr($file, -4, 4) == '.lng') { - $tmp = substr($file, 0, 2); - $language_list[$tmp] = $tmp; - } - } -} - -//* Load themes -$themes_list = array(); -$handle = @opendir(ISPC_THEMES_PATH); -while ($file = @readdir($handle)) { - if (substr($file, 0, 1) != '.') { - if(@is_dir(ISPC_THEMES_PATH."/$file")) { - if(!file_exists(ISPC_THEMES_PATH."/$file/ispconfig_version") || (@file_exists(ISPC_THEMES_PATH."/$file/ispconfig_version") && trim(@file_get_contents(ISPC_THEMES_PATH."/$file/ispconfig_version")) == ISPC_APP_VERSION)) { - $themes_list[$file] = $file; - } - } - } -} - -$form['tabs']['main'] = array ( - 'title' => 'Settings', - 'width' => 80, - 'template' => 'templates/interface_settings.htm', - 'fields' => array ( - //################################# - // Beginn Datenbankfelder - //################################# - 'startmodule' => array ( - 'datatype' => 'VARCHAR', - 'formtype' => 'SELECT', - 'validators' => array ( 0 => array ( 'type' => 'NOTEMPTY', - 'errmsg'=> 'startmodule_empty'), - 1 => array ( 'type' => 'REGEX', - 'regex' => '/^[a-z0-9\_]{0,64}$/', - 'errmsg'=> 'startmodule_regex'), - ), - 'regex' => '', - 'errmsg' => '', - 'default' => '', - 'value' => $modules_list, - 'separator' => '', - 'width' => '30', - 'maxlength' => '255', - 'rows' => '', - 'cols' => '' - ), - 'app_theme' => array ( - 'datatype' => 'VARCHAR', - 'formtype' => 'SELECT', - 'validators' => array ( 0 => array ( 'type' => 'NOTEMPTY', - 'errmsg'=> 'app_theme_empty'), - 1 => array ( 'type' => 'REGEX', - 'regex' => '/^[a-z0-9\_]{0,64}$/', - 'errmsg'=> 'app_theme_regex'), - ), - 'regex' => '', - 'errmsg' => '', - 'default' => 'default', - 'value' => $themes_list, - 'separator' => '', - 'width' => '30', - 'maxlength' => '255', - 'rows' => '', - 'cols' => '' - ) - //################################# - // ENDE Datenbankfelder - //################################# - ) -); - - -?> diff --git a/interface/web/tools/form/user_settings.tform.php b/interface/web/tools/form/user_settings.tform.php index 7daa1a7b84989713bc00186430b18c798e02ee04..a696d7533944348113cf550ab9265b7fb31a8eda 100644 --- a/interface/web/tools/form/user_settings.tform.php +++ b/interface/web/tools/form/user_settings.tform.php @@ -92,6 +92,46 @@ while ($file = @readdir($handle)) { } } } +//* Pick out modules +//* TODO: limit to activated modules of the user +$modules_list = array(); +if($_SESSION["s"]["user"]["typ"] == 'admin') { + $handle = @opendir(ISPC_WEB_PATH); + while ($file = @readdir($handle)) { + if ($file != '.' && $file != '..') { + if(@is_dir(ISPC_WEB_PATH."/$file")) { + if(is_file(ISPC_WEB_PATH."/$file/lib/module.conf.php") and $file != 'login' && $file != 'designer' && $file != 'mailuser') { + $modules_list[$file] = $file; + } + } + } + } +} else { + $tmp = $app->db->queryOneRecord("SELECT * FROM sys_user where username = ?", $_SESSION["s"]["user"]['username']); + $modules = $tmp['modules']; + //$modules = $conf['interface_modules_enabled']; + if($_SESSION["s"]["user"]["typ"] != 'admin' && $app->auth->has_clients($_SESSION['s']['user']['userid'])) { + $modules .= ',client'; + } + $tmp = explode(',', $modules); + foreach($tmp as $m) { + $modules_list[$m] = $m; + } +} + +//* Load themes +$themes_list = array(); +$handle = @opendir(ISPC_THEMES_PATH); +while ($file = @readdir($handle)) { + if (substr($file, 0, 1) != '.') { + if(@is_dir(ISPC_THEMES_PATH."/$file")) { + if(!file_exists(ISPC_THEMES_PATH."/$file/ispconfig_version") || (@file_exists(ISPC_THEMES_PATH."/$file/ispconfig_version") && trim(@file_get_contents(ISPC_THEMES_PATH."/$file/ispconfig_version")) == ISPC_APP_VERSION)) { + $themes_list[$file] = $file; + } + } + } +} + $form['tabs']['users'] = array ( 'title' => 'Settings', @@ -141,6 +181,44 @@ $form['tabs']['users'] = array ( 'maxlength' => '2', 'rows' => '', 'cols' => '' + ), + 'startmodule' => array ( + 'datatype' => 'VARCHAR', + 'formtype' => 'SELECT', + 'validators' => array ( 0 => array ( 'type' => 'NOTEMPTY', + 'errmsg'=> 'startmodule_empty'), + 1 => array ( 'type' => 'REGEX', + 'regex' => '/^[a-z0-9\_]{0,64}$/', + 'errmsg'=> 'startmodule_regex'), + ), + 'regex' => '', + 'errmsg' => '', + 'default' => '', + 'value' => $modules_list, + 'separator' => '', + 'width' => '30', + 'maxlength' => '255', + 'rows' => '', + 'cols' => '' + ), + 'app_theme' => array ( + 'datatype' => 'VARCHAR', + 'formtype' => 'SELECT', + 'validators' => array ( 0 => array ( 'type' => 'NOTEMPTY', + 'errmsg'=> 'app_theme_empty'), + 1 => array ( 'type' => 'REGEX', + 'regex' => '/^[a-z0-9\_]{0,64}$/', + 'errmsg'=> 'app_theme_regex'), + ), + 'regex' => '', + 'errmsg' => '', + 'default' => 'default', + 'value' => $themes_list, + 'separator' => '', + 'width' => '30', + 'maxlength' => '255', + 'rows' => '', + 'cols' => '' ) //################################# // ENDE Datenbankfelder diff --git a/interface/web/tools/interface_settings.php b/interface/web/tools/interface_settings.php deleted file mode 100644 index b14b63737541699b49eebb567b7a7bfe6a93d847..0000000000000000000000000000000000000000 --- a/interface/web/tools/interface_settings.php +++ /dev/null @@ -1,139 +0,0 @@ -auth->check_module_permissions('tools'); - -// Loading classes -$app->uses('tpl,tform,tform_actions'); -$app->load('tform_actions'); - -class page_action extends tform_actions { - var $_theme_changed = false; - - function onLoad() { - global $app, $conf, $tform_def_file; - - // Loading template classes and initialize template - if(!is_object($app->tpl)) $app->uses('tpl'); - if(!is_object($app->tform)) $app->uses('tform'); - - $app->tpl->newTemplate("tabbed_form.tpl.htm"); - - // Load table definition from file - $app->tform->loadFormDef($tform_def_file); - - // Importing ID - $this->id = $_SESSION['s']['user']['userid']; - $_POST['id'] = $_SESSION['s']['user']['userid']; - - if(count($_POST) > 1) { - $this->dataRecord = $_POST; - $this->onSubmit(); - } else { - $this->onShow(); - } - } - - function onBeforeInsert() { - global $app, $conf; - - if(!in_array($this->dataRecord['startmodule'], $this->dataRecord['modules'])) { - $app->tform->errorMessage .= $app->tform->wordbook['startmodule_err']; - } - } - - function onInsert() { - die('No inserts allowed.'); - } - - function onBeforeUpdate() { - global $app, $conf; - - if($conf['demo_mode'] == true && $this->id <= 3) $app->tform->errorMessage .= 'This function is disabled in demo mode.'; - - if(@is_array($this->dataRecord['modules']) && !in_array($this->dataRecord['startmodule'], $this->dataRecord['modules'])) { - $app->tform->errorMessage .= $app->tform->wordbook['startmodule_err']; - } - } - - function updateSessionTheme() { - global $app, $conf; - - if($this->dataRecord['app_theme'] != 'default') { - $tmp_path = ISPC_THEMES_PATH."/".$this->dataRecord['app_theme']; - if(!@is_dir($tmp_path) || (@file_exists($tmp_path."/ispconfig_version") && trim(file_get_contents($tmp_path."/ispconfig_version")) != ISPC_APP_VERSION)) { - // fall back to default theme if this one is not compatible with current ispc version - $this->dataRecord['app_theme'] = 'default'; - } - } - if($this->dataRecord['app_theme'] != $_SESSION['s']['user']['theme']) $this->_theme_changed = true; - $_SESSION['s']['theme'] = $this->dataRecord['app_theme']; - $_SESSION['s']['user']['theme'] = $_SESSION['s']['theme']; - $_SESSION['s']['user']['app_theme'] = $_SESSION['s']['theme']; - } - - function onAfterInsert() { - $this->onAfterUpdate(); - } - - function onAfterUpdate() { - - $this->updateSessionTheme(); - - if($this->_theme_changed == true) { - // not the best way, but it works - header('Content-Type: text/html'); - print ''; - exit; - } - //else parent::onShow(); - } - - -} - -$page = new page_action; -$page->onLoad(); - -?> diff --git a/interface/web/tools/lib/lang/ar_interface.lng b/interface/web/tools/lib/lang/ar_interface.lng deleted file mode 100644 index aab4fc89ffe72aab7529d850c4e1dc3bbd92dc77..0000000000000000000000000000000000000000 --- a/interface/web/tools/lib/lang/ar_interface.lng +++ /dev/null @@ -1,7 +0,0 @@ - diff --git a/interface/web/tools/lib/lang/ar_usersettings.lng b/interface/web/tools/lib/lang/ar_usersettings.lng index 4ac506ab77c1d084eb975ff864fabc0ffb2ddfd7..c05b94e76e77b6f2c2548b8f3dc9607ba91d228f 100644 --- a/interface/web/tools/lib/lang/ar_usersettings.lng +++ b/interface/web/tools/lib/lang/ar_usersettings.lng @@ -9,4 +9,7 @@ $wb['generate_password_txt'] = 'Generate Password'; $wb['repeat_password_txt'] = 'Repeat Password'; $wb['password_mismatch_txt'] = 'The passwords do not match.'; $wb['password_match_txt'] = 'The passwords do match.'; +$wb['language_txt'] = 'Language'; +$wb['startmodule_txt'] = 'Startmodule'; +$wb['app_theme_txt'] = 'Design'; ?> diff --git a/interface/web/tools/lib/lang/bg_interface.lng b/interface/web/tools/lib/lang/bg_interface.lng deleted file mode 100644 index aab4fc89ffe72aab7529d850c4e1dc3bbd92dc77..0000000000000000000000000000000000000000 --- a/interface/web/tools/lib/lang/bg_interface.lng +++ /dev/null @@ -1,7 +0,0 @@ - diff --git a/interface/web/tools/lib/lang/bg_usersettings.lng b/interface/web/tools/lib/lang/bg_usersettings.lng index 838053f5637682cf67fa9987a58e896ac325c5f4..c30dcf37019f205569a250bd4addd21cf6961e6a 100644 --- a/interface/web/tools/lib/lang/bg_usersettings.lng +++ b/interface/web/tools/lib/lang/bg_usersettings.lng @@ -9,4 +9,7 @@ $wb['generate_password_txt'] = 'Generate Password'; $wb['repeat_password_txt'] = 'Repeat Password'; $wb['password_mismatch_txt'] = 'The passwords do not match.'; $wb['password_match_txt'] = 'The passwords do match.'; +$wb['language_txt'] = 'Language'; +$wb['startmodule_txt'] = 'Startmodule'; +$wb['app_theme_txt'] = 'Design'; ?> diff --git a/interface/web/tools/lib/lang/br_interface.lng b/interface/web/tools/lib/lang/br_interface.lng deleted file mode 100644 index 95677c4b591df5b53fef1108c767881885b68288..0000000000000000000000000000000000000000 --- a/interface/web/tools/lib/lang/br_interface.lng +++ /dev/null @@ -1,7 +0,0 @@ - diff --git a/interface/web/tools/lib/lang/br_usersettings.lng b/interface/web/tools/lib/lang/br_usersettings.lng index cb3ae2dc4f82eed3915a33c5e4a10d53ba5d423d..e254e81a4f3005f3de39a18410d6af66b72f169e 100644 --- a/interface/web/tools/lib/lang/br_usersettings.lng +++ b/interface/web/tools/lib/lang/br_usersettings.lng @@ -9,4 +9,7 @@ $wb['generate_password_txt'] = 'Gerar Senha'; $wb['repeat_password_txt'] = 'Repetir Senha'; $wb['password_mismatch_txt'] = 'As senhas não coincidem.'; $wb['password_match_txt'] = 'As senhas coincidem.'; +$wb['language_txt'] = 'Idioma'; +$wb['startmodule_txt'] = 'Módulo Inicial'; +$wb['app_theme_txt'] = 'Tema'; ?> diff --git a/interface/web/tools/lib/lang/ca_interface.lng b/interface/web/tools/lib/lang/ca_interface.lng deleted file mode 100644 index b252103fd908f4022a457e2faca119739c96dc90..0000000000000000000000000000000000000000 --- a/interface/web/tools/lib/lang/ca_interface.lng +++ /dev/null @@ -1,7 +0,0 @@ - diff --git a/interface/web/tools/lib/lang/ca_usersettings.lng b/interface/web/tools/lib/lang/ca_usersettings.lng index fa40272aa08c094150913e5a3194e2cda2356128..4705660b9e1489cdd8fdcdaadd22561a4892d410 100644 --- a/interface/web/tools/lib/lang/ca_usersettings.lng +++ b/interface/web/tools/lib/lang/ca_usersettings.lng @@ -9,4 +9,7 @@ $wb['generate_password_txt'] = 'Générer mot de passe'; $wb['repeat_password_txt'] = 'Retaper le mot de passe'; $wb['password_mismatch_txt'] = 'Les mots de passe ne correspondent pas.'; $wb['password_match_txt'] = 'Les mots de passe correspondent.'; +$wb['language_txt'] = 'Language'; +$wb['startmodule_txt'] = 'Page d\'accueil'; +$wb['app_theme_txt'] = 'Interface'; ?> diff --git a/interface/web/tools/lib/lang/cz_interface.lng b/interface/web/tools/lib/lang/cz_interface.lng deleted file mode 100644 index 507b7c3cbeda904058d89d4929dfed78d349fa87..0000000000000000000000000000000000000000 --- a/interface/web/tools/lib/lang/cz_interface.lng +++ /dev/null @@ -1,7 +0,0 @@ - diff --git a/interface/web/tools/lib/lang/cz_usersettings.lng b/interface/web/tools/lib/lang/cz_usersettings.lng index ab76b2261ddba6e3de82efe75c06f8472e4c07fb..f447299e0883850364fd41fd65f986f55ab5cf20 100644 --- a/interface/web/tools/lib/lang/cz_usersettings.lng +++ b/interface/web/tools/lib/lang/cz_usersettings.lng @@ -9,4 +9,7 @@ $wb['repeat_password_txt'] = 'Opakujte heslo'; $wb['password_mismatch_txt'] = 'Hesla se neshodují.'; $wb['password_match_txt'] = 'Hesla se shodují.'; $wb['password_txt'] = 'Heslo'; +$wb['language_txt'] = 'Jazyk'; +$wb['startmodule_txt'] = 'Výchozí modul po přihlášení'; +$wb['app_theme_txt'] = 'Výchozí grafické téma'; ?> diff --git a/interface/web/tools/lib/lang/de_interface.lng b/interface/web/tools/lib/lang/de_interface.lng deleted file mode 100644 index 2af008f7639d2806c904323588c719ba096c8605..0000000000000000000000000000000000000000 --- a/interface/web/tools/lib/lang/de_interface.lng +++ /dev/null @@ -1,7 +0,0 @@ - diff --git a/interface/web/tools/lib/lang/de_usersettings.lng b/interface/web/tools/lib/lang/de_usersettings.lng index c643d38ff4e49bd5ba909380cf4af702715de985..dd5fefffae16a756fc596ae7566cedefe27d495f 100644 --- a/interface/web/tools/lib/lang/de_usersettings.lng +++ b/interface/web/tools/lib/lang/de_usersettings.lng @@ -9,4 +9,7 @@ $wb['generate_password_txt'] = 'Passwort erzeugen'; $wb['repeat_password_txt'] = 'Passwort wiederholen'; $wb['password_mismatch_txt'] = 'Die Passwörter stimmen nicht überein.'; $wb['password_match_txt'] = 'Die Passwörter stimmen überein.'; +$wb['language_txt'] = 'Sprache'; +$wb['startmodule_txt'] = 'Startmodul'; +$wb['app_theme_txt'] = 'Design'; ?> diff --git a/interface/web/tools/lib/lang/dk_interface.lng b/interface/web/tools/lib/lang/dk_interface.lng deleted file mode 100644 index cc17dd2f5c5c9e04c67f11a66d8d04de0c6c5f58..0000000000000000000000000000000000000000 --- a/interface/web/tools/lib/lang/dk_interface.lng +++ /dev/null @@ -1,7 +0,0 @@ - diff --git a/interface/web/tools/lib/lang/dk_usersettings.lng b/interface/web/tools/lib/lang/dk_usersettings.lng index 9398f2626ade1697b6ce74f5c4db00421a8c1c1f..341d9db757b08e847b3d0aa5b7ece8781959764a 100644 --- a/interface/web/tools/lib/lang/dk_usersettings.lng +++ b/interface/web/tools/lib/lang/dk_usersettings.lng @@ -9,4 +9,7 @@ $wb['repeat_password_txt'] = 'Gentage Adgangskode'; $wb['password_mismatch_txt'] = 'Adgangskoderne stemmer ikke overens.'; $wb['password_match_txt'] = 'Adgangskoderne stemmer overens.'; $wb['password_txt'] = 'Password'; +$wb['language_txt'] = 'Sprog'; +$wb['startmodule_txt'] = 'Startmodule'; +$wb['app_theme_txt'] = 'Design'; ?> diff --git a/interface/web/tools/lib/lang/el_interface.lng b/interface/web/tools/lib/lang/el_interface.lng deleted file mode 100644 index aab4fc89ffe72aab7529d850c4e1dc3bbd92dc77..0000000000000000000000000000000000000000 --- a/interface/web/tools/lib/lang/el_interface.lng +++ /dev/null @@ -1,7 +0,0 @@ - diff --git a/interface/web/tools/lib/lang/el_usersettings.lng b/interface/web/tools/lib/lang/el_usersettings.lng index 57e8bcb17a2b7dfc6677e58efbda065b480fd12a..68ddcd657c44dac297d32edcc570ceb6bd06b10c 100644 --- a/interface/web/tools/lib/lang/el_usersettings.lng +++ b/interface/web/tools/lib/lang/el_usersettings.lng @@ -9,4 +9,6 @@ $wb['generate_password_txt'] = 'Generate Password'; $wb['repeat_password_txt'] = 'Repeat Password'; $wb['password_mismatch_txt'] = 'The passwords do not match.'; $wb['password_match_txt'] = 'The passwords do match.'; +$wb['startmodule_txt'] = 'Startmodule'; +$wb['app_theme_txt'] = 'Design'; ?> diff --git a/interface/web/tools/lib/lang/en_interface.lng b/interface/web/tools/lib/lang/en_interface.lng deleted file mode 100644 index 7cb0e2d8bc6b9b88da4863cc9d41234622956853..0000000000000000000000000000000000000000 --- a/interface/web/tools/lib/lang/en_interface.lng +++ /dev/null @@ -1,11 +0,0 @@ - \ No newline at end of file diff --git a/interface/web/tools/lib/lang/en_usersettings.lng b/interface/web/tools/lib/lang/en_usersettings.lng index 79c7437cb1b8882a75b3b3fc8ade2aeebcf4043f..601ae420ffb4120572a670e778a1887328a43fa4 100644 --- a/interface/web/tools/lib/lang/en_usersettings.lng +++ b/interface/web/tools/lib/lang/en_usersettings.lng @@ -9,4 +9,11 @@ $wb['generate_password_txt'] = 'Generate Password'; $wb['repeat_password_txt'] = 'Repeat Password'; $wb['password_mismatch_txt'] = 'The passwords do not match.'; $wb['password_match_txt'] = 'The passwords do match.'; +$wb["language_txt"] = 'Language'; +$wb["startmodule_txt"] = 'Startmodule'; +$wb["app_theme_txt"] = 'Design'; +$wb['startmodule_empty'] = 'Startmodule empty.'; +$wb['startmodule_regex'] = 'Invalid chars in Startmodule.'; +$wb['app_theme_empty'] = 'App theme empty.'; +$wb['app_theme_regex'] = 'Invalid chars in App theme.'; ?> diff --git a/interface/web/tools/lib/lang/es_interface.lng b/interface/web/tools/lib/lang/es_interface.lng deleted file mode 100644 index 87b94e4c4a7b6e3876b3429c299eaaaa83a5876d..0000000000000000000000000000000000000000 --- a/interface/web/tools/lib/lang/es_interface.lng +++ /dev/null @@ -1,7 +0,0 @@ - diff --git a/interface/web/tools/lib/lang/es_usersettings.lng b/interface/web/tools/lib/lang/es_usersettings.lng index 9b2de57bfbd3bcf118bddf3f7113d9f57a47812b..43a181a11c7337042c0faada5357b30b53aae228 100644 --- a/interface/web/tools/lib/lang/es_usersettings.lng +++ b/interface/web/tools/lib/lang/es_usersettings.lng @@ -9,4 +9,7 @@ $wb['generate_password_txt'] = 'Generar contraseña'; $wb['repeat_password_txt'] = 'Repetir contraseña'; $wb['password_mismatch_txt'] = 'Las contraseñas no coinciden.'; $wb['password_match_txt'] = 'Las contraseñas coinciden.'; +$wb['language_txt'] = 'Idioma'; +$wb['startmodule_txt'] = 'Módulo de inicio'; +$wb['app_theme_txt'] = 'Diseño'; ?> diff --git a/interface/web/tools/lib/lang/fi_interface.lng b/interface/web/tools/lib/lang/fi_interface.lng deleted file mode 100644 index aab4fc89ffe72aab7529d850c4e1dc3bbd92dc77..0000000000000000000000000000000000000000 --- a/interface/web/tools/lib/lang/fi_interface.lng +++ /dev/null @@ -1,7 +0,0 @@ - diff --git a/interface/web/tools/lib/lang/fi_usersettings.lng b/interface/web/tools/lib/lang/fi_usersettings.lng index 8267c8117a57f1969b107d87d015a5c53bd6773d..91d71739537e6d663f4a6e9fc043ab5f73af5fed 100644 --- a/interface/web/tools/lib/lang/fi_usersettings.lng +++ b/interface/web/tools/lib/lang/fi_usersettings.lng @@ -9,4 +9,7 @@ $wb['generate_password_txt'] = 'Generate Password'; $wb['repeat_password_txt'] = 'Repeat Password'; $wb['password_mismatch_txt'] = 'The passwords do not match.'; $wb['password_match_txt'] = 'The passwords do match.'; +$wb['language_txt'] = 'Language'; +$wb['startmodule_txt'] = 'Startmodule'; +$wb['app_theme_txt'] = 'Design'; ?> diff --git a/interface/web/tools/lib/lang/fr_interface.lng b/interface/web/tools/lib/lang/fr_interface.lng deleted file mode 100644 index aab4fc89ffe72aab7529d850c4e1dc3bbd92dc77..0000000000000000000000000000000000000000 --- a/interface/web/tools/lib/lang/fr_interface.lng +++ /dev/null @@ -1,7 +0,0 @@ - diff --git a/interface/web/tools/lib/lang/fr_usersettings.lng b/interface/web/tools/lib/lang/fr_usersettings.lng index bafccd3b97ba4a51252e6ab9a8932d07ff1856f0..b398e76e352ccb6b168473b29f74bcbf6c5b932f 100644 --- a/interface/web/tools/lib/lang/fr_usersettings.lng +++ b/interface/web/tools/lib/lang/fr_usersettings.lng @@ -9,4 +9,7 @@ $wb['generate_password_txt'] = 'Générer un mot de passe'; $wb['repeat_password_txt'] = 'Répéter le mot de passe'; $wb['password_mismatch_txt'] = 'Les mots de passe ne correspondent pas.'; $wb['password_match_txt'] = 'Les mots de passe correspondent.'; +$wb['language_txt'] = 'Language'; +$wb['startmodule_txt'] = 'Startmodule'; +$wb['app_theme_txt'] = 'Design'; ?> diff --git a/interface/web/tools/lib/lang/hr_interface.lng b/interface/web/tools/lib/lang/hr_interface.lng deleted file mode 100644 index 5cc9815a10c76d57884aa2056a06b2f765fc86e4..0000000000000000000000000000000000000000 --- a/interface/web/tools/lib/lang/hr_interface.lng +++ /dev/null @@ -1,7 +0,0 @@ - diff --git a/interface/web/tools/lib/lang/hr_usersettings.lng b/interface/web/tools/lib/lang/hr_usersettings.lng index 50759d4883abbc64344f6b8bc4afa9e73fff949a..b707cce4da55bf35f0c771408c92f95fd0464457 100644 --- a/interface/web/tools/lib/lang/hr_usersettings.lng +++ b/interface/web/tools/lib/lang/hr_usersettings.lng @@ -9,4 +9,7 @@ $wb['generate_password_txt'] = 'Generiraj šifru'; $wb['repeat_password_txt'] = 'Ponovi šifru'; $wb['password_mismatch_txt'] = 'Šifre nisu identične.'; $wb['password_match_txt'] = 'Šifre su identične.'; +$wb['language_txt'] = 'Jezik'; +$wb['startmodule_txt'] = 'Početna stranica'; +$wb['app_theme_txt'] = 'Tema'; ?> diff --git a/interface/web/tools/lib/lang/hu_interface.lng b/interface/web/tools/lib/lang/hu_interface.lng deleted file mode 100644 index aab4fc89ffe72aab7529d850c4e1dc3bbd92dc77..0000000000000000000000000000000000000000 --- a/interface/web/tools/lib/lang/hu_interface.lng +++ /dev/null @@ -1,7 +0,0 @@ - diff --git a/interface/web/tools/lib/lang/hu_usersettings.lng b/interface/web/tools/lib/lang/hu_usersettings.lng index 49aa75537fc06fa9fd9aaef184b5e16aa5408efd..2a89acf5b5f926929859300cc3e573566b55fc1c 100644 --- a/interface/web/tools/lib/lang/hu_usersettings.lng +++ b/interface/web/tools/lib/lang/hu_usersettings.lng @@ -9,4 +9,7 @@ $wb['generate_password_txt'] = 'Generate Password'; $wb['repeat_password_txt'] = 'Repeat Password'; $wb['password_mismatch_txt'] = 'The passwords do not match.'; $wb['password_match_txt'] = 'The passwords do match.'; +$wb['language_txt'] = 'Language'; +$wb['startmodule_txt'] = 'Startmodule'; +$wb['app_theme_txt'] = 'Design'; ?> diff --git a/interface/web/tools/lib/lang/id_interface.lng b/interface/web/tools/lib/lang/id_interface.lng deleted file mode 100644 index aab4fc89ffe72aab7529d850c4e1dc3bbd92dc77..0000000000000000000000000000000000000000 --- a/interface/web/tools/lib/lang/id_interface.lng +++ /dev/null @@ -1,7 +0,0 @@ - diff --git a/interface/web/tools/lib/lang/id_usersettings.lng b/interface/web/tools/lib/lang/id_usersettings.lng index 7b1bc225cad5a6e8d3631332e983cd88e92f5179..760cfe75f244d893433fc863f683093816a11c00 100644 --- a/interface/web/tools/lib/lang/id_usersettings.lng +++ b/interface/web/tools/lib/lang/id_usersettings.lng @@ -9,4 +9,7 @@ $wb['generate_password_txt'] = 'Generate Password'; $wb['repeat_password_txt'] = 'Repeat Password'; $wb['password_mismatch_txt'] = 'The passwords do not match.'; $wb['password_match_txt'] = 'The passwords do match.'; +$wb['language_txt'] = 'Language'; +$wb['startmodule_txt'] = 'Startmodule'; +$wb['app_theme_txt'] = 'Design'; ?> diff --git a/interface/web/tools/lib/lang/it_interface.lng b/interface/web/tools/lib/lang/it_interface.lng deleted file mode 100644 index aab4fc89ffe72aab7529d850c4e1dc3bbd92dc77..0000000000000000000000000000000000000000 --- a/interface/web/tools/lib/lang/it_interface.lng +++ /dev/null @@ -1,7 +0,0 @@ - diff --git a/interface/web/tools/lib/lang/it_usersettings.lng b/interface/web/tools/lib/lang/it_usersettings.lng index e75e8d28d2cf550d1893d81053c910d87584e7a3..a1ad8eba871125a2cf17c29a4e70b39f2f2f995d 100644 --- a/interface/web/tools/lib/lang/it_usersettings.lng +++ b/interface/web/tools/lib/lang/it_usersettings.lng @@ -9,4 +9,7 @@ $wb['generate_password_txt'] = 'Generate Password'; $wb['repeat_password_txt'] = 'Repeat Password'; $wb['password_mismatch_txt'] = 'The passwords do not match.'; $wb['password_match_txt'] = 'The passwords do match.'; +$wb['language_txt'] = 'Language'; +$wb['startmodule_txt'] = 'Startmodule'; +$wb['app_theme_txt'] = 'Design'; ?> diff --git a/interface/web/tools/lib/lang/ja_interface.lng b/interface/web/tools/lib/lang/ja_interface.lng deleted file mode 100644 index aab4fc89ffe72aab7529d850c4e1dc3bbd92dc77..0000000000000000000000000000000000000000 --- a/interface/web/tools/lib/lang/ja_interface.lng +++ /dev/null @@ -1,7 +0,0 @@ - diff --git a/interface/web/tools/lib/lang/ja_usersettings.lng b/interface/web/tools/lib/lang/ja_usersettings.lng index 443a4510543f83ab235d1e0dcf57a1f4770f5576..291aa94537208f694c4b6e49eabe059d7ac8f085 100644 --- a/interface/web/tools/lib/lang/ja_usersettings.lng +++ b/interface/web/tools/lib/lang/ja_usersettings.lng @@ -9,4 +9,7 @@ $wb['generate_password_txt'] = 'Generate Password'; $wb['repeat_password_txt'] = 'Repeat Password'; $wb['password_mismatch_txt'] = 'The passwords do not match.'; $wb['password_match_txt'] = 'The passwords do match.'; +$wb['language_txt'] = 'Language'; +$wb['startmodule_txt'] = 'Startmodule'; +$wb['app_theme_txt'] = 'Design'; ?> diff --git a/interface/web/tools/lib/lang/nl_interface.lng b/interface/web/tools/lib/lang/nl_interface.lng deleted file mode 100644 index aab4fc89ffe72aab7529d850c4e1dc3bbd92dc77..0000000000000000000000000000000000000000 --- a/interface/web/tools/lib/lang/nl_interface.lng +++ /dev/null @@ -1,7 +0,0 @@ - diff --git a/interface/web/tools/lib/lang/nl_usersettings.lng b/interface/web/tools/lib/lang/nl_usersettings.lng index 0a95f7ffa9024dfff4d9db8168f76769a6df4792..909df9dbecf4bcadca6266477ec37b276581f1ee 100644 --- a/interface/web/tools/lib/lang/nl_usersettings.lng +++ b/interface/web/tools/lib/lang/nl_usersettings.lng @@ -9,4 +9,7 @@ $wb['generate_password_txt'] = 'Generate Password'; $wb['repeat_password_txt'] = 'Repeat Password'; $wb['password_mismatch_txt'] = 'The passwords do not match.'; $wb['password_match_txt'] = 'The passwords do match.'; +$wb['language_txt'] = 'Taal'; +$wb['startmodule_txt'] = 'Startmodule'; +$wb['app_theme_txt'] = 'Design'; ?> diff --git a/interface/web/tools/lib/lang/pl_interface.lng b/interface/web/tools/lib/lang/pl_interface.lng deleted file mode 100644 index 0256fab376397535594b29404ab1b4d5cadb7a3e..0000000000000000000000000000000000000000 --- a/interface/web/tools/lib/lang/pl_interface.lng +++ /dev/null @@ -1,7 +0,0 @@ - diff --git a/interface/web/tools/lib/lang/pl_usersettings.lng b/interface/web/tools/lib/lang/pl_usersettings.lng index 45081f681b6fce1de43062dd7602f154a15a5821..64396df2409dbb08ea741cd5d7ea7551ce5769c1 100644 --- a/interface/web/tools/lib/lang/pl_usersettings.lng +++ b/interface/web/tools/lib/lang/pl_usersettings.lng @@ -9,4 +9,7 @@ $wb['generate_password_txt'] = 'Wygeneruj hasło'; $wb['repeat_password_txt'] = 'Powtórz hasło'; $wb['password_mismatch_txt'] = 'Hasła się nie zgadzają'; $wb['password_match_txt'] = 'Hasła się zgadzają'; +$wb['language_txt'] = 'Język'; +$wb['startmodule_txt'] = 'Moduł startowy'; +$wb['app_theme_txt'] = 'Temat'; ?> diff --git a/interface/web/tools/lib/lang/pt_interface.lng b/interface/web/tools/lib/lang/pt_interface.lng deleted file mode 100644 index aab4fc89ffe72aab7529d850c4e1dc3bbd92dc77..0000000000000000000000000000000000000000 --- a/interface/web/tools/lib/lang/pt_interface.lng +++ /dev/null @@ -1,7 +0,0 @@ - diff --git a/interface/web/tools/lib/lang/pt_usersettings.lng b/interface/web/tools/lib/lang/pt_usersettings.lng index 81fd824d303c8845fbe31e5110d226738fbcaad8..4925a3f7286da3e7a1fc9c74205d7dcd4217ccfe 100644 --- a/interface/web/tools/lib/lang/pt_usersettings.lng +++ b/interface/web/tools/lib/lang/pt_usersettings.lng @@ -9,4 +9,7 @@ $wb['generate_password_txt'] = 'Generate Password'; $wb['repeat_password_txt'] = 'Repeat Password'; $wb['password_mismatch_txt'] = 'The passwords do not match.'; $wb['password_match_txt'] = 'The passwords do match.'; +$wb['language_txt'] = 'Language'; +$wb['startmodule_txt'] = 'Startmodule'; +$wb['app_theme_txt'] = 'Design'; ?> diff --git a/interface/web/tools/lib/lang/ro_interface.lng b/interface/web/tools/lib/lang/ro_interface.lng deleted file mode 100644 index aab4fc89ffe72aab7529d850c4e1dc3bbd92dc77..0000000000000000000000000000000000000000 --- a/interface/web/tools/lib/lang/ro_interface.lng +++ /dev/null @@ -1,7 +0,0 @@ - diff --git a/interface/web/tools/lib/lang/ro_usersettings.lng b/interface/web/tools/lib/lang/ro_usersettings.lng index fae890fab609e6801b5e57f2de2e5059b37b1f50..8c43550f33cc56729cd5902089e60d21b5732e25 100644 --- a/interface/web/tools/lib/lang/ro_usersettings.lng +++ b/interface/web/tools/lib/lang/ro_usersettings.lng @@ -9,4 +9,7 @@ $wb['generate_password_txt'] = 'Generate Password'; $wb['repeat_password_txt'] = 'Repeat Password'; $wb['password_mismatch_txt'] = 'The passwords do not match.'; $wb['password_match_txt'] = 'The passwords do match.'; +$wb['language_txt'] = 'Language'; +$wb['startmodule_txt'] = 'Startmodule'; +$wb['app_theme_txt'] = 'Design'; ?> diff --git a/interface/web/tools/lib/lang/ru_interface.lng b/interface/web/tools/lib/lang/ru_interface.lng deleted file mode 100644 index 91644d5c2b71fcbf9d4bbeb13e3b510d956af1b5..0000000000000000000000000000000000000000 --- a/interface/web/tools/lib/lang/ru_interface.lng +++ /dev/null @@ -1,7 +0,0 @@ - diff --git a/interface/web/tools/lib/lang/ru_usersettings.lng b/interface/web/tools/lib/lang/ru_usersettings.lng index 609b69fdb0ae28b498da62f2050c15caed902e4d..ffa3f3bf03116cf1d8b3cd4b97c38114e4762b28 100644 --- a/interface/web/tools/lib/lang/ru_usersettings.lng +++ b/interface/web/tools/lib/lang/ru_usersettings.lng @@ -9,4 +9,9 @@ $wb['generate_password_txt'] = 'Создать пароль'; $wb['repeat_password_txt'] = 'Повторить пароль'; $wb['password_mismatch_txt'] = 'Пароли не совпадают.'; $wb['password_match_txt'] = 'Эти пароли совпадают.'; +$wb['interface_head_txt'] = 'Настройки интерфейса'; +$wb['interface_desc_txt'] = 'Измените свой интерфейс'; +$wb['language_txt'] = 'Язык'; +$wb['startmodule_txt'] = 'Стартовый модуль'; +$wb['app_theme_txt'] = 'Тема'; ?> diff --git a/interface/web/tools/lib/lang/se_interface.lng b/interface/web/tools/lib/lang/se_interface.lng deleted file mode 100644 index 9a66f59e00d79e4940c7c3e50ebda5e7adcfc7a6..0000000000000000000000000000000000000000 --- a/interface/web/tools/lib/lang/se_interface.lng +++ /dev/null @@ -1,7 +0,0 @@ - diff --git a/interface/web/tools/lib/lang/se_usersettings.lng b/interface/web/tools/lib/lang/se_usersettings.lng index 4461fff4968b7df639c080a81b5e9ddf6cb4113d..f6de2dc4eebe227af1be4cfe0e5de3bd5ee7eff1 100644 --- a/interface/web/tools/lib/lang/se_usersettings.lng +++ b/interface/web/tools/lib/lang/se_usersettings.lng @@ -9,4 +9,7 @@ $wb['generate_password_txt'] = 'Generera lösenord'; $wb['repeat_password_txt'] = 'Upprepa lösenord'; $wb['password_mismatch_txt'] = 'Lösenorden matchar inte'; $wb['password_match_txt'] = 'Lösenorden matchar'; +$wb['language_txt'] = 'Språk'; +$wb['startmodule_txt'] = 'Startmodul'; +$wb['app_theme_txt'] = 'Design'; ?> diff --git a/interface/web/tools/lib/lang/sk_interface.lng b/interface/web/tools/lib/lang/sk_interface.lng deleted file mode 100644 index aab4fc89ffe72aab7529d850c4e1dc3bbd92dc77..0000000000000000000000000000000000000000 --- a/interface/web/tools/lib/lang/sk_interface.lng +++ /dev/null @@ -1,7 +0,0 @@ - diff --git a/interface/web/tools/lib/lang/sk_usersettings.lng b/interface/web/tools/lib/lang/sk_usersettings.lng index 4c8bcb900e742c83a7b65aa4c29293be8f866f1a..e00f5e664b1bb4bcb71a6614446dec2530c1aa21 100644 --- a/interface/web/tools/lib/lang/sk_usersettings.lng +++ b/interface/web/tools/lib/lang/sk_usersettings.lng @@ -9,4 +9,7 @@ $wb['generate_password_txt'] = 'Generate Password'; $wb['repeat_password_txt'] = 'Repeat Password'; $wb['password_mismatch_txt'] = 'The passwords do not match.'; $wb['password_match_txt'] = 'The passwords do match.'; +$wb['language_txt'] = 'Language'; +$wb['startmodule_txt'] = 'Startmodule'; +$wb['app_theme_txt'] = 'Design'; ?> diff --git a/interface/web/tools/lib/lang/tr_interface.lng b/interface/web/tools/lib/lang/tr_interface.lng deleted file mode 100644 index 2384c71107a76610744f471cb5f78bf290e6947c..0000000000000000000000000000000000000000 --- a/interface/web/tools/lib/lang/tr_interface.lng +++ /dev/null @@ -1,7 +0,0 @@ - diff --git a/interface/web/tools/lib/lang/tr_usersettings.lng b/interface/web/tools/lib/lang/tr_usersettings.lng index fa2eff63d7419c17c4272505934e530214eae709..a1fd7c56d4cddc2fd47065819f46c37917369bfb 100644 --- a/interface/web/tools/lib/lang/tr_usersettings.lng +++ b/interface/web/tools/lib/lang/tr_usersettings.lng @@ -9,4 +9,7 @@ $wb['generate_password_txt'] = 'Parola Üret'; $wb['repeat_password_txt'] = 'Parola Onayı'; $wb['password_mismatch_txt'] = 'Parola ile onayı aynı değil.'; $wb['password_match_txt'] = 'Parola ile onayı aynı.'; +$wb['language_txt'] = 'Dil'; +$wb['startmodule_txt'] = 'Başlangıç modülü'; +$wb['app_theme_txt'] = 'Tasarım'; ?> diff --git a/interface/web/tools/lib/module.conf.php b/interface/web/tools/lib/module.conf.php index 617ab0b6cd6d354e96499bfecbf90b8700b86d0c..5911cdbebfe822898c5968bfe663bdb2746886d8 100644 --- a/interface/web/tools/lib/module.conf.php +++ b/interface/web/tools/lib/module.conf.php @@ -5,7 +5,7 @@ global $conf; $module['name'] = 'tools'; $module['title'] = 'top_menu_tools'; $module['template'] = 'module.tpl.htm'; -$module['startpage'] = 'tools/index.php'; +$module['startpage'] = 'tools/user_settings.php'; $module['tab_width'] = '60'; $module['order'] = '80'; @@ -13,7 +13,7 @@ $module['order'] = '80'; //**** Change User password $items = array(); -$items[] = array( 'title' => 'Password and Language', +$items[] = array( 'title' => 'User Settings', 'target' => 'content', 'link' => 'tools/user_settings.php', 'html_id' => 'user_settings'); @@ -24,23 +24,4 @@ $module['nav'][] = array( 'title' => 'User Settings', 'items' => $items); unset($items); - -//**** Change interface settings + load settings page of the activated theme -$items = array(); - -$items[] = array( 'title' => 'Interface', - 'target' => 'content', - 'link' => 'tools/interface_settings.php', - 'html_id' => 'interface_settings'); - -if(file_exists(ISPC_WEB_PATH.'/tools/lib/interface.d/tpl_' . $_SESSION['s']['user']['app_theme'] . '.menu.php')) include_once ISPC_WEB_PATH.'/tools/lib/interface.d/tpl_' . $_SESSION['s']['user']['app_theme'] . '.menu.php'; - -$module['nav'][] = array( 'title' => 'Interface', - 'open' => 1, - 'items' => $items); - -unset($items); - - - ?> diff --git a/interface/web/tools/templates/interface_settings.htm b/interface/web/tools/templates/interface_settings.htm deleted file mode 100644 index 6767287206140bca39b52268de0d75be409fa621..0000000000000000000000000000000000000000 --- a/interface/web/tools/templates/interface_settings.htm +++ /dev/null @@ -1,22 +0,0 @@ - -
- -
-
- -
- -
-
- - - - -
- - -
diff --git a/interface/web/tools/templates/user_settings.htm b/interface/web/tools/templates/user_settings.htm index 4fa1c9de34d0b2007d6923f32f4f147f2957e8ad..a620f419c54d58ed5ad4e3b044c8410b10d46160 100644 --- a/interface/web/tools/templates/user_settings.htm +++ b/interface/web/tools/templates/user_settings.htm @@ -1,41 +1,58 @@ -
- -
-
- - - - -
-
-
-
- -
-
-   -
-
-
- -
-
-
- - -
-
-
- -
-
- - - - -
- - -
+
+ +
+
+ + + + +
+
+
+
+ +
+
+   +
+
+
+ +
+
+
+
+ + +
+
+
+ +
+
+
+ +
+ +
+
+
+ +
+ +
+
+
+ +
+
+ + +
+
diff --git a/interface/web/tools/user_settings.php b/interface/web/tools/user_settings.php index 5c3876fb864d8036338dda594437adcf0208d765..03c0b6a7e2ce23cd7ea9a24d7d8396d2f6aa4d5d 100644 --- a/interface/web/tools/user_settings.php +++ b/interface/web/tools/user_settings.php @@ -86,22 +86,50 @@ class page_action extends tform_actions { if($_POST['passwort'] != $_POST['repeat_password']) { $app->tform->errorMessage = $app->tform->lng('password_mismatch'); } - + $language = $app->functions->check_language($_POST['language']); $_SESSION['s']['user']['language'] = $language; $_SESSION['s']['language'] = $language; } - + function onAfterUpdate() { global $app; - + if($_POST['passwort'] != '') { $tmp_user = $app->db->queryOneRecord("SELECT passwort FROM sys_user WHERE userid = ?", $_SESSION['s']['user']['userid']); $_SESSION['s']['user']['passwort'] = $tmp_user['passwort']; unset($tmp_user); } + $this->updateSessionTheme(); + + if($this->_theme_changed == true) { + // not the best way, but it works + header('Content-Type: text/html'); + print ''; + exit; + } } + var $_theme_changed = false; + function updateSessionTheme() { + global $app, $conf; + + if($this->dataRecord['app_theme'] != 'default') { + $tmp_path = ISPC_THEMES_PATH."/".$this->dataRecord['app_theme']; + if(!@is_dir($tmp_path) || (@file_exists($tmp_path."/ispconfig_version") && trim(file_get_contents($tmp_path."/ispconfig_version")) != ISPC_APP_VERSION)) { + // fall back to default theme if this one is not compatible with current ispc version + $this->dataRecord['app_theme'] = 'default'; + } + } + if($this->dataRecord['app_theme'] != $_SESSION['s']['user']['theme']) $this->_theme_changed = true; + $_SESSION['s']['theme'] = $this->dataRecord['app_theme']; + $_SESSION['s']['user']['theme'] = $_SESSION['s']['theme']; + $_SESSION['s']['user']['app_theme'] = $_SESSION['s']['theme']; + } + + function onAfterInsert() { + $this->onAfterUpdate(); + } }