- Added a tools module.
- Added a form to change the language and password of the current user.
2 files modified
6 files added
| | |
| | | define('ISPC_CACHE_PATH', ISPC_ROOT_PATH.'/cache'); |
| | | |
| | | //** Interface settings |
| | | define('ISPC_INTERFACE_MODULES_ENABLED', 'mail,sites,dns'); |
| | | define('ISPC_INTERFACE_MODULES_ENABLED', 'mail,sites,dns,tools'); |
| | | |
| | | |
| | | /* |
| | |
| | | |
| | | // show print version of the form |
| | | if(isset($_GET["print_form"]) && $_GET["print_form"] == 1) { |
| | | die('Function disabled.'); |
| | | $this->onPrintForm(); |
| | | } |
| | | |
| | | // send this form by email |
| | | if(isset($_GET["send_form_by_mail"]) && $_GET["send_form_by_mail"] == 1) { |
| | | die('Function disabled.'); |
| | | $this->onMailSendForm(); |
| | | } |
| | | |
New file |
| | |
| | | <?php |
| | | |
| | | /* |
| | | Copyright (c) 2005, Till Brehm, projektfarm Gmbh |
| | | All rights reserved. |
| | | |
| | | Redistribution and use in source and binary forms, with or without modification, |
| | | are permitted provided that the following conditions are met: |
| | | |
| | | * Redistributions of source code must retain the above copyright notice, |
| | | this list of conditions and the following disclaimer. |
| | | * Redistributions in binary form must reproduce the above copyright notice, |
| | | this list of conditions and the following disclaimer in the documentation |
| | | and/or other materials provided with the distribution. |
| | | * Neither the name of ISPConfig nor the names of its contributors |
| | | may be used to endorse or promote products derived from this software without |
| | | specific prior written permission. |
| | | |
| | | THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS 'AS IS' AND |
| | | ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED |
| | | WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. |
| | | IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, |
| | | INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, |
| | | BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, |
| | | DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY |
| | | OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING |
| | | NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, |
| | | EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. |
| | | */ |
| | | |
| | | /* |
| | | Form Definition |
| | | |
| | | Tabellendefinition |
| | | |
| | | Datentypen: |
| | | - INTEGER (Wandelt Ausdr�cke in Int um) |
| | | - DOUBLE |
| | | - CURRENCY (Formatiert Zahlen nach W�hrungsnotation) |
| | | - VARCHAR (kein weiterer Format Check) |
| | | - TEXT (kein weiterer Format Check) |
| | | - DATE (Datumsformat, Timestamp Umwandlung) |
| | | |
| | | Formtype: |
| | | - TEXT (normales Textfeld) |
| | | - TEXTAREA (normales Textfeld) |
| | | - PASSWORD (Feldinhalt wird nicht angezeigt) |
| | | - SELECT (Gibt Werte als option Feld aus) |
| | | - RADIO |
| | | - CHECKBOX |
| | | - CHECKBOXARRAY |
| | | - FILE |
| | | |
| | | VALUE: |
| | | - Wert oder Array |
| | | |
| | | Hinweis: |
| | | Das ID-Feld ist nicht bei den Table Values einzuf�gen. |
| | | |
| | | |
| | | */ |
| | | |
| | | $form['title'] = 'User Settings'; |
| | | $form['description'] = 'Form to edit the user password and language.'; |
| | | $form['name'] = 'usersettings'; |
| | | $form['action'] = 'user_settings.php'; |
| | | $form['db_table'] = 'sys_user'; |
| | | $form['db_table_idx'] = 'userid'; |
| | | $form["db_history"] = "no"; |
| | | $form['tab_default'] = 'users'; |
| | | $form['list_default'] = 'index.php'; |
| | | $form['auth'] = 'yes'; |
| | | |
| | | //* 0 = id of the user, > 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'] = ''; |
| | | |
| | | //* 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; |
| | | } |
| | | } |
| | | } |
| | | |
| | | $form['tabs']['users'] = array ( |
| | | 'title' => 'Settings', |
| | | 'width' => 80, |
| | | 'template' => 'templates/user_settings.htm', |
| | | 'fields' => array ( |
| | | ################################## |
| | | # Beginn Datenbankfelder |
| | | ################################## |
| | | 'passwort' => array ( |
| | | 'datatype' => 'VARCHAR', |
| | | 'formtype' => 'PASSWORD', |
| | | 'regex' => '', |
| | | 'errmsg' => '', |
| | | 'default' => '', |
| | | 'value' => '', |
| | | 'separator' => '', |
| | | 'width' => '15', |
| | | 'maxlength' => '100', |
| | | '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' => '' |
| | | ) |
| | | ################################## |
| | | # ENDE Datenbankfelder |
| | | ################################## |
| | | ) |
| | | ); |
| | | |
| | | |
| | | ?> |
New file |
| | |
| | | <?php |
| | | |
| | | /* |
| | | Copyright (c) 2008, Till Brehm, projektfarm Gmbh |
| | | All rights reserved. |
| | | |
| | | Redistribution and use in source and binary forms, with or without modification, |
| | | are permitted provided that the following conditions are met: |
| | | |
| | | * Redistributions of source code must retain the above copyright notice, |
| | | this list of conditions and the following disclaimer. |
| | | * Redistributions in binary form must reproduce the above copyright notice, |
| | | this list of conditions and the following disclaimer in the documentation |
| | | and/or other materials provided with the distribution. |
| | | * Neither the name of ISPConfig nor the names of its contributors |
| | | may be used to endorse or promote products derived from this software without |
| | | specific prior written permission. |
| | | |
| | | THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND |
| | | ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED |
| | | WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. |
| | | IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, |
| | | INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, |
| | | BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, |
| | | DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY |
| | | OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING |
| | | 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 |
| | | ******************************************/ |
| | | |
| | | require_once('../../lib/config.inc.php'); |
| | | require_once('../../lib/app.inc.php'); |
| | | |
| | | //* Check permissions for module |
| | | $app->auth->check_module_permissions('tools'); |
| | | |
| | | echo $app->lng('ISPConfig Tools'); |
| | | |
| | | ?> |
New file |
| | |
| | | <?php |
| | | $wb["passwort_txt"] = 'Passwort'; |
| | | $wb["language_txt"] = 'Language'; |
| | | $wb["btn_save_txt"] = 'Save'; |
| | | $wb["btn_cancel_txt"] = 'Cancel'; |
| | | ?> |
New file |
| | |
| | | <?php |
| | | |
| | | global $conf; |
| | | |
| | | $module['name'] = 'tools'; |
| | | $module['title'] = 'Tools'; |
| | | $module['template'] = 'module.tpl.htm'; |
| | | $module['startpage'] = 'tools/index.php'; |
| | | $module['tab_width'] = '60'; |
| | | |
| | | |
| | | //**** Change User password |
| | | $items = array(); |
| | | |
| | | $items[] = array( 'title' => 'Password and Language', |
| | | 'target' => 'content', |
| | | 'link' => 'tools/user_settings.php'); |
| | | |
| | | |
| | | $module['nav'][] = array( 'title' => 'User Settings', |
| | | 'open' => 1, |
| | | 'items' => $items); |
| | | |
| | | |
| | | $menu_dir = ISPC_WEB_PATH.'/tools/lib/menu.d'; |
| | | |
| | | if (is_dir($menu_dir)) { |
| | | if ($dh = opendir($menu_dir)) { |
| | | //** Go trough all files in the menu dir |
| | | while (($file = readdir($dh)) !== false) { |
| | | if($file != '.' && $file != '..' && substr($file,-9,9) == '.menu.php') { |
| | | include_once($menu_dir.'/'.$file); |
| | | } |
| | | } |
| | | } |
| | | } |
| | | |
| | | ?> |
New file |
| | |
| | | <table width="500" border="0" cellspacing="0" cellpadding="2"> |
| | | <tr> |
| | | <td class="frmText11">{tmpl_var name='passwort_txt'}:</td> |
| | | <td class="frmText11"><input name="passwort" type="password" class="text" value="{tmpl_var name='passwort'}" size="15" maxlength="100"></td> |
| | | </tr> |
| | | <tr> |
| | | <td class="frmText11">{tmpl_var name='passwort_txt'}:</td> |
| | | <td class="frmText11"><input name="passwort2" type="password" class="text" value="" size="15" maxlength="100"></td> |
| | | </tr> |
| | | <tr> |
| | | <td class="frmText11">{tmpl_var name='language_txt'}:</td> |
| | | <td class="frmText11"> |
| | | <select name="language" class="text"> |
| | | {tmpl_var name='language'} |
| | | </select> |
| | | </td> |
| | | </tr> <tr> |
| | | <td class="frmText11"> </td> |
| | | <td class="frmText11"> </td> |
| | | </tr> |
| | | <tr> |
| | | <td> </td> |
| | | <td><input name="btn_save" type="button" class="button" value="{tmpl_var name='btn_save_txt'}" onClick="submitForm('pageForm','tools/user_settings.php');"><div class="buttonEnding"></div> |
| | | <input name="btn_cancel" type="button" class="button" value="{tmpl_var name='btn_cancel_txt'}" onClick="loadContent('tools/index.php');"><div class="buttonEnding"></div> |
| | | </td> |
| | | </tr> |
| | | </table> |
| | | <input type="hidden" name="id" value="{tmpl_var name='id'}"> |
New file |
| | |
| | | <?php |
| | | /* |
| | | Copyright (c) 2008, Till Brehm, projektfarm Gmbh |
| | | All rights reserved. |
| | | |
| | | Redistribution and use in source and binary forms, with or without modification, |
| | | are permitted provided that the following conditions are met: |
| | | |
| | | * Redistributions of source code must retain the above copyright notice, |
| | | this list of conditions and the following disclaimer. |
| | | * Redistributions in binary form must reproduce the above copyright notice, |
| | | this list of conditions and the following disclaimer in the documentation |
| | | and/or other materials provided with the distribution. |
| | | * Neither the name of ISPConfig nor the names of its contributors |
| | | may be used to endorse or promote products derived from this software without |
| | | specific prior written permission. |
| | | |
| | | THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND |
| | | ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED |
| | | WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. |
| | | IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, |
| | | INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, |
| | | BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, |
| | | DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY |
| | | OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING |
| | | 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 |
| | | ******************************************/ |
| | | |
| | | require_once('../../lib/config.inc.php'); |
| | | require_once('../../lib/app.inc.php'); |
| | | |
| | | //* Check permissions for module |
| | | $app->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']; |
| | | |
| | | if(count($_POST) > 1) { |
| | | $this->dataRecord = $_POST; |
| | | $this->onSubmit(); |
| | | } else { |
| | | $this->onShow(); |
| | | } |
| | | } |
| | | |
| | | function onBeforeUpdate() { |
| | | global $app, $conf; |
| | | |
| | | if($_POST['passwort'] != $_POST['passwort2']) { |
| | | $app->tform->errorMessage = 'The passwords in the second password field does not match the first password.'; |
| | | } |
| | | |
| | | } |
| | | |
| | | |
| | | } |
| | | |
| | | $page = new page_action; |
| | | $page->onLoad(); |
| | | |
| | | ?> |