From 6665c6cbb9e2025fc6b7f36cf9ff86ca9673cb1e Mon Sep 17 00:00:00 2001 From: cfoe Date: Fri, 20 Jul 2012 18:24:33 +0000 Subject: [PATCH] added admin and enduser interface for theme settings --- .../admin/form/tpl_default-v2_admin.tform.php | 194 ++++++++++++++++++ .../admin/form/tpl_default_admin.tform.php | 194 ++++++++++++++++++ .../admin/lib/interface.d/default-v2.menu.php | 7 - .../lib/interface.d/tpl_default-v2.menu.php | 7 + .../lib/interface.d/tpl_default.menu.php | 7 + .../web/admin/lib/lang/ar_system_config.lng | 1 + .../web/admin/lib/lang/br_system_config.lng | 1 + .../web/admin/lib/lang/cz_system_config.lng | 1 + .../admin/lib/lang/de_remote_user_list.lng | 2 +- .../web/admin/lib/lang/de_system_config.lng | 1 + .../lib/lang/de_tpl_default-v2_admin.lng | 18 ++ .../admin/lib/lang/de_tpl_default_admin.lng | 18 ++ .../web/admin/lib/lang/de_users_list.lng | 2 +- .../web/admin/lib/lang/el_system_config.lng | 1 + .../admin/lib/lang/en_remote_user_list.lng | 2 +- .../web/admin/lib/lang/en_system_config.lng | 1 + .../lib/lang/en_tpl_default-v2_admin.lng | 18 ++ .../admin/lib/lang/en_tpl_default_admin.lng | 18 ++ .../web/admin/lib/lang/en_users_list.lng | 2 +- .../web/admin/lib/lang/es_system_config.lng | 1 + .../web/admin/lib/lang/fi_system_config.lng | 1 + .../web/admin/lib/lang/fr_system_config.lng | 1 + .../web/admin/lib/lang/hr_system_config.lng | 1 + .../web/admin/lib/lang/hu_system_config.lng | 1 + .../web/admin/lib/lang/id_system_config.lng | 1 + .../web/admin/lib/lang/it_system_config.lng | 1 + .../web/admin/lib/lang/ja_system_config.lng | 1 + .../web/admin/lib/lang/nl_system_config.lng | 1 + .../web/admin/lib/lang/pl_system_config.lng | 1 + .../web/admin/lib/lang/pt_system_config.lng | 1 + .../web/admin/lib/lang/ro_system_config.lng | 1 + .../web/admin/lib/lang/ru_system_config.lng | 1 + .../web/admin/lib/lang/se_system_config.lng | 1 + .../web/admin/lib/lang/sk_system_config.lng | 1 + .../web/admin/lib/lang/tr_system_config.lng | 1 + interface/web/admin/lib/module.conf.php | 2 - interface/web/admin/tpl_default-v2_admin.php | 73 +++++++ interface/web/admin/tpl_default_admin.php | 73 +++++++ interface/web/tools/default-v2_settings.php | 109 ---------- .../tools/form/interface_settings.tform.php | 4 +- ...ngs.tform.php => tpl_default-v2.tform.php} | 8 +- .../web/tools/form/tpl_default.tform.php | 181 ++++++++++++++++ interface/web/tools/index.php | 23 ++- .../tools/lib/interface.d/default-v2.menu.php | 7 - .../lib/interface.d/tpl_default-v2.menu.php | 7 + .../lib/interface.d/tpl_default.menu.php | 7 + .../web/tools/lib/lang/de_default-v2.lng | 5 - interface/web/tools/lib/lang/de_index.lng | 4 + interface/web/tools/lib/lang/de_interface.lng | 2 + .../web/tools/lib/lang/de_tpl_default-v2.lng | 7 + .../web/tools/lib/lang/de_tpl_default.lng | 7 + .../web/tools/lib/lang/en_default-v2.lng | 5 - interface/web/tools/lib/lang/en_index.lng | 4 + interface/web/tools/lib/lang/en_interface.lng | 2 + .../web/tools/lib/lang/en_tpl_default-v2.lng | 7 + .../web/tools/lib/lang/en_tpl_default.lng | 7 + interface/web/tools/lib/module.conf.php | 2 +- interface/web/tools/templates/index.htm | 20 ++ .../tools/templates/interface_settings.htm | 16 +- ...ult-v2_settings.htm => tpl_default-v2.htm} | 4 +- interface/web/tools/templates/tpl_default.htm | 37 ++++ interface/web/tools/tpl_default-v2.php | 108 ++++++++++ interface/web/tools/tpl_default.php | 108 ++++++++++ 63 files changed, 1183 insertions(+), 167 deletions(-) create mode 100644 interface/web/admin/form/tpl_default-v2_admin.tform.php create mode 100644 interface/web/admin/form/tpl_default_admin.tform.php delete mode 100644 interface/web/admin/lib/interface.d/default-v2.menu.php create mode 100644 interface/web/admin/lib/interface.d/tpl_default-v2.menu.php create mode 100644 interface/web/admin/lib/interface.d/tpl_default.menu.php create mode 100644 interface/web/admin/lib/lang/de_tpl_default-v2_admin.lng create mode 100644 interface/web/admin/lib/lang/de_tpl_default_admin.lng create mode 100644 interface/web/admin/lib/lang/en_tpl_default-v2_admin.lng create mode 100644 interface/web/admin/lib/lang/en_tpl_default_admin.lng create mode 100644 interface/web/admin/tpl_default-v2_admin.php create mode 100644 interface/web/admin/tpl_default_admin.php delete mode 100644 interface/web/tools/default-v2_settings.php rename interface/web/tools/form/{default-v2_settings.tform.php => tpl_default-v2.tform.php} (96%) create mode 100644 interface/web/tools/form/tpl_default.tform.php delete mode 100644 interface/web/tools/lib/interface.d/default-v2.menu.php create mode 100644 interface/web/tools/lib/interface.d/tpl_default-v2.menu.php create mode 100644 interface/web/tools/lib/interface.d/tpl_default.menu.php delete mode 100644 interface/web/tools/lib/lang/de_default-v2.lng create mode 100644 interface/web/tools/lib/lang/de_index.lng create mode 100644 interface/web/tools/lib/lang/de_tpl_default-v2.lng create mode 100644 interface/web/tools/lib/lang/de_tpl_default.lng delete mode 100644 interface/web/tools/lib/lang/en_default-v2.lng create mode 100644 interface/web/tools/lib/lang/en_index.lng create mode 100644 interface/web/tools/lib/lang/en_tpl_default-v2.lng create mode 100644 interface/web/tools/lib/lang/en_tpl_default.lng create mode 100644 interface/web/tools/templates/index.htm rename interface/web/tools/templates/{default-v2_settings.htm => tpl_default-v2.htm} (91%) create mode 100644 interface/web/tools/templates/tpl_default.htm create mode 100644 interface/web/tools/tpl_default-v2.php create mode 100644 interface/web/tools/tpl_default.php diff --git a/interface/web/admin/form/tpl_default-v2_admin.tform.php b/interface/web/admin/form/tpl_default-v2_admin.tform.php new file mode 100644 index 0000000000..0d1786b4d7 --- /dev/null +++ b/interface/web/admin/form/tpl_default-v2_admin.tform.php @@ -0,0 +1,194 @@ + 0 id must match with id of current user +$form["auth_preset"]["groupid"] = 0; // 0 = default groupid of the user, > 0 id must match with groupid of current user +$form["auth_preset"]["perm_user"] = 'riud'; //r = read, i = insert, u = update, d = delete +$form["auth_preset"]["perm_group"] = 'riud'; //r = read, i = insert, u = update, d = delete +$form["auth_preset"]["perm_other"] = ''; //r = read, i = insert, u = update, d = delete + +$form["tabs"]['php_name'] = array ( + 'title' => "Name", + 'width' => 80, + 'template' => "templates/server_php_name_edit.htm", + 'fields' => array ( + ################################## + # Beginn Datenbankfelder + ################################## + 'server_id' => array ( + 'datatype' => 'INTEGER', + 'formtype' => 'SELECT', + 'default' => '', + 'datasource' => array ( 'type' => 'SQL', + 'querystring' => 'SELECT server_id,server_name FROM server WHERE {AUTHSQL} ORDER BY server_name', + 'keyfield'=> 'server_id', + 'valuefield'=> 'server_name' + ), + 'value' => '' + ), + 'client_id' => array ( + 'datatype' => 'INTEGER', + 'formtype' => 'SELECT', + 'default' => '', + 'datasource' => array ( 'type' => 'SQL', + 'querystring' => "SELECT client_id,CONCAT(contact_name,' :: ',username) as name FROM client WHERE {AUTHSQL} ORDER BY contact_name", + 'keyfield'=> 'client_id', + 'valuefield'=> 'name' + ), + 'value' => array(0 => ' ') + ), + 'name' => array ( + 'datatype' => 'VARCHAR', + 'formtype' => 'TEXT', + 'validators' => array(0 => array('type' => 'NOTEMPTY', + 'errmsg' => 'server_php_name_error_empty'), + ), + 'default' => '', + 'value' => '', + 'separator' => '', + 'width' => '40', + 'maxlength' => '255' + ), + ################################## + # ENDE Datenbankfelder + ################################## + ) +); + +$form["tabs"]['php_fastcgi'] = array( + 'title' => "FastCGI Settings", + 'width' => 80, + 'template' => "templates/server_php_fastcgi_edit.htm", + 'fields' => array( + ################################## + # Begin Datatable fields + ################################## + 'php_fastcgi_binary' => array( + 'datatype' => 'VARCHAR', + 'formtype' => 'TEXT', + 'default' => '', + 'value' => '', + 'width' => '40', + 'maxlength' => '255' + ), + 'php_fastcgi_ini_dir' => array( + 'datatype' => 'VARCHAR', + 'formtype' => 'TEXT', + 'default' => '', + 'value' => '', + 'width' => '40', + 'maxlength' => '255' + ), + ################################## + # ENDE Datatable fields + ################################## + ) +); + +$form["tabs"]['php_fpm'] = array( + 'title' => "PHP-FPM Settings", + 'width' => 80, + 'template' => "templates/server_php_fpm_edit.htm", + 'fields' => array( + ################################## + # Begin Datatable fields + ################################## + 'php_fpm_init_script' => array( + 'datatype' => 'VARCHAR', + 'formtype' => 'TEXT', + 'default' => '', + 'value' => '', + 'width' => '40', + 'maxlength' => '255' + ), + 'php_fpm_ini_dir' => array( + 'datatype' => 'VARCHAR', + 'formtype' => 'TEXT', + 'default' => '', + 'value' => '', + 'width' => '40', + 'maxlength' => '255' + ), + 'php_fpm_pool_dir' => array( + 'datatype' => 'VARCHAR', + 'formtype' => 'TEXT', + 'default' => '', + 'value' => '', + 'width' => '40', + 'maxlength' => '255' + ), + ################################## + # ENDE Datatable fields + ################################## + ) +); +?> \ No newline at end of file diff --git a/interface/web/admin/form/tpl_default_admin.tform.php b/interface/web/admin/form/tpl_default_admin.tform.php new file mode 100644 index 0000000000..78fd0ed420 --- /dev/null +++ b/interface/web/admin/form/tpl_default_admin.tform.php @@ -0,0 +1,194 @@ + 0 id must match with id of current user +$form["auth_preset"]["groupid"] = 0; // 0 = default groupid of the user, > 0 id must match with groupid of current user +$form["auth_preset"]["perm_user"] = 'riud'; //r = read, i = insert, u = update, d = delete +$form["auth_preset"]["perm_group"] = 'riud'; //r = read, i = insert, u = update, d = delete +$form["auth_preset"]["perm_other"] = ''; //r = read, i = insert, u = update, d = delete + +$form["tabs"]['php_name'] = array ( + 'title' => "Name", + 'width' => 80, + 'template' => "templates/server_php_name_edit.htm", + 'fields' => array ( + ################################## + # Beginn Datenbankfelder + ################################## + 'server_id' => array ( + 'datatype' => 'INTEGER', + 'formtype' => 'SELECT', + 'default' => '', + 'datasource' => array ( 'type' => 'SQL', + 'querystring' => 'SELECT server_id,server_name FROM server WHERE {AUTHSQL} ORDER BY server_name', + 'keyfield'=> 'server_id', + 'valuefield'=> 'server_name' + ), + 'value' => '' + ), + 'client_id' => array ( + 'datatype' => 'INTEGER', + 'formtype' => 'SELECT', + 'default' => '', + 'datasource' => array ( 'type' => 'SQL', + 'querystring' => "SELECT client_id,CONCAT(contact_name,' :: ',username) as name FROM client WHERE {AUTHSQL} ORDER BY contact_name", + 'keyfield'=> 'client_id', + 'valuefield'=> 'name' + ), + 'value' => array(0 => ' ') + ), + 'name' => array ( + 'datatype' => 'VARCHAR', + 'formtype' => 'TEXT', + 'validators' => array(0 => array('type' => 'NOTEMPTY', + 'errmsg' => 'server_php_name_error_empty'), + ), + 'default' => '', + 'value' => '', + 'separator' => '', + 'width' => '40', + 'maxlength' => '255' + ), + ################################## + # ENDE Datenbankfelder + ################################## + ) +); + +$form["tabs"]['php_fastcgi'] = array( + 'title' => "FastCGI Settings", + 'width' => 80, + 'template' => "templates/server_php_fastcgi_edit.htm", + 'fields' => array( + ################################## + # Begin Datatable fields + ################################## + 'php_fastcgi_binary' => array( + 'datatype' => 'VARCHAR', + 'formtype' => 'TEXT', + 'default' => '', + 'value' => '', + 'width' => '40', + 'maxlength' => '255' + ), + 'php_fastcgi_ini_dir' => array( + 'datatype' => 'VARCHAR', + 'formtype' => 'TEXT', + 'default' => '', + 'value' => '', + 'width' => '40', + 'maxlength' => '255' + ), + ################################## + # ENDE Datatable fields + ################################## + ) +); + +$form["tabs"]['php_fpm'] = array( + 'title' => "PHP-FPM Settings", + 'width' => 80, + 'template' => "templates/server_php_fpm_edit.htm", + 'fields' => array( + ################################## + # Begin Datatable fields + ################################## + 'php_fpm_init_script' => array( + 'datatype' => 'VARCHAR', + 'formtype' => 'TEXT', + 'default' => '', + 'value' => '', + 'width' => '40', + 'maxlength' => '255' + ), + 'php_fpm_ini_dir' => array( + 'datatype' => 'VARCHAR', + 'formtype' => 'TEXT', + 'default' => '', + 'value' => '', + 'width' => '40', + 'maxlength' => '255' + ), + 'php_fpm_pool_dir' => array( + 'datatype' => 'VARCHAR', + 'formtype' => 'TEXT', + 'default' => '', + 'value' => '', + 'width' => '40', + 'maxlength' => '255' + ), + ################################## + # ENDE Datatable fields + ################################## + ) +); +?> \ No newline at end of file diff --git a/interface/web/admin/lib/interface.d/default-v2.menu.php b/interface/web/admin/lib/interface.d/default-v2.menu.php deleted file mode 100644 index 921e9168cc..0000000000 --- a/interface/web/admin/lib/interface.d/default-v2.menu.php +++ /dev/null @@ -1,7 +0,0 @@ - 'Default-v2 Theme', - 'target' => 'content', - 'link' => 'admin/default-v2_settings.php', - 'html_id' => 'default-v2_settings'); -?> diff --git a/interface/web/admin/lib/interface.d/tpl_default-v2.menu.php b/interface/web/admin/lib/interface.d/tpl_default-v2.menu.php new file mode 100644 index 0000000000..d14f37040b --- /dev/null +++ b/interface/web/admin/lib/interface.d/tpl_default-v2.menu.php @@ -0,0 +1,7 @@ + 'Default-v2 Theme', + 'target' => 'content', + 'link' => 'admin/tpl_default-v2_admin.php', + 'html_id' => 'tpl_default-v2_admin'); +?> diff --git a/interface/web/admin/lib/interface.d/tpl_default.menu.php b/interface/web/admin/lib/interface.d/tpl_default.menu.php new file mode 100644 index 0000000000..64f5008134 --- /dev/null +++ b/interface/web/admin/lib/interface.d/tpl_default.menu.php @@ -0,0 +1,7 @@ + 'Default Theme', + 'target' => 'content', + 'link' => 'admin/tpl_default_admin.php', + 'html_id' => 'tpl_default_admin'); +?> diff --git a/interface/web/admin/lib/lang/ar_system_config.lng b/interface/web/admin/lib/lang/ar_system_config.lng index 9c3e9b1da6..82e46d8222 100644 --- a/interface/web/admin/lib/lang/ar_system_config.lng +++ b/interface/web/admin/lib/lang/ar_system_config.lng @@ -1,4 +1,5 @@ diff --git a/interface/web/admin/lib/lang/de_system_config.lng b/interface/web/admin/lib/lang/de_system_config.lng index 11fb1f7f04..7c0f6078be 100644 --- a/interface/web/admin/lib/lang/de_system_config.lng +++ b/interface/web/admin/lib/lang/de_system_config.lng @@ -1,4 +1,5 @@ diff --git a/interface/web/admin/lib/lang/de_tpl_default_admin.lng b/interface/web/admin/lib/lang/de_tpl_default_admin.lng new file mode 100644 index 0000000000..74e752ea14 --- /dev/null +++ b/interface/web/admin/lib/lang/de_tpl_default_admin.lng @@ -0,0 +1,18 @@ + diff --git a/interface/web/admin/lib/lang/de_users_list.lng b/interface/web/admin/lib/lang/de_users_list.lng index b35551208e..0aae83519c 100644 --- a/interface/web/admin/lib/lang/de_users_list.lng +++ b/interface/web/admin/lib/lang/de_users_list.lng @@ -1,7 +1,7 @@ diff --git a/interface/web/admin/lib/lang/en_system_config.lng b/interface/web/admin/lib/lang/en_system_config.lng index bf45756761..889ab258bf 100644 --- a/interface/web/admin/lib/lang/en_system_config.lng +++ b/interface/web/admin/lib/lang/en_system_config.lng @@ -1,4 +1,5 @@ diff --git a/interface/web/admin/lib/lang/en_tpl_default_admin.lng b/interface/web/admin/lib/lang/en_tpl_default_admin.lng new file mode 100644 index 0000000000..eee3af5fe4 --- /dev/null +++ b/interface/web/admin/lib/lang/en_tpl_default_admin.lng @@ -0,0 +1,18 @@ + diff --git a/interface/web/admin/lib/lang/en_users_list.lng b/interface/web/admin/lib/lang/en_users_list.lng index d80eed172a..9860ab4039 100644 --- a/interface/web/admin/lib/lang/en_users_list.lng +++ b/interface/web/admin/lib/lang/en_users_list.lng @@ -1,7 +1,7 @@ 'Interface', 'open' => "1", 'items' => $items); diff --git a/interface/web/admin/tpl_default-v2_admin.php b/interface/web/admin/tpl_default-v2_admin.php new file mode 100644 index 0000000000..e6d62d6202 --- /dev/null +++ b/interface/web/admin/tpl_default-v2_admin.php @@ -0,0 +1,73 @@ +auth->check_module_permissions('admin'); + +// Loading classes +$app->uses('tpl,tform,tform_actions'); +$app->load('tform_actions'); + +class page_action extends tform_actions { + + function onBeforeUpdate() { + global $app, $conf; + + //* Check if the server has been changed + // We do this only for the admin or reseller users, as normal clients can not change the server ID anyway + if(($_SESSION["s"]["user"]["typ"] == 'admin' || $app->auth->has_clients($_SESSION['s']['user']['userid'])) && isset($this->dataRecord["server_id"])) { + $rec = $app->db->queryOneRecord("SELECT server_id from server_php WHERE server_php_id = ".$this->id); + if($rec['server_id'] != $this->dataRecord["server_id"]) { + //* Add a error message and switch back to old server + $app->tform->errorMessage .= $app->lng('The Server can not be changed.'); + $this->dataRecord["server_id"] = $rec['server_id']; + } + unset($rec); + } + } +} + +$page = new page_action; +$page->onLoad(); + +?> \ No newline at end of file diff --git a/interface/web/admin/tpl_default_admin.php b/interface/web/admin/tpl_default_admin.php new file mode 100644 index 0000000000..2a984b358c --- /dev/null +++ b/interface/web/admin/tpl_default_admin.php @@ -0,0 +1,73 @@ +auth->check_module_permissions('admin'); + +// Loading classes +$app->uses('tpl,tform,tform_actions'); +$app->load('tform_actions'); + +class page_action extends tform_actions { + + function onBeforeUpdate() { + global $app, $conf; + + //* Check if the server has been changed + // We do this only for the admin or reseller users, as normal clients can not change the server ID anyway + if(($_SESSION["s"]["user"]["typ"] == 'admin' || $app->auth->has_clients($_SESSION['s']['user']['userid'])) && isset($this->dataRecord["server_id"])) { + $rec = $app->db->queryOneRecord("SELECT server_id from server_php WHERE server_php_id = ".$this->id); + if($rec['server_id'] != $this->dataRecord["server_id"]) { + //* Add a error message and switch back to old server + $app->tform->errorMessage .= $app->lng('The Server can not be changed.'); + $this->dataRecord["server_id"] = $rec['server_id']; + } + unset($rec); + } + } +} + +$page = new page_action; +$page->onLoad(); + +?> \ No newline at end of file diff --git a/interface/web/tools/default-v2_settings.php b/interface/web/tools/default-v2_settings.php deleted file mode 100644 index 30d777f856..0000000000 --- a/interface/web/tools/default-v2_settings.php +++ /dev/null @@ -1,109 +0,0 @@ -auth->check_module_permissions('tools'); -$app->uses('tpl'); -//// Loading classes -//$app->uses('tpl,tform,tform_actions'); -//$app->load('tform_actions'); -// -//class page_action extends tform_actions { -// -// 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.'; -// -// $_SESSION['s']['user']['language'] = $_POST['language']; -// $_SESSION['s']['language'] = $_POST['language']; -// -// if(@is_array($this->dataRecord['modules']) && !in_array($this->dataRecord['startmodule'],$this->dataRecord['modules'])) { -// $app->tform->errorMessage .= $app->tform->wordbook['startmodule_err']; -// } -// } -// -// -//} -// -//$page = new page_action; -//$page->onLoad(); - -echo '

