From a892b8c8007f87c39497dd98aa268d35428416a8 Mon Sep 17 00:00:00 2001 From: vogelor <vogelor@ispconfig3> Date: Tue, 08 Jun 2010 08:09:49 -0400 Subject: [PATCH] ISPConfig can now handle webdav - user (only at the interface, server to come ;-) --- install/tpl/config.inc.php.master | 9 interface/web/client/client_template_list.php | 27 + install/tpl/system.ini.master | 1 interface/web/sites/lib/lang/de_webdav_user_list.lng | 8 interface/web/sites/lib/module.conf.php | 91 ++- interface/web/sites/lib/lang/de_webdav_user.lng | 16 interface/web/sites/webdav_user_del.php | 50 ++ interface/web/client/lib/lang/en_client.lng | 2 interface/web/sites/lib/lang/en_webdav_user_list.lng | 8 install/sql/ispconfig3.sql | 25 + interface/web/sites/webdav_user_edit.php | 201 ++++++++ interface/web/sites/list/webdav_user.list.php | 99 ++++ interface/web/client/lib/lang/en_client_template.lng | 2 interface/web/sites/lib/lang/de.lng | 2 interface/web/admin/templates/system_config_sites_edit.htm | 4 interface/web/client/templates/client_template_edit_limits.htm | 188 ++++--- interface/web/sites/webdav_user_list.php | 51 ++ interface/web/admin/lib/lang/en_system_config.lng | 2 interface/web/client/templates/client_edit_limits.htm | 288 ++++++----- interface/web/sites/templates/webdav_user_list.htm | 59 ++ interface/web/client/form/client.tform.php | 14 interface/web/client/client_template_del.php | 2 interface/web/admin/lib/lang/de_system_config.lng | 2 interface/web/sites/form/webdav_user.tform.php | 128 +++++ interface/web/client/lib/lang/de_client.lng | 2 interface/web/client/client_template_edit.php | 2 interface/web/admin/form/system_config.tform.php | 12 interface/web/client/lib/lang/de_client_template.lng | 4 interface/web/sites/lib/lang/en.lng | 2 interface/web/client/form/client_template.tform.php | 14 interface/web/sites/lib/lang/en_webdav_user.lng | 16 interface/web/admin/system_config_edit.php | 2 interface/web/sites/templates/webdav_user_edit.htm | 58 ++ 33 files changed, 1,114 insertions(+), 277 deletions(-) diff --git a/install/sql/ispconfig3.sql b/install/sql/ispconfig3.sql index e0a3a92..062bea7 100644 --- a/install/sql/ispconfig3.sql +++ b/install/sql/ispconfig3.sql @@ -89,6 +89,7 @@ `limit_ftp_user` int(11) NOT NULL default '-1', `limit_shell_user` int(11) NOT NULL default '0', `ssh_chroot` varchar(255) NOT NULL DEFAULT 'no,jailkit,ssh-chroot', + `limit_webdav_user` int(11) NOT NULL default '0', `default_dnsserver` int(11) unsigned NOT NULL default '1', `limit_dns_zone` int(11) NOT NULL default '-1', `limit_dns_record` int(11) NOT NULL default '-1', @@ -145,6 +146,7 @@ `limit_web_aliasdomain` int(11) NOT NULL default '-1', `limit_ftp_user` int(11) NOT NULL default '-1', `limit_shell_user` int(11) NOT NULL default '0', + `limit_webdav_user` int(11) NOT NULL default '0', `limit_dns_zone` int(11) NOT NULL default '-1', `limit_dns_record` int(11) NOT NULL default '-1', `limit_database` int(11) NOT NULL default '-1', @@ -1127,6 +1129,29 @@ -- -------------------------------------------------------- -- +-- Table structure for table `webdav_user` +-- + +CREATE TABLE `webdav_user` ( + `webdav_user_id` int(11) unsigned NOT NULL auto_increment, + `sys_userid` int(11) unsigned NOT NULL default '0', + `sys_groupid` int(11) unsigned NOT NULL default '0', + `sys_perm_user` varchar(5) default NULL, + `sys_perm_group` varchar(5) default NULL, + `sys_perm_other` varchar(5) default NULL, + `server_id` int(11) unsigned NOT NULL default '0', + `parent_domain_id` int(11) unsigned NOT NULL default '0', + `username` varchar(64) default NULL, + `password` varchar(64) default NULL, + `active` enum('n','y') NOT NULL default 'y', + `dir` varchar(255) default NULL, + PRIMARY KEY (`webdav_user_id`) +) ENGINE=MyISAM + + +-- -------------------------------------------------------- + +-- -- Table structure for table `attempts_login` -- diff --git a/install/tpl/config.inc.php.master b/install/tpl/config.inc.php.master index c5a2d52..63d95fb 100644 --- a/install/tpl/config.inc.php.master +++ b/install/tpl/config.inc.php.master @@ -1,7 +1,6 @@ <?php - /* -Copyright (c) 2007 - 2009, Till Brehm, projektfarm Gmbh +Copyright (c) 2007 - 2010, Till Brehm, projektfarm Gmbh All rights reserved. Redistribution and use in source and binary forms, with or without modification, @@ -151,4 +150,10 @@ define("LOGLEVEL_WARN",1); define("LOGLEVEL_ERROR",2); +//** include a local config-file if there is one +//** IMPORTANT!!! +//** DO NOT MAKE A COPY OF THIS FILE AS LOCAL CONFIG-FILE +//** USE A EMPTY FILE AND ONLY COPY THE SETTINGS IN IT, YOU NEED TO OVERRIDE +if (is_file('config.inc.local.php')) include_once 'config.inc.local.php'; + ?> diff --git a/install/tpl/system.ini.master b/install/tpl/system.ini.master index 4459ca2..bf85ec5 100644 --- a/install/tpl/system.ini.master +++ b/install/tpl/system.ini.master @@ -17,6 +17,7 @@ dbuser_prefix=c[CLIENTID] ftpuser_prefix=[CLIENTNAME] shelluser_prefix=[CLIENTNAME] +webdavuser_prefix=[CLIENTNAME] dblist_phpmyadmin_link=y phpmyadmin_url= diff --git a/interface/web/admin/form/system_config.tform.php b/interface/web/admin/form/system_config.tform.php index db0d353..b776400 100644 --- a/interface/web/admin/form/system_config.tform.php +++ b/interface/web/admin/form/system_config.tform.php @@ -106,6 +106,18 @@ 'width' => '30', 'maxlength' => '255' ), + 'webdavuser_prefix' => array ( + 'datatype' => 'VARCHAR', + 'formtype' => 'TEXT', + 'validators' => array ( 0 => array ( 'type' => 'REGEX', + 'regex' => '/^[a-zA-Z0-0\-\_\[\]]{0,50}$/', + 'errmsg'=> 'webdavuser_prefix_error_regex'), + ), + 'default' => '', + 'value' => '', + 'width' => '30', + 'maxlength' => '255' + ), 'dblist_phpmyadmin_link' => array ( 'datatype' => 'VARCHAR', 'formtype' => 'CHECKBOX', diff --git a/interface/web/admin/lib/lang/de_system_config.lng b/interface/web/admin/lib/lang/de_system_config.lng index a4e6182..d3d907e 100644 --- a/interface/web/admin/lib/lang/de_system_config.lng +++ b/interface/web/admin/lib/lang/de_system_config.lng @@ -3,11 +3,13 @@ $wb['dbname_prefix_txt'] = 'Datenbanknamen Prefix'; $wb['dbuser_prefix_txt'] = 'Datenbankbenutzer Prefix'; $wb['shelluser_prefix_txt'] = 'Shellbenutzer Prefix'; +$wb['webdavuser_prefix_txt'] = 'Webdavbenutzer Prefix'; $wb['ftpuser_prefix_txt'] = 'FTP Benutzer Prefix'; $wb['dbname_prefix_error_regex'] = 'Zeichen nicht erlaubt in Datenbanknamen Prefix.'; $wb['dbuser_prefix_error_regex'] = 'Zeichen nicht erlaubt in Datenbankbenutzer Prefix.'; $wb['ftpuser_prefix_error_regex'] = 'Zeichen nicht erlaubt in FTP Benutzer Prefix.'; $wb['shelluser_prefix_error_regex'] = 'Zeichen nicht erlaubt in Shellbenutzer Prefix.'; +$wb['webdavuser_prefix_error_regex'] = 'Zeichen nicht erlaubt in Webdavbenutzer Prefix.'; $wb['dblist_phpmyadmin_link_txt'] = 'Link zu phpMyAdmin in der Datenbankliste'; $wb['mailboxlist_webmail_link_txt'] = 'Link zu Webmail in der Mailboxliste'; $wb['webmail_url_txt'] = 'Webmail URL'; diff --git a/interface/web/admin/lib/lang/en_system_config.lng b/interface/web/admin/lib/lang/en_system_config.lng index 3cb319c..69957ce 100644 --- a/interface/web/admin/lib/lang/en_system_config.lng +++ b/interface/web/admin/lib/lang/en_system_config.lng @@ -4,11 +4,13 @@ $wb['dbname_prefix_txt'] = 'Database name prefix'; $wb['dbuser_prefix_txt'] = 'Database user prefix'; $wb['shelluser_prefix_txt'] = 'Shell user prefix'; +$wb['webdavuser_prefix_txt'] = 'Webdav user prefix'; $wb['ftpuser_prefix_txt'] = 'FTP user prefix'; $wb['dbname_prefix_error_regex'] = 'Char not allowed in database name prefix.'; $wb['dbuser_prefix_error_regex'] = 'Char not allowed in database user prefix.'; $wb['ftpuser_prefix_error_regex'] = 'Char not allowed in ftp user prefix.'; $wb['shelluser_prefix_error_regex'] = 'Char not allowed in shell user prefix.'; +$wb['webdavuser_prefix_error_regex'] = 'Char not allowed in webdav user prefix.'; $wb['dblist_phpmyadmin_link_txt'] = 'Link to phpmyadmin in DB list'; $wb['mailboxlist_webmail_link_txt'] = 'Link to webmail in Mailbox list'; $wb['webmail_url_txt'] = 'Webmail URL'; diff --git a/interface/web/admin/system_config_edit.php b/interface/web/admin/system_config_edit.php index f6a4c05..70f26be 100644 --- a/interface/web/admin/system_config_edit.php +++ b/interface/web/admin/system_config_edit.php @@ -1,6 +1,6 @@ <?php /* -Copyright (c) 2008, Till Brehm, projektfarm Gmbh +Copyright (c) 2008-2010, Till Brehm, projektfarm Gmbh All rights reserved. Redistribution and use in source and binary forms, with or without modification, diff --git a/interface/web/admin/templates/system_config_sites_edit.htm b/interface/web/admin/templates/system_config_sites_edit.htm index 996a941..9dc8d1b 100644 --- a/interface/web/admin/templates/system_config_sites_edit.htm +++ b/interface/web/admin/templates/system_config_sites_edit.htm @@ -22,6 +22,10 @@ <input name="shelluser_prefix" id="shelluser_prefix" value="{tmpl_var name='shelluser_prefix'}" size="30" maxlength="255" type="text" class="textInput formLengthHalf" /> </div> <div class="ctrlHolder"> + <label for="webdavuser_prefix">{tmpl_var name='webdavuser_prefix_txt'}</label> + <input name="webdavuser_prefix" id="webdavuser_prefix" value="{tmpl_var name='webdavuser_prefix'}" size="30" maxlength="255" type="text" class="textInput formLengthHalf" /> + </div> + <div class="ctrlHolder"> <p class="label">{tmpl_var name='dblist_phpmyadmin_link_txt'}</p> <div class="multiField"> {tmpl_var name='dblist_phpmyadmin_link'} diff --git a/interface/web/client/client_template_del.php b/interface/web/client/client_template_del.php index 1dcdbac..dbe8639 100644 --- a/interface/web/client/client_template_del.php +++ b/interface/web/client/client_template_del.php @@ -1,6 +1,6 @@ <?php /* -Copyright (c) 2007-2008, Till Brehm, projektfarm Gmbh and Oliver Vogel www.muv.com +Copyright (c) 2007-2010, Till Brehm, projektfarm Gmbh and Oliver Vogel www.muv.com All rights reserved. Redistribution and use in source and binary forms, with or without modification, diff --git a/interface/web/client/client_template_edit.php b/interface/web/client/client_template_edit.php index bf27959..d3f5c65 100644 --- a/interface/web/client/client_template_edit.php +++ b/interface/web/client/client_template_edit.php @@ -1,6 +1,6 @@ <?php /* -Copyright (c) 2007-2008, Till Brehm, projektfarm Gmbh and Oliver Vogel www.muv.com +Copyright (c) 2007-2010, Till Brehm, projektfarm Gmbh and Oliver Vogel www.muv.com All rights reserved. Redistribution and use in source and binary forms, with or without modification, diff --git a/interface/web/client/client_template_list.php b/interface/web/client/client_template_list.php index 093de6e..da316a7 100644 --- a/interface/web/client/client_template_list.php +++ b/interface/web/client/client_template_list.php @@ -1,4 +1,31 @@ <?php +/* +Copyright (c) 2007-2010, Till Brehm, projektfarm Gmbh and Oliver Vogel www.muv.com +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. +*/ require_once('../../lib/config.inc.php'); require_once('../../lib/app.inc.php'); diff --git a/interface/web/client/form/client.tform.php b/interface/web/client/form/client.tform.php index a229262..b38fdb9 100644 --- a/interface/web/client/form/client.tform.php +++ b/interface/web/client/form/client.tform.php @@ -626,6 +626,20 @@ 'valuelimit' => 'client:ssh_chroot', 'value' => array('no' => 'None', 'jailkit' => 'Jailkit') ), + 'limit_webdav_user' => array ( + 'datatype' => 'INTEGER', + 'formtype' => 'TEXT', + 'validators' => array ( 0 => array ( 'type' => 'ISINT', + 'errmsg'=> 'limit_webdav_user_error_notint'), + ), + 'default' => '-1', + 'value' => '', + 'separator' => '', + 'width' => '10', + 'maxlength' => '10', + 'rows' => '', + 'cols' => '' + ), 'default_dnsserver' => array ( 'datatype' => 'INTEGER', 'formtype' => 'SELECT', diff --git a/interface/web/client/form/client_template.tform.php b/interface/web/client/form/client_template.tform.php index 1b7ed25..9b9a3a5 100644 --- a/interface/web/client/form/client_template.tform.php +++ b/interface/web/client/form/client_template.tform.php @@ -367,6 +367,20 @@ 'rows' => '', 'cols' => '' ), + 'limit_webdav_user' => array ( + 'datatype' => 'INTEGER', + 'formtype' => 'TEXT', + 'validators' => array ( 0 => array ( 'type' => 'ISINT', + 'errmsg'=> 'limit_webdav_user_error_notint'), + ), + 'default' => '0', + 'value' => '', + 'separator' => '', + 'width' => '10', + 'maxlength' => '10', + 'rows' => '', + 'cols' => '' + ), 'limit_dns_zone' => array ( 'datatype' => 'INTEGER', 'formtype' => 'TEXT', diff --git a/interface/web/client/lib/lang/de_client.lng b/interface/web/client/lib/lang/de_client.lng index 6237798..1e45f85 100644 --- a/interface/web/client/lib/lang/de_client.lng +++ b/interface/web/client/lib/lang/de_client.lng @@ -55,6 +55,7 @@ $wb['limit_dns_zone_txt'] = 'Max. Anzahl an DNS Zonen'; $wb['limit_dns_record_txt'] = 'Max. Anzahl an DNS Einträge'; $wb['limit_shell_user_txt'] = 'Max. Anzahl an Shell Benutzer'; +$wb['limit_webdav_user_txt'] = 'Max. Anzahl an Webdav Benutzer'; $wb['username_error_empty'] = 'Benutzername ist leer.'; $wb['username_error_unique'] = 'Der Benutzername muss einzigartig sein.'; $wb['limit_maildomain_error_notint'] = 'Das Email Domain Limit muss eine Nummer sein.'; @@ -74,6 +75,7 @@ $wb['limit_web_subdomain_error_notint'] = 'Das Webseite Subdomain Limit muss eine Nummer sein.'; $wb['limit_ftp_user_error_notint'] = 'Das FTP Benutzer Limit muss eine Nummer sein.'; $wb['limit_shell_user_error_notint'] = 'Das Shell Benutzer Limit muss eine Nummer sein.'; +$wb['limit_webdav_user_error_notint'] = 'Das Webdav Benutzer Limit muss eine Nummer sein.'; $wb['limit_dns_zone_error_notint'] = 'Das DNS Einträge Limit muss eine Nummer sein.'; $wb['default_dbserver_txt'] = 'Standarddatenbankserver'; $wb['limit_database_error_notint'] = 'Das Datenbank Limit muss eine Nummer sein.'; diff --git a/interface/web/client/lib/lang/de_client_template.lng b/interface/web/client/lib/lang/de_client_template.lng index c2b0f03..8d43fbf 100644 --- a/interface/web/client/lib/lang/de_client_template.lng +++ b/interface/web/client/lib/lang/de_client_template.lng @@ -26,7 +26,8 @@ $wb['limit_ftp_user_txt'] = 'Max. Anzahl an FTP Benutzer'; $wb['limit_dns_zone_txt'] = 'Max. Anzahl an DNS Zonen'; $wb['limit_dns_record_txt'] = 'Max. Anzahl an DNS Einträgen'; -$wb['limit_shell_user_txt'] = 'Max. Anzahl an Shellbenutzer'; +$wb['limit_shell_user_txt'] = 'Max. Anzahl an Shell Benutzer'; +$wb["limit_webdav_user_txt"] = 'Max. Anzahl an Webdav Benutzer'; $wb['limit_maildomain_error_notint'] = 'Das Emaildomain Limit muss eine Nummer sein.'; $wb['limit_mailbox_error_notint'] = 'Das Mailbox Limit muss eine Nummer sein.'; $wb['limit_mailalias_error_notint'] = 'Das Emailalias Limit muss eine Nummer sein.'; @@ -44,6 +45,7 @@ $wb['limit_web_subdomain_error_notint'] = 'Das Webseiten Subdomain Limit muss eine Nummer sein.'; $wb['limit_ftp_user_error_notint'] = 'Das FTP Benutzer Limit muss eine Nummer sein.'; $wb['limit_shell_user_error_notint'] = 'Das Shell Benutzer Limit muss eine Nummer sein.'; +$wb["limit_webdav_user_error_notint"] = 'Das Webdav Benutzer Limit muss eine Nummer sein.'; $wb['limit_dns_zone_error_notint'] = 'Das DNS Einträge Limit muss eine Nummer sein.'; $wb['limit_database_error_notint'] = 'Das Datenbanken Limit muss eine Nummer sein.'; $wb['limit_cron_error_notint'] = 'Das Cron Job Limit muss eine Nummer sein.'; diff --git a/interface/web/client/lib/lang/en_client.lng b/interface/web/client/lib/lang/en_client.lng index e87ba45..9c028f3 100644 --- a/interface/web/client/lib/lang/en_client.lng +++ b/interface/web/client/lib/lang/en_client.lng @@ -56,6 +56,7 @@ $wb["limit_dns_zone_txt"] = 'Max. number of DNS zones'; $wb["limit_dns_record_txt"] = 'Max. number DNS records'; $wb["limit_shell_user_txt"] = 'Max. number of Shell users'; +$wb["limit_webdav_user_txt"] = 'Max. number of Webdav users'; $wb["limit_client_txt"] = 'Max. number of Clients'; $wb["username_error_empty"] = 'Username is empty.'; $wb["username_error_unique"] = 'The username must be unique.'; @@ -77,6 +78,7 @@ $wb["limit_web_subdomain_error_notint"] = 'The website subdomain limit must be a number.'; $wb["limit_ftp_user_error_notint"] = 'The ftp user limit must be a number.'; $wb["limit_shell_user_error_notint"] = 'The shell user limit must be a number.'; +$wb["limit_webdav_user_error_notint"] = 'The webdav user limit must be a number.'; $wb["limit_dns_zone_error_notint"] = 'The dns zone limit must be a number.'; $wb["limit_dns_zone_error_notint"] = 'The dns record limit must be a number.'; $wb["limit_client_error_notint"] = 'The sub client limit must be a number.'; diff --git a/interface/web/client/lib/lang/en_client_template.lng b/interface/web/client/lib/lang/en_client_template.lng index 3972663..ca8d4f7 100644 --- a/interface/web/client/lib/lang/en_client_template.lng +++ b/interface/web/client/lib/lang/en_client_template.lng @@ -28,6 +28,7 @@ $wb["limit_dns_zone_txt"] = 'Max. number of DNS zones'; $wb["limit_dns_record_txt"] = 'Max. number DNS records'; $wb["limit_shell_user_txt"] = 'Max. number of Shell users'; +$wb["limit_webdav_user_txt"] = 'Max. number of Webdav users'; $wb["limit_client_txt"] = 'Max. number of Clients'; $wb["limit_maildomain_error_notint"] = 'The email domain limit must be a number.'; $wb["limit_mailbox_error_notint"] = 'The mailbox limit must be a number.'; @@ -47,6 +48,7 @@ $wb["limit_web_subdomain_error_notint"] = 'The website subdomain limit must be a number.'; $wb["limit_ftp_user_error_notint"] = 'The ftp user limit must be a number.'; $wb["limit_shell_user_error_notint"] = 'The shell user limit must be a number.'; +$wb["limit_webdav_user_error_notint"] = 'The webdav user limit must be a number.'; $wb["limit_dns_zone_error_notint"] = 'The dns zone limit must be a number.'; $wb["limit_dns_zone_error_notint"] = 'The dns record limit must be a number.'; $wb["limit_database_txt"] = 'Max. number of Databases'; diff --git a/interface/web/client/templates/client_edit_limits.htm b/interface/web/client/templates/client_edit_limits.htm index ba18508..aa35ded 100644 --- a/interface/web/client/templates/client_edit_limits.htm +++ b/interface/web/client/templates/client_edit_limits.htm @@ -3,188 +3,192 @@ <div class="panel panel_client"> -<tmpl_if name="is_admin"> - <div class="pnl_toolsarea"> - <fieldset><legend>{tmpl_var name="toolsarea_head_txt"}</legend> - <div class="buttons"> - <button class="positive iconstxt icoAdd" type="button" value="Add additional template" onClick="addAdditionalTemplate();"><span>Add additional template</span></button> - <button class="negative iconstxt icoDelete" type="button" value="Delete additional template" onClick="delAdditionalTemplate();"><span>Delete additional template</span></button> - </div> - </fieldset> - </div> -</tmpl_if> - - <div class="pnl_formsarea"> - <fieldset class="inlineLabels"><legend>Limits</legend> -<tmpl_if name="is_admin"> - <div class="ctrlHolder"> - <label for="template_master">{tmpl_var name='template_master_txt'}</label> - <select name="template_master" id="template_master" class="selectInput"> + <tmpl_if name="is_admin"> + <div class="pnl_toolsarea"> + <fieldset><legend>{tmpl_var name="toolsarea_head_txt"}</legend> + <div class="buttons"> + <button class="positive iconstxt icoAdd" type="button" value="Add additional template" onClick="addAdditionalTemplate();"><span>Add additional template</span></button> + <button class="negative iconstxt icoDelete" type="button" value="Delete additional template" onClick="delAdditionalTemplate();"><span>Delete additional template</span></button> + </div> + </fieldset> + </div> + </tmpl_if> + + <div class="pnl_formsarea"> + <fieldset class="inlineLabels"><legend>Limits</legend> + <tmpl_if name="is_admin"> + <div class="ctrlHolder"> + <label for="template_master">{tmpl_var name='template_master_txt'}</label> + <select name="template_master" id="template_master" class="selectInput"> {tmpl_var name='template_master'} - </select> - </div> - <div class="ctrlHolder"> - <label for="template_additional">{tmpl_var name='template_additional_txt'}</label> - <select name="tpl_add_select" id="tpl_add_select" class="selectInput"> + </select> + </div> + <div class="ctrlHolder"> + <label for="template_additional">{tmpl_var name='template_additional_txt'}</label> + <select name="tpl_add_select" id="tpl_add_select" class="selectInput"> {tmpl_var name='tpl_add_select'} - </select> - <div id="template_additional_list"><br /><br />{tmpl_var name='template_additional_list'}</div> - <input type="hidden" id="template_additional" name="template_additional" value="{tmpl_var name='template_additional'}"> - </div> - <div class="ctrlHolder"> - - </div> -</tmpl_if> - <div class="ctrlHolder"> - <label for="default_mailserver">{tmpl_var name='default_mailserver_txt'}</label> - <select name="default_mailserver" id="default_mailserver" class="selectInput"> + </select> + <div id="template_additional_list"><br /><br />{tmpl_var name='template_additional_list'}</div> + <input type="hidden" id="template_additional" name="template_additional" value="{tmpl_var name='template_additional'}"> + </div> + <div class="ctrlHolder"> + + </div> + </tmpl_if> + <div class="ctrlHolder"> + <label for="default_mailserver">{tmpl_var name='default_mailserver_txt'}</label> + <select name="default_mailserver" id="default_mailserver" class="selectInput"> {tmpl_var name='default_mailserver'} </select> - </div> - <div class="ctrlHolder"> - <label for="limit_maildomain">{tmpl_var name='limit_maildomain_txt'}</label> - <input name="limit_maildomain" id="limit_maildomain" value="{tmpl_var name='limit_maildomain'}" size="10" maxlength="10" type="text" class="textInput formLengthLimit" /> </div> - <div class="ctrlHolder"> - <label for="limit_mailbox">{tmpl_var name='limit_mailbox_txt'}</label> - <input name="limit_mailbox" id="limit_mailbox" value="{tmpl_var name='limit_mailbox'}" size="10" maxlength="10" type="text" class="textInput formLengthLimit" /> + <div class="ctrlHolder"> + <label for="limit_maildomain">{tmpl_var name='limit_maildomain_txt'}</label> + <input name="limit_maildomain" id="limit_maildomain" value="{tmpl_var name='limit_maildomain'}" size="10" maxlength="10" type="text" class="textInput formLengthLimit" /> </div> - <div class="ctrlHolder"> - <label for="limit_mailalias">{tmpl_var name='limit_mailalias_txt'}</label> - <input name="limit_mailalias" id="limit_mailalias" value="{tmpl_var name='limit_mailalias'}" size="10" maxlength="10" type="text" class="textInput formLengthLimit" /> + <div class="ctrlHolder"> + <label for="limit_mailbox">{tmpl_var name='limit_mailbox_txt'}</label> + <input name="limit_mailbox" id="limit_mailbox" value="{tmpl_var name='limit_mailbox'}" size="10" maxlength="10" type="text" class="textInput formLengthLimit" /> </div> - <div class="ctrlHolder"> - <label for="limit_mailaliasdomain">{tmpl_var name='limit_mailaliasdomain_txt'}</label> - <input name="limit_mailaliasdomain" id="limit_mailaliasdomain" value="{tmpl_var name='limit_mailaliasdomain'}" size="10" maxlength="10" type="text" class="textInput formLengthLimit" /> + <div class="ctrlHolder"> + <label for="limit_mailalias">{tmpl_var name='limit_mailalias_txt'}</label> + <input name="limit_mailalias" id="limit_mailalias" value="{tmpl_var name='limit_mailalias'}" size="10" maxlength="10" type="text" class="textInput formLengthLimit" /> </div> - <div class="ctrlHolder"> - <label for="limit_mailforward">{tmpl_var name='limit_mailforward_txt'}</label> - <input name="limit_mailforward" id="limit_mailforward" value="{tmpl_var name='limit_mailforward'}" size="10" maxlength="10" type="text" class="textInput formLengthLimit" /> + <div class="ctrlHolder"> + <label for="limit_mailaliasdomain">{tmpl_var name='limit_mailaliasdomain_txt'}</label> + <input name="limit_mailaliasdomain" id="limit_mailaliasdomain" value="{tmpl_var name='limit_mailaliasdomain'}" size="10" maxlength="10" type="text" class="textInput formLengthLimit" /> </div> - <div class="ctrlHolder"> - <label for="limit_mailcatchall">{tmpl_var name='limit_mailcatchall_txt'}</label> - <input name="limit_mailcatchall" id="limit_mailcatchall" value="{tmpl_var name='limit_mailcatchall'}" size="10" maxlength="10" type="text" class="textInput formLengthLimit" /> + <div class="ctrlHolder"> + <label for="limit_mailforward">{tmpl_var name='limit_mailforward_txt'}</label> + <input name="limit_mailforward" id="limit_mailforward" value="{tmpl_var name='limit_mailforward'}" size="10" maxlength="10" type="text" class="textInput formLengthLimit" /> </div> - <div class="ctrlHolder"> - <label for="limit_mailrouting">{tmpl_var name='limit_mailrouting_txt'}</label> - <input name="limit_mailrouting" id="limit_mailrouting" value="{tmpl_var name='limit_mailrouting'}" size="10" maxlength="10" type="text" class="textInput formLengthLimit" /> + <div class="ctrlHolder"> + <label for="limit_mailcatchall">{tmpl_var name='limit_mailcatchall_txt'}</label> + <input name="limit_mailcatchall" id="limit_mailcatchall" value="{tmpl_var name='limit_mailcatchall'}" size="10" maxlength="10" type="text" class="textInput formLengthLimit" /> </div> - <div class="ctrlHolder"> - <label for="limit_mailfilter">{tmpl_var name='limit_mailfilter_txt'}</label> - <input name="limit_mailfilter" id="limit_mailfilter" value="{tmpl_var name='limit_mailfilter'}" size="10" maxlength="10" type="text" class="textInput formLengthLimit" /> + <div class="ctrlHolder"> + <label for="limit_mailrouting">{tmpl_var name='limit_mailrouting_txt'}</label> + <input name="limit_mailrouting" id="limit_mailrouting" value="{tmpl_var name='limit_mailrouting'}" size="10" maxlength="10" type="text" class="textInput formLengthLimit" /> </div> - <div class="ctrlHolder"> - <label for="limit_fetchmail">{tmpl_var name='limit_fetchmail_txt'}</label> - <input name="limit_fetchmail" id="limit_fetchmail" value="{tmpl_var name='limit_fetchmail'}" size="10" maxlength="10" type="text" class="textInput formLengthLimit" /> + <div class="ctrlHolder"> + <label for="limit_mailfilter">{tmpl_var name='limit_mailfilter_txt'}</label> + <input name="limit_mailfilter" id="limit_mailfilter" value="{tmpl_var name='limit_mailfilter'}" size="10" maxlength="10" type="text" class="textInput formLengthLimit" /> </div> - <div class="ctrlHolder"> - <label for="limit_mailquota">{tmpl_var name='limit_mailquota_txt'}</label> - <input name="limit_mailquota" id="limit_mailquota" value="{tmpl_var name='limit_mailquota'}" size="10" maxlength="10" type="text" class="textInput formLengthLimit" /> MB + <div class="ctrlHolder"> + <label for="limit_fetchmail">{tmpl_var name='limit_fetchmail_txt'}</label> + <input name="limit_fetchmail" id="limit_fetchmail" value="{tmpl_var name='limit_fetchmail'}" size="10" maxlength="10" type="text" class="textInput formLengthLimit" /> </div> - <div class="ctrlHolder"> - <label for="limit_spamfilter_wblist">{tmpl_var name='limit_spamfilter_wblist_txt'}</label> - <input name="limit_spamfilter_wblist" id="limit_spamfilter_wblist" value="{tmpl_var name='limit_spamfilter_wblist'}" size="10" maxlength="10" type="text" class="textInput formLengthLimit" /> + <div class="ctrlHolder"> + <label for="limit_mailquota">{tmpl_var name='limit_mailquota_txt'}</label> + <input name="limit_mailquota" id="limit_mailquota" value="{tmpl_var name='limit_mailquota'}" size="10" maxlength="10" type="text" class="textInput formLengthLimit" /> MB </div> - <div class="ctrlHolder"> - <label for="limit_spamfilter_user">{tmpl_var name='limit_spamfilter_user_txt'}</label> - <input name="limit_spamfilter_user" id="limit_spamfilter_user" value="{tmpl_var name='limit_spamfilter_user'}" size="10" maxlength="10" type="text" class="textInput formLengthLimit" /> + <div class="ctrlHolder"> + <label for="limit_spamfilter_wblist">{tmpl_var name='limit_spamfilter_wblist_txt'}</label> + <input name="limit_spamfilter_wblist" id="limit_spamfilter_wblist" value="{tmpl_var name='limit_spamfilter_wblist'}" size="10" maxlength="10" type="text" class="textInput formLengthLimit" /> </div> - <div class="ctrlHolder"> - <label for="limit_spamfilter_policy">{tmpl_var name='limit_spamfilter_policy_txt'}</label> - <input name="limit_spamfilter_policy" id="limit_spamfilter_policy" value="{tmpl_var name='limit_spamfilter_policy'}" size="10" maxlength="10" type="text" class="textInput formLengthLimit" /> + <div class="ctrlHolder"> + <label for="limit_spamfilter_user">{tmpl_var name='limit_spamfilter_user_txt'}</label> + <input name="limit_spamfilter_user" id="limit_spamfilter_user" value="{tmpl_var name='limit_spamfilter_user'}" size="10" maxlength="10" type="text" class="textInput formLengthLimit" /> </div> - <div class="ctrlHolder"> - <label for="default_webserver">{tmpl_var name='default_webserver_txt'}</label> - <select name="default_webserver" id="default_webserver" class="selectInput"> + <div class="ctrlHolder"> + <label for="limit_spamfilter_policy">{tmpl_var name='limit_spamfilter_policy_txt'}</label> + <input name="limit_spamfilter_policy" id="limit_spamfilter_policy" value="{tmpl_var name='limit_spamfilter_policy'}" size="10" maxlength="10" type="text" class="textInput formLengthLimit" /> + </div> + <div class="ctrlHolder"> + <label for="default_webserver">{tmpl_var name='default_webserver_txt'}</label> + <select name="default_webserver" id="default_webserver" class="selectInput"> {tmpl_var name='default_webserver'} </select> - </div> - <div class="ctrlHolder"> - <label for="limit_web_domain">{tmpl_var name='limit_web_domain_txt'}</label> - <input name="limit_web_domain" id="limit_web_domain" value="{tmpl_var name='limit_web_domain'}" size="10" maxlength="10" type="text" class="textInput formLengthLimit" /> </div> - <div class="ctrlHolder"> - <label for="limit_web_quota">{tmpl_var name='limit_web_quota_txt'}</label> - <input name="limit_web_quota" id="limit_web_quota" value="{tmpl_var name='limit_web_quota'}" size="10" maxlength="10" type="text" class="textInput formLengthLimit" /> MB - </div> - <div class="ctrlHolder"> + <div class="ctrlHolder"> + <label for="limit_web_domain">{tmpl_var name='limit_web_domain_txt'}</label> + <input name="limit_web_domain" id="limit_web_domain" value="{tmpl_var name='limit_web_domain'}" size="10" maxlength="10" type="text" class="textInput formLengthLimit" /> + </div> + <div class="ctrlHolder"> + <label for="limit_web_quota">{tmpl_var name='limit_web_quota_txt'}</label> + <input name="limit_web_quota" id="limit_web_quota" value="{tmpl_var name='limit_web_quota'}" size="10" maxlength="10" type="text" class="textInput formLengthLimit" /> MB + </div> + <div class="ctrlHolder"> <p class="label">{tmpl_var name='web_php_options_txt'}</p> - <div class="multiField"> + <div class="multiField"> {tmpl_var name='web_php_options'} - </div> + </div> </div> - <div class="ctrlHolder"> - <label for="limit_web_aliasdomain">{tmpl_var name='limit_web_aliasdomain_txt'}</label> - <input name="limit_web_aliasdomain" id="limit_web_aliasdomain" value="{tmpl_var name='limit_web_aliasdomain'}" size="10" maxlength="10" type="text" class="textInput formLengthLimit" /> + <div class="ctrlHolder"> + <label for="limit_web_aliasdomain">{tmpl_var name='limit_web_aliasdomain_txt'}</label> + <input name="limit_web_aliasdomain" id="limit_web_aliasdomain" value="{tmpl_var name='limit_web_aliasdomain'}" size="10" maxlength="10" type="text" class="textInput formLengthLimit" /> </div> - <div class="ctrlHolder"> - <label for="limit_web_subdomain">{tmpl_var name='limit_web_subdomain_txt'}</label> - <input name="limit_web_subdomain" id="limit_web_subdomain" value="{tmpl_var name='limit_web_subdomain'}" size="10" maxlength="10" type="text" class="textInput formLengthLimit" /> + <div class="ctrlHolder"> + <label for="limit_web_subdomain">{tmpl_var name='limit_web_subdomain_txt'}</label> + <input name="limit_web_subdomain" id="limit_web_subdomain" value="{tmpl_var name='limit_web_subdomain'}" size="10" maxlength="10" type="text" class="textInput formLengthLimit" /> </div> - <div class="ctrlHolder"> - <label for="limit_ftp_user">{tmpl_var name='limit_ftp_user_txt'}</label> - <input name="limit_ftp_user" id="limit_ftp_user" value="{tmpl_var name='limit_ftp_user'}" size="10" maxlength="10" type="text" class="textInput formLengthLimit" /> + <div class="ctrlHolder"> + <label for="limit_ftp_user">{tmpl_var name='limit_ftp_user_txt'}</label> + <input name="limit_ftp_user" id="limit_ftp_user" value="{tmpl_var name='limit_ftp_user'}" size="10" maxlength="10" type="text" class="textInput formLengthLimit" /> </div> - <div class="ctrlHolder"> - <label for="limit_shell_user">{tmpl_var name='limit_shell_user_txt'}</label> - <input name="limit_shell_user" id="limit_shell_user" value="{tmpl_var name='limit_shell_user'}" size="10" maxlength="10" type="text" class="textInput formLengthLimit" /> + <div class="ctrlHolder"> + <label for="limit_shell_user">{tmpl_var name='limit_shell_user_txt'}</label> + <input name="limit_shell_user" id="limit_shell_user" value="{tmpl_var name='limit_shell_user'}" size="10" maxlength="10" type="text" class="textInput formLengthLimit" /> </div> - <div class="ctrlHolder"> + <div class="ctrlHolder"> <p class="label">{tmpl_var name='ssh_chroot_txt'}</p> - <div class="multiField"> + <div class="multiField"> {tmpl_var name='ssh_chroot'} - </div> + </div> </div> - <div class="ctrlHolder"> - <label for="default_dnsserver">{tmpl_var name='default_dnsserver_txt'}</label> - <select name="default_dnsserver" id="default_dnsserver" class="selectInput"> + <div class="ctrlHolder"> + <label for="limit_webdav_user">{tmpl_var name='limit_webdav_user_txt'}</label> + <input name="limit_webdav_user" id="limit_webdav_user" value="{tmpl_var name='limit_webdav_user'}" size="10" maxlength="10" type="text" class="textInput formLengthLimit" /> + </div> + <div class="ctrlHolder"> + <label for="default_dnsserver">{tmpl_var name='default_dnsserver_txt'}</label> + <select name="default_dnsserver" id="default_dnsserver" class="selectInput"> {tmpl_var name='default_dnsserver'} </select> - </div> - <div class="ctrlHolder"> - <label for="limit_dns_zone">{tmpl_var name='limit_dns_zone_txt'}</label> - <input name="limit_dns_zone" id="limit_dns_zone" value="{tmpl_var name='limit_dns_zone'}" size="10" maxlength="10" type="text" class="textInput formLengthLimit" /> </div> - <div class="ctrlHolder"> - <label for="limit_dns_record">{tmpl_var name='limit_dns_record_txt'}</label> - <input name="limit_dns_record" id="limit_dns_record" value="{tmpl_var name='limit_dns_record'}" size="10" maxlength="10" type="text" class="textInput formLengthLimit" /> + <div class="ctrlHolder"> + <label for="limit_dns_zone">{tmpl_var name='limit_dns_zone_txt'}</label> + <input name="limit_dns_zone" id="limit_dns_zone" value="{tmpl_var name='limit_dns_zone'}" size="10" maxlength="10" type="text" class="textInput formLengthLimit" /> </div> - <div class="ctrlHolder"> - <label for="default_dbserver">{tmpl_var name='default_dbserver_txt'}</label> - <select name="default_dbserver" id="default_dbserver" class="selectInput"> + <div class="ctrlHolder"> + <label for="limit_dns_record">{tmpl_var name='limit_dns_record_txt'}</label> + <input name="limit_dns_record" id="limit_dns_record" value="{tmpl_var name='limit_dns_record'}" size="10" maxlength="10" type="text" class="textInput formLengthLimit" /> + </div> + <div class="ctrlHolder"> + <label for="default_dbserver">{tmpl_var name='default_dbserver_txt'}</label> + <select name="default_dbserver" id="default_dbserver" class="selectInput"> {tmpl_var name='default_dbserver'} </select> - </div> - <div class="ctrlHolder"> - <label for="limit_database">{tmpl_var name='limit_database_txt'}</label> - <input name="limit_database" id="limit_database" value="{tmpl_var name='limit_database'}" size="10" maxlength="10" type="text" class="textInput formLengthLimit" /> </div> - <div class="ctrlHolder"> - <label for="limit_cron">{tmpl_var name='limit_cron_txt'}</label> - <input name="limit_cron" id="limit_cron" value="{tmpl_var name='limit_cron'}" size="10" maxlength="10" type="text" class="textInput formLengthLimit" /> + <div class="ctrlHolder"> + <label for="limit_database">{tmpl_var name='limit_database_txt'}</label> + <input name="limit_database" id="limit_database" value="{tmpl_var name='limit_database'}" size="10" maxlength="10" type="text" class="textInput formLengthLimit" /> + </div> + <div class="ctrlHolder"> + <label for="limit_cron">{tmpl_var name='limit_cron_txt'}</label> + <input name="limit_cron" id="limit_cron" value="{tmpl_var name='limit_cron'}" size="10" maxlength="10" type="text" class="textInput formLengthLimit" /> </div> - <div class="ctrlHolder"> - <label for="limit_cron_type">{tmpl_var name='limit_cron_type_txt'}</label> - <select name="limit_cron_type" id="limit_cron_type" class="selectInput formLengthHalf"> - {tmpl_var name='limit_cron_type'} - </select> + <div class="ctrlHolder"> + <label for="limit_cron_type">{tmpl_var name='limit_cron_type_txt'}</label> + <select name="limit_cron_type" id="limit_cron_type" class="selectInput formLengthHalf"> + {tmpl_var name='limit_cron_type'} + </select> </div> - <div class="ctrlHolder"> - <label for="limit_cron_frequency">{tmpl_var name='limit_cron_frequency_txt'}</label> - <input name="limit_cron_frequency" id="limit_cron_frequency" value="{tmpl_var name='limit_cron_frequency'}" size="10" maxlength="10" type="text" class="textInput formLengthLimit" /> + <div class="ctrlHolder"> + <label for="limit_cron_frequency">{tmpl_var name='limit_cron_frequency_txt'}</label> + <input name="limit_cron_frequency" id="limit_cron_frequency" value="{tmpl_var name='limit_cron_frequency'}" size="10" maxlength="10" type="text" class="textInput formLengthLimit" /> </div> - <div class="ctrlHolder"> - <label for="limit_traffic_quota">{tmpl_var name='limit_traffic_quota_txt'}</label> - <input name="limit_traffic_quota" id="limit_traffic_quota" value="{tmpl_var name='limit_traffic_quota'}" size="10" maxlength="10" type="text" class="textInput formLengthLimit" /> MB - </div> - </fieldset> + <div class="ctrlHolder"> + <label for="limit_traffic_quota">{tmpl_var name='limit_traffic_quota_txt'}</label> + <input name="limit_traffic_quota" id="limit_traffic_quota" value="{tmpl_var name='limit_traffic_quota'}" size="10" maxlength="10" type="text" class="textInput formLengthLimit" /> MB + </div> + </fieldset> - <input type="hidden" name="id" value="{tmpl_var name='id'}"> + <input type="hidden" name="id" value="{tmpl_var name='id'}"> - <div class="buttonHolder buttons"> - <button class="positive iconstxt icoPositive" type="button" value="{tmpl_var name='btn_save_txt'}" onClick="submitForm('pageForm','client/client_edit.php');"><span>{tmpl_var name='btn_save_txt'}</span></button> - <button class="negative iconstxt icoNegative" type="button" value="{tmpl_var name='btn_cancel_txt'}" onClick="loadContent('client/client_list.php');"><span>{tmpl_var name='btn_cancel_txt'}</span></button> - </div> - </div> - + <div class="buttonHolder buttons"> + <button class="positive iconstxt icoPositive" type="button" value="{tmpl_var name='btn_save_txt'}" onClick="submitForm('pageForm','client/client_edit.php');"><span>{tmpl_var name='btn_save_txt'}</span></button> + <button class="negative iconstxt icoNegative" type="button" value="{tmpl_var name='btn_cancel_txt'}" onClick="loadContent('client/client_list.php');"><span>{tmpl_var name='btn_cancel_txt'}</span></button> + </div> + </div> + </div> diff --git a/interface/web/client/templates/client_template_edit_limits.htm b/interface/web/client/templates/client_template_edit_limits.htm index 6509329..43cdda3 100644 --- a/interface/web/client/templates/client_template_edit_limits.htm +++ b/interface/web/client/templates/client_template_edit_limits.htm @@ -3,122 +3,126 @@ <div class="panel panel_client_template"> - <div class="pnl_formsarea"> - <fieldset class="inlineLabels"><legend>Limits</legend> - <div class="ctrlHolder"> - <label for="limit_maildomain">{tmpl_var name='limit_maildomain_txt'}</label> - <input name="limit_maildomain" id="limit_maildomain" value="{tmpl_var name='limit_maildomain'}" size="10" maxlength="10" type="text" class="textInput formLengthLimit" /> + <div class="pnl_formsarea"> + <fieldset class="inlineLabels"><legend>Limits</legend> + <div class="ctrlHolder"> + <label for="limit_maildomain">{tmpl_var name='limit_maildomain_txt'}</label> + <input name="limit_maildomain" id="limit_maildomain" value="{tmpl_var name='limit_maildomain'}" size="10" maxlength="10" type="text" class="textInput formLengthLimit" /> </div> - <div class="ctrlHolder"> - <label for="limit_mailbox">{tmpl_var name='limit_mailbox_txt'}</label> - <input name="limit_mailbox" id="limit_mailbox" value="{tmpl_var name='limit_mailbox'}" size="10" maxlength="10" type="text" class="textInput formLengthLimit" /> + <div class="ctrlHolder"> + <label for="limit_mailbox">{tmpl_var name='limit_mailbox_txt'}</label> + <input name="limit_mailbox" id="limit_mailbox" value="{tmpl_var name='limit_mailbox'}" size="10" maxlength="10" type="text" class="textInput formLengthLimit" /> </div> - <div class="ctrlHolder"> - <label for="limit_mailalias">{tmpl_var name='limit_mailalias_txt'}</label> - <input name="limit_mailalias" id="limit_mailalias" value="{tmpl_var name='limit_mailalias'}" size="10" maxlength="10" type="text" class="textInput formLengthLimit" /> + <div class="ctrlHolder"> + <label for="limit_mailalias">{tmpl_var name='limit_mailalias_txt'}</label> + <input name="limit_mailalias" id="limit_mailalias" value="{tmpl_var name='limit_mailalias'}" size="10" maxlength="10" type="text" class="textInput formLengthLimit" /> </div> - <div class="ctrlHolder"> - <label for="limit_mailaliasdomain">{tmpl_var name='limit_mailaliasdomain_txt'}</label> - <input name="limit_mailaliasdomain" id="limit_mailaliasdomain" value="{tmpl_var name='limit_mailaliasdomain'}" size="10" maxlength="10" type="text" class="textInput formLengthLimit" /> + <div class="ctrlHolder"> + <label for="limit_mailaliasdomain">{tmpl_var name='limit_mailaliasdomain_txt'}</label> + <input name="limit_mailaliasdomain" id="limit_mailaliasdomain" value="{tmpl_var name='limit_mailaliasdomain'}" size="10" maxlength="10" type="text" class="textInput formLengthLimit" /> </div> - <div class="ctrlHolder"> - <label for="limit_mailforward">{tmpl_var name='limit_mailforward_txt'}</label> - <input name="limit_mailforward" id="limit_mailforward" value="{tmpl_var name='limit_mailforward'}" size="10" maxlength="10" type="text" class="textInput formLengthLimit" /> + <div class="ctrlHolder"> + <label for="limit_mailforward">{tmpl_var name='limit_mailforward_txt'}</label> + <input name="limit_mailforward" id="limit_mailforward" value="{tmpl_var name='limit_mailforward'}" size="10" maxlength="10" type="text" class="textInput formLengthLimit" /> </div> - <div class="ctrlHolder"> - <label for="limit_mailcatchall">{tmpl_var name='limit_mailcatchall_txt'}</label> - <input name="limit_mailcatchall" id="limit_mailcatchall" value="{tmpl_var name='limit_mailcatchall'}" size="10" maxlength="10" type="text" class="textInput formLengthLimit" /> + <div class="ctrlHolder"> + <label for="limit_mailcatchall">{tmpl_var name='limit_mailcatchall_txt'}</label> + <input name="limit_mailcatchall" id="limit_mailcatchall" value="{tmpl_var name='limit_mailcatchall'}" size="10" maxlength="10" type="text" class="textInput formLengthLimit" /> </div> - <div class="ctrlHolder"> - <label for="limit_mailrouting">{tmpl_var name='limit_mailrouting_txt'}</label> - <input name="limit_mailrouting" id="limit_mailrouting" value="{tmpl_var name='limit_mailrouting'}" size="10" maxlength="10" type="text" class="textInput formLengthLimit" /> + <div class="ctrlHolder"> + <label for="limit_mailrouting">{tmpl_var name='limit_mailrouting_txt'}</label> + <input name="limit_mailrouting" id="limit_mailrouting" value="{tmpl_var name='limit_mailrouting'}" size="10" maxlength="10" type="text" class="textInput formLengthLimit" /> </div> - <div class="ctrlHolder"> - <label for="limit_mailfilter">{tmpl_var name='limit_mailfilter_txt'}</label> - <input name="limit_mailfilter" id="limit_mailfilter" value="{tmpl_var name='limit_mailfilter'}" size="10" maxlength="10" type="text" class="textInput formLengthLimit" /> + <div class="ctrlHolder"> + <label for="limit_mailfilter">{tmpl_var name='limit_mailfilter_txt'}</label> + <input name="limit_mailfilter" id="limit_mailfilter" value="{tmpl_var name='limit_mailfilter'}" size="10" maxlength="10" type="text" class="textInput formLengthLimit" /> </div> - <div class="ctrlHolder"> - <label for="limit_fetchmail">{tmpl_var name='limit_fetchmail_txt'}</label> - <input name="limit_fetchmail" id="limit_fetchmail" value="{tmpl_var name='limit_fetchmail'}" size="10" maxlength="10" type="text" class="textInput formLengthLimit" /> + <div class="ctrlHolder"> + <label for="limit_fetchmail">{tmpl_var name='limit_fetchmail_txt'}</label> + <input name="limit_fetchmail" id="limit_fetchmail" value="{tmpl_var name='limit_fetchmail'}" size="10" maxlength="10" type="text" class="textInput formLengthLimit" /> </div> - <div class="ctrlHolder"> - <label for="limit_mailquota">{tmpl_var name='limit_mailquota_txt'}</label> - <input name="limit_mailquota" id="limit_mailquota" value="{tmpl_var name='limit_mailquota'}" size="10" maxlength="10" type="text" class="textInput formLengthLimit" /> + <div class="ctrlHolder"> + <label for="limit_mailquota">{tmpl_var name='limit_mailquota_txt'}</label> + <input name="limit_mailquota" id="limit_mailquota" value="{tmpl_var name='limit_mailquota'}" size="10" maxlength="10" type="text" class="textInput formLengthLimit" /> </div> - <div class="ctrlHolder"> - <label for="limit_spamfilter_wblist">{tmpl_var name='limit_spamfilter_wblist_txt'}</label> - <input name="limit_spamfilter_wblist" id="limit_spamfilter_wblist" value="{tmpl_var name='limit_spamfilter_wblist'}" size="10" maxlength="10" type="text" class="textInput formLengthLimit" /> + <div class="ctrlHolder"> + <label for="limit_spamfilter_wblist">{tmpl_var name='limit_spamfilter_wblist_txt'}</label> + <input name="limit_spamfilter_wblist" id="limit_spamfilter_wblist" value="{tmpl_var name='limit_spamfilter_wblist'}" size="10" maxlength="10" type="text" class="textInput formLengthLimit" /> </div> - <div class="ctrlHolder"> - <label for="limit_spamfilter_user">{tmpl_var name='limit_spamfilter_user_txt'}</label> - <input name="limit_spamfilter_user" id="limit_spamfilter_user" value="{tmpl_var name='limit_spamfilter_user'}" size="10" maxlength="10" type="text" class="textInput formLengthLimit" /> + <div class="ctrlHolder"> + <label for="limit_spamfilter_user">{tmpl_var name='limit_spamfilter_user_txt'}</label> + <input name="limit_spamfilter_user" id="limit_spamfilter_user" value="{tmpl_var name='limit_spamfilter_user'}" size="10" maxlength="10" type="text" class="textInput formLengthLimit" /> </div> - <div class="ctrlHolder"> - <label for="limit_spamfilter_policy">{tmpl_var name='limit_spamfilter_policy_txt'}</label> - <input name="limit_spamfilter_policy" id="limit_spamfilter_policy" value="{tmpl_var name='limit_spamfilter_policy'}" size="10" maxlength="10" type="text" class="textInput formLengthLimit" /> + <div class="ctrlHolder"> + <label for="limit_spamfilter_policy">{tmpl_var name='limit_spamfilter_policy_txt'}</label> + <input name="limit_spamfilter_policy" id="limit_spamfilter_policy" value="{tmpl_var name='limit_spamfilter_policy'}" size="10" maxlength="10" type="text" class="textInput formLengthLimit" /> </div> - <div class="ctrlHolder"> - <label for="limit_web_domain">{tmpl_var name='limit_web_domain_txt'}</label> - <input name="limit_web_domain" id="limit_web_domain" value="{tmpl_var name='limit_web_domain'}" size="10" maxlength="10" type="text" class="textInput formLengthLimit" /> + <div class="ctrlHolder"> + <label for="limit_web_domain">{tmpl_var name='limit_web_domain_txt'}</label> + <input name="limit_web_domain" id="limit_web_domain" value="{tmpl_var name='limit_web_domain'}" size="10" maxlength="10" type="text" class="textInput formLengthLimit" /> </div> - <div class="ctrlHolder"> - <label for="limit_web_quota">{tmpl_var name='limit_web_quota_txt'}</label> - <input name="limit_web_quota" id="limit_web_quota" value="{tmpl_var name='limit_web_quota'}" size="10" maxlength="10" type="text" class="textInput formLengthLimit" /> MB - </div> - <div class="ctrlHolder"> - <label for="limit_web_aliasdomain">{tmpl_var name='limit_web_aliasdomain_txt'}</label> - <input name="limit_web_aliasdomain" id="limit_web_aliasdomain" value="{tmpl_var name='limit_web_aliasdomain'}" size="10" maxlength="10" type="text" class="textInput formLengthLimit" /> + <div class="ctrlHolder"> + <label for="limit_web_quota">{tmpl_var name='limit_web_quota_txt'}</label> + <input name="limit_web_quota" id="limit_web_quota" value="{tmpl_var name='limit_web_quota'}" size="10" maxlength="10" type="text" class="textInput formLengthLimit" /> MB </div> - <div class="ctrlHolder"> - <label for="limit_web_subdomain">{tmpl_var name='limit_web_subdomain_txt'}</label> - <input name="limit_web_subdomain" id="limit_web_subdomain" value="{tmpl_var name='limit_web_subdomain'}" size="10" maxlength="10" type="text" class="textInput formLengthLimit" /> + <div class="ctrlHolder"> + <label for="limit_web_aliasdomain">{tmpl_var name='limit_web_aliasdomain_txt'}</label> + <input name="limit_web_aliasdomain" id="limit_web_aliasdomain" value="{tmpl_var name='limit_web_aliasdomain'}" size="10" maxlength="10" type="text" class="textInput formLengthLimit" /> </div> - <div class="ctrlHolder"> - <label for="limit_ftp_user">{tmpl_var name='limit_ftp_user_txt'}</label> - <input name="limit_ftp_user" id="limit_ftp_user" value="{tmpl_var name='limit_ftp_user'}" size="10" maxlength="10" type="text" class="textInput formLengthLimit" /> + <div class="ctrlHolder"> + <label for="limit_web_subdomain">{tmpl_var name='limit_web_subdomain_txt'}</label> + <input name="limit_web_subdomain" id="limit_web_subdomain" value="{tmpl_var name='limit_web_subdomain'}" size="10" maxlength="10" type="text" class="textInput formLengthLimit" /> </div> - <div class="ctrlHolder"> - <label for="limit_shell_user">{tmpl_var name='limit_shell_user_txt'}</label> - <input name="limit_shell_user" id="limit_shell_user" value="{tmpl_var name='limit_shell_user'}" size="10" maxlength="10" type="text" class="textInput formLengthLimit" /> + <div class="ctrlHolder"> + <label for="limit_ftp_user">{tmpl_var name='limit_ftp_user_txt'}</label> + <input name="limit_ftp_user" id="limit_ftp_user" value="{tmpl_var name='limit_ftp_user'}" size="10" maxlength="10" type="text" class="textInput formLengthLimit" /> </div> - <div class="ctrlHolder"> - <label for="limit_dns_zone">{tmpl_var name='limit_dns_zone_txt'}</label> - <input name="limit_dns_zone" id="limit_dns_zone" value="{tmpl_var name='limit_dns_zone'}" size="10" maxlength="10" type="text" class="textInput formLengthLimit" /> + <div class="ctrlHolder"> + <label for="limit_shell_user">{tmpl_var name='limit_shell_user_txt'}</label> + <input name="limit_shell_user" id="limit_shell_user" value="{tmpl_var name='limit_shell_user'}" size="10" maxlength="10" type="text" class="textInput formLengthLimit" /> </div> - <div class="ctrlHolder"> - <label for="limit_dns_record">{tmpl_var name='limit_dns_record_txt'}</label> - <input name="limit_dns_record" id="limit_dns_record" value="{tmpl_var name='limit_dns_record'}" size="10" maxlength="10" type="text" class="textInput formLengthLimit" /> + <div class="ctrlHolder"> + <label for="limit_webdav_user">{tmpl_var name='limit_webdav_user_txt'}</label> + <input name="limit_webdav_user" id="limit_webdav_user" value="{tmpl_var name='limit_webdav_user'}" size="10" maxlength="10" type="text" class="textInput formLengthLimit" /> </div> - <div class="ctrlHolder"> - <label for="limit_database">{tmpl_var name='limit_database_txt'}</label> - <input name="limit_database" id="limit_database" value="{tmpl_var name='limit_database'}" size="10" maxlength="10" type="text" class="textInput formLengthLimit" /> + <div class="ctrlHolder"> + <label for="limit_dns_zone">{tmpl_var name='limit_dns_zone_txt'}</label> + <input name="limit_dns_zone" id="limit_dns_zone" value="{tmpl_var name='limit_dns_zone'}" size="10" maxlength="10" type="text" class="textInput formLengthLimit" /> </div> - <div class="ctrlHolder"> - <label for="limit_cron">{tmpl_var name='limit_cron_txt'}</label> - <input name="limit_cron" id="limit_cron" value="{tmpl_var name='limit_cron'}" size="10" maxlength="10" type="text" class="textInput formLengthLimit" /> + <div class="ctrlHolder"> + <label for="limit_dns_record">{tmpl_var name='limit_dns_record_txt'}</label> + <input name="limit_dns_record" id="limit_dns_record" value="{tmpl_var name='limit_dns_record'}" size="10" maxlength="10" type="text" class="textInput formLengthLimit" /> + </div> + <div class="ctrlHolder"> + <label for="limit_database">{tmpl_var name='limit_database_txt'}</label> + <input name="limit_database" id="limit_database" value="{tmpl_var name='limit_database'}" size="10" maxlength="10" type="text" class="textInput formLengthLimit" /> + </div> + <div class="ctrlHolder"> + <label for="limit_cron">{tmpl_var name='limit_cron_txt'}</label> + <input name="limit_cron" id="limit_cron" value="{tmpl_var name='limit_cron'}" size="10" maxlength="10" type="text" class="textInput formLengthLimit" /> </div> - <div class="ctrlHolder"> - <label for="limit_cron_type">{tmpl_var name='limit_cron_type_txt'}</label> - <select name="limit_cron_type" id="limit_cron_type" class="selectInput formLengthHalf"> - {tmpl_var name='limit_cron_type'} - </select> + <div class="ctrlHolder"> + <label for="limit_cron_type">{tmpl_var name='limit_cron_type_txt'}</label> + <select name="limit_cron_type" id="limit_cron_type" class="selectInput formLengthHalf"> + {tmpl_var name='limit_cron_type'} + </select> </div> - <div class="ctrlHolder"> - <label for="limit_cron_frequency">{tmpl_var name='limit_cron_frequency_txt'}</label> - <input name="limit_cron_frequency" id="limit_cron_frequency" value="{tmpl_var name='limit_cron_frequency'}" size="10" maxlength="10" type="text" class="textInput formLengthLimit" /> + <div class="ctrlHolder"> + <label for="limit_cron_frequency">{tmpl_var name='limit_cron_frequency_txt'}</label> + <input name="limit_cron_frequency" id="limit_cron_frequency" value="{tmpl_var name='limit_cron_frequency'}" size="10" maxlength="10" type="text" class="textInput formLengthLimit" /> </div> - <div class="ctrlHolder"> - <label for="limit_traffic_quota">{tmpl_var name='limit_traffic_quota_txt'}</label> - <input name="limit_traffic_quota" id="limit_traffic_quota" value="{tmpl_var name='limit_traffic_quota'}" size="10" maxlength="10" type="text" class="textInput formLengthLimit" /> MB - </div> - </fieldset> + <div class="ctrlHolder"> + <label for="limit_traffic_quota">{tmpl_var name='limit_traffic_quota_txt'}</label> + <input name="limit_traffic_quota" id="limit_traffic_quota" value="{tmpl_var name='limit_traffic_quota'}" size="10" maxlength="10" type="text" class="textInput formLengthLimit" /> MB + </div> + </fieldset> - <input type="hidden" name="id" value="{tmpl_var name='id'}"> + <input type="hidden" name="id" value="{tmpl_var name='id'}"> - <div class="buttonHolder buttons"> - <button class="positive iconstxt icoPositive" type="button" value="{tmpl_var name='btn_save_txt'}" onClick="submitForm('pageForm','client/client_template_edit.php');"><span>{tmpl_var name='btn_save_txt'}</span></button> - <button class="negative iconstxt icoNegative" type="button" value="{tmpl_var name='btn_cancel_txt'}" onClick="loadContent('client/client_template_list.php');"><span>{tmpl_var name='btn_cancel_txt'}</span></button> - </div> - </div> - + <div class="buttonHolder buttons"> + <button class="positive iconstxt icoPositive" type="button" value="{tmpl_var name='btn_save_txt'}" onClick="submitForm('pageForm','client/client_template_edit.php');"><span>{tmpl_var name='btn_save_txt'}</span></button> + <button class="negative iconstxt icoNegative" type="button" value="{tmpl_var name='btn_cancel_txt'}" onClick="loadContent('client/client_template_list.php');"><span>{tmpl_var name='btn_cancel_txt'}</span></button> + </div> + </div> + </div> diff --git a/interface/web/sites/form/webdav_user.tform.php b/interface/web/sites/form/webdav_user.tform.php new file mode 100644 index 0000000..35132fe --- /dev/null +++ b/interface/web/sites/form/webdav_user.tform.php @@ -0,0 +1,128 @@ +<?php + +/* + Form Definition + + Tabledefinition + + Datatypes: + - INTEGER (Forces the input to Int) + - DOUBLE + - CURRENCY (Formats the values to currency notation) + - VARCHAR (no format check, maxlength: 255) + - TEXT (no format check) + - DATE (Dateformat, automatic conversion to timestamps) + + Formtype: + - TEXT (Textfield) + - TEXTAREA (Textarea) + - PASSWORD (Password textfield, input is not shown when edited) + - SELECT (Select option field) + - RADIO + - CHECKBOX + - CHECKBOXARRAY + - FILE + + VALUE: + - Wert oder Array + + Hint: + The ID field of the database table is not part of the datafield definition. + The ID field must be always auto incement (int or bigint). + + +*/ + +$form["title"] = "Webdav-User"; +$form["description"] = ""; +$form["name"] = "webdav_user"; +$form["action"] = "webdav_user_edit.php"; +$form["db_table"] = "webdav_user"; +$form["db_table_idx"] = "webdav_user_id"; +$form["db_history"] = "yes"; +$form["tab_default"] = "webdav"; +$form["list_default"] = "webdav_user_list.php"; +$form["auth"] = 'yes'; // yes / no + +$form["auth_preset"]["userid"] = 0; // 0 = id of the user, > 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"]['webdav'] = array ( + 'title' => "Webdav User", + 'width' => 100, + 'template' => "templates/webdav_user_edit.htm", + 'fields' => array ( + ################################## + # Begin Datatable fields + ################################## + 'server_id' => array ( + 'datatype' => 'INTEGER', + 'formtype' => 'SELECT', + 'default' => '', + 'datasource' => array ( 'type' => 'SQL', + 'querystring' => 'SELECT server_id,server_name FROM server WHERE mirror_server_id = 0 AND {AUTHSQL} ORDER BY server_name', + 'keyfield'=> 'server_id', + 'valuefield'=> 'server_name' + ), + 'value' => '' + ), + 'parent_domain_id' => array ( + 'datatype' => 'INTEGER', + 'formtype' => 'SELECT', + 'default' => '', + 'datasource' => array ( 'type' => 'SQL', + 'querystring' => "SELECT domain_id,domain FROM web_domain WHERE type = 'vhost' AND {AUTHSQL} ORDER BY domain", + 'keyfield'=> 'domain_id', + 'valuefield'=> 'domain' + ), + 'value' => '' + ), + 'username' => array ( + 'datatype' => 'VARCHAR', + 'formtype' => 'TEXT', + 'validators' => array ( 0 => array ( 'type' => 'UNIQUE', + 'errmsg'=> 'username_error_unique'), + 1 => array ( 'type' => 'REGEX', + 'regex' => '/^[\w\.\-]{0,64}$/', + 'errmsg'=> 'username_error_regex'), + ), + 'default' => '', + 'value' => '', + 'width' => '30', + 'maxlength' => '255' + ), + 'password' => array ( + 'datatype' => 'VARCHAR', + 'formtype' => 'PASSWORD', + 'encryption' => 'CRYPT', + 'default' => '', + 'value' => '', + 'width' => '30', + 'maxlength' => '255' + ), + 'active' => array ( + 'datatype' => 'VARCHAR', + 'formtype' => 'CHECKBOX', + 'default' => 'y', + 'value' => array(0 => 'n',1 => 'y') + ), + 'dir' => array ( + 'datatype' => 'VARCHAR', + 'formtype' => 'TEXT', + 'validators' => array ( 0 => array ( 'type' => 'NOTEMPTY', + 'errmsg'=> 'directory_error_empty'), + ), + 'default' => '', + 'value' => '', + 'width' => '30', + 'maxlength' => '255' + ), + ################################## + # ENDE Datatable fields + ################################## + ) +); +?> \ No newline at end of file diff --git a/interface/web/sites/lib/lang/de.lng b/interface/web/sites/lib/lang/de.lng index d921ad4..54231a4 100644 --- a/interface/web/sites/lib/lang/de.lng +++ b/interface/web/sites/lib/lang/de.lng @@ -11,6 +11,8 @@ $wb['FTP-User'] = 'FTP Benutzer'; $wb['FTP'] = 'FTP'; $wb['Shell-User'] = 'Shell Benutzer'; +$wb['Webdav-User'] = 'Webdav Benutzer'; +$wb['Webdav'] = 'Webdav'; $wb['Shell'] = 'Shell'; $wb['Websites'] = 'Websites'; $wb['Stats'] = 'Statistiken'; diff --git a/interface/web/sites/lib/lang/de_webdav_user.lng b/interface/web/sites/lib/lang/de_webdav_user.lng new file mode 100644 index 0000000..8b14415 --- /dev/null +++ b/interface/web/sites/lib/lang/de_webdav_user.lng @@ -0,0 +1,16 @@ +<?php +$wb["dir_txt"] = 'Verzeichnis'; +$wb["server_id_txt"] = 'Server'; +$wb["parent_domain_id_txt"] = 'Website'; +$wb["username_txt"] = 'Username'; +$wb["password_txt"] = 'Password'; +$wb["password_strength_txt"] = 'Password strength'; +$wb['active_txt'] = 'Aktiv'; +$wb["limit_webdav_user_txt"] = 'Die maximale Anzahl an Webdav Benutzer für ihr Konto wurde erreicht.'; +$wb['username_error_empty'] = 'Benutzername ist leer.'; +$wb['username_error_unique'] = 'Der Benutzername muss einzigartig sein.'; +$wb['username_error_regex'] = 'Der Benutzername enthält nicht erlaubte Zeichen.'; +$wb['directory_error_empty'] = 'Verzeichnis ist leer.'; +$wb['password_strength_txt'] = 'Passwortkomplexität'; +$wb['parent_domain_id_error_empty'] = 'Keine Website ausgewählt.'; +?> diff --git a/interface/web/sites/lib/lang/de_webdav_user_list.lng b/interface/web/sites/lib/lang/de_webdav_user_list.lng new file mode 100644 index 0000000..a9ae0c9 --- /dev/null +++ b/interface/web/sites/lib/lang/de_webdav_user_list.lng @@ -0,0 +1,8 @@ +<?php +$wb["list_head_txt"] = 'Webdav-Benutzer'; +$wb["active_txt"] = 'Aktiv'; +$wb["server_id_txt"] = 'Server'; +$wb["parent_domain_id_txt"] = 'Website'; +$wb["username_txt"] = 'Benutzername'; +$wb["add_new_record_txt"] = 'Neuen Webdavbenutzer hinzufügen'; +?> \ No newline at end of file diff --git a/interface/web/sites/lib/lang/en.lng b/interface/web/sites/lib/lang/en.lng index 36c63bc..669a971 100644 --- a/interface/web/sites/lib/lang/en.lng +++ b/interface/web/sites/lib/lang/en.lng @@ -13,6 +13,8 @@ $wb['FTP'] = 'FTP'; $wb['Shell-User'] = 'Shell-User'; $wb['Shell'] = 'Shell'; +$wb['Webdav-User'] = 'Webdav Benutzer'; +$wb['Webdav'] = 'Webdav'; $wb['Websites'] = 'Websites'; $wb["Stats"] = 'Statistics'; $wb["Cron"] = 'Cron'; diff --git a/interface/web/sites/lib/lang/en_webdav_user.lng b/interface/web/sites/lib/lang/en_webdav_user.lng new file mode 100644 index 0000000..09cf6ff --- /dev/null +++ b/interface/web/sites/lib/lang/en_webdav_user.lng @@ -0,0 +1,16 @@ +<?php +$wb["dir_txt"] = 'Directory'; +$wb["server_id_txt"] = 'Server'; +$wb["parent_domain_id_txt"] = 'Website'; +$wb["username_txt"] = 'Username'; +$wb["password_txt"] = 'Password'; +$wb["password_strength_txt"] = 'Password strength'; +$wb["active_txt"] = 'Active'; +$wb["limit_webdav_user_txt"] = 'The max. number of webdav users for your account is reached.'; +$wb["username_error_empty"] = 'Username is empty.'; +$wb["username_error_unique"] = 'The username must be unique.'; +$wb["username_error_regex"] = 'The username contains charachters that are not allowed.'; +$wb["directory_error_empty"] = 'Directory empty.'; +$wb["parent_domain_id_error_empty"] = 'No website selected.'; +$wb['password_strength_txt'] = 'Password strength'; +?> diff --git a/interface/web/sites/lib/lang/en_webdav_user_list.lng b/interface/web/sites/lib/lang/en_webdav_user_list.lng new file mode 100644 index 0000000..072e3ea --- /dev/null +++ b/interface/web/sites/lib/lang/en_webdav_user_list.lng @@ -0,0 +1,8 @@ +<?php +$wb["list_head_txt"] = 'Webdav-User'; +$wb["active_txt"] = 'Active'; +$wb["server_id_txt"] = 'Server'; +$wb["parent_domain_id_txt"] = 'Website'; +$wb["username_txt"] = 'Username'; +$wb["add_new_record_txt"] = 'Add new Webdav-User'; +?> \ No newline at end of file diff --git a/interface/web/sites/lib/module.conf.php b/interface/web/sites/lib/module.conf.php index 09fdfe8..3b727ee 100644 --- a/interface/web/sites/lib/module.conf.php +++ b/interface/web/sites/lib/module.conf.php @@ -11,25 +11,25 @@ */ $items[] = array( 'title' => "Website", - 'target' => 'content', - 'link' => 'sites/web_domain_list.php', - 'html_id' => 'domain_list'); + 'target' => 'content', + 'link' => 'sites/web_domain_list.php', + 'html_id' => 'domain_list'); $items[] = array( 'title' => "Subdomain", - 'target' => 'content', - 'link' => 'sites/web_subdomain_list.php', - 'html_id' => 'subdomain_list'); + 'target' => 'content', + 'link' => 'sites/web_subdomain_list.php', + 'html_id' => 'subdomain_list'); $items[] = array( 'title' => "Aliasdomain", - 'target' => 'content', - 'link' => 'sites/web_aliasdomain_list.php', - 'html_id' => 'aliasdomain_list'); + 'target' => 'content', + 'link' => 'sites/web_aliasdomain_list.php', + 'html_id' => 'aliasdomain_list'); $module["nav"][] = array( 'title' => 'Websites', - 'open' => 1, - 'items' => $items); + 'open' => 1, + 'items' => $items); // clean up unset($items); @@ -39,48 +39,65 @@ */ $items[] = array( 'title' => "FTP-User", - 'target' => 'content', - 'link' => 'sites/ftp_user_list.php', - 'html_id' => 'ftp_user_list'); + 'target' => 'content', + 'link' => 'sites/ftp_user_list.php', + 'html_id' => 'ftp_user_list'); $module["nav"][] = array( 'title' => 'FTP', - 'open' => 1, - 'items' => $items); + 'open' => 1, + 'items' => $items); // clean up unset($items); /* - FTP User menu + Shell User menu */ $items[] = array( 'title' => "Shell-User", - 'target' => 'content', - 'link' => 'sites/shell_user_list.php', - 'html_id' => 'shell_user_list'); + 'target' => 'content', + 'link' => 'sites/shell_user_list.php', + 'html_id' => 'shell_user_list'); $module["nav"][] = array( 'title' => 'Shell', - 'open' => 1, - 'items' => $items); + 'open' => 1, + 'items' => $items); // clean up unset($items); + +/* + * Webdav User menu + */ +$items[] = array( 'title' => "Webdav-User", + 'target' => 'content', + 'link' => 'sites/webdav_user_list.php', + 'html_id' => 'webdav_user_list'); + + +$module["nav"][] = array( 'title' => 'Webdav', + 'open' => 1, + 'items' => $items); + +// clean up +unset($items); + /* Databases menu */ $items[] = array( 'title' => "Database", - 'target' => 'content', - 'link' => 'sites/database_list.php', - 'html_id' => 'database_list'); + 'target' => 'content', + 'link' => 'sites/database_list.php', + 'html_id' => 'database_list'); $module["nav"][] = array( 'title' => 'Database', - 'open' => 1, - 'items' => $items); + 'open' => 1, + 'items' => $items); /* @@ -89,28 +106,28 @@ $items = array(); $items[] = array( 'title' => "Cron Jobs", - 'target' => 'content', - 'link' => 'sites/cron_list.php', - 'html_id' => 'cron_list'); + 'target' => 'content', + 'link' => 'sites/cron_list.php', + 'html_id' => 'cron_list'); $module["nav"][] = array( 'title' => 'Cron', - 'open' => 1, - 'items' => $items); + 'open' => 1, + 'items' => $items); //**** Statistics menu $items = array(); $items[] = array( 'title' => 'Web traffic', - 'target' => 'content', - 'link' => 'sites/web_sites_stats.php', - 'html_id' => 'websites_stats'); + 'target' => 'content', + 'link' => 'sites/web_sites_stats.php', + 'html_id' => 'websites_stats'); $module['nav'][] = array( 'title' => 'Statistics', - 'open' => 1, - 'items' => $items); + 'open' => 1, + 'items' => $items); diff --git a/interface/web/sites/list/webdav_user.list.php b/interface/web/sites/list/webdav_user.list.php new file mode 100644 index 0000000..fc3ed0c --- /dev/null +++ b/interface/web/sites/list/webdav_user.list.php @@ -0,0 +1,99 @@ +<?php + +/* + Datatypes: + - INTEGER + - DOUBLE + - CURRENCY + - VARCHAR + - TEXT + - DATE +*/ + + + +// Name of the list +$liste["name"] = "webdav_user"; + +// Database table +$liste["table"] = "webdav_user"; + +// Index index field of the database table +$liste["table_idx"] = "webdav_user_id"; + +// Search Field Prefix +$liste["search_prefix"] = "search_"; + +// Records per page +$liste["records_per_page"] = 15; + +// Script File of the list +$liste["file"] = "webdav_user_list.php"; + +// Script file of the edit form +$liste["edit_file"] = "webdav_user_edit.php"; + +// Script File of the delete script +$liste["delete_file"] = "webdav_user_del.php"; + +// Paging Template +$liste["paging_tpl"] = "templates/paging.tpl.htm"; + +// Enable auth +$liste["auth"] = "yes"; + + +/***************************************************** +* Suchfelder +*****************************************************/ + + +$liste["item"][] = array( 'field' => "active", + 'datatype' => "VARCHAR", + 'formtype' => "SELECT", + 'op' => "=", + 'prefix' => "", + 'suffix' => "", + 'width' => "", + 'value' => array('y' => "<div id=\"ir-Yes\" class=\"swap\"><span>Yes</span></div>",'n' => "<div class=\"swap\" id=\"ir-No\"><span>No</span></div>")); + + +$liste["item"][] = array( 'field' => "server_id", + 'datatype' => "VARCHAR", + 'formtype' => "SELECT", + 'op' => "like", + 'prefix' => "%", + 'suffix' => "%", + 'datasource' => array ( 'type' => 'SQL', + 'querystring' => 'SELECT server_id,server_name FROM server WHERE {AUTHSQL} ORDER BY server_name', + 'keyfield'=> 'server_id', + 'valuefield'=> 'server_name' + ), + 'width' => "", + 'value' => ""); + +$liste["item"][] = array( 'field' => "parent_domain_id", + 'datatype' => "VARCHAR", + 'formtype' => "SELECT", + 'op' => "=", + 'prefix' => "", + 'suffix' => "", + 'datasource' => array ( 'type' => 'SQL', + 'querystring' => "SELECT domain_id,domain FROM web_domain WHERE type = 'vhost' AND {AUTHSQL} ORDER BY domain", + 'keyfield'=> 'domain_id', + 'valuefield'=> 'domain' + ), + 'width' => "", + 'value' => ""); + +$liste["item"][] = array( 'field' => "username", + 'datatype' => "VARCHAR", + 'formtype' => "TEXT", + 'op' => "like", + 'prefix' => "%", + 'suffix' => "%", + 'width' => "", + 'value' => ""); + + +?> \ No newline at end of file diff --git a/interface/web/sites/templates/webdav_user_edit.htm b/interface/web/sites/templates/webdav_user_edit.htm new file mode 100644 index 0000000..4b5063f --- /dev/null +++ b/interface/web/sites/templates/webdav_user_edit.htm @@ -0,0 +1,58 @@ +<h2><tmpl_var name="list_head_txt"></h2> +<p><tmpl_var name="list_desc_txt"></p> + +<div class="panel panel_webdav_user"> + + <div class="pnl_formsarea"> + <fieldset class="inlineLabels"> + <div class="ctrlHolder"> + <tmpl_if name="edit_disabled"> + <label for="parent_domain_id">{tmpl_var name='parent_domain_id_txt'}</label> + <select name="parent_domain_id" id="parent_domain_id" class="selectInput" disabled="disabled"> + {tmpl_var name='parent_domain_id'} + </select> + <input type="hidden" name="parent_domain_id" value="{tmpl_var name='parent_domain_id_value'}" /> + <tmpl_else> + <label for="parent_domain_id">{tmpl_var name='parent_domain_id_txt'}</label> + <select name="parent_domain_id" id="parent_domain_id" class="selectInput"> + {tmpl_var name='parent_domain_id'} + </select> + </tmpl_if> + </div> + <div class="ctrlHolder"> + <label for="username">{tmpl_var name='username_txt'}</label> + <div style="float: left;">{tmpl_var name='username_prefix'} </div> + <input name="username" id="username" value="{tmpl_var name='username'}" size="30" maxlength="255" type="text" class="textInput formLengthFourth"/> + </div> + <div class="ctrlHolder"> + <label for="password">{tmpl_var name='password_txt'}</label> + <input name="password" id="password" value="{tmpl_var name='password'}" size="30" maxlength="255" type="password" class="textInput" onkeyup="pass_check(this.value)"/> + </div> + <div class="ctrlHolder"> + <p class="label">{tmpl_var name='password_strength_txt'}</p> + <div id="passBar"></div> + <p class="formHint"><span id="passText"> </span></p> + </div> + <div class="ctrlHolder"> + <p class="label">{tmpl_var name='active_txt'}</p> + <div class="multiField"> + {tmpl_var name='active'} + </div> + </div> + <div class="ctrlHolder"> + <label for="dir">{tmpl_var name='dir_txt'}</label> + <div style="float: left;">webdav/</div> + <input name="dir" id="dir" value="{tmpl_var name='dir'}" size="30" maxlength="255" type="text" class="textInput" /> + </div> + + </fieldset> + + <input type="hidden" name="id" value="{tmpl_var name='id'}"> + + <div class="buttonHolder buttons"> + <button class="positive iconstxt icoPositive" type="button" value="{tmpl_var name='btn_save_txt'}" onClick="submitForm('pageForm','sites/webdav_user_edit.php');"><span>{tmpl_var name='btn_save_txt'}</span></button> + <button class="negative iconstxt icoNegative" type="button" value="{tmpl_var name='btn_cancel_txt'}" onClick="loadContent('sites/webdav_user_list.php');"><span>{tmpl_var name='btn_cancel_txt'}</span></button> + </div> + </div> + +</div> diff --git a/interface/web/sites/templates/webdav_user_list.htm b/interface/web/sites/templates/webdav_user_list.htm new file mode 100644 index 0000000..2f6d69c --- /dev/null +++ b/interface/web/sites/templates/webdav_user_list.htm @@ -0,0 +1,59 @@ +<h2><tmpl_var name="list_head_txt"></h2> +<p><tmpl_var name="list_desc_txt"></p> + +<div class="panel panel_list_webdav_user"> + + <div class="pnl_toolsarea"> + <fieldset><legend>{tmpl_var name="toolsarea_head_txt"}</legend> + <div class="buttons"> + <button class="iconstxt icoAdd" type="button" onClick="loadContent('sites/webdav_user_edit.php');"> + <span>{tmpl_var name="add_new_record_txt"}</span> + </button> + </div> + </fieldset> + </div> + + <div class="pnl_listarea"> + <fieldset><legend><tmpl_var name="list_head_txt"></legend> + <table class="list"> + <thead> + <tr> + <th class="tbl_col_active" scope="col"><tmpl_var name="active_txt"></th> + <th class="tbl_col_server_id" scope="col"><tmpl_var name="server_id_txt"></th> + <th class="tbl_col_parent_domain_id" scope="col"><tmpl_var name="parent_domain_id_txt"></th> + <th class="tbl_col_username" scope="col"><tmpl_var name="username_txt"></th> + <th class="tbl_col_buttons" scope="col"> </th> + </tr> + <tr> + <td class="tbl_col_active"><select name="search_active" onChange="submitForm('pageForm','sites/webdav_user_list.php');">{tmpl_var name='search_active'}</select></td> + <td class="tbl_col_server_id"><select name="search_server_id" onChange="submitForm('pageForm','sites/webdav_user_list.php');">{tmpl_var name='search_server_id'}</select></td> + <td class="tbl_col_parent_domain_id"><select name="search_parent_domain_id" onChange="submitForm('pageForm','sites/webdav_user_list.php');">{tmpl_var name='search_parent_domain_id'}</select></td> + <td class="tbl_col_username"><input type="text" name="search_username" value="{tmpl_var name='search_username'}" /></td> + <td class="tbl_col_buttons"><div class="buttons"><button type="button" class="icons16 icoFilter" name="Filter" id="Filter" value="{tmpl_var name="filter_txt"}" onClick="submitForm('pageForm','sites/shell_user_list.php');"><span>{tmpl_var name="filter_txt"}</span></button></div></td> + </tr> + </thead> + <tbody> + <tmpl_loop name="records"> + <tr class="tbl_row_<tmpl_if name='__EVEN__'}even<tmpl_else>uneven</tmpl_if>"> + <td class="tbl_col_active"><a href="#" onClick="loadContent('sites/webdav_user_edit.php?id={tmpl_var name='id'}');">{tmpl_var name="active"}</a></td> + <td class="tbl_col_server_id"><a href="#" onClick="loadContent('sites/webdav_user_edit.php?id={tmpl_var name='id'}');">{tmpl_var name="server_id"}</a></td> + <td class="tbl_col_parent_domain_id"><a href="#" onClick="loadContent('sites/webdav_user_edit.php?id={tmpl_var name='id'}');">{tmpl_var name="parent_domain_id"}</a></td> + <td class="tbl_col_username"><a href="#" onClick="loadContent('sites/webdav_user_edit.php?id={tmpl_var name='id'}');">{tmpl_var name="username"}</a></td> + <td class="tbl_col_buttons"> + <div class="buttons icons16"> + <a class="icons16 icoDelete" href="javascript: del_record('sites/webdav_user_del.php?id={tmpl_var name='id'}&phpsessid={tmpl_var name='phpsessid'}','{tmpl_var name='delete_confirmation'}');"><span>{tmpl_var name='delete_txt'}</span></a> + </div> + </td> + </tr> + </tmpl_loop> + </tbody> + <tfoot> + <tr> + <td class="tbl_footer tbl_paging" colspan="5"><tmpl_var name="paging"></td> + </tr> + </tfoot> + </table> + </fieldset> + </div> + +</div> diff --git a/interface/web/sites/webdav_user_del.php b/interface/web/sites/webdav_user_del.php new file mode 100644 index 0000000..ca92412 --- /dev/null +++ b/interface/web/sites/webdav_user_del.php @@ -0,0 +1,50 @@ +<?php +/* +Copyright (c) 2010 Till Brehm, projektfarm Gmbh and Oliver Vogel www.muv.com +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 +******************************************/ + +$list_def_file = "list/webdav_user.list.php"; +$tform_def_file = "form/webdav_user.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('sites'); + +$app->uses("tform_actions"); +$app->tform_actions->onDelete(); + +?> \ No newline at end of file diff --git a/interface/web/sites/webdav_user_edit.php b/interface/web/sites/webdav_user_edit.php new file mode 100644 index 0000000..19a0f78 --- /dev/null +++ b/interface/web/sites/webdav_user_edit.php @@ -0,0 +1,201 @@ +<?php +/* +Copyright (c) 2010 Till Brehm, projektfarm Gmbh and Oliver Vogel www.muv.com +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/webdav_user.tform.php"; + +/****************************************** +* End Form configuration +******************************************/ + +require_once('../../lib/config.inc.php'); +require_once('../../lib/app.inc.php'); +require_once('tools.inc.php'); + +//* Check permissions for module +$app->auth->check_module_permissions('sites'); + +// Loading classes +$app->uses('tpl,tform,tform_actions'); +$app->load('tform_actions'); + +class page_action extends tform_actions { + + function onShowNew() { + global $app, $conf; + + // we will check only users, not admins + if($_SESSION["s"]["user"]["typ"] == 'user') { + if(!$app->tform->checkClientLimit('limit_webdav_user')) { + $app->error($app->tform->wordbook["limit_webdav_user_txt"]); + } + if(!$app->tform->checkResellerLimit('limit_webdav_user')) { + $app->error('Reseller: '.$app->tform->wordbook["limit_webdav_user_txt"]); + } + } + + parent::onShowNew(); + } + + function onShowEnd() { + global $app, $conf, $interfaceConf; + /* + * If the names are restricted -> remove the restriction, so that the + * data can be edited + */ + + $app->uses('getconf'); + $global_config = $app->getconf->get_global_config('sites'); + $webdavuser_prefix = replacePrefix($global_config['webdavuser_prefix'], $this->dataRecord); + + if ($this->dataRecord['username'] != ""){ + /* REMOVE the restriction */ + $app->tpl->setVar("username", str_replace($webdavuser_prefix , '', $this->dataRecord['username'])); + } + if($_SESSION["s"]["user"]["typ"] == 'admin' || $app->auth->has_clients($_SESSION['s']['user']['userid'])) { + $app->tpl->setVar("username_prefix", $global_config['webdavuser_prefix']); + } else { + $app->tpl->setVar("username_prefix", $webdavuser_prefix); + } + + if($this->id > 0) { + //* we are editing a existing record + $app->tpl->setVar("edit_disabled", 1); + $app->tpl->setVar("parent_domain_id_value", $this->dataRecord["parent_domain_id"]); + } else { + $app->tpl->setVar("edit_disabled", 0); + } + + parent::onShowEnd(); + } + + function onSubmit() { + global $app, $conf; + + // Get the record of the parent domain + $parent_domain = $app->db->queryOneRecord("select * FROM web_domain WHERE domain_id = ".intval(@$this->dataRecord["parent_domain_id"])); + + // Set a few fixed values + $this->dataRecord["server_id"] = $parent_domain["server_id"]; + + if(isset($this->dataRecord['username']) && trim($this->dataRecord['username']) == '') $app->tform->errorMessage .= $app->tform->lng('username_error_empty').'<br />'; + if(isset($this->dataRecord['username']) && empty($this->dataRecord['parent_domain_id'])) $app->tform->errorMessage .= $app->tform->lng('parent_domain_id_error_empty').'<br />'; + + parent::onSubmit(); + } + + function onBeforeInsert() { + global $app, $conf, $interfaceConf; + + /* + * If the names should be restricted -> do it! + */ + if ($app->tform->errorMessage == ''){ + + $app->uses('getconf'); + $global_config = $app->getconf->get_global_config('sites'); + $webdavuser_prefix = replacePrefix($global_config['webdavuser_prefix'], $this->dataRecord); + + /* restrict the names */ + $this->dataRecord['username'] = $webdavuser_prefix . $this->dataRecord['username']; + } + parent::onBeforeInsert(); + } + + function onAfterInsert() { + global $app, $conf; + + $web = $app->db->queryOneRecord("SELECT * FROM web_domain WHERE domain_id = ".intval($this->dataRecord["parent_domain_id"])); + $server_id = $web["server_id"]; + $dir = $web["document_root"]; + + // The Webdav user shall be owned by the same group then the website + $sys_groupid = $web['sys_groupid']; + + $sql = "UPDATE webdav_user SET server_id = $server_id, dir = '$dir', sys_groupid = '$sys_groupid' WHERE shell_user_id = ".$this->id; + $app->db->query($sql); + + } + + function onBeforeUpdate() { + global $app, $conf, $interfaceConf; + + /* + * If the names should be restricted -> do it! + */ + if ($app->tform->errorMessage == '') { + /* + * If the names should be restricted -> do it! + */ + $app->uses('getconf'); + $global_config = $app->getconf->get_global_config('sites'); + $webdavuser_prefix = replacePrefix($global_config['webdavuser_prefix'], $this->dataRecord); + + /* restrict the names */ + $this->dataRecord['username'] = $webdavuser_prefix . $this->dataRecord['username']; + } + } + + function onAfterUpdate() { + global $app, $conf; + + + } + + function getClientName() { + global $app, $conf; + + if($_SESSION["s"]["user"]["typ"] != 'admin' && !$app->auth->has_clients($_SESSION['s']['user']['userid'])) { + // Get the group-id of the user + $client_group_id = $_SESSION["s"]["user"]["default_group"]; + } else { + // Get the group-id from the data itself + $web = $app->db->queryOneRecord("SELECT sys_groupid FROM web_domain WHERE domain_id = ".intval($this->dataRecord['parent_domain_id'])); + $client_group_id = $web['sys_groupid']; + } + /* get the name of the client */ + $tmp = $app->db->queryOneRecord("SELECT name FROM sys_group WHERE groupid = " . $client_group_id); + $clientName = $tmp['name']; + if ($clientName == "") $clientName = 'default'; + $clientName = convertClientName($clientName); + + return $clientName; + + } + +} + +$page = new page_action; +$page->onLoad(); + +?> \ No newline at end of file diff --git a/interface/web/sites/webdav_user_list.php b/interface/web/sites/webdav_user_list.php new file mode 100644 index 0000000..bac3de9 --- /dev/null +++ b/interface/web/sites/webdav_user_list.php @@ -0,0 +1,51 @@ +<?php +/* +Copyright (c) 2010 Till Brehm, projektfarm Gmbh and Oliver Vogel www.muv.com +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. +*/ + +require_once('../../lib/config.inc.php'); +require_once('../../lib/app.inc.php'); + +/****************************************** +* Begin Form configuration +******************************************/ + +$list_def_file = "list/webdav_user.list.php"; + +/****************************************** +* End Form configuration +******************************************/ + +//* Check permissions for module +$app->auth->check_module_permissions('sites'); + +$app->uses('listform_actions'); + +$app->listform_actions->onLoad(); + + +?> \ No newline at end of file -- Gitblit v1.9.1