Default-v2 Settings

No settings for this theme

'; -?> diff --git a/interface/web/tools/form/interface_settings.tform.php b/interface/web/tools/form/interface_settings.tform.php index b43e1c67ce..b3466d9eb5 100644 --- a/interface/web/tools/form/interface_settings.tform.php +++ b/interface/web/tools/form/interface_settings.tform.php @@ -60,8 +60,8 @@ EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */ -$form['title'] = 'Interface Settings'; -$form['description'] = ''; +$form['title'] = 'interface_head_txt'; +$form['description'] = 'interface_desc_txt'; $form['name'] = 'interface'; $form['action'] = 'interface_settings.php'; $form['db_table'] = 'sys_user'; diff --git a/interface/web/tools/form/default-v2_settings.tform.php b/interface/web/tools/form/tpl_default-v2.tform.php similarity index 96% rename from interface/web/tools/form/default-v2_settings.tform.php rename to interface/web/tools/form/tpl_default-v2.tform.php index 1819f8589e..c4a4c28a4c 100644 --- a/interface/web/tools/form/default-v2_settings.tform.php +++ b/interface/web/tools/form/tpl_default-v2.tform.php @@ -60,10 +60,10 @@ EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */ -$form['title'] = 'Default-v2 Settings'; -$form['description'] = ''; -$form['name'] = 'default-v2'; -$form['action'] = 'default-v2_settings.php'; +$form['title'] = 'tpl_default-v2_head_txt'; +$form['description'] = 'tpl_default-v2_desc_txt'; +$form['name'] = 'tpl_default-v2'; +$form['action'] = 'tpl_default-v2.php'; $form['db_table'] = 'sys_user'; // needs to be 'sys_user_theme' $form['db_table_idx'] = 'userid'; //?? $form["db_history"] = "no"; diff --git a/interface/web/tools/form/tpl_default.tform.php b/interface/web/tools/form/tpl_default.tform.php new file mode 100644 index 0000000000..8a16bed3e6 --- /dev/null +++ b/interface/web/tools/form/tpl_default.tform.php @@ -0,0 +1,181 @@ + 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(); +$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; + } + } + } +} + +//* 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")) { + $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', + 'regex' => '', + 'errmsg' => '', + 'default' => '', + 'value' => $modules_list, + 'separator' => '', + 'width' => '30', + 'maxlength' => '255', + 'rows' => '', + 'cols' => '' + ), + 'language' => array ( + 'datatype' => 'VARCHAR', + 'formtype' => 'SELECT', + 'validators' => array ( 0 => array ( 'type' => 'NOTEMPTY', + 'errmsg'=> 'language_is_empty'), + 1 => array ( 'type' => 'REGEX', + 'regex' => '/^[a-z]{2}$/i', + 'errmsg'=> 'language_regex_mismatch'), + ), + 'regex' => '', + 'errmsg' => '', + 'default' => '', + 'value' => $language_list, + 'separator' => '', + 'width' => '30', + 'maxlength' => '2', + 'rows' => '', + 'cols' => '' + ), + 'app_theme' => array ( + 'datatype' => 'VARCHAR', + 'formtype' => 'SELECT', + 'regex' => '', + 'errmsg' => '', + 'default' => 'default', + 'value' => $themes_list, + 'separator' => '', + 'width' => '30', + 'maxlength' => '255', + 'rows' => '', + 'cols' => '' + ) + ################################## + # ENDE Datenbankfelder + ################################## + ) +); + + +?> diff --git a/interface/web/tools/index.php b/interface/web/tools/index.php index ac064f6496..b13718d957 100644 --- a/interface/web/tools/index.php +++ b/interface/web/tools/index.php @@ -28,16 +28,7 @@ NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */ - -/****************************************** -* Begin Form configuration -******************************************/ - -$tform_def_file = "form/user_settings.tform.php"; - -/****************************************** -* End Form configuration -******************************************/ +global $app, $conf; require_once('../../lib/config.inc.php'); require_once('../../lib/app.inc.php'); @@ -45,6 +36,16 @@ require_once('../../lib/app.inc.php'); //* Check permissions for module $app->auth->check_module_permissions('tools'); -echo '

'.$app->lng('ISPConfig Tools').'

'.$app->lng('ispconfig_tools_note').'

'; +$app->uses('tpl'); + +$app->tpl->newTemplate('listpage.tpl.htm'); +$app->tpl->setInclude('content_tpl', 'templates/index.htm'); + +$lng_file = 'lib/lang/'.$_SESSION['s']['language'].'_index.lng'; +include($lng_file); + +$app->tpl->setVar($wb); +$app->tpl_defaults(); +$app->tpl->pparse(); ?> \ No newline at end of file diff --git a/interface/web/tools/lib/interface.d/default-v2.menu.php b/interface/web/tools/lib/interface.d/default-v2.menu.php deleted file mode 100644 index 6d6b0c0d24..0000000000 --- a/interface/web/tools/lib/interface.d/default-v2.menu.php +++ /dev/null @@ -1,7 +0,0 @@ - 'Default-v2 Theme', - 'target' => 'content', - 'link' => 'tools/default-v2_settings.php', - 'html_id' => 'default-v2_settings'); -?> diff --git a/interface/web/tools/lib/interface.d/tpl_default-v2.menu.php b/interface/web/tools/lib/interface.d/tpl_default-v2.menu.php new file mode 100644 index 0000000000..a21e1d53a8 --- /dev/null +++ b/interface/web/tools/lib/interface.d/tpl_default-v2.menu.php @@ -0,0 +1,7 @@ + 'Default-v2 Theme', + 'target' => 'content', + 'link' => 'tools/tpl_default-v2.php', + 'html_id' => 'tpl_default-v2'); +?> diff --git a/interface/web/tools/lib/interface.d/tpl_default.menu.php b/interface/web/tools/lib/interface.d/tpl_default.menu.php new file mode 100644 index 0000000000..a18000445a --- /dev/null +++ b/interface/web/tools/lib/interface.d/tpl_default.menu.php @@ -0,0 +1,7 @@ + 'Default Theme', + 'target' => 'content', + 'link' => 'tools/tpl_default.php', + 'html_id' => 'tpl_default'); +?> diff --git a/interface/web/tools/lib/lang/de_default-v2.lng b/interface/web/tools/lib/lang/de_default-v2.lng deleted file mode 100644 index b60be64cde..0000000000 --- a/interface/web/tools/lib/lang/de_default-v2.lng +++ /dev/null @@ -1,5 +0,0 @@ - diff --git a/interface/web/tools/lib/lang/de_index.lng b/interface/web/tools/lib/lang/de_index.lng new file mode 100644 index 0000000000..d36ff7192a --- /dev/null +++ b/interface/web/tools/lib/lang/de_index.lng @@ -0,0 +1,4 @@ + diff --git a/interface/web/tools/lib/lang/de_interface.lng b/interface/web/tools/lib/lang/de_interface.lng index b60be64cde..bb52557155 100644 --- a/interface/web/tools/lib/lang/de_interface.lng +++ b/interface/web/tools/lib/lang/de_interface.lng @@ -1,4 +1,6 @@ diff --git a/interface/web/tools/lib/lang/de_tpl_default.lng b/interface/web/tools/lib/lang/de_tpl_default.lng new file mode 100644 index 0000000000..110c148384 --- /dev/null +++ b/interface/web/tools/lib/lang/de_tpl_default.lng @@ -0,0 +1,7 @@ + diff --git a/interface/web/tools/lib/lang/en_default-v2.lng b/interface/web/tools/lib/lang/en_default-v2.lng deleted file mode 100644 index b702ba31c1..0000000000 --- a/interface/web/tools/lib/lang/en_default-v2.lng +++ /dev/null @@ -1,5 +0,0 @@ - \ No newline at end of file diff --git a/interface/web/tools/lib/lang/en_index.lng b/interface/web/tools/lib/lang/en_index.lng new file mode 100644 index 0000000000..9fa2544eea --- /dev/null +++ b/interface/web/tools/lib/lang/en_index.lng @@ -0,0 +1,4 @@ + \ No newline at end of file diff --git a/interface/web/tools/lib/lang/en_interface.lng b/interface/web/tools/lib/lang/en_interface.lng index b702ba31c1..b15c7334b2 100644 --- a/interface/web/tools/lib/lang/en_interface.lng +++ b/interface/web/tools/lib/lang/en_interface.lng @@ -1,4 +1,6 @@ \ No newline at end of file diff --git a/interface/web/tools/lib/lang/en_tpl_default.lng b/interface/web/tools/lib/lang/en_tpl_default.lng new file mode 100644 index 0000000000..81c443e6d5 --- /dev/null +++ b/interface/web/tools/lib/lang/en_tpl_default.lng @@ -0,0 +1,7 @@ + \ No newline at end of file diff --git a/interface/web/tools/lib/module.conf.php b/interface/web/tools/lib/module.conf.php index d053779a2f..10855fe70b 100644 --- a/interface/web/tools/lib/module.conf.php +++ b/interface/web/tools/lib/module.conf.php @@ -32,7 +32,7 @@ $items[] = array( 'title' => 'Interface', 'link' => 'tools/interface_settings.php', 'html_id' => 'interface_settings'); -include_once(ISPC_WEB_PATH.'/tools/lib/interface.d/' . $_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, diff --git a/interface/web/tools/templates/index.htm b/interface/web/tools/templates/index.htm new file mode 100644 index 0000000000..e1a0acbba8 --- /dev/null +++ b/interface/web/tools/templates/index.htm @@ -0,0 +1,20 @@ +

+

+ +
+ +
+
+

ispconfig_tools_note

+ + TEST +
+ + + +
+   +
+
+ +
\ No newline at end of file diff --git a/interface/web/tools/templates/interface_settings.htm b/interface/web/tools/templates/interface_settings.htm index 045fc02424..7a22f2708b 100644 --- a/interface/web/tools/templates/interface_settings.htm +++ b/interface/web/tools/templates/interface_settings.htm @@ -1,16 +1,10 @@ -

-

+

+

-
- - -
+
+ + +
diff --git a/interface/web/tools/templates/default-v2_settings.htm b/interface/web/tools/templates/tpl_default-v2.htm similarity index 91% rename from interface/web/tools/templates/default-v2_settings.htm rename to interface/web/tools/templates/tpl_default-v2.htm index 045fc02424..330222ca22 100644 --- a/interface/web/tools/templates/default-v2_settings.htm +++ b/interface/web/tools/templates/tpl_default-v2.htm @@ -1,7 +1,7 @@

-
+
@@ -29,7 +29,7 @@
- +
diff --git a/interface/web/tools/templates/tpl_default.htm b/interface/web/tools/templates/tpl_default.htm new file mode 100644 index 0000000000..233b3e9909 --- /dev/null +++ b/interface/web/tools/templates/tpl_default.htm @@ -0,0 +1,37 @@ +

+

+ +
+ +
+
+
+ + +
+
+ + +
+ +
+ + +
+
+ + + +
+ + +
+
+ +
\ No newline at end of file diff --git a/interface/web/tools/tpl_default-v2.php b/interface/web/tools/tpl_default-v2.php new file mode 100644 index 0000000000..6e42b7a1ae --- /dev/null +++ b/interface/web/tools/tpl_default-v2.php @@ -0,0 +1,108 @@ +auth->check_module_permissions('tools'); + +// Loading classes +$app->uses('tpl,tform,tform_actions'); +$app->load('tform_actions'); + +class page_action extends tform_actions { + + 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.'; + + $_SESSION['s']['user']['language'] = $_POST['language']; + $_SESSION['s']['language'] = $_POST['language']; + + if(@is_array($this->dataRecord['modules']) && !in_array($this->dataRecord['startmodule'],$this->dataRecord['modules'])) { + $app->tform->errorMessage .= $app->tform->wordbook['startmodule_err']; + } + } + + +} + +$page = new page_action; +$page->onLoad(); + +?> diff --git a/interface/web/tools/tpl_default.php b/interface/web/tools/tpl_default.php new file mode 100644 index 0000000000..fb13b66bdf --- /dev/null +++ b/interface/web/tools/tpl_default.php @@ -0,0 +1,108 @@ +auth->check_module_permissions('tools'); + +// Loading classes +$app->uses('tpl,tform,tform_actions'); +$app->load('tform_actions'); + +class page_action extends tform_actions { + + 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.'; + + $_SESSION['s']['user']['language'] = $_POST['language']; + $_SESSION['s']['language'] = $_POST['language']; + + if(@is_array($this->dataRecord['modules']) && !in_array($this->dataRecord['startmodule'],$this->dataRecord['modules'])) { + $app->tform->errorMessage .= $app->tform->wordbook['startmodule_err']; + } + } + + +} + +$page = new page_action; +$page->onLoad(); + +?> -- GitLab