redray
2009-03-06 649d63974b9a3a9d6042892d00e0377022cb44c9
fixed form problems ... http://www.sprawsm.com/uni-form/

1 files deleted
132 files modified
5 files added
11170 ■■■■ changed files
interface/lib/app.inc.php 20 ●●●●● patch | view | raw | blame | history
interface/lib/classes/auth.inc.php 210 ●●●● patch | view | raw | blame | history
interface/lib/classes/tform.inc.php 2280 ●●●● patch | view | raw | blame | history
interface/lib/classes/tform_actions.inc.php 2 ●●● patch | view | raw | blame | history
interface/lib/classes/tform_tpl_generator.inc.php 143 ●●●●● patch | view | raw | blame | history
interface/web/admin/templates/firewall_edit.htm 43 ●●●●● patch | view | raw | blame | history
interface/web/admin/templates/firewall_list.htm 1 ●●●● patch | view | raw | blame | history
interface/web/admin/templates/groups_edit.htm 23 ●●●● patch | view | raw | blame | history
interface/web/admin/templates/groups_list.htm 1 ●●●● patch | view | raw | blame | history
interface/web/admin/templates/language_add.htm 36 ●●●●● patch | view | raw | blame | history
interface/web/admin/templates/language_complete.htm 24 ●●●● patch | view | raw | blame | history
interface/web/admin/templates/language_edit.htm 6 ●●●●● patch | view | raw | blame | history
interface/web/admin/templates/language_export.htm 28 ●●●●● patch | view | raw | blame | history
interface/web/admin/templates/language_import.htm 60 ●●●● patch | view | raw | blame | history
interface/web/admin/templates/language_list.htm 13 ●●●●● patch | view | raw | blame | history
interface/web/admin/templates/server_config_fastcgi_edit.htm 63 ●●●● patch | view | raw | blame | history
interface/web/admin/templates/server_config_getmail_edit.htm 15 ●●●● patch | view | raw | blame | history
interface/web/admin/templates/server_config_jailkit_edit.htm 31 ●●●● patch | view | raw | blame | history
interface/web/admin/templates/server_config_list.htm 1 ●●●● patch | view | raw | blame | history
interface/web/admin/templates/server_config_mail_edit.htm 105 ●●●● patch | view | raw | blame | history
interface/web/admin/templates/server_config_server_edit.htm 57 ●●●● patch | view | raw | blame | history
interface/web/admin/templates/server_config_web_edit.htm 71 ●●●● patch | view | raw | blame | history
interface/web/admin/templates/server_edit_config.htm 15 ●●●● patch | view | raw | blame | history
interface/web/admin/templates/server_edit_services.htm 85 ●●●●● patch | view | raw | blame | history
interface/web/admin/templates/server_ip_edit.htm 35 ●●●●● patch | view | raw | blame | history
interface/web/admin/templates/server_ip_list.htm 1 ●●●● patch | view | raw | blame | history
interface/web/admin/templates/server_list.htm 1 ●●●● patch | view | raw | blame | history
interface/web/admin/templates/software_package_list.htm 1 ●●●● patch | view | raw | blame | history
interface/web/admin/templates/software_repo_edit.htm 49 ●●●● patch | view | raw | blame | history
interface/web/admin/templates/software_repo_list.htm 1 ●●●● patch | view | raw | blame | history
interface/web/admin/templates/software_update_list.htm 19 ●●●● patch | view | raw | blame | history
interface/web/admin/templates/system_config_mail_edit.htm 18 ●●●●● patch | view | raw | blame | history
interface/web/admin/templates/system_config_sites_edit.htm 50 ●●●● patch | view | raw | blame | history
interface/web/admin/templates/users_groups_edit.htm 27 ●●●●● patch | view | raw | blame | history
interface/web/admin/templates/users_list.htm 119 ●●●● patch | view | raw | blame | history
interface/web/admin/templates/users_user_edit.htm 91 ●●●●● patch | view | raw | blame | history
interface/web/client/templates/client_edit_address.htm 164 ●●●● patch | view | raw | blame | history
interface/web/client/templates/client_edit_limits.htm 298 ●●●● patch | view | raw | blame | history
interface/web/client/templates/client_template_edit_limits.htm 175 ●●●● patch | view | raw | blame | history
interface/web/client/templates/client_template_edit_template.htm 27 ●●●●● patch | view | raw | blame | history
interface/web/client/templates/client_template_list.htm 103 ●●●● patch | view | raw | blame | history
interface/web/client/templates/clients_list.htm 1 ●●●● patch | view | raw | blame | history
interface/web/dns/templates/dns_a_edit.htm 73 ●●●● patch | view | raw | blame | history
interface/web/dns/templates/dns_a_list.htm 164 ●●●● patch | view | raw | blame | history
interface/web/dns/templates/dns_alias_edit.htm 73 ●●●● patch | view | raw | blame | history
interface/web/dns/templates/dns_cname_edit.htm 73 ●●●● patch | view | raw | blame | history
interface/web/dns/templates/dns_hinfo_edit.htm 73 ●●●● patch | view | raw | blame | history
interface/web/dns/templates/dns_mx_edit.htm 81 ●●●● patch | view | raw | blame | history
interface/web/dns/templates/dns_ns_edit.htm 73 ●●●● patch | view | raw | blame | history
interface/web/dns/templates/dns_ptr_edit.htm 73 ●●●● patch | view | raw | blame | history
interface/web/dns/templates/dns_records_edit.htm 1 ●●●● patch | view | raw | blame | history
interface/web/dns/templates/dns_rp_edit.htm 73 ●●●● patch | view | raw | blame | history
interface/web/dns/templates/dns_soa_edit.htm 160 ●●●● patch | view | raw | blame | history
interface/web/dns/templates/dns_soa_list.htm 123 ●●●● patch | view | raw | blame | history
interface/web/dns/templates/dns_srv_edit.htm 73 ●●●● patch | view | raw | blame | history
interface/web/dns/templates/dns_template_edit.htm 41 ●●●●● patch | view | raw | blame | history
interface/web/dns/templates/dns_template_list.htm 1 ●●●● patch | view | raw | blame | history
interface/web/dns/templates/dns_txt_edit.htm 73 ●●●● patch | view | raw | blame | history
interface/web/dns/templates/dns_wizard.htm 130 ●●●● patch | view | raw | blame | history
interface/web/help/templates/support_message_edit.htm 33 ●●●● patch | view | raw | blame | history
interface/web/help/templates/support_message_list.htm 1 ●●●● patch | view | raw | blame | history
interface/web/help/templates/support_message_view.htm 21 ●●●● patch | view | raw | blame | history
interface/web/js/uni-form/jquery.js 1 ●●●● patch | view | raw | blame | history
interface/web/js/uni-form/uni-form.jquery.js 41 ●●●●● patch | view | raw | blame | history
interface/web/login/templates/index.htm 67 ●●●● patch | view | raw | blame | history
interface/web/login/templates/password_reset.htm 37 ●●●● patch | view | raw | blame | history
interface/web/mail/templates/mail_alias_edit.htm 37 ●●●●● patch | view | raw | blame | history
interface/web/mail/templates/mail_alias_list.htm 1 ●●●● patch | view | raw | blame | history
interface/web/mail/templates/mail_blacklist_edit.htm 45 ●●●●● patch | view | raw | blame | history
interface/web/mail/templates/mail_blacklist_list.htm 1 ●●●● patch | view | raw | blame | history
interface/web/mail/templates/mail_content_filter_edit.htm 61 ●●●●● patch | view | raw | blame | history
interface/web/mail/templates/mail_content_filter_list.htm 1 ●●●● patch | view | raw | blame | history
interface/web/mail/templates/mail_domain_catchall_edit.htm 37 ●●●●● patch | view | raw | blame | history
interface/web/mail/templates/mail_domain_catchall_list.htm 1 ●●●● patch | view | raw | blame | history
interface/web/mail/templates/mail_domain_edit.htm 108 ●●●● patch | view | raw | blame | history
interface/web/mail/templates/mail_domain_list.htm 1 ●●●● patch | view | raw | blame | history
interface/web/mail/templates/mail_forward_edit.htm 36 ●●●●● patch | view | raw | blame | history
interface/web/mail/templates/mail_forward_list.htm 1 ●●●● patch | view | raw | blame | history
interface/web/mail/templates/mail_get_edit.htm 75 ●●●● patch | view | raw | blame | history
interface/web/mail/templates/mail_get_list.htm 1 ●●●● patch | view | raw | blame | history
interface/web/mail/templates/mail_transport_edit.htm 71 ●●●●● patch | view | raw | blame | history
interface/web/mail/templates/mail_transport_list.htm 1 ●●●● patch | view | raw | blame | history
interface/web/mail/templates/mail_user_autoresponder_edit.htm 23 ●●●●● patch | view | raw | blame | history
interface/web/mail/templates/mail_user_custom_rules_edit.htm 13 ●●●● patch | view | raw | blame | history
interface/web/mail/templates/mail_user_filter_edit.htm 75 ●●●● patch | view | raw | blame | history
interface/web/mail/templates/mail_user_list.htm 109 ●●●● patch | view | raw | blame | history
interface/web/mail/templates/mail_user_mailbox_edit.htm 111 ●●●● patch | view | raw | blame | history
interface/web/mail/templates/mail_user_mailfilter_edit.htm 8 ●●●●● patch | view | raw | blame | history
interface/web/mail/templates/mail_user_stats_list.htm 1 ●●●● patch | view | raw | blame | history
interface/web/mail/templates/mail_whitelist_edit.htm 43 ●●●●● patch | view | raw | blame | history
interface/web/mail/templates/mail_whitelist_list.htm 1 ●●●● patch | view | raw | blame | history
interface/web/mail/templates/spamfilter_blacklist_edit.htm 53 ●●●●● patch | view | raw | blame | history
interface/web/mail/templates/spamfilter_blacklist_list.htm 1 ●●●● patch | view | raw | blame | history
interface/web/mail/templates/spamfilter_config_getmail_edit.htm 1 ●●●● patch | view | raw | blame | history
interface/web/mail/templates/spamfilter_config_list.htm 1 ●●●● patch | view | raw | blame | history
interface/web/mail/templates/spamfilter_config_mail_edit.htm 1 ●●●● patch | view | raw | blame | history
interface/web/mail/templates/spamfilter_config_server_edit.htm 1 ●●●● patch | view | raw | blame | history
interface/web/mail/templates/spamfilter_other_edit.htm 123 ●●●● patch | view | raw | blame | history
interface/web/mail/templates/spamfilter_policy_edit.htm 83 ●●●●● patch | view | raw | blame | history
interface/web/mail/templates/spamfilter_policy_list.htm 1 ●●●● patch | view | raw | blame | history
interface/web/mail/templates/spamfilter_quarantine_edit.htm 53 ●●●● patch | view | raw | blame | history
interface/web/mail/templates/spamfilter_taglevel_edit.htm 71 ●●●● patch | view | raw | blame | history
interface/web/mail/templates/spamfilter_users_edit.htm 61 ●●●●● patch | view | raw | blame | history
interface/web/mail/templates/spamfilter_users_list.htm 1 ●●●● patch | view | raw | blame | history
interface/web/mail/templates/spamfilter_whitelist_edit.htm 55 ●●●●● patch | view | raw | blame | history
interface/web/mail/templates/spamfilter_whitelist_list.htm 1 ●●●● patch | view | raw | blame | history
interface/web/monitor/templates/datalog_list.htm 97 ●●●● patch | view | raw | blame | history
interface/web/monitor/templates/show_data.htm 3 ●●●● patch | view | raw | blame | history
interface/web/monitor/templates/show_log.htm 14 ●●●● patch | view | raw | blame | history
interface/web/monitor/templates/show_sys_state.htm 16 ●●●●● patch | view | raw | blame | history
interface/web/monitor/templates/syslog_list.htm 111 ●●●● patch | view | raw | blame | history
interface/web/sites/templates/database_edit.htm 150 ●●●●● patch | view | raw | blame | history
interface/web/sites/templates/database_list.htm 121 ●●●● patch | view | raw | blame | history
interface/web/sites/templates/ftp_user_advanced.htm 69 ●●●● patch | view | raw | blame | history
interface/web/sites/templates/ftp_user_edit.htm 91 ●●●● patch | view | raw | blame | history
interface/web/sites/templates/ftp_user_list.htm 1 ●●●● patch | view | raw | blame | history
interface/web/sites/templates/shell_user_advanced.htm 37 ●●●● patch | view | raw | blame | history
interface/web/sites/templates/shell_user_edit.htm 100 ●●●● patch | view | raw | blame | history
interface/web/sites/templates/shell_user_list.htm 1 ●●●● patch | view | raw | blame | history
interface/web/sites/templates/web_aliasdomain_edit.htm 61 ●●●●● patch | view | raw | blame | history
interface/web/sites/templates/web_aliasdomain_list.htm 1 ●●●● patch | view | raw | blame | history
interface/web/sites/templates/web_domain_advanced.htm 70 ●●●● patch | view | raw | blame | history
interface/web/sites/templates/web_domain_edit.htm 233 ●●●●● patch | view | raw | blame | history
interface/web/sites/templates/web_domain_list.htm 1 ●●●● patch | view | raw | blame | history
interface/web/sites/templates/web_domain_redirect.htm 23 ●●●●● patch | view | raw | blame | history
interface/web/sites/templates/web_domain_ssl.htm 79 ●●●● patch | view | raw | blame | history
interface/web/sites/templates/web_subdomain_edit.htm 42 ●●●● patch | view | raw | blame | history
interface/web/sites/templates/web_subdomain_list.htm 1 ●●●● patch | view | raw | blame | history
interface/web/themes/default/css/central.css 3 ●●●● patch | view | raw | blame | history
interface/web/themes/default/css/screen/content_ispc.css 1096 ●●●● patch | view | raw | blame | history
interface/web/themes/default/css/screen/uni-form-generic.css 136 ●●●●● patch | view | raw | blame | history
interface/web/themes/default/css/screen/uni-form.css 128 ●●●●● patch | view | raw | blame | history
interface/web/themes/default/css/screen/wforms.css 805 ●●●●● patch | view | raw | blame | history
interface/web/themes/default/images/buttonHolder_bg.gif patch | view | raw | blame | history
interface/web/themes/default/licences.txt 2 ●●● patch | view | raw | blame | history
interface/web/themes/default/templates/main.tpl.htm 185 ●●●●● patch | view | raw | blame | history
interface/web/themes/default/templates/tabbed_form.tpl.htm 13 ●●●●● patch | view | raw | blame | history
interface/web/tools/templates/user_settings.htm 39 ●●●● patch | view | raw | blame | history
interface/lib/app.inc.php
@@ -120,17 +120,19 @@
<head>
<title>Error</title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<link href="../themes/default/style.css" rel="stylesheet" type="text/css" />
<link href="../themes/default/css/central.css" rel="stylesheet" type="text/css" />
</head>
<body>
<br /><br /><br />
<table width="100%" border="0" cellspacing="0" cellpadding="2">
<tr>
<td class="error"><b>Error:</b><br />'.$msg;
        if($next_link != '') $msg .= '<a href="'.$next_link.'">Next</a><br />';
        $msg .= '</td>
</tr>
</table>
<div class="uniForm">
  <div id="errorMsg">
    <h3>Error</h3>
      <ol>
        <li>'.$msg;
            if($next_link != '') $msg .= '<a href="'.$next_link.'">Next</a>';
            $msg .= '</li>
      </ol>
  </div>
</div>
</body>
</html>';
            die($msg);
interface/lib/classes/auth.inc.php
@@ -1,106 +1,106 @@
<?php
/*
Copyright (c) 2007, 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.
*/
class auth {
    public function is_admin() {
        if($_SESSION['s']['user']['typ'] == 'admin') {
            return true;
        } else {
            return false;
        }
    }
    public function has_clients($userid) {
        global $app, $conf;
        $userid = intval($userid);
        $client = $app->db->queryOneRecord("SELECT client.limit_client FROM sys_user, client WHERE sys_user.userid = $userid AND sys_user.client_id = client.client_id");
        if($client['limit_client'] > 0) {
            return true;
        } else {
            return false;
        }
    }
    //** This function adds a given group id to a given user.
    public function add_group_to_user($userid,$groupid) {
        global $app;
        $userid = intval($userid);
        $groupid = intval($groupid);
        if($userid > 0 && $groupid > 0) {
            $user = $app->db->queryOneRecord("SELECT * FROM sys_user WHERE userid = $userid");
            $groups = explode(',',$user['groups']);
            if(!in_array($groupid,$groups)) $groups[] = $groupid;
            $groups_string = implode(',',$groups);
            $sql = "UPDATE sys_user SET groups = '$groups_string' WHERE userid = $userid";
            $app->db->query($sql);
            return true;
        } else {
            return false;
        }
    }
    //** This function removes a given group id from a given user.
    public function remove_group_from_user($userid,$groupid) {
        global $app;
        $userid = intval($userid);
        $groupid = intval($groupid);
        if($userid > 0 && $groupid > 0) {
            $user = $app->db->queryOneRecord("SELECT * FROM sys_user WHERE userid = $userid");
            $groups = explode(',',$user['groups']);
            $key = array_search($groupid,$groups);
            unset($groups[$key]);
            $groups_string = implode(',',$groups);
            $sql = "UPDATE sys_user SET groups = '$groups_string' WHERE userid = $userid";
            $app->db->query($sql);
            return true;
        } else {
            return false;
        }
    }
    public function check_module_permissions($module) {
        // Check if the current user has the permissions to access this module
        if(!stristr($_SESSION["s"]["user"]["modules"],$module)) {
            // echo "LOGIN_REDIRECT:/index.php";
            header("Location: /index.php");
            exit;
        }
    }
}
<?php
/*
Copyright (c) 2007, 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.
*/
class auth {
    public function is_admin() {
        if($_SESSION['s']['user']['typ'] == 'admin') {
            return true;
        } else {
            return false;
        }
    }
    public function has_clients($userid) {
        global $app, $conf;
        $userid = intval($userid);
        $client = $app->db->queryOneRecord("SELECT client.limit_client FROM sys_user, client WHERE sys_user.userid = $userid AND sys_user.client_id = client.client_id");
        if($client['limit_client'] > 0) {
            return true;
        } else {
            return false;
        }
    }
    //** This function adds a given group id to a given user.
    public function add_group_to_user($userid,$groupid) {
        global $app;
        $userid = intval($userid);
        $groupid = intval($groupid);
        if($userid > 0 && $groupid > 0) {
            $user = $app->db->queryOneRecord("SELECT * FROM sys_user WHERE userid = $userid");
            $groups = explode(',',$user['groups']);
            if(!in_array($groupid,$groups)) $groups[] = $groupid;
            $groups_string = implode(',',$groups);
            $sql = "UPDATE sys_user SET groups = '$groups_string' WHERE userid = $userid";
            $app->db->query($sql);
            return true;
        } else {
            return false;
        }
    }
    //** This function removes a given group id from a given user.
    public function remove_group_from_user($userid,$groupid) {
        global $app;
        $userid = intval($userid);
        $groupid = intval($groupid);
        if($userid > 0 && $groupid > 0) {
            $user = $app->db->queryOneRecord("SELECT * FROM sys_user WHERE userid = $userid");
            $groups = explode(',',$user['groups']);
            $key = array_search($groupid,$groups);
            unset($groups[$key]);
            $groups_string = implode(',',$groups);
            $sql = "UPDATE sys_user SET groups = '$groups_string' WHERE userid = $userid";
            $app->db->query($sql);
            return true;
        } else {
            return false;
        }
    }
    public function check_module_permissions($module) {
        // Check if the current user has the permissions to access this module
        if(!stristr($_SESSION["s"]["user"]["modules"],$module)) {
            // echo "LOGIN_REDIRECT:/index.php";
            header("Location: /index.php");
            exit;
        }
    }
}
?>
interface/lib/classes/tform.inc.php
@@ -1,1147 +1,1135 @@
<?php
/*
Copyright (c) 2007, 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.
*/
/**
* Formularbehandlung
*
* Functions to validate, display and save form values
*
*        Database table field definitions
*
*        Datatypes:
*        - INTEGER (Converts data to int automatically)
*        - DOUBLE
*        - CURRENCY (Formats digits in currency notation)
*        - VARCHAR (No format check)
*        - DATE (Date format, converts from and to linux timestamps automatically)
*
*        Formtype:
*        - TEXT (Normal text field)
*        - PASSWORD (password field, the content will not be displayed again to the user)
*        - SELECT (Option fiield)
*        - MULTIPLE (Allows selection of multiple values)
*
*        VALUE:
*        - Value or array
*
*        SEPARATOR
*        - separator char used for fileds with multiple values
*
*        Hint: The auto increment (ID) filed of the table has not be be definied eoarately.
*
*/
class tform {
        /**
        * Table definition (array)
        * @var tableDef
        */
        var $tableDef;
        /**
        * Private
        * @var action
        */
        var $action;
        /**
        * Table name (String)
        * @var table_name
        */
        var $table_name;
        /**
        * Enable debigging
        * @var debug
        */
        var $debug = 0;
        /**
        * name of the primary field of the datbase table (string)
        * @var table_index
        */
        var $table_index;
        /**
        * contains the error message
        * @var errorMessage
        */
        var $errorMessage = '';
        var $dateformat = "d.m.Y";
        var $formDef;
        var $wordbook;
        var $module;
        var $primary_id;
        var $diffrec = array();
        /**
        * Loading of the table definition
        *
        * @param file: path to the form definition file
        * @return true
        */
        /*
        function loadTableDef($file) {
                global $app,$conf;
                include_once($file);
                $this->tableDef = $table;
                $this->table_name = $table_name;
                $this->table_index = $table_index;
                return true;
        }
        */
    function loadFormDef($file,$module = '') {
                global $app,$conf;
                include_once($file);
                $this->formDef = $form;
                $this->module = $module;
                $wb = array();
                include_once(ISPC_ROOT_PATH.'/lib/lang/'.$_SESSION['s']['language'].'.lng');
                if($module == '') {
                    $lng_file = "lib/lang/".$_SESSION["s"]["language"]."_".$this->formDef["name"].".lng";
                    if(!file_exists($lng_file)) $lng_file = "lib/lang/en_".$this->formDef["name"].".lng";
                    include($lng_file);
                } else {
                    $lng_file = "../$module/lib/lang/".$_SESSION["s"]["language"]."_".$this->formDef["name"].".lng";
                    if(!file_exists($lng_file)) $lng_file = "../$module/lib/lang/en_".$this->formDef["name"].".lng";
                    include($lng_file);
                }
                $this->wordbook = $wb;
                return true;
        }
        /**
        * Converts the data in the array to human readable format
        * Datatype conversion e.g. to show the data in lists
        *
        * @param record
        * @return record
        */
        function decode($record,$tab) {
                if(!is_array($this->formDef['tabs'][$tab])) $app->error("Tab does not exist or the tab is empty (TAB: $tab).");
                $new_record = '';
                if(is_array($record)) {
                        foreach($this->formDef['tabs'][$tab]['fields'] as $key => $field) {
                                switch ($field['datatype']) {
                                case 'VARCHAR':
                                        $new_record[$key] = stripslashes($record[$key]);
                                break;
                                case 'TEXT':
                                        $new_record[$key] = stripslashes($record[$key]);
                                break;
                                case 'DATE':
                                        if($record[$key] > 0) {
                                                $new_record[$key] = date($this->dateformat,$record[$key]);
                                        }
                                break;
                                case 'INTEGER':
                                        $new_record[$key] = intval($record[$key]);
                                break;
                                case 'DOUBLE':
                                        $new_record[$key] = $record[$key];
                                break;
                                case 'CURRENCY':
                                        $new_record[$key] = number_format($record[$key], 2, ',', '');
                                break;
                                default:
                                        $new_record[$key] = stripslashes($record[$key]);
                                }
                        }
                }
        return $new_record;
        }
        /**
        * Get the key => value array of a form filed from a datasource definitiom
        *
        * @param field = array with field definition
        * @param record = Dataset as array
        * @return key => value array for the value field of a form
        */
        function getDatasourceData($field, $record) {
                global $app;
                $values = array();
                if($field["datasource"]["type"] == 'SQL') {
                        // Preparing SQL string. We will replace some
                        // common placeholders
                        $querystring = $field["datasource"]["querystring"];
                        $querystring = str_replace("{USERID}",$_SESSION["s"]["user"]["userid"],$querystring);
                        $querystring = str_replace("{GROUPID}",$_SESSION["s"]["user"]["default_group"],$querystring);
                        $querystring = str_replace("{GROUPS}",$_SESSION["s"]["user"]["groups"],$querystring);
                        $table_idx = $this->formDef['db_table_idx'];
                        $tmp_recordid = (isset($record[$table_idx]))?$record[$table_idx]:0;
                        $querystring = str_replace("{RECORDID}",$tmp_recordid,$querystring);
                        unset($tmp_recordid);
                        $querystring = str_replace("{AUTHSQL}",$this->getAuthSQL('r'),$querystring);
                        // Getting the records
                        $tmp_records = $app->db->queryAllRecords($querystring);
                        if($app->db->errorMessage != '') die($app->db->errorMessage);
                        if(is_array($tmp_records)) {
                                $key_field = $field["datasource"]["keyfield"];
                                $value_field = $field["datasource"]["valuefield"];
                                foreach($tmp_records as $tmp_rec) {
                                        $tmp_id = $tmp_rec[$key_field];
                                        $values[$tmp_id] = $tmp_rec[$value_field];
                                }
                        }
                }
                if($field["datasource"]["type"] == 'CUSTOM') {
                        // Calls a custom class to validate this record
                        if($field["datasource"]['class'] != '' and $field["datasource"]['function'] != '') {
                                $datasource_class = $field["datasource"]['class'];
                                $datasource_function = $field["datasource"]['function'];
                                $app->uses($datasource_class);
                                $values = $app->$datasource_class->$datasource_function($field, $record);
                        } else {
                                $this->errorMessage .= "Custom datasource class or function is empty<br />\r\n";
                        }
                }
                return $values;
        }
        //* If the parameter 'valuelimit' is set
        function applyValueLimit($limit,$values) {
            global $app;
            $limit_parts = explode(':',$limit);
            //* values are limited to a comma separated list
            if($limit_parts[0] == 'list') {
                $allowed = explode(',',$limit_parts[1]);
            }
            //* values are limited to a field in the client settings
            if($limit_parts[0] == 'client') {
                if($_SESSION["s"]["user"]["typ"] == 'admin') {
                    return $values;
                } else {
                    $client_group_id = $_SESSION["s"]["user"]["default_group"];
                    $client = $app->db->queryOneRecord("SELECT ".$limit_parts[1]." as lm FROM sys_group, client WHERE sys_group.client_id = client.client_id and sys_group.groupid = $client_group_id");
                    $allowed = explode(',',$client['lm']);
                }
            }
            //* values are limited to a field in the system settings
            if($limit_parts[0] == 'system') {
                $app->uses('getconf');
                $tmp_conf = $app->getconf->get_global_config($limit_parts[1]);
                $tmp_key = $limit_parts[2];
                $allowed = $tmp_conf[$tmp_key];
            }
            $values_new = array();
            foreach($values as $key => $val) {
                if(in_array($key,$allowed)) $values_new[$key] = $val;
            }
            return $values_new;
        }
        /**
        * Prepare the data record to show the data in a form.
        *
        * @param record = Datensatz als Array
        * @param action = NEW oder EDIT
        * @return record
        */
        function getHTML($record, $tab, $action = 'NEW') {
                global $app;
                $this->action = $action;
                if(!is_array($this->formDef)) $app->error("No form definition found.");
                if(!is_array($this->formDef['tabs'][$tab])) $app->error("The tab is empty or does not exist (TAB: $tab).");
                $new_record = array();
                if($action == 'EDIT') {
                        $record = $this->decode($record,$tab);
                        if(is_array($record)) {
                                foreach($this->formDef['tabs'][$tab]['fields'] as $key => $field) {
                                        $val = $record[$key];
                                        // If Datasource is set, get the data from there
                                        if(isset($field['datasource']) && is_array($field['datasource'])) {
                                                $field["value"] = $this->getDatasourceData($field, $record);
                                        }
                                        // If a limitation for the values is set
                                        if(isset($field['valuelimit']) && is_array($field["value"])) {
                                            $field["value"] = $this->applyValueLimit($field['valuelimit'],$field["value"]);
                                        }
                                        switch ($field['formtype']) {
                                        case 'SELECT':
                                                $out = '';
                                                if(is_array($field['value'])) {
                                                        foreach($field['value'] as $k => $v) {
                                                                $selected = ($k == $val)?' SELECTED':'';
                                                                $out .= "<option value='$k'$selected>$v</option>\r\n";
                                                        }
                                                }
                                                $new_record[$key] = $out;
                                        break;
                                        case 'MULTIPLE':
                                                if(is_array($field['value'])) {
                                                        // Split
                                                        $vals = explode($field['separator'],$val);
                                                        // write HTML
                                                        $out = '';
                                                        foreach($field['value'] as $k => $v) {
                                                                $selected = '';
                                                                foreach($vals as $tvl) {
                                                                        if(trim($tvl) == trim($k)) $selected = ' SELECTED';
                                                                }
                                                                $out .= "<option value='$k'$selected>$v</option>\r\n";
                                                        }
                                                }
                                                $new_record[$key] = $out;
                                        break;
                                        case 'PASSWORD':
                                                $new_record[$key] = '';
                                        break;
                                        case 'CHECKBOX':
                                                $checked = ($val == $field['value'][1])?' CHECKED':'';
                                                $new_record[$key] = "<input name=\"".$key."\" type=\"checkbox\" value=\"".$field['value'][1]."\" $checked>\r\n";
                                        break;
                                        case 'CHECKBOXARRAY':
                                                if(is_array($field['value'])) {
                                                        // aufsplitten ergebnisse
                                                        $vals = explode($field['separator'],$val);
                                                        // HTML schreiben
                                                        $out = '';
                                                        foreach($field['value'] as $k => $v) {
                                                                $checked = '';
                                                                foreach($vals as $tvl) {
                                                                        if(trim($tvl) == trim($k)) $checked = ' CHECKED';
                                                                }
                                                                $out .= "<span class=\"wf_oneChoice\">\r\n
                                                                <input type=\"checkbox\" value=\"$k\" id=\"".$key."[]\" name=\"".$key."[]\" $checked>\r\n
                                                                <label for=\"".$key."[]\" id=\"".$key."[]-L\" class=\"wf_postField\">$v</label>\r\n
                                                                </span>\r\n";
                                                        }
                                                }
                                                $new_record[$key] = $out;
                                        break;
                                        case 'RADIO':
                                                if(is_array($field['value'])) {
                                                        // HTML schreiben
                                                        $out = '';
                                                        foreach($field['value'] as $k => $v) {
                                                                $checked = ($k == $val)?' CHECKED':'';
                                                                $out .= "<span class=\"wf_oneChoice\">\r\n
                                                                <input type=\"radio\" value=\"$k\" id=\"".$key."[]\" name=\"".$key."[]\" $checked>\r\n
                                                                <label for=\"".$key."[]\" id=\"".$key."[]-L\" class=\"wf_postField\">$v</label>\r\n
                                                                </span><br />\r\n";
                                                        }
                                                }
                                                $new_record[$key] = $out;
                                        break;
                                        default:
                                                $new_record[$key] = htmlspecialchars($record[$key]);
                                        }
                                }
                        }
                } else {
                        // Action: NEW
                        foreach($this->formDef['tabs'][$tab]['fields'] as $key => $field) {
                                // If Datasource is set, get the data from there
                                if(@is_array($field['datasource'])) {
                                    $field["value"] = $this->getDatasourceData($field, $record);
                                }
                                // If a limitation for the values is set
                                if(isset($field['valuelimit']) && is_array($field["value"])) {
                                    $field["value"] = $this->applyValueLimit($field['valuelimit'],$field["value"]);
                                }
                                switch ($field['formtype']) {
                                case 'SELECT':
                                        if(is_array($field['value'])) {
                                                $out = '';
                                                foreach($field['value'] as $k => $v) {
                                                    //$selected = ($k == $val)?' SELECTED':'';
                                                    $selected = '';
                                                    $out .= "<option value='$k'$selected>$v</option>\r\n";
                                                }
                                        }
                                        if(isset($out)) $new_record[$key] = $out;
                                break;
                                case 'MULTIPLE':
                                                if(is_array($field['value'])) {
                                                        // aufsplitten ergebnisse
                                                        $vals = explode($field['separator'],$val);
                                                        // HTML schreiben
                                                        $out = '';
                                                        foreach($field['value'] as $k => $v) {
                                                                $out .= "<option value='$k'>$v</option>\r\n";
                                                        }
                                                }
                                                $new_record[$key] = $out;
                                        break;
                                case 'PASSWORD':
                                        $new_record[$key] = '';
                                break;
                                case 'CHECKBOX':
                                        // $checked = (empty($field["default"]))?'':' CHECKED';
                                                            $checked = ($field["default"] == $field['value'][1])?' CHECKED':'';
                                        $new_record[$key] = "<input name=\"".$key."\" type=\"checkbox\" value=\"".$field['value'][1]."\" $checked>\r\n";
                                break;
                                case 'CHECKBOXARRAY':
                                        if(is_array($field['value'])) {
                                                // aufsplitten ergebnisse
                                                $vals = explode($field['separator'],$field["default"]);
                                                // HTML schreiben
                                                $out = '';
                                                foreach($field['value'] as $k => $v) {
                                                        $checked = '';
                                                        foreach($vals as $tvl) {
                                                                if(trim($tvl) == trim($k)) $checked = ' CHECKED';
                                                        }
                                                        $out .= "<span class=\"wf_oneChoice\">\r\n
                                                        <input type=\"checkbox\" value=\"$k\" id=\"".$key."[]\" name=\"".$key."[]\" $checked>\r\n
                                                        <label for=\"".$key."[]\" id=\"".$key."[]-L\" class=\"wf_postField\">$v</label>\r\n
                                                        </span>\r\n";
                                                }
                                        }
                                        $new_record[$key] = $out;
                                break;
                                case 'RADIO':
                                        if(is_array($field['value'])) {
                                                // HTML schreiben
                                                $out = '';
                                                foreach($field['value'] as $k => $v) {
                                                        $checked = ($k == $field["default"])?' CHECKED':'';
                                                        $out .= "<span class=\"wf_oneChoice\">\r\n
                                                        <input type=\"radio\" value=\"$k\" id=\"".$key."[]\" name=\"".$key."[]\" $checked>\r\n
                                                        <label for=\"".$key."[]\" id=\"".$key."[]-L\" class=\"wf_postField\">$v</label>\r\n
                                                        </span><br />\r\n";
                                                }
                                        }
                                        $new_record[$key] = $out;
                                break;
                                default:
                                        $new_record[$key] = htmlspecialchars($field['default']);
                                }
                        }
                }
                if($this->debug == 1) $this->dbg($new_record);
                return $new_record;
        }
        /**
        * Rewrite the record data to be stored in the database
        * and check values with regular expressions.
        *
        * @param record = Datensatz als Array
        * @return record
        */
        function encode($record,$tab) {
            global $app;
                if(!is_array($this->formDef['tabs'][$tab])) $app->error("Tab is empty or does not exist (TAB: $tab).");
                //$this->errorMessage = '';
                if(is_array($record)) {
                        foreach($this->formDef['tabs'][$tab]['fields'] as $key => $field) {
                                if(isset($field['validators']) && is_array($field['validators'])) $this->validateField($key, (isset($record[$key]))?$record[$key]:'', $field['validators']);
                                switch ($field['datatype']) {
                                case 'VARCHAR':
                                        if(!@is_array($record[$key])) {
                                                $new_record[$key] = (isset($record[$key]))?$app->db->quote($record[$key]):'';
                                        } else {
                                                $new_record[$key] = implode($field['separator'],$record[$key]);
                                        }
                                break;
                                case 'TEXT':
                                        if(!is_array($record[$key])) {
                                                $new_record[$key] = $app->db->quote($record[$key]);
                                        } else {
                                                $new_record[$key] = implode($field['separator'],$record[$key]);
                                        }
                                break;
                                case 'DATE':
                                        if($record[$key] > 0) {
                                                list($tag,$monat,$jahr) = explode('.',$record[$key]);
                                                $new_record[$key] = mktime(0,0,0,$monat,$tag,$jahr);
                                        } else {
                                            $new_record[$key] = 0;
                                        }
                                break;
                                case 'INTEGER':
                                        $new_record[$key] = (isset($record[$key]))?$record[$key]:0;
                                        //if($new_record[$key] != $record[$key]) $new_record[$key] = $field['default'];
                                        //if($key == 'refresh') die($record[$key]);
                                break;
                                case 'DOUBLE':
                                        $new_record[$key] = $app->db->quote($record[$key]);
                                break;
                                case 'CURRENCY':
                                        $new_record[$key] = str_replace(",",".",$record[$key]);
                                break;
                                }
                                // The use of the field value is deprecated, use validators instead
                                if(isset($field['regex']) && $field['regex'] != '') {
                                        // Enable that "." matches also newlines
                                        $field['regex'] .= 's';
                                        if(!preg_match($field['regex'], $record[$key])) {
                                                $errmsg = $field['errmsg'];
                                                $this->errorMessage .= $this->wordbook[$errmsg]."<br />\r\n";
                                        }
                                }
                        }
                }
                return $new_record;
        }
        /**
        * process the validators for a given field.
        *
        * @param field_name = Name of the field
        * @param field_value = value of the field
        * @param validatoors = Array of validators
        * @return record
        */
        function validateField($field_name, $field_value, $validators) {
                global $app;
                $escape = '`';
                // loop trough the validators
                foreach($validators as $validator) {
                        switch ($validator['type']) {
                                case 'REGEX':
                                        $validator['regex'] .= 's';
                                        if(!preg_match($validator['regex'], $field_value)) {
                                                $errmsg = $validator['errmsg'];
                                                if(isset($this->wordbook[$errmsg])) {
                                                    $this->errorMessage .= $this->wordbook[$errmsg]."<br />\r\n";
                                                } else {
                                                    $this->errorMessage .= $errmsg."<br />\r\n";
                                                }
                                        }
                                break;
                                case 'UNIQUE':
                                        if($this->action == 'NEW') {
                                                $num_rec = $app->db->queryOneRecord("SELECT count(*) as number FROM ".$escape.$this->formDef['db_table'].$escape. " WHERE $field_name = '".$app->db->quote($field_value)."'");
                                                if($num_rec["number"] > 0) {
                                                        $errmsg = $validator['errmsg'];
                                                        if(isset($this->wordbook[$errmsg])) {
                                                            $this->errorMessage .= $this->wordbook[$errmsg]."<br />\r\n";
                                                        } else {
                                                            $this->errorMessage .= $errmsg."<br />\r\n";
                                                        }
                                                }
                                        } else {
                                                $num_rec = $app->db->queryOneRecord("SELECT count(*) as number FROM ".$escape.$this->formDef['db_table'].$escape. " WHERE $field_name = '".$app->db->quote($field_value)."' AND ".$this->formDef['db_table_idx']." != ".$this->primary_id);
                                                if($num_rec["number"] > 0) {
                                                        $errmsg = $validator['errmsg'];
                                                        if(isset($this->wordbook[$errmsg])) {
                                                            $this->errorMessage .= $this->wordbook[$errmsg]."<br />\r\n";
                                                        } else {
                                                            $this->errorMessage .= $errmsg."<br />\r\n";
                                                        }
                                                }
                                        }
                                break;
                                case 'NOTEMPTY':
                                        if(empty($field_value)) {
                                                $errmsg = $validator['errmsg'];
                                                if(isset($this->wordbook[$errmsg])) {
                                                    $this->errorMessage .= $this->wordbook[$errmsg]."<br />\r\n";
                                                } else {
                                                    $this->errorMessage .= $errmsg."<br />\r\n";
                                                }
                                        }
                                break;
                                case 'ISEMAIL':
                                        if(!preg_match("/^\w+[\w.-]*\w+@\w+[\w.-]*\w+\.[a-z]{2,10}$/i", $field_value)) {
                                                $errmsg = $validator['errmsg'];
                                                if(isset($this->wordbook[$errmsg])) {
                                                    $this->errorMessage .= $this->wordbook[$errmsg]."<br />\r\n";
                                                } else {
                                                    $this->errorMessage .= $errmsg."<br />\r\n";
                                                }
                                        }
                                break;
                                case 'ISINT':
                                        $tmpval = intval($field_value);
                                        if($tmpval === 0 and !empty($field_value)) {
                                                $errmsg = $validator['errmsg'];
                                                if(isset($this->wordbook[$errmsg])) {
                                                    $this->errorMessage .= $this->wordbook[$errmsg]."<br />\r\n";
                                                } else {
                                                    $this->errorMessage .= $errmsg."<br />\r\n";
                                                }
                                        }
                                break;
                                case 'ISPOSITIVE':
                                        if(!is_numeric($field_value) || $field_value <= 0){
                                          $errmsg = $validator['errmsg'];
                                          if(isset($this->wordbook[$errmsg])) {
                                             $this->errorMessage .= $this->wordbook[$errmsg]."<br />\r\n";
                                          } else {
                                             $this->errorMessage .= $errmsg."<br />\r\n";
                                          }
                                        }
                                break;
                                case 'ISIPV4':
                                $vip=1;
                                if(preg_match("/^[0-9]{1,3}(\.)[0-9]{1,3}(\.)[0-9]{1,3}(\.)[0-9]{1,3}$/", $field_value)){
                                $groups=explode(".",$field_value);
                                foreach($groups as $group){
                                    if($group<0 OR $group>255)
                                    $vip=0;
                                }
                                }else{$vip=0;}
                                        if($vip==0) {
                                        $errmsg = $validator['errmsg'];
                                          if(isset($this->wordbook[$errmsg])) {
                                             $this->errorMessage .= $this->wordbook[$errmsg]."<br />\r\n";
                                          } else {
                                             $this->errorMessage .= $errmsg."<br />\r\n";
                                          }
                                        }
                                break;
                                case 'CUSTOM':
                                        // Calls a custom class to validate this record
                                        if($validator['class'] != '' and $validator['function'] != '') {
                                                $validator_class = $validator['class'];
                                                $validator_function = $validator['function'];
                                                $app->uses($validator_class);
                                                $this->errorMessage .= $app->$validator_class->$validator_function($field_name, $field_value, $validator);
                                        } else {
                                                $this->errorMessage .= "Custom validator class or function is empty<br />\r\n";
                                        }
                                break;
                                default:
                                    $this->errorMessage .= "Unknown Validator: ".$validator['type'];
                                break;
                        }
                }
                return true;
        }
        /**
        * Create the SQL staement.
        *
        * @param record = Datensatz als Array
        * @param action = INSERT oder UPDATE
        * @param primary_id
        * @return record
        */
        function getSQL($record, $tab, $action = 'INSERT', $primary_id = 0, $sql_ext_where = '') {
                global $app;
                // If there are no data records on the tab, return empty sql string
                if(count($this->formDef['tabs'][$tab]['fields']) == 0) return '';
                // checking permissions
                if($this->formDef['auth'] == 'yes' && $_SESSION["s"]["user"]["typ"] != 'admin') {
                        if($action == "INSERT") {
                                if(!$this->checkPerm($primary_id,'i')) $this->errorMessage .= "Insert denied.<br />\r\n";
                        } else {
                                if(!$this->checkPerm($primary_id,'u')) $this->errorMessage .= "Update denied.<br />\r\n";
                        }
                }
                $this->action = $action;
                $this->primary_id = $primary_id;
                $record = $this->encode($record,$tab);
                $sql_insert_key = '';
                $sql_insert_val = '';
                $sql_update = '';
                if(!is_array($this->formDef)) $app->error("Keine Formulardefinition vorhanden.");
                if(!is_array($this->formDef['tabs'][$tab])) $app->error("Tab ist leer oder existiert nicht (TAB: $tab).");
                // gehe durch alle Felder des Tabs
                if(is_array($record)) {
                foreach($this->formDef['tabs'][$tab]['fields'] as $key => $field) {
                                // Wenn es kein leeres Passwortfeld ist
                                if (!($field['formtype'] == 'PASSWORD' and $record[$key] == '')) {
                                        // Erzeuge Insert oder Update Quelltext
                                        if($action == "INSERT") {
                                                if($field['formtype'] == 'PASSWORD') {
                                                        $sql_insert_key .= "`$key`, ";
                                                        if($field['encryption'] == 'CRYPT') {
                                                                $salt="$1$";
                                                                for ($n=0;$n<11;$n++) {
                                                                    $salt.=chr(mt_rand(64,126));
                                                                }
                                                                $salt.="$";
                                                                // $salt = substr(md5(time()),0,2);
                                                                $record[$key] = crypt($record[$key],$salt);
                                                                $sql_insert_val .= "'".$app->db->quote($record[$key])."', ";
                                                        } elseif ($field['encryption'] == 'MYSQL') {
                                                                $sql_insert_val .= "PASSWORD('".$app->db->quote($record[$key])."'), ";
                                                        } elseif ($field['encryption'] == 'CLEARTEXT') {
                                                                $sql_insert_val .= "'".$app->db->quote($record[$key])."', ";
                                                        } else {
                                                                $record[$key] = md5($record[$key]);
                                                                $sql_insert_val .= "'".$app->db->quote($record[$key])."', ";
                                                        }
                                                } elseif ($field['formtype'] == 'CHECKBOX') {
                                                        $sql_insert_key .= "`$key`, ";
                                                        if($record[$key] == '') {
                                                            // if a checkbox is not set, we set it to the unchecked value
                                                            $sql_insert_val .= "'".$field['value'][0]."', ";
                                                            $record[$key] = $field['value'][0];
                                                        } else {
                                                            $sql_insert_val .= "'".$record[$key]."', ";
                                                        }
                                                } else {
                                                        $sql_insert_key .= "`$key`, ";
                                                        $sql_insert_val .= "'".$record[$key]."', ";
                                                }
                                        } else {
                                                if($field['formtype'] == 'PASSWORD') {
                                                        if(isset($field['encryption']) && $field['encryption'] == 'CRYPT') {
                                                                $salt="$1$";
                                                                for ($n=0;$n<11;$n++) {
                                                                    $salt.=chr(mt_rand(64,126));
                                                                }
                                                                $salt.="$";
                                                                // $salt = substr(md5(time()),0,2);
                                                                $record[$key] = crypt($record[$key],$salt);
                                                                $sql_update .= "`$key` = '".$app->db->quote($record[$key])."', ";
                                                        } elseif (isset($field['encryption']) && $field['encryption'] == 'MYSQL') {
                                                                $sql_update .= "`$key` = PASSWORD('".$app->db->quote($record[$key])."'), ";
                                                        } elseif (isset($field['encryption']) && $field['encryption'] == 'CLEARTEXT') {
                                                                $sql_update .= "`$key` = '".$app->db->quote($record[$key])."', ";
                                                        } else {
                                                                $record[$key] = md5($record[$key]);
                                                                $sql_update .= "`$key` = '".$app->db->quote($record[$key])."', ";
                                                        }
                                                } elseif ($field['formtype'] == 'CHECKBOX') {
                                                        if($record[$key] == '') {
                                                            // if a checkbox is not set, we set it to the unchecked value
                                                            $sql_update .= "`$key` = '".$field['value'][0]."', ";
                                                            $record[$key] = $field['value'][0];
                                                        } else {
                                                            $sql_update .= "`$key` = '".$record[$key]."', ";
                                                        }
                                                } else {
                                                        $sql_update .= "`$key` = '".$record[$key]."', ";
                                                }
                                        }
                                } else {
                                    // we unset the password filed, if empty to tell the datalog function
                                    // that the password has not been changed
                                    unset($record[$key]);
                                }
                        }
        }
                // Add backticks for incomplete table names
                if(stristr($this->formDef['db_table'],'.')) {
                        $escape = '';
                } else {
                        $escape = '`';
                }
                if($action == "INSERT") {
                        if($this->formDef['auth'] == 'yes') {
                                // Set user and group
                                $sql_insert_key .= "`sys_userid`, ";
                                $sql_insert_val .= ($this->formDef["auth_preset"]["userid"] > 0)?"'".$this->formDef["auth_preset"]["userid"]."', ":"'".$_SESSION["s"]["user"]["userid"]."', ";
                                $sql_insert_key .= "`sys_groupid`, ";
                                $sql_insert_val .= ($this->formDef["auth_preset"]["groupid"] > 0)?"'".$this->formDef["auth_preset"]["groupid"]."', ":"'".$_SESSION["s"]["user"]["default_group"]."', ";
                                $sql_insert_key .= "`sys_perm_user`, ";
                                $sql_insert_val .= "'".$this->formDef["auth_preset"]["perm_user"]."', ";
                                $sql_insert_key .= "`sys_perm_group`, ";
                                $sql_insert_val .= "'".$this->formDef["auth_preset"]["perm_group"]."', ";
                                $sql_insert_key .= "`sys_perm_other`, ";
                                $sql_insert_val .= "'".$this->formDef["auth_preset"]["perm_other"]."', ";
                        }
                        $sql_insert_key = substr($sql_insert_key,0,-2);
                        $sql_insert_val = substr($sql_insert_val,0,-2);
                        $sql = "INSERT INTO ".$escape.$this->formDef['db_table'].$escape." ($sql_insert_key) VALUES ($sql_insert_val)";
                } else {
                    if($this->formDef['auth'] == 'yes') {
                        if($primary_id != 0) {
                                $sql_update = substr($sql_update,0,-2);
                                $sql = "UPDATE ".$escape.$this->formDef['db_table'].$escape." SET ".$sql_update." WHERE ".$this->getAuthSQL('u')." AND ".$this->formDef['db_table_idx']." = ".$primary_id;
                                if($sql_ext_where != '') $sql .= " and ".$sql_ext_where;
                        } else {
                                $app->error("Primary ID fehlt!");
                        }
                    } else {
                        if($primary_id != 0) {
                                $sql_update = substr($sql_update,0,-2);
                                $sql = "UPDATE ".$escape.$this->formDef['db_table'].$escape." SET ".$sql_update." WHERE ".$this->formDef['db_table_idx']." = ".$primary_id;
                                if($sql_ext_where != '') $sql .= " and ".$sql_ext_where;
                        } else {
                                $app->error("Primary ID fehlt!");
                        }
                    }
                }
                return $sql;
        }
        /**
        * Debugging arrays.
        *
        * @param array_data
        */
        function dbg($array_data) {
                echo "<pre>";
                print_r($array_data);
                echo "</pre>";
        }
    function showForm() {
            global $app,$conf;
        if(!is_array($this->formDef)) die("Form Definition wurde nicht geladen.");
                $active_tab = $this->getNextTab();
        // go trough the tabs
        foreach( $this->formDef["tabs"] as $key => $tab) {
            $tab['name'] = $key;
            if($tab['name'] == $active_tab) {
                // If module is set, then set the template path relative to the module..
                if($this->module != '') $tab["template"] = "../".$this->module."/".$tab["template"];
                // Generate the template if it does not exist yet.
                // Translate the title of the tab
                $tab['title'] = $this->lng($tab['title']);
                if(!is_file($tab["template"])) {
                     $app->uses('tform_tpl_generator');
                     $app->tform_tpl_generator->buildHTML($this->formDef,$tab['name']);
                }
                $app->tpl->setInclude('content_tpl',$tab["template"]);
                $tab["active"] = 1;
                $_SESSION["s"]["form"]["tab"] = $tab['name'];
            } else {
                    $tab["active"] = 0;
            }
                        // Unset unused variables.
                        unset($tab["fields"]);
                        unset($tab["plugins"]);
            $frmTab[] = $tab;
        }
        // setting form tabs
        $app->tpl->setLoop("formTab", $frmTab);
                // Set form action
                $app->tpl->setVar('form_action',$this->formDef["action"]);
                $app->tpl->setVar('form_active_tab',$active_tab);
                // Set form title
                $form_hint = $this->lng($this->formDef["title"]);
                if($this->formDef["description"] != '') $form_hint .= '<div class="pageForm_description">'.$this->lng($this->formDef["description"]).'</div>';
                $app->tpl->setVar('form_hint',$form_hint);
                // Set Wordbook for this form
                $app->tpl->setVar($this->wordbook);
        }
        function getDataRecord($primary_id) {
            global $app;
            $escape = '`';
            $sql = "SELECT * FROM ".$escape.$this->formDef['db_table'].$escape." WHERE ".$this->formDef['db_table_idx']." = ".$primary_id;
            return $app->db->queryOneRecord($sql);
        }
        function datalogSave($action,$primary_id, $record_old, $record_new) {
                global $app,$conf;
                // Add backticks for incomplete table names.
                if(stristr($this->formDef['db_table'],'.')) {
                        $escape = '';
                } else {
                        $escape = '`';
                }
                $this->diffrec = array();
                /*
                if(is_array($record_new) && count($record_new) > 0) {
                        foreach($record_new as $key => $val) {
                                if(@$record_old[$key] != $val) {
                                        // Record has changed
                                        $diffrec[$key] = array('old' => @$record_old[$key],
                                                               'new' => $val);
                                }
                        }
                } elseif(is_array($record_old)) {
                        foreach($record_old as $key => $val) {
                                if($record_new[$key] != $val) {
                                        // Record has changed
                                        $diffrec[$key] = array('new' => $record_new[$key],
                                                               'old' => $val);
                                }
                        }
                }
                $this->diffrec = $diffrec;
                */
                // Full diff records for ISPConfig, they have a different format then the simple diffrec
                $diffrec_full = array();
                if(is_array($record_old) && count($record_old) > 0) {
                        foreach($record_old as $key => $val) {
                                //if(isset($record_new[$key]) && $record_new[$key] != $val) {
                                if(!isset($record_new[$key]) || $record_new[$key] != $val) {
                                    // Record has changed
                                    $diffrec_full['old'][$key] = $val;
                                    $diffrec_full['new'][$key] = $record_new[$key];
                                    $this->diffrec[$key] = array(    'new' => $record_new[$key],
                                                                       'old' => $val);
                                } else {
                                    $diffrec_full['old'][$key] = $val;
                                    $diffrec_full['new'][$key] = $val;
                                }
                        }
                } elseif(is_array($record_new)) {
                        foreach($record_new as $key => $val) {
                                if(isset($record_new[$key]) && $record_old[$key] != $val) {
                                    // Record has changed
                                    $diffrec_full['new'][$key] = $val;
                                    $diffrec_full['old'][$key] = $record_old[$key];
                                    $this->diffrec[$key] = array(    'old' => @$record_old[$key],
                                                                       'new' => $val);
                                } else {
                                    $diffrec_full['new'][$key] = $val;
                                    $diffrec_full['old'][$key] = $val;
                                }
                        }
                }
                //$this->diffrec = $diffrec;
                // Insert the server_id, if the record has a server_id
                $server_id = (isset($record_old["server_id"]) && $record_old["server_id"] > 0)?$record_old["server_id"]:0;
                if(isset($record_new["server_id"])) $server_id = $record_new["server_id"];
                if(count($this->diffrec) > 0) {
                        $diffstr = addslashes(serialize($diffrec_full));
                        $username = $app->db->quote($_SESSION["s"]["user"]["username"]);
                        $dbidx = $this->formDef['db_table_idx'].":".$primary_id;
                        // $action = ($action == 'INSERT')?'i':'u';
                        if($action == 'INSERT') $action = 'i';
                        if($action == 'UPDATE') $action = 'u';
                        if($action == 'DELETE') $action = 'd';
                        $sql = "INSERT INTO sys_datalog (dbtable,dbidx,server_id,action,tstamp,user,data) VALUES ('".$this->formDef['db_table']."','$dbidx','$server_id','$action','".time()."','$username','$diffstr')";
                        $app->db->query($sql);
                }
                return true;
        }
        function getAuthSQL($perm) {
                if($_SESSION["s"]["user"]["typ"] == 'admin') {
                    return '1';
                } else {
                    $groups = ( $_SESSION["s"]["user"]["groups"] ) ? $_SESSION["s"]["user"]["groups"] : 0;
                    $sql = '(';
                    $sql .= "(sys_userid = ".$_SESSION["s"]["user"]["userid"]." AND sys_perm_user like '%$perm%') OR  ";
                    $sql .= "(sys_groupid IN (".$groups.") AND sys_perm_group like '%$perm%') OR ";
                    $sql .= "sys_perm_other like '%$perm%'";
                    $sql .= ')';
                    return $sql;
                }
        }
        /*
        This function checks if a user has the parmissions $perm for the data record with the ID $record_id
        If record_id = 0, the the permissions are tested against the defaults of the form file.
        */
        function checkPerm($record_id,$perm) {
                global $app;
                if($record_id > 0) {
                        // Add backticks for incomplete table names.
                        if(stristr($this->formDef['db_table'],'.')) {
                                $escape = '';
                        } else {
                                $escape = '`';
                        }
                        $sql = "SELECT ".$this->formDef['db_table_idx']." FROM ".$escape.$this->formDef['db_table'].$escape." WHERE ".$this->formDef['db_table_idx']." = ".$record_id." AND ".$this->getAuthSQL($perm);
                        if($record = $app->db->queryOneRecord($sql)) {
                                return true;
                        } else {
                                return false;
                        }
                } else {
                        $result = false;
                        if(@$this->formDef["auth_preset"]["userid"] == $_SESSION["s"]["user"]["userid"] && stristr($perm,$this->formDef["auth_preset"]["perm_user"])) $result = true;
                        if(@$this->formDef["auth_preset"]["groupid"] == $_SESSION["s"]["user"]["groupid"] && stristr($perm,$this->formDef["auth_preset"]["perm_group"])) $result = true;
                        if(@stristr($this->formDef["auth_preset"]["perm_other"],$perm)) $result = true;
                        // if preset == 0, everyone can insert a record of this type
                        if($this->formDef["auth_preset"]["userid"] == 0 AND $this->formDef["auth_preset"]["groupid"] == 0 AND (@stristr($this->formDef["auth_preset"]["perm_user"],$perm) OR @stristr($this->formDef["auth_preset"]["perm_group"],$perm))) $result = true;
                        return $result;
                }
        }
        function getNextTab() {
                // Which tab is shown
                if($this->errorMessage == '') {
                    // If there is no error
                    if(isset($_REQUEST["next_tab"]) && $_REQUEST["next_tab"] != '') {
                                // If the next tab is known
                                $active_tab = $_REQUEST["next_tab"];
                    } else {
                        // else use the default tab
                        $active_tab = $this->formDef['tab_default'];
                    }
                } else {
                    // Show the same tab again in case of an error
                    $active_tab = $_SESSION["s"]["form"]["tab"];
                }
                return $active_tab;
        }
        function getCurrentTab() {
                return $_SESSION["s"]["form"]["tab"];
        }
        function isReadonlyTab($tab) {
            if(isset($this->formDef['tabs'][$tab]['readonly']) && $this->formDef['tabs'][$tab]['readonly'] == true) {
                return true;
            } else {
                return false;
            }
        }
        // translation function for forms, tries the form wordbook first and if this fails, it tries the global wordbook
        function lng($msg) {
            global $app;
            if(isset($this->wordbook[$msg])) {
                return $this->wordbook[$msg];
            } else {
                return $app->lng($msg);
            }
        }
}
<?php
/*
Copyright (c) 2007, 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.
*/
/**
* Formularbehandlung
*
* Functions to validate, display and save form values
*
*        Database table field definitions
*
*        Datatypes:
*        - INTEGER (Converts data to int automatically)
*        - DOUBLE
*        - CURRENCY (Formats digits in currency notation)
*        - VARCHAR (No format check)
*        - DATE (Date format, converts from and to linux timestamps automatically)
*
*        Formtype:
*        - TEXT (Normal text field)
*        - PASSWORD (password field, the content will not be displayed again to the user)
*        - SELECT (Option fiield)
*        - MULTIPLE (Allows selection of multiple values)
*
*        VALUE:
*        - Value or array
*
*        SEPARATOR
*        - separator char used for fileds with multiple values
*
*        Hint: The auto increment (ID) filed of the table has not be be definied eoarately.
*
*/
class tform {
        /**
        * Table definition (array)
        * @var tableDef
        */
        var $tableDef;
        /**
        * Private
        * @var action
        */
        var $action;
        /**
        * Table name (String)
        * @var table_name
        */
        var $table_name;
        /**
        * Enable debigging
        * @var debug
        */
        var $debug = 0;
        /**
        * name of the primary field of the datbase table (string)
        * @var table_index
        */
        var $table_index;
        /**
        * contains the error message
        * @var errorMessage
        */
        var $errorMessage = '';
        var $dateformat = "d.m.Y";
        var $formDef;
        var $wordbook;
        var $module;
        var $primary_id;
        var $diffrec = array();
        /**
        * Loading of the table definition
        *
        * @param file: path to the form definition file
        * @return true
        */
        /*
        function loadTableDef($file) {
                global $app,$conf;
                include_once($file);
                $this->tableDef = $table;
                $this->table_name = $table_name;
                $this->table_index = $table_index;
                return true;
        }
        */
    function loadFormDef($file,$module = '') {
                global $app,$conf;
                include_once($file);
                $this->formDef = $form;
                $this->module = $module;
                $wb = array();
                include_once(ISPC_ROOT_PATH.'/lib/lang/'.$_SESSION['s']['language'].'.lng');
                if($module == '') {
                    $lng_file = "lib/lang/".$_SESSION["s"]["language"]."_".$this->formDef["name"].".lng";
                    if(!file_exists($lng_file)) $lng_file = "lib/lang/en_".$this->formDef["name"].".lng";
                    include($lng_file);
                } else {
                    $lng_file = "../$module/lib/lang/".$_SESSION["s"]["language"]."_".$this->formDef["name"].".lng";
                    if(!file_exists($lng_file)) $lng_file = "../$module/lib/lang/en_".$this->formDef["name"].".lng";
                    include($lng_file);
                }
                $this->wordbook = $wb;
                return true;
        }
        /**
        * Converts the data in the array to human readable format
        * Datatype conversion e.g. to show the data in lists
        *
        * @param record
        * @return record
        */
        function decode($record,$tab) {
                if(!is_array($this->formDef['tabs'][$tab])) $app->error("Tab does not exist or the tab is empty (TAB: $tab).");
                $new_record = '';
                if(is_array($record)) {
                        foreach($this->formDef['tabs'][$tab]['fields'] as $key => $field) {
                                switch ($field['datatype']) {
                                case 'VARCHAR':
                                        $new_record[$key] = stripslashes($record[$key]);
                                break;
                                case 'TEXT':
                                        $new_record[$key] = stripslashes($record[$key]);
                                break;
                                case 'DATE':
                                        if($record[$key] > 0) {
                                                $new_record[$key] = date($this->dateformat,$record[$key]);
                                        }
                                break;
                                case 'INTEGER':
                                        $new_record[$key] = intval($record[$key]);
                                break;
                                case 'DOUBLE':
                                        $new_record[$key] = $record[$key];
                                break;
                                case 'CURRENCY':
                                        $new_record[$key] = number_format($record[$key], 2, ',', '');
                                break;
                                default:
                                        $new_record[$key] = stripslashes($record[$key]);
                                }
                        }
                }
        return $new_record;
        }
        /**
        * Get the key => value array of a form filed from a datasource definitiom
        *
        * @param field = array with field definition
        * @param record = Dataset as array
        * @return key => value array for the value field of a form
        */
        function getDatasourceData($field, $record) {
                global $app;
                $values = array();
                if($field["datasource"]["type"] == 'SQL') {
                        // Preparing SQL string. We will replace some
                        // common placeholders
                        $querystring = $field["datasource"]["querystring"];
                        $querystring = str_replace("{USERID}",$_SESSION["s"]["user"]["userid"],$querystring);
                        $querystring = str_replace("{GROUPID}",$_SESSION["s"]["user"]["default_group"],$querystring);
                        $querystring = str_replace("{GROUPS}",$_SESSION["s"]["user"]["groups"],$querystring);
                        $table_idx = $this->formDef['db_table_idx'];
                        $tmp_recordid = (isset($record[$table_idx]))?$record[$table_idx]:0;
                        $querystring = str_replace("{RECORDID}",$tmp_recordid,$querystring);
                        unset($tmp_recordid);
                        $querystring = str_replace("{AUTHSQL}",$this->getAuthSQL('r'),$querystring);
                        // Getting the records
                        $tmp_records = $app->db->queryAllRecords($querystring);
                        if($app->db->errorMessage != '') die($app->db->errorMessage);
                        if(is_array($tmp_records)) {
                                $key_field = $field["datasource"]["keyfield"];
                                $value_field = $field["datasource"]["valuefield"];
                                foreach($tmp_records as $tmp_rec) {
                                        $tmp_id = $tmp_rec[$key_field];
                                        $values[$tmp_id] = $tmp_rec[$value_field];
                                }
                        }
                }
                if($field["datasource"]["type"] == 'CUSTOM') {
                        // Calls a custom class to validate this record
                        if($field["datasource"]['class'] != '' and $field["datasource"]['function'] != '') {
                                $datasource_class = $field["datasource"]['class'];
                                $datasource_function = $field["datasource"]['function'];
                                $app->uses($datasource_class);
                                $values = $app->$datasource_class->$datasource_function($field, $record);
                        } else {
                                $this->errorMessage .= "Custom datasource class or function is empty<br />\r\n";
                        }
                }
                return $values;
        }
        //* If the parameter 'valuelimit' is set
        function applyValueLimit($limit,$values) {
            global $app;
            $limit_parts = explode(':',$limit);
            //* values are limited to a comma separated list
            if($limit_parts[0] == 'list') {
                $allowed = explode(',',$limit_parts[1]);
            }
            //* values are limited to a field in the client settings
            if($limit_parts[0] == 'client') {
                if($_SESSION["s"]["user"]["typ"] == 'admin') {
                    return $values;
                } else {
                    $client_group_id = $_SESSION["s"]["user"]["default_group"];
                    $client = $app->db->queryOneRecord("SELECT ".$limit_parts[1]." as lm FROM sys_group, client WHERE sys_group.client_id = client.client_id and sys_group.groupid = $client_group_id");
                    $allowed = explode(',',$client['lm']);
                }
            }
            //* values are limited to a field in the system settings
            if($limit_parts[0] == 'system') {
                $app->uses('getconf');
                $tmp_conf = $app->getconf->get_global_config($limit_parts[1]);
                $tmp_key = $limit_parts[2];
                $allowed = $tmp_conf[$tmp_key];
            }
            $values_new = array();
            foreach($values as $key => $val) {
                if(in_array($key,$allowed)) $values_new[$key] = $val;
            }
            return $values_new;
        }
        /**
        * Prepare the data record to show the data in a form.
        *
        * @param record = Datensatz als Array
        * @param action = NEW oder EDIT
        * @return record
        */
        function getHTML($record, $tab, $action = 'NEW') {
                global $app;
                $this->action = $action;
                if(!is_array($this->formDef)) $app->error("No form definition found.");
                if(!is_array($this->formDef['tabs'][$tab])) $app->error("The tab is empty or does not exist (TAB: $tab).");
                $new_record = array();
                if($action == 'EDIT') {
                        $record = $this->decode($record,$tab);
                        if(is_array($record)) {
                                foreach($this->formDef['tabs'][$tab]['fields'] as $key => $field) {
                                        $val = $record[$key];
                                        // If Datasource is set, get the data from there
                                        if(isset($field['datasource']) && is_array($field['datasource'])) {
                                                $field["value"] = $this->getDatasourceData($field, $record);
                                        }
                                        // If a limitation for the values is set
                                        if(isset($field['valuelimit']) && is_array($field["value"])) {
                                            $field["value"] = $this->applyValueLimit($field['valuelimit'],$field["value"]);
                                        }
                                        switch ($field['formtype']) {
                                        case 'SELECT':
                                                $out = '';
                                                if(is_array($field['value'])) {
                                                        foreach($field['value'] as $k => $v) {
                                                                $selected = ($k == $val)?' SELECTED':'';
                                                                $out .= "<option value='$k'$selected>$v</option>\r\n";
                                                        }
                                                }
                                                $new_record[$key] = $out;
                                        break;
                                        case 'MULTIPLE':
                                                if(is_array($field['value'])) {
                                                        // Split
                                                        $vals = explode($field['separator'],$val);
                                                        // write HTML
                                                        $out = '';
                                                        foreach($field['value'] as $k => $v) {
                                                                $selected = '';
                                                                foreach($vals as $tvl) {
                                                                        if(trim($tvl) == trim($k)) $selected = ' SELECTED';
                                                                }
                                                                $out .= "<option value='$k'$selected>$v</option>\r\n";
                                                        }
                                                }
                                                $new_record[$key] = $out;
                                        break;
                                        case 'PASSWORD':
                                                $new_record[$key] = '';
                                        break;
                                        case 'CHECKBOX':
                                                $checked = ($val == $field['value'][1])?' CHECKED':'';
                                                $new_record[$key] = "<input name=\"".$key."\" id=\"".$key."\" value=\"".$field['value'][1]."\" type=\"checkbox\" $checked />\r\n";
                                        break;
                                        case 'CHECKBOXARRAY':
                                                if(is_array($field['value'])) {
                                                        // aufsplitten ergebnisse
                                                        $vals = explode($field['separator'],$val);
                                                        // HTML schreiben
                                                        $out = '';
                                                        foreach($field['value'] as $k => $v) {
                                                                $checked = '';
                                                                foreach($vals as $tvl) {
                                                                        if(trim($tvl) == trim($k)) $checked = ' CHECKED';
                                                                }
                                                                $out .= "<label for=\"".$key."[]\" class=\"inlineLabel\"><input name=\"".$key."[]\" id=\"".$key."[]\" value=\"$k\" type=\"checkbox\" $checked /> $v</label>\r\n";
                                                        }
                                                }
                                                $new_record[$key] = $out;
                                        break;
                                        case 'RADIO':
                                                if(is_array($field['value'])) {
                                                        // HTML schreiben
                                                        $out = '';
                                                        foreach($field['value'] as $k => $v) {
                                                                $checked = ($k == $val)?' CHECKED':'';
                                                                $out .= "<label for=\"".$key."[]\" class=\"inlineLabel\"><input name=\"".$key."[]\" id=\"".$key."[]\" value=\"$k\" type=\"radio\" $checked/> $v</label>\r\n";
                                                        }
                                                }
                                                $new_record[$key] = $out;
                                        break;
                                        default:
                                                $new_record[$key] = htmlspecialchars($record[$key]);
                                        }
                                }
                        }
                } else {
                        // Action: NEW
                        foreach($this->formDef['tabs'][$tab]['fields'] as $key => $field) {
                                // If Datasource is set, get the data from there
                                if(@is_array($field['datasource'])) {
                                    $field["value"] = $this->getDatasourceData($field, $record);
                                }
                                // If a limitation for the values is set
                                if(isset($field['valuelimit']) && is_array($field["value"])) {
                                    $field["value"] = $this->applyValueLimit($field['valuelimit'],$field["value"]);
                                }
                                switch ($field['formtype']) {
                                case 'SELECT':
                                        if(is_array($field['value'])) {
                                                $out = '';
                                                foreach($field['value'] as $k => $v) {
                                                    //$selected = ($k == $val)?' SELECTED':'';
                                                    $selected = '';
                                                    $out .= "<option value='$k'$selected>$v</option>\r\n";
                                                }
                                        }
                                        if(isset($out)) $new_record[$key] = $out;
                                break;
                                case 'MULTIPLE':
                                                if(is_array($field['value'])) {
                                                        // aufsplitten ergebnisse
                                                        $vals = explode($field['separator'],$val);
                                                        // HTML schreiben
                                                        $out = '';
                                                        foreach($field['value'] as $k => $v) {
                                                                $out .= "<option value='$k'>$v</option>\r\n";
                                                        }
                                                }
                                                $new_record[$key] = $out;
                                        break;
                                case 'PASSWORD':
                                        $new_record[$key] = '';
                                break;
                                case 'CHECKBOX':
                                        // $checked = (empty($field["default"]))?'':' CHECKED';
                                                            $checked = ($field["default"] == $field['value'][1])?' CHECKED':'';
                                        $new_record[$key] = "<input name=\"".$key."\" id=\"".$key."\" value=\"".$field['value'][1]."\" type=\"checkbox\" $checked />\r\n";
                                break;
                                case 'CHECKBOXARRAY':
                                        if(is_array($field['value'])) {
                                                // aufsplitten ergebnisse
                                                $vals = explode($field['separator'],$field["default"]);
                                                // HTML schreiben
                                                $out = '';
                                                foreach($field['value'] as $k => $v) {
                                                        $checked = '';
                                                        foreach($vals as $tvl) {
                                                                if(trim($tvl) == trim($k)) $checked = ' CHECKED';
                                                        }
                                                        $out .= "<label for=\"".$key."[]\" class=\"inlineLabel\"><input name=\"".$key."[]\" id=\"".$key."[]\" value=\"$k\" type=\"checkbox\" $checked /> $v</label>\r\n";
                                                }
                                        }
                                        $new_record[$key] = $out;
                                break;
                                case 'RADIO':
                                        if(is_array($field['value'])) {
                                                // HTML schreiben
                                                $out = '';
                                                foreach($field['value'] as $k => $v) {
                                                        $checked = ($k == $field["default"])?' CHECKED':'';
                                                        $out .= "<label for=\"".$key."[]\" class=\"inlineLabel\"><input name=\"".$key."[]\" id=\"".$key."[]\" value=\"$k\" type=\"radio\" $checked/> $v</label>\r\n";
                                                }
                                        }
                                        $new_record[$key] = $out;
                                break;
                                default:
                                        $new_record[$key] = htmlspecialchars($field['default']);
                                }
                        }
                }
                if($this->debug == 1) $this->dbg($new_record);
                return $new_record;
        }
        /**
        * Rewrite the record data to be stored in the database
        * and check values with regular expressions.
        *
        * @param record = Datensatz als Array
        * @return record
        */
        function encode($record,$tab) {
            global $app;
                if(!is_array($this->formDef['tabs'][$tab])) $app->error("Tab is empty or does not exist (TAB: $tab).");
                //$this->errorMessage = '';
                if(is_array($record)) {
                        foreach($this->formDef['tabs'][$tab]['fields'] as $key => $field) {
                                if(isset($field['validators']) && is_array($field['validators'])) $this->validateField($key, (isset($record[$key]))?$record[$key]:'', $field['validators']);
                                switch ($field['datatype']) {
                                case 'VARCHAR':
                                        if(!@is_array($record[$key])) {
                                                $new_record[$key] = (isset($record[$key]))?$app->db->quote($record[$key]):'';
                                        } else {
                                                $new_record[$key] = implode($field['separator'],$record[$key]);
                                        }
                                break;
                                case 'TEXT':
                                        if(!is_array($record[$key])) {
                                                $new_record[$key] = $app->db->quote($record[$key]);
                                        } else {
                                                $new_record[$key] = implode($field['separator'],$record[$key]);
                                        }
                                break;
                                case 'DATE':
                                        if($record[$key] > 0) {
                                                list($tag,$monat,$jahr) = explode('.',$record[$key]);
                                                $new_record[$key] = mktime(0,0,0,$monat,$tag,$jahr);
                                        } else {
                                            $new_record[$key] = 0;
                                        }
                                break;
                                case 'INTEGER':
                                        $new_record[$key] = (isset($record[$key]))?$record[$key]:0;
                                        //if($new_record[$key] != $record[$key]) $new_record[$key] = $field['default'];
                                        //if($key == 'refresh') die($record[$key]);
                                break;
                                case 'DOUBLE':
                                        $new_record[$key] = $app->db->quote($record[$key]);
                                break;
                                case 'CURRENCY':
                                        $new_record[$key] = str_replace(",",".",$record[$key]);
                                break;
                                }
                                // The use of the field value is deprecated, use validators instead
                                if(isset($field['regex']) && $field['regex'] != '') {
                                        // Enable that "." matches also newlines
                                        $field['regex'] .= 's';
                                        if(!preg_match($field['regex'], $record[$key])) {
                                                $errmsg = $field['errmsg'];
                                                $this->errorMessage .= $this->wordbook[$errmsg]."<br />\r\n";
                                        }
                                }
                        }
                }
                return $new_record;
        }
        /**
        * process the validators for a given field.
        *
        * @param field_name = Name of the field
        * @param field_value = value of the field
        * @param validatoors = Array of validators
        * @return record
        */
        function validateField($field_name, $field_value, $validators) {
                global $app;
                $escape = '`';
                // loop trough the validators
                foreach($validators as $validator) {
                        switch ($validator['type']) {
                                case 'REGEX':
                                        $validator['regex'] .= 's';
                                        if(!preg_match($validator['regex'], $field_value)) {
                                                $errmsg = $validator['errmsg'];
                                                if(isset($this->wordbook[$errmsg])) {
                                                    $this->errorMessage .= $this->wordbook[$errmsg]."<br />\r\n";
                                                } else {
                                                    $this->errorMessage .= $errmsg."<br />\r\n";
                                                }
                                        }
                                break;
                                case 'UNIQUE':
                                        if($this->action == 'NEW') {
                                                $num_rec = $app->db->queryOneRecord("SELECT count(*) as number FROM ".$escape.$this->formDef['db_table'].$escape. " WHERE $field_name = '".$app->db->quote($field_value)."'");
                                                if($num_rec["number"] > 0) {
                                                        $errmsg = $validator['errmsg'];
                                                        if(isset($this->wordbook[$errmsg])) {
                                                            $this->errorMessage .= $this->wordbook[$errmsg]."<br />\r\n";
                                                        } else {
                                                            $this->errorMessage .= $errmsg."<br />\r\n";
                                                        }
                                                }
                                        } else {
                                                $num_rec = $app->db->queryOneRecord("SELECT count(*) as number FROM ".$escape.$this->formDef['db_table'].$escape. " WHERE $field_name = '".$app->db->quote($field_value)."' AND ".$this->formDef['db_table_idx']." != ".$this->primary_id);
                                                if($num_rec["number"] > 0) {
                                                        $errmsg = $validator['errmsg'];
                                                        if(isset($this->wordbook[$errmsg])) {
                                                            $this->errorMessage .= $this->wordbook[$errmsg]."<br />\r\n";
                                                        } else {
                                                            $this->errorMessage .= $errmsg."<br />\r\n";
                                                        }
                                                }
                                        }
                                break;
                                case 'NOTEMPTY':
                                        if(empty($field_value)) {
                                                $errmsg = $validator['errmsg'];
                                                if(isset($this->wordbook[$errmsg])) {
                                                    $this->errorMessage .= $this->wordbook[$errmsg]."<br />\r\n";
                                                } else {
                                                    $this->errorMessage .= $errmsg."<br />\r\n";
                                                }
                                        }
                                break;
                                case 'ISEMAIL':
                                        if(!preg_match("/^\w+[\w.-]*\w+@\w+[\w.-]*\w+\.[a-z]{2,10}$/i", $field_value)) {
                                                $errmsg = $validator['errmsg'];
                                                if(isset($this->wordbook[$errmsg])) {
                                                    $this->errorMessage .= $this->wordbook[$errmsg]."<br />\r\n";
                                                } else {
                                                    $this->errorMessage .= $errmsg."<br />\r\n";
                                                }
                                        }
                                break;
                                case 'ISINT':
                                        $tmpval = intval($field_value);
                                        if($tmpval === 0 and !empty($field_value)) {
                                                $errmsg = $validator['errmsg'];
                                                if(isset($this->wordbook[$errmsg])) {
                                                    $this->errorMessage .= $this->wordbook[$errmsg]."<br />\r\n";
                                                } else {
                                                    $this->errorMessage .= $errmsg."<br />\r\n";
                                                }
                                        }
                                break;
                                case 'ISPOSITIVE':
                                        if(!is_numeric($field_value) || $field_value <= 0){
                                          $errmsg = $validator['errmsg'];
                                          if(isset($this->wordbook[$errmsg])) {
                                             $this->errorMessage .= $this->wordbook[$errmsg]."<br />\r\n";
                                          } else {
                                             $this->errorMessage .= $errmsg."<br />\r\n";
                                          }
                                        }
                                break;
                                case 'ISIPV4':
                                $vip=1;
                                if(preg_match("/^[0-9]{1,3}(\.)[0-9]{1,3}(\.)[0-9]{1,3}(\.)[0-9]{1,3}$/", $field_value)){
                                $groups=explode(".",$field_value);
                                foreach($groups as $group){
                                    if($group<0 OR $group>255)
                                    $vip=0;
                                }
                                }else{$vip=0;}
                                        if($vip==0) {
                                        $errmsg = $validator['errmsg'];
                                          if(isset($this->wordbook[$errmsg])) {
                                             $this->errorMessage .= $this->wordbook[$errmsg]."<br />\r\n";
                                          } else {
                                             $this->errorMessage .= $errmsg."<br />\r\n";
                                          }
                                        }
                                break;
                                case 'CUSTOM':
                                        // Calls a custom class to validate this record
                                        if($validator['class'] != '' and $validator['function'] != '') {
                                                $validator_class = $validator['class'];
                                                $validator_function = $validator['function'];
                                                $app->uses($validator_class);
                                                $this->errorMessage .= $app->$validator_class->$validator_function($field_name, $field_value, $validator);
                                        } else {
                                                $this->errorMessage .= "Custom validator class or function is empty<br />\r\n";
                                        }
                                break;
                                default:
                                    $this->errorMessage .= "Unknown Validator: ".$validator['type'];
                                break;
                        }
                }
                return true;
        }
        /**
        * Create the SQL staement.
        *
        * @param record = Datensatz als Array
        * @param action = INSERT oder UPDATE
        * @param primary_id
        * @return record
        */
        function getSQL($record, $tab, $action = 'INSERT', $primary_id = 0, $sql_ext_where = '') {
                global $app;
                // If there are no data records on the tab, return empty sql string
                if(count($this->formDef['tabs'][$tab]['fields']) == 0) return '';
                // checking permissions
                if($this->formDef['auth'] == 'yes' && $_SESSION["s"]["user"]["typ"] != 'admin') {
                        if($action == "INSERT") {
                                if(!$this->checkPerm($primary_id,'i')) $this->errorMessage .= "Insert denied.<br />\r\n";
                        } else {
                                if(!$this->checkPerm($primary_id,'u')) $this->errorMessage .= "Update denied.<br />\r\n";
                        }
                }
                $this->action = $action;
                $this->primary_id = $primary_id;
                $record = $this->encode($record,$tab);
                $sql_insert_key = '';
                $sql_insert_val = '';
                $sql_update = '';
                if(!is_array($this->formDef)) $app->error("Keine Formulardefinition vorhanden.");
                if(!is_array($this->formDef['tabs'][$tab])) $app->error("Tab ist leer oder existiert nicht (TAB: $tab).");
                // gehe durch alle Felder des Tabs
                if(is_array($record)) {
                foreach($this->formDef['tabs'][$tab]['fields'] as $key => $field) {
                                // Wenn es kein leeres Passwortfeld ist
                                if (!($field['formtype'] == 'PASSWORD' and $record[$key] == '')) {
                                        // Erzeuge Insert oder Update Quelltext
                                        if($action == "INSERT") {
                                                if($field['formtype'] == 'PASSWORD') {
                                                        $sql_insert_key .= "`$key`, ";
                                                        if($field['encryption'] == 'CRYPT') {
                                                                $salt="$1$";
                                                                for ($n=0;$n<11;$n++) {
                                                                    $salt.=chr(mt_rand(64,126));
                                                                }
                                                                $salt.="$";
                                                                // $salt = substr(md5(time()),0,2);
                                                                $record[$key] = crypt($record[$key],$salt);
                                                                $sql_insert_val .= "'".$app->db->quote($record[$key])."', ";
                                                        } elseif ($field['encryption'] == 'MYSQL') {
                                                                $sql_insert_val .= "PASSWORD('".$app->db->quote($record[$key])."'), ";
                                                        } elseif ($field['encryption'] == 'CLEARTEXT') {
                                                                $sql_insert_val .= "'".$app->db->quote($record[$key])."', ";
                                                        } else {
                                                                $record[$key] = md5($record[$key]);
                                                                $sql_insert_val .= "'".$app->db->quote($record[$key])."', ";
                                                        }
                                                } elseif ($field['formtype'] == 'CHECKBOX') {
                                                        $sql_insert_key .= "`$key`, ";
                                                        if($record[$key] == '') {
                                                            // if a checkbox is not set, we set it to the unchecked value
                                                            $sql_insert_val .= "'".$field['value'][0]."', ";
                                                            $record[$key] = $field['value'][0];
                                                        } else {
                                                            $sql_insert_val .= "'".$record[$key]."', ";
                                                        }
                                                } else {
                                                        $sql_insert_key .= "`$key`, ";
                                                        $sql_insert_val .= "'".$record[$key]."', ";
                                                }
                                        } else {
                                                if($field['formtype'] == 'PASSWORD') {
                                                        if(isset($field['encryption']) && $field['encryption'] == 'CRYPT') {
                                                                $salt="$1$";
                                                                for ($n=0;$n<11;$n++) {
                                                                    $salt.=chr(mt_rand(64,126));
                                                                }
                                                                $salt.="$";
                                                                // $salt = substr(md5(time()),0,2);
                                                                $record[$key] = crypt($record[$key],$salt);
                                                                $sql_update .= "`$key` = '".$app->db->quote($record[$key])."', ";
                                                        } elseif (isset($field['encryption']) && $field['encryption'] == 'MYSQL') {
                                                                $sql_update .= "`$key` = PASSWORD('".$app->db->quote($record[$key])."'), ";
                                                        } elseif (isset($field['encryption']) && $field['encryption'] == 'CLEARTEXT') {
                                                                $sql_update .= "`$key` = '".$app->db->quote($record[$key])."', ";
                                                        } else {
                                                                $record[$key] = md5($record[$key]);
                                                                $sql_update .= "`$key` = '".$app->db->quote($record[$key])."', ";
                                                        }
                                                } elseif ($field['formtype'] == 'CHECKBOX') {
                                                        if($record[$key] == '') {
                                                            // if a checkbox is not set, we set it to the unchecked value
                                                            $sql_update .= "`$key` = '".$field['value'][0]."', ";
                                                            $record[$key] = $field['value'][0];
                                                        } else {
                                                            $sql_update .= "`$key` = '".$record[$key]."', ";
                                                        }
                                                } else {
                                                        $sql_update .= "`$key` = '".$record[$key]."', ";
                                                }
                                        }
                                } else {
                                    // we unset the password filed, if empty to tell the datalog function
                                    // that the password has not been changed
                                    unset($record[$key]);
                                }
                        }
        }
                // Add backticks for incomplete table names
                if(stristr($this->formDef['db_table'],'.')) {
                        $escape = '';
                } else {
                        $escape = '`';
                }
                if($action == "INSERT") {
                        if($this->formDef['auth'] == 'yes') {
                                // Set user and group
                                $sql_insert_key .= "`sys_userid`, ";
                                $sql_insert_val .= ($this->formDef["auth_preset"]["userid"] > 0)?"'".$this->formDef["auth_preset"]["userid"]."', ":"'".$_SESSION["s"]["user"]["userid"]."', ";
                                $sql_insert_key .= "`sys_groupid`, ";
                                $sql_insert_val .= ($this->formDef["auth_preset"]["groupid"] > 0)?"'".$this->formDef["auth_preset"]["groupid"]."', ":"'".$_SESSION["s"]["user"]["default_group"]."', ";
                                $sql_insert_key .= "`sys_perm_user`, ";
                                $sql_insert_val .= "'".$this->formDef["auth_preset"]["perm_user"]."', ";
                                $sql_insert_key .= "`sys_perm_group`, ";
                                $sql_insert_val .= "'".$this->formDef["auth_preset"]["perm_group"]."', ";
                                $sql_insert_key .= "`sys_perm_other`, ";
                                $sql_insert_val .= "'".$this->formDef["auth_preset"]["perm_other"]."', ";
                        }
                        $sql_insert_key = substr($sql_insert_key,0,-2);
                        $sql_insert_val = substr($sql_insert_val,0,-2);
                        $sql = "INSERT INTO ".$escape.$this->formDef['db_table'].$escape." ($sql_insert_key) VALUES ($sql_insert_val)";
                } else {
                    if($this->formDef['auth'] == 'yes') {
                        if($primary_id != 0) {
                                $sql_update = substr($sql_update,0,-2);
                                $sql = "UPDATE ".$escape.$this->formDef['db_table'].$escape." SET ".$sql_update." WHERE ".$this->getAuthSQL('u')." AND ".$this->formDef['db_table_idx']." = ".$primary_id;
                                if($sql_ext_where != '') $sql .= " and ".$sql_ext_where;
                        } else {
                                $app->error("Primary ID fehlt!");
                        }
                    } else {
                        if($primary_id != 0) {
                                $sql_update = substr($sql_update,0,-2);
                                $sql = "UPDATE ".$escape.$this->formDef['db_table'].$escape." SET ".$sql_update." WHERE ".$this->formDef['db_table_idx']." = ".$primary_id;
                                if($sql_ext_where != '') $sql .= " and ".$sql_ext_where;
                        } else {
                                $app->error("Primary ID fehlt!");
                        }
                    }
                }
                return $sql;
        }
        /**
        * Debugging arrays.
        *
        * @param array_data
        */
        function dbg($array_data) {
                echo "<pre>";
                print_r($array_data);
                echo "</pre>";
        }
    function showForm() {
            global $app,$conf;
        if(!is_array($this->formDef)) die("Form Definition wurde nicht geladen.");
                $active_tab = $this->getNextTab();
        // go trough the tabs
        foreach( $this->formDef["tabs"] as $key => $tab) {
            $tab['name'] = $key;
            if($tab['name'] == $active_tab) {
                // If module is set, then set the template path relative to the module..
                if($this->module != '') $tab["template"] = "../".$this->module."/".$tab["template"];
                // Generate the template if it does not exist yet.
                // Translate the title of the tab
                $tab['title'] = $this->lng($tab['title']);
                if(!is_file($tab["template"])) {
                     $app->uses('tform_tpl_generator');
                     $app->tform_tpl_generator->buildHTML($this->formDef,$tab['name']);
                }
                $app->tpl->setInclude('content_tpl',$tab["template"]);
                $tab["active"] = 1;
                $_SESSION["s"]["form"]["tab"] = $tab['name'];
            } else {
                    $tab["active"] = 0;
            }
                        // Unset unused variables.
                        unset($tab["fields"]);
                        unset($tab["plugins"]);
            $frmTab[] = $tab;
        }
        // setting form tabs
        $app->tpl->setLoop("formTab", $frmTab);
                // Set form action
                $app->tpl->setVar('form_action',$this->formDef["action"]);
                $app->tpl->setVar('form_active_tab',$active_tab);
                // Set form title
                $form_hint = $this->lng($this->formDef["title"]);
                if($this->formDef["description"] != '') $form_hint .= '<div class="pageForm_description">'.$this->lng($this->formDef["description"]).'</div>';
                $app->tpl->setVar('form_hint',$form_hint);
                // Set Wordbook for this form
                $app->tpl->setVar($this->wordbook);
        }
        function getDataRecord($primary_id) {
            global $app;
            $escape = '`';
            $sql = "SELECT * FROM ".$escape.$this->formDef['db_table'].$escape." WHERE ".$this->formDef['db_table_idx']." = ".$primary_id;
            return $app->db->queryOneRecord($sql);
        }
        function datalogSave($action,$primary_id, $record_old, $record_new) {
                global $app,$conf;
                // Add backticks for incomplete table names.
                if(stristr($this->formDef['db_table'],'.')) {
                        $escape = '';
                } else {
                        $escape = '`';
                }
                $this->diffrec = array();
                /*
                if(is_array($record_new) && count($record_new) > 0) {
                        foreach($record_new as $key => $val) {
                                if(@$record_old[$key] != $val) {
                                        // Record has changed
                                        $diffrec[$key] = array('old' => @$record_old[$key],
                                                               'new' => $val);
                                }
                        }
                } elseif(is_array($record_old)) {
                        foreach($record_old as $key => $val) {
                                if($record_new[$key] != $val) {
                                        // Record has changed
                                        $diffrec[$key] = array('new' => $record_new[$key],
                                                               'old' => $val);
                                }
                        }
                }
                $this->diffrec = $diffrec;
                */
                // Full diff records for ISPConfig, they have a different format then the simple diffrec
                $diffrec_full = array();
                if(is_array($record_old) && count($record_old) > 0) {
                        foreach($record_old as $key => $val) {
                                //if(isset($record_new[$key]) && $record_new[$key] != $val) {
                                if(!isset($record_new[$key]) || $record_new[$key] != $val) {
                                    // Record has changed
                                    $diffrec_full['old'][$key] = $val;
                                    $diffrec_full['new'][$key] = $record_new[$key];
                                    $this->diffrec[$key] = array(    'new' => $record_new[$key],
                                                                       'old' => $val);
                                } else {
                                    $diffrec_full['old'][$key] = $val;
                                    $diffrec_full['new'][$key] = $val;
                                }
                        }
                } elseif(is_array($record_new)) {
                        foreach($record_new as $key => $val) {
                                if(isset($record_new[$key]) && $record_old[$key] != $val) {
                                    // Record has changed
                                    $diffrec_full['new'][$key] = $val;
                                    $diffrec_full['old'][$key] = $record_old[$key];
                                    $this->diffrec[$key] = array(    'old' => @$record_old[$key],
                                                                       'new' => $val);
                                } else {
                                    $diffrec_full['new'][$key] = $val;
                                    $diffrec_full['old'][$key] = $val;
                                }
                        }
                }
                //$this->diffrec = $diffrec;
                // Insert the server_id, if the record has a server_id
                $server_id = (isset($record_old["server_id"]) && $record_old["server_id"] > 0)?$record_old["server_id"]:0;
                if(isset($record_new["server_id"])) $server_id = $record_new["server_id"];
                if(count($this->diffrec) > 0) {
                        $diffstr = addslashes(serialize($diffrec_full));
                        $username = $app->db->quote($_SESSION["s"]["user"]["username"]);
                        $dbidx = $this->formDef['db_table_idx'].":".$primary_id;
                        // $action = ($action == 'INSERT')?'i':'u';
                        if($action == 'INSERT') $action = 'i';
                        if($action == 'UPDATE') $action = 'u';
                        if($action == 'DELETE') $action = 'd';
                        $sql = "INSERT INTO sys_datalog (dbtable,dbidx,server_id,action,tstamp,user,data) VALUES ('".$this->formDef['db_table']."','$dbidx','$server_id','$action','".time()."','$username','$diffstr')";
                        $app->db->query($sql);
                }
                return true;
        }
        function getAuthSQL($perm) {
                if($_SESSION["s"]["user"]["typ"] == 'admin') {
                    return '1';
                } else {
                    $groups = ( $_SESSION["s"]["user"]["groups"] ) ? $_SESSION["s"]["user"]["groups"] : 0;
                    $sql = '(';
                    $sql .= "(sys_userid = ".$_SESSION["s"]["user"]["userid"]." AND sys_perm_user like '%$perm%') OR  ";
                    $sql .= "(sys_groupid IN (".$groups.") AND sys_perm_group like '%$perm%') OR ";
                    $sql .= "sys_perm_other like '%$perm%'";
                    $sql .= ')';
                    return $sql;
                }
        }
        /*
        This function checks if a user has the parmissions $perm for the data record with the ID $record_id
        If record_id = 0, the the permissions are tested against the defaults of the form file.
        */
        function checkPerm($record_id,$perm) {
                global $app;
                if($record_id > 0) {
                        // Add backticks for incomplete table names.
                        if(stristr($this->formDef['db_table'],'.')) {
                                $escape = '';
                        } else {
                                $escape = '`';
                        }
                        $sql = "SELECT ".$this->formDef['db_table_idx']." FROM ".$escape.$this->formDef['db_table'].$escape." WHERE ".$this->formDef['db_table_idx']." = ".$record_id." AND ".$this->getAuthSQL($perm);
                        if($record = $app->db->queryOneRecord($sql)) {
                                return true;
                        } else {
                                return false;
                        }
                } else {
                        $result = false;
                        if(@$this->formDef["auth_preset"]["userid"] == $_SESSION["s"]["user"]["userid"] && stristr($perm,$this->formDef["auth_preset"]["perm_user"])) $result = true;
                        if(@$this->formDef["auth_preset"]["groupid"] == $_SESSION["s"]["user"]["groupid"] && stristr($perm,$this->formDef["auth_preset"]["perm_group"])) $result = true;
                        if(@stristr($this->formDef["auth_preset"]["perm_other"],$perm)) $result = true;
                        // if preset == 0, everyone can insert a record of this type
                        if($this->formDef["auth_preset"]["userid"] == 0 AND $this->formDef["auth_preset"]["groupid"] == 0 AND (@stristr($this->formDef["auth_preset"]["perm_user"],$perm) OR @stristr($this->formDef["auth_preset"]["perm_group"],$perm))) $result = true;
                        return $result;
                }
        }
        function getNextTab() {
                // Which tab is shown
                if($this->errorMessage == '') {
                    // If there is no error
                    if(isset($_REQUEST["next_tab"]) && $_REQUEST["next_tab"] != '') {
                                // If the next tab is known
                                $active_tab = $_REQUEST["next_tab"];
                    } else {
                        // else use the default tab
                        $active_tab = $this->formDef['tab_default'];
                    }
                } else {
                    // Show the same tab again in case of an error
                    $active_tab = $_SESSION["s"]["form"]["tab"];
                }
                return $active_tab;
        }
        function getCurrentTab() {
                return $_SESSION["s"]["form"]["tab"];
        }
        function isReadonlyTab($tab) {
            if(isset($this->formDef['tabs'][$tab]['readonly']) && $this->formDef['tabs'][$tab]['readonly'] == true) {
                return true;
            } else {
                return false;
            }
        }
        // translation function for forms, tries the form wordbook first and if this fails, it tries the global wordbook
        function lng($msg) {
            global $app;
            if(isset($this->wordbook[$msg])) {
                return $this->wordbook[$msg];
            } else {
                return $app->lng($msg);
            }
        }
}
?>
interface/lib/classes/tform_actions.inc.php
@@ -265,7 +265,7 @@
        function onError() {
                global $app, $conf;
                $app->tpl->setVar("error","<b>".$app->lng('Error').":</b><br />".$app->tform->errorMessage);
                $app->tpl->setVar("error","<li>".$app->tform->errorMessage."</li>");
                $app->tpl->setVar($this->dataRecord);
                $this->onShow();
        }
interface/lib/classes/tform_tpl_generator.inc.php
@@ -37,112 +37,85 @@
        $module = $_SESSION["s"]["module"]["name"];
        
        $html = '<h2><tmpl_var name="list_head_txt"></h2>
<p><tmpl_var name="list_desc_txt"></p>
<div class="panel panel_'.$formDef['name'].'">
  <div class="pnl_formsarea">
    <fieldset id="wf_area_'.$formDef['name'].'"><legend>'.$formDef['tabs'][$tab]['title'].'</legend>';
    <fieldset class="inlineLabels"><legend>'.$formDef['tabs'][$tab]['title'].'</legend>';
        $lang = array();
        $html_reqestedelement = "<em>*</em> ";
        foreach($formDef['tabs'][$tab]['fields'] as $key => $field) {
            if ($field['required'] == true ) { $html_reqcode = $html_reqestedelement; } else { $html_reqcode = ''; }
            switch ($field['formtype']) {
                case 'TEXT':
                    $html .= "\r\n      <span class=\"wf_oneField\">
        <label for=\"".$key."\" class=\"wf_preField\">{tmpl_var name='".$key."_txt'}</label>
        <input type=\"text\" id=\"".$key."\" name=\"".$key."\" value=\"{tmpl_var name='".$key."'}\" size=\"".$field['width']."\" maxlength=\"".$field['maxlength']."\"";
          if ($field['required'] == true ) {
                      $html .= " class=\"wf_required\"><span class=\"wf_reqMark\">*</span><br />";
          } else {
                       $html .= ">";
          }
                    $html .= "\r\n      </span>";
                    $html .= "
      <div class=\"ctrlHolder\">
          <label for=\"".$key."\">".$html_reqcode."{tmpl_var name='".$key."_txt'}</label>
        <input name=\"".$key."\" id=\"".$key."\" value=\"{tmpl_var name='".$key."'}\" size=\"".$field['width']."\" maxlength=\"".$field['maxlength']."\" type=\"text\" class=\"textInput\" />
            </div>";
                break;
                case 'TEXTAREA':
                    $html .= "\r\n      <span class=\"wf_oneField\">
        <label for=\"".$key."\" class=\"wf_preField\">{tmpl_var name='".$key."_txt'}</label>
        <textarea id=\"".$key."\" name=\"".$key."\" cols='".$field['cols']."' rows='".$field['rows']."'";
          if ($field['required'] == true ) {
                      $html .= " class=\"wf_required\">";
          } else {
                       $html .= ">";
          }
                    $html .= "{tmpl_var name='".$key."'}</textarea>";
          if ($field['required'] == true ) {
                      $html .= "<span class=\"wf_reqMark\">*</span><br />";
          }
                    $html .= "\r\n      </span>";
                    $html .= "
      <div class=\"ctrlHolder\">
          <label for=\"".$key."\">".$html_reqcode."{tmpl_var name='".$key."_txt'}</label>
        <textarea name=\"".$key."\" id=\"".$key."\" rows='".$field['rows']."' cols='".$field['cols']."'>{tmpl_var name='".$key."'}</textarea>
      </div>";
                break;
                case 'SELECT':
                    $html .= "\r\n      <span class=\"wf_oneField\">
        <label for=\"".$key."\" class=\"wf_preField\">{tmpl_var name='".$key."_txt'}</label>
        <select id=\"".$key."\" name=\"".$key."\"";
          if ($field['required'] == true ) {
                      $html .= " class=\"wf_required\">";
          } else {
                       $html .= ">";
          }
                    $html .= "{tmpl_var name='".$key."'}</select>";
          if ($field['required'] == true ) {
                      $html .= "<span class=\"wf_reqMark\">*</span><br />";
          }
                    $html .= "\r\n      </span>";
                    $html .= "
      <div class=\"ctrlHolder\">
          <label for=\"".$key."\">".$html_reqcode."{tmpl_var name='".$key."_txt'}</label>
        <select name=\"".$key."\" id=\"".$key."\" class=\"selectInput\">
                    {tmpl_var name='".$key."'}
                </select>
      </div>";
                break;
                case 'MULTIPLE':
                    $html .= "\r\n      <span class=\"wf_oneField\">
        <label for=\"".$key."\" class=\"wf_preField\">{tmpl_var name='".$key."_txt'}</label>
        <select multiple id=\"".$key."\" name=\"".$key."\"";
          if ($field['required'] == true ) {
                      $html .= " class=\"wf_required\">";
          } else {
                       $html .= ">";
          }
                    $html .= "{tmpl_var name='".$key."'}</select>";
          if ($field['required'] == true ) {
                      $html .= "<span class=\"wf_reqMark\">*</span><br />";
          }
                    $html .= "\r\n      </span>";
                    $html .= "
      <div class=\"ctrlHolder\">
          <label for=\"".$key."\">".$html_reqcode."{tmpl_var name='".$key."_txt'}</label>
        <select multiple name=\"".$key."\" id=\"".$key."\" class=\"selectInput\">
                    {tmpl_var name='".$key."'}
                </select>
      </div>";
                break;
                case 'PASSWORD':
                    $html .= "\r\n      <span class=\"wf_oneField\">
        <label for=\"".$key."\" class=\"wf_preField\">{tmpl_var name='".$key."_txt'}</label>
        <input type=\"password\" id=\"".$key."\" name=\"".$key."\" value=\"{tmpl_var name='".$key."'}\" size=\"".$field['width']."\" maxlength=\"".$field['maxlength']."\"";
          if ($field['required'] == true ) {
                      $html .= " class=\"wf_required\"><span class=\"wf_reqMark\">*</span><br />";
          } else {
                       $html .= ">";
          }
                    $html .= "\r\n      </span>";
                    $html .= "
      <div class=\"ctrlHolder\">
          <label for=\"".$key."\">".$html_reqcode."{tmpl_var name='".$key."_txt'}</label>
        <input name=\"".$key."\" id=\"".$key."\" value=\"{tmpl_var name='".$key."'}\" size=\"".$field['width']."\" maxlength=\"".$field['maxlength']."\" type=\"password\" class=\"textInput\" />
            </div>";
                break;
                case 'CHECKBOX':
                    $html .= "\r\n      <span class=\"wf_oneField\">
        <label for=\"".$key."\" class=\"wf_preField\">{tmpl_var name='".$key."_txt'}</label>";
          if ($field['required'] == true ) {
                      $html .= "                    <span class=\"wf_required\">
                      {tmpl_var name='".$key."'}
                    </span>
                    <span class=\"wf_reqMark\">*</span><br />";
          } else {
                      $html .= "                    <span class=\"\">
                      {tmpl_var name='".$key."'}
                    </span>";
          }
          $html .= "\r\n      </span>";
                    $html .= "
      <div class=\"ctrlHolder\">
                <p class=\"label\">".$html_reqcode."{tmpl_var name='".$key."_txt'}</p>
                    <div class=\"multiField\">
                        {tmpl_var name='".$key."'}
                    </div>
            </div>";
                break;
                case 'CHECKBOXARRAY':
                    $html .= "\r\n      <span class=\"wf_oneField\">
        <span class=\"wf_label wf_preField\">{tmpl_var name='".$key."_txt'}</span>";
                      $html .= "                    <fieldset>
                      {tmpl_var name='".$key."'}
                    </fieldset>";
            $html .= "\r\n      </span>";
                    $html .= "
      <div class=\"ctrlHolder\">
                <p class=\"label\">".$html_reqcode."{tmpl_var name='".$key."_txt'}</p>
                    <div class=\"multiField\">
                        {tmpl_var name='".$key."'}
                    </div>
            </div>";
                break;
                case 'RADIO':
                    $html .= "      <span class=\"wf_oneField\">
        <span class=\"wf_label wf_preField\">{tmpl_var name='".$key."_txt'}</span>";
                      $html .= "                    <fieldset>
                      {tmpl_var name='".$key."'}
                    </fieldset>";
            $html .= "\r\n      </span>";
                    $html .= "
      <div class=\"ctrlHolder\">
                <p class=\"label\">".$html_reqcode."{tmpl_var name='".$key."_txt'}</p>
                    <div class=\"multiField\">
                        {tmpl_var name='".$key."'}
                    </div>
            </div>";
                break;
            }
            
@@ -162,7 +135,7 @@
    <input type=\"hidden\" name=\"id\" value=\"{tmpl_var name='id'}\">
    <div class=\"wf_actions buttons\">
    <div class=\"buttonHolder buttons\">
      <button class=\"positive iconstxt icoPositive\" type=\"button\" value=\"{tmpl_var name='btn_save_txt'}\" onClick=\"submitForm('pageForm','".$module."/".$formDef["action"]."');\"><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('".$module."/".$formDef["list_default"]."');\"><span>{tmpl_var name='btn_cancel_txt'}</span></button>
    </div>
interface/web/admin/templates/firewall_edit.htm
@@ -1,30 +1,35 @@
<h2><tmpl_var name="list_head_txt"></h2>
<p><tmpl_var name="list_desc_txt"></p>
<div class="panel panel_firewall">
  <div class="pnl_formsarea">
    <fieldset id="wf_area_firewall"><legend>Firewall</legend>
      <span class="wf_oneField">
        <label for="server_id" class="wf_preField">{tmpl_var name='server_id_txt'}</label>
        <select id="server_id" name="server_id">{tmpl_var name='server_id'}</select>
      </span>
      <span class="wf_oneField">
        <label for="tcp_port" class="wf_preField">{tmpl_var name='tcp_port_txt'}</label>
        <input type="text" id="tcp_port" name="tcp_port" value="{tmpl_var name='tcp_port'}" size="30" maxlength="255">
      </span>
      <span class="wf_oneField">
        <label for="udp_port" class="wf_preField">{tmpl_var name='udp_port_txt'}</label>
        <input type="text" id="udp_port" name="udp_port" value="{tmpl_var name='udp_port'}" size="30" maxlength="255">
      </span>
      <span class="wf_oneField">
        <label for="active" class="wf_preField">{tmpl_var name='active_txt'}</label>
        <span class="">{tmpl_var name='active'}</span>
      </span>
    <fieldset class="inlineLabels"><legend>Firewall</legend>
      <div class="ctrlHolder">
          <label for="server_id">{tmpl_var name='server_id_txt'}</label>
        <select name="server_id" id="server_id" class="selectInput">
                    {tmpl_var name='server_id'}
                </select>
      </div>
      <div class="ctrlHolder">
          <label for="tcp_port">{tmpl_var name='tcp_port_txt'}</label>
        <input name="tcp_port" id="tcp_port" value="{tmpl_var name='tcp_port'}" size="30" maxlength="255" type="text" class="textInput" />
            </div>
      <div class="ctrlHolder">
          <label for="udp_port">{tmpl_var name='udp_port_txt'}</label>
        <input name="udp_port" id="udp_port" value="{tmpl_var name='udp_port'}" size="30" maxlength="255" type="text" class="textInput" />
            </div>
      <div class="ctrlHolder">
                <p class="label">{tmpl_var name='active_txt'}</p>
                    <div class="multiField">
                        {tmpl_var name='active'}
                    </div>
            </div>
    </fieldset>
    <input type="hidden" name="id" value="{tmpl_var name='id'}">
    <div class="wf_actions buttons">
    <div class="buttonHolder buttons">
      <button class="positive iconstxt icoPositive" type="button" value="{tmpl_var name='btn_save_txt'}" onClick="submitForm('pageForm','admin/firewall_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('admin/firewall_list.php');"><span>{tmpl_var name='btn_cancel_txt'}</span></button>
    </div>
interface/web/admin/templates/firewall_list.htm
@@ -1,4 +1,5 @@
<h2><tmpl_var name="list_head_txt"></h2>
<p><tmpl_var name="list_desc_txt"></p>
<div class="panel panel_list_firewall">
interface/web/admin/templates/groups_edit.htm
@@ -1,22 +1,23 @@
<h2><tmpl_var name="list_head_txt"></h2>
<p><tmpl_var name="list_desc_txt"></p>
<div class="panel panel_groups">
  <div class="pnl_formsarea">
    <fieldset id="wf_area_groups"><legend>Groups</legend>
      <span class="wf_oneField">
        <label for="name" class="wf_preField">{tmpl_var name='name_txt'}</label>
        <input type="text" id="name" name="name" value="{tmpl_var name='name'}" size="30" maxlength="255">
      </span>
      <span class="wf_oneField">
        <label for="description" class="wf_preField">{tmpl_var name='description_txt'}</label>
        <textarea id="description" name="description" cols='30' rows='5'>{tmpl_var name='description'}</textarea>
      </span>
    <fieldset class="inlineLabels"><legend>Groups</legend>
      <div class="ctrlHolder">
          <label for="name">{tmpl_var name='name_txt'}</label>
        <input name="name" id="name" value="{tmpl_var name='name'}" size="30" maxlength="255" type="text" class="textInput" />
            </div>
      <div class="ctrlHolder">
          <label for="description">{tmpl_var name='description_txt'}</label>
        <textarea name="description" id="description" rows='5' cols='30'>{tmpl_var name='description'}</textarea>
      </div>
    </fieldset>
    <input type="hidden" name="id" value="{tmpl_var name='id'}">
    <div class="wf_actions buttons">
    <div class="buttonHolder buttons">
      <button class="positive iconstxt icoPositive" type="button" value="{tmpl_var name='btn_save_txt'}" onClick="submitForm('pageForm','admin/groups_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('admin/groups_list.php');"><span>{tmpl_var name='btn_cancel_txt'}</span></button>
    </div>
interface/web/admin/templates/groups_list.htm
@@ -1,4 +1,5 @@
<h2><tmpl_var name="list_head_txt"></h2>
<p><tmpl_var name="list_desc_txt"></p>
<div class="panel panel_list_groups">
interface/web/admin/templates/language_add.htm
@@ -1,29 +1,25 @@
<h2><tmpl_var name="list_head_txt"></h2>
<p><tmpl_var name="list_desc_txt"></p>
<div class="panel panel_language_add">
  <tmpl_if name="msg">
  <div class="box box_msg"><tmpl_var name="msg"></div>
  </tmpl_if>
  <tmpl_if name="error">
  <div class="box box_error"><tmpl_var name="error"></div>
  </tmpl_if>
  <div class="pnl_formsarea">
    <fieldset id="wf_area_language_add"><legend>Language Add</legend>
      <span class="wf_oneField">
        <span class="wf_oneField">
          <label for="lng_select" class="wf_preField">{tmpl_var name='language_select_txt'}</label>
          <select name="lng_select" class="withicons" id="language">{tmpl_var name='language_option'}</select>
        </span>
        <span class="wf_oneField">
          <label for="lng_new" class="wf_preField">{tmpl_var name='language_new_txt'}</label>
          <input type="text" id="lng_new" name="lng_new" value="" size="2" maxlength="2">
        </span>
      </span>
    <fieldset class="inlineLabels"><legend>Language Add</legend>
      <div class="ctrlHolder">
          <label for="lng_select">{tmpl_var name='language_select_txt'}</label>
        <select name="lng_select" id="language" class="selectInput withicons">
                    {tmpl_var name='language_option'}
                </select>
      </div>
      <div class="ctrlHolder">
          <label for="lng_new">{tmpl_var name='language_new_txt'}</label>
        <input name="lng_new" id="lng_new" value="" size="30" maxlength="255" type="text" class="textInput" />
            </div>
    </fieldset>
    <div class="wf_actions buttons">
    <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','admin/language_add.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('admin/language_list.php');"><span>{tmpl_var name='btn_cancel_txt'}</span></button>
    </div>
interface/web/admin/templates/language_complete.htm
@@ -1,23 +1,21 @@
<h2><tmpl_var name="list_head_txt"></h2>
<p><tmpl_var name="list_desc_txt"></p>
<div class="panel panel_language_complete">
  <tmpl_if name="msg">
  <div class="box box_msg"><tmpl_var name="msg"></div>
  </tmpl_if>
  <tmpl_if name="error">
  <div class="box box_error"><tmpl_var name="error"></div>
  </tmpl_if>
  <div class="pnl_formsarea">
    <fieldset id="wf_area_language_complete"><legend>Language Complete</legend>
      <span class="wf_oneField">
        <label for="lng_select" class="wf_preField">{tmpl_var name='language_select_txt'}</label>
        <select name="lng_select" class="withicons" id="language">{tmpl_var name='language_option'}</select>
      </span>
    <fieldset class="inlineLabels"><legend>Language Complete</legend>
      <div class="ctrlHolder">
          <label for="lng_select">{tmpl_var name='language_select_txt'}</label>
        <select name="lng_select" id="language" class="selectInput withicons">
                    {tmpl_var name='language_option'}
                </select>
      </div>
    </fieldset>
    <div class="wf_actions buttons">
    <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','admin/language_complete.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('admin/language_list.php');"><span>{tmpl_var name='btn_cancel_txt'}</span></button>
    </div>
interface/web/admin/templates/language_edit.htm
@@ -1,11 +1,8 @@
<h2><tmpl_var name="list_head_txt"></h2>
<p><tmpl_var name="list_desc_txt"></p>
<div class="panel panel_language_edit">
  
  <tmpl_if name="msg">
  <div class="box box_msg"><tmpl_var name="msg"></div>
  </tmpl_if>
  <div class="pnl_formsarea">
    <fieldset id="wf_area_language_edit"><legend>Language File Edit: {tmpl_var name="file_path"}</legend>
      <span class="wf_oneField">
@@ -18,6 +15,7 @@
      </span>
    </fieldset>
    <input type="hidden" name="id" value="{tmpl_var name='id'}">
    <input type="hidden" name="lang" value="{tmpl_var name='lang'}">
    <input type="hidden" name="lang_file" value="{tmpl_var name='lang_file'}">
    <input type="hidden" name="module" value="{tmpl_var name='module'}">
interface/web/admin/templates/language_export.htm
@@ -1,25 +1,21 @@
<h2><tmpl_var name="list_head_txt"></h2>
<p><tmpl_var name="list_desc_txt"></p>
<div class="panel panel_language_export">
  <tmpl_if name="msg">
  <div class="box box_msg"><tmpl_var name="msg"></div>
  </tmpl_if>
  <tmpl_if name="error">
  <div class="box box_error"><tmpl_var name="error"></div>
  </tmpl_if>
  <div class="pnl_formsarea">
    <fieldset id="wf_area_language_export"><legend>Language Export</legend>
      <span class="wf_oneField">
        <span class="wf_oneField">
          <label for="lng_select" class="wf_preField">{tmpl_var name='language_select_txt'}</label>
          <select name="lng_select" class="withicons" id="language">{tmpl_var name='language_option'}</select>
        </span>
      </span>
    <fieldset class="inlineLabels"><legend>Language Export</legend>
      <div class="ctrlHolder">
          <label for="lng_select">{tmpl_var name='language_select_txt'}</label>
        <select name="lng_select" id="language" class="selectInput withicons">
                    {tmpl_var name='language_option'}
                </select>
      </div>
    </fieldset>
    <div class="wf_actions buttons">
    <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','admin/language_export.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('admin/language_list.php');"><span>{tmpl_var name='btn_cancel_txt'}</span></button>
    </div>
interface/web/admin/templates/language_import.htm
@@ -1,32 +1,28 @@
<h2><tmpl_var name="list_head_txt"></h2>
<div class="panel panel_language_import">
  <tmpl_if name="msg">
  <div class="box box_msg"><tmpl_var name="msg"></div>
  </tmpl_if>
  <tmpl_if name="error">
  <div class="box box_error"><tmpl_var name="error"></div>
  </tmpl_if>
  <div class="pnl_formsarea">
    <fieldset id="wf_area_language_import"><legend>Language Import</legend>
      <span class="wf_oneField">
        <label for="lng_select" class="wf_preField">{tmpl_var name='language_import_txt'}</label>
        <input type="file" id="file" name="file">
      </span>
      <span class="wf_oneField">
        <label class="wf_preField" for="overwrite"><tmpl_var name="language_overwrite_txt"></label>
        <span class="">
          <input type="checkbox" checked="" value="1" name="overwrite" id="overwrite" />
        </span>
      </span>
    </fieldset>
    <div class="wf_actions buttons">
      <button class="positive iconstxt icoPositive" type="button" value="{tmpl_var name='btn_save_txt'}" onClick="submitUploadForm('pageForm','admin/language_import.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('admin/language_list.php');"><span>{tmpl_var name='btn_cancel_txt'}</span></button>
    </div>
  </div>
</div>
<h2><tmpl_var name="list_head_txt"></h2>
<p><tmpl_var name="list_desc_txt"></p>
<div class="panel panel_language_import">
  <div class="pnl_formsarea">
    <fieldset class="inlineLabels"><legend>Language Import</legend>
      <div class="ctrlHolder">
          <label for="lng_select"><em>*</em> {tmpl_var name='language_import_txt'}</label>
          <input name="file" id="file" size="30" type="file" class="fileUpload" />
      </div>
      <div class="ctrlHolder">
                <p class="label">{tmpl_var name='language_overwrite_txt'}</p>
                    <div class="multiField">
                        <input id="overwrite" type="checkbox" value="1" name="overwrite"/>
                    </div>
            </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="submitUploadForm('pageForm','admin/language_import.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('admin/language_list.php');"><span>{tmpl_var name='btn_cancel_txt'}</span></button>
    </div>
  </div>
</div>
interface/web/admin/templates/language_list.htm
@@ -1,14 +1,17 @@
<h2><tmpl_var name="list_head_txt"></h2>
<p><tmpl_var name="list_desc_txt"></p>
<div class="panel panel_language_groups">
  <div class="pnl_toolsarea">
    <fieldset><legend>Tools</legend>
    <fieldset class="inlineLabels"><legend>Tools</legend>
      <div class="buttons">
        <span class="wf_oneField">
          <label for="lng_select" class="wf_preField">{tmpl_var name='language_select_txt'}</label>
          <select name="lng_select" class="withicons" id="language" onChange="submitForm('pageForm','admin/language_list.php');">{tmpl_var name='language_option'}</select>
        </span>
          <div class="ctrlHolder">
              <label for="lng_select">{tmpl_var name='language_select_txt'}</label>
            <select name="lng_select" id="language" class="selectInput withicons" onChange="submitForm('pageForm','admin/language_list.php');">
                        {tmpl_var name='language_option'}
                    </select>
          </div>
      </div>
    </fieldset>
  </div>
interface/web/admin/templates/server_config_fastcgi_edit.htm
@@ -1,42 +1,43 @@
<h2><tmpl_var name="list_head_txt"></h2>
<p><tmpl_var name="list_desc_txt"></p>
<div class="panel panel_server_config">
  <div class="pnl_formsarea">
    <fieldset id="wf_area_server_config"><legend>FastCGI</legend>
      <span class="wf_oneField">
        <label for="fastcgi_starter_path" class="wf_preField">{tmpl_var name='fastcgi_starter_path_txt'}</label>
        <input type="text" id="fastcgi_starter_path" name="fastcgi_starter_path" value="{tmpl_var name='fastcgi_starter_path'}" size="40" maxlength="255">
      </span>
      <span class="wf_oneField">
        <label for="fastcgi_starter_script" class="wf_preField">{tmpl_var name='fastcgi_starter_script_txt'}</label>
        <input type="text" id="fastcgi_starter_script" name="fastcgi_starter_script" value="{tmpl_var name='fastcgi_starter_script'}" size="40" maxlength="255">
      </span>
      <span class="wf_oneField">
        <label for="fastcgi_alias" class="wf_preField">{tmpl_var name='fastcgi_alias_txt'}</label>
        <input type="text" id="fastcgi_alias" name="fastcgi_alias" value="{tmpl_var name='fastcgi_alias'}" size="40" maxlength="255">
      </span>
      <span class="wf_oneField">
        <label for="fastcgi_phpini_path" class="wf_preField">{tmpl_var name='fastcgi_phpini_path_txt'}</label>
        <input type="text" id="fastcgi_phpini_path" name="fastcgi_phpini_path" value="{tmpl_var name='fastcgi_phpini_path'}" size="40" maxlength="255">
      </span>
      <span class="wf_oneField">
        <label for="fastcgi_children" class="wf_preField">{tmpl_var name='fastcgi_children_txt'}</label>
        <input type="text" id="fastcgi_children" name="fastcgi_children" value="{tmpl_var name='fastcgi_children'}" size="40" maxlength="255">
      </span>
      <span class="wf_oneField">
        <label for="fastcgi_max_requests" class="wf_preField">{tmpl_var name='fastcgi_max_requests_txt'}</label>
        <input type="text" id="fastcgi_max_requests" name="fastcgi_max_requests" value="{tmpl_var name='fastcgi_max_requests'}" size="40" maxlength="255">
      </span>
      <span class="wf_oneField">
        <label for="fastcgi_bin" class="wf_preField">{tmpl_var name='fastcgi_bin_txt'}</label>
        <input type="text" id="fastcgi_bin" name="fastcgi_bin" value="{tmpl_var name='fastcgi_bin'}" size="40" maxlength="255">
      </span>
    <fieldset class="inlineLabels"><legend>FastCGI</legend>
      <div class="ctrlHolder">
          <label for="fastcgi_starter_path">{tmpl_var name='fastcgi_starter_path_txt'}</label>
        <input name="fastcgi_starter_path" id="fastcgi_starter_path" value="{tmpl_var name='fastcgi_starter_path'}" size="40" maxlength="255" type="text" class="textInput" />
            </div>
      <div class="ctrlHolder">
          <label for="fastcgi_starter_script">{tmpl_var name='fastcgi_starter_script_txt'}</label>
        <input name="fastcgi_starter_script" id="fastcgi_starter_script" value="{tmpl_var name='fastcgi_starter_script'}" size="40" maxlength="255" type="text" class="textInput" />
            </div>
      <div class="ctrlHolder">
          <label for="fastcgi_alias">{tmpl_var name='fastcgi_alias_txt'}</label>
        <input name="fastcgi_alias" id="fastcgi_alias" value="{tmpl_var name='fastcgi_alias'}" size="40" maxlength="255" type="text" class="textInput" />
            </div>
      <div class="ctrlHolder">
          <label for="fastcgi_phpini_path">{tmpl_var name='fastcgi_phpini_path_txt'}</label>
        <input name="fastcgi_phpini_path" id="fastcgi_phpini_path" value="{tmpl_var name='fastcgi_phpini_path'}" size="40" maxlength="255" type="text" class="textInput" />
            </div>
      <div class="ctrlHolder">
          <label for="fastcgi_children">{tmpl_var name='fastcgi_children_txt'}</label>
        <input name="fastcgi_children" id="fastcgi_children" value="{tmpl_var name='fastcgi_children'}" size="40" maxlength="255" type="text" class="textInput" />
            </div>
      <div class="ctrlHolder">
          <label for="fastcgi_max_requests">{tmpl_var name='fastcgi_max_requests_txt'}</label>
        <input name="fastcgi_max_requests" id="fastcgi_max_requests" value="{tmpl_var name='fastcgi_max_requests'}" size="40" maxlength="255" type="text" class="textInput" />
            </div>
      <div class="ctrlHolder">
          <label for="fastcgi_bin">{tmpl_var name='fastcgi_bin_txt'}</label>
        <input name="fastcgi_bin" id="fastcgi_bin" value="{tmpl_var name='fastcgi_bin'}" size="40" maxlength="255" type="text" class="textInput" />
            </div>
    </fieldset>
    <input type="hidden" name="id" value="{tmpl_var name='id'}">
    <div class="wf_actions buttons">
    <div class="buttonHolder buttons">
      <button class="positive iconstxt icoPositive" type="button" value="{tmpl_var name='btn_save_txt'}" onClick="submitForm('pageForm','admin/server_config_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('admin/server_config_list.php');"><span>{tmpl_var name='btn_cancel_txt'}</span></button>
    </div>
interface/web/admin/templates/server_config_getmail_edit.htm
@@ -1,18 +1,19 @@
<h2><tmpl_var name="list_head_txt"></h2>
<p><tmpl_var name="list_desc_txt"></p>
<div class="panel panel_server_config">
  <div class="pnl_formsarea">
    <fieldset id="wf_area_server_config"><legend>Getmail</legend>
      <span class="wf_oneField">
        <label for="getmail_config_dir" class="wf_preField">{tmpl_var name='getmail_config_dir_txt'}</label>
        <input type="text" id="getmail_config_dir" name="getmail_config_dir" value="{tmpl_var name='getmail_config_dir'}" size="40" maxlength="255">
      </span>
    <fieldset class="inlineLabels"><legend>Getmail</legend>
      <div class="ctrlHolder">
          <label for="getmail_config_dir">{tmpl_var name='getmail_config_dir_txt'}</label>
        <input name="getmail_config_dir" id="getmail_config_dir" value="{tmpl_var name='getmail_config_dir'}" size="40" maxlength="255" type="text" class="textInput" />
            </div>
    </fieldset>
    <input type="hidden" name="id" value="{tmpl_var name='id'}">
    <div class="wf_actions buttons">
    <div class="buttonHolder buttons">
      <button class="positive iconstxt icoPositive" type="button" value="{tmpl_var name='btn_save_txt'}" onClick="submitForm('pageForm','admin/server_config_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('admin/server_config_list.php');"><span>{tmpl_var name='btn_cancel_txt'}</span></button>
    </div>
interface/web/admin/templates/server_config_jailkit_edit.htm
@@ -1,26 +1,27 @@
<h2><tmpl_var name="list_head_txt"></h2>
<p><tmpl_var name="list_desc_txt"></p>
<div class="panel panel_server_config">
  <div class="pnl_formsarea">
    <fieldset id="wf_area_server_config"><legend>Jailkit</legend>
      <span class="wf_oneField">
        <label for="jailkit_chroot_home" class="wf_preField">{tmpl_var name='jailkit_chroot_home_txt'}</label>
        <input type="text" id="jailkit_chroot_home" name="jailkit_chroot_home" value="{tmpl_var name='jailkit_chroot_home'}" size="40" maxlength="255">
      </span>
      <span class="wf_oneField">
        <label for="jailkit_chroot_app_sections" class="wf_preField">{tmpl_var name='jailkit_chroot_app_sections_txt'}</label>
        <input type="text" id="jailkit_chroot_app_sections" name="jailkit_chroot_app_sections" value="{tmpl_var name='jailkit_chroot_app_sections'}" size="40" maxlength="1000">
      </span>
      <span class="wf_oneField">
        <label for="jailkit_chroot_app_programs" class="wf_preField">{tmpl_var name='jailkit_chroot_app_programs_txt'}</label>
        <input type="text" id="jailkit_chroot_app_programs" name="jailkit_chroot_app_programs" value="{tmpl_var name='jailkit_chroot_app_programs'}" size="40" maxlength="1000">
      </span>
    <fieldset class="inlineLabels"><legend>Jailkit</legend>
      <div class="ctrlHolder">
          <label for="jailkit_chroot_home">{tmpl_var name='jailkit_chroot_home_txt'}</label>
        <input name="jailkit_chroot_home" id="jailkit_chroot_home" value="{tmpl_var name='jailkit_chroot_home'}" size="40" maxlength="255" type="text" class="textInput" />
            </div>
      <div class="ctrlHolder">
          <label for="jailkit_chroot_app_sections">{tmpl_var name='jailkit_chroot_app_sections_txt'}</label>
        <input name="jailkit_chroot_app_sections" id="jailkit_chroot_app_sections" value="{tmpl_var name='jailkit_chroot_app_sections'}" size="40" maxlength="1000" type="text" class="textInput" />
            </div>
      <div class="ctrlHolder">
          <label for="jailkit_chroot_app_programs">{tmpl_var name='jailkit_chroot_app_programs_txt'}</label>
        <input name="jailkit_chroot_app_programs" id="jailkit_chroot_app_programs" value="{tmpl_var name='jailkit_chroot_app_programs'}" size="40" maxlength="1000" type="text" class="textInput" />
            </div>
    </fieldset>
    <input type="hidden" name="id" value="{tmpl_var name='id'}">
    <div class="wf_actions buttons">
    <div class="buttonHolder buttons">
      <button class="positive iconstxt icoPositive" type="button" value="{tmpl_var name='btn_save_txt'}" onClick="submitForm('pageForm','admin/server_config_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('admin/server_config_list.php');"><span>{tmpl_var name='btn_cancel_txt'}</span></button>
    </div>
interface/web/admin/templates/server_config_list.htm
@@ -1,4 +1,5 @@
<h2><tmpl_var name="list_head_txt"></h2>
<p><tmpl_var name="list_desc_txt"></p>
<div class="panel panel_list_server_config">
interface/web/admin/templates/server_config_mail_edit.htm
@@ -1,62 +1,65 @@
<h2><tmpl_var name="list_head_txt"></h2>
<p><tmpl_var name="list_desc_txt"></p>
<div class="panel panel_server_config">
  <div class="pnl_formsarea">
    <fieldset id="wf_area_server_config"><legend>Mail</legend>
      <span class="wf_oneField">
        <label for="module" class="wf_preField">{tmpl_var name='module_txt'}</label>
        <select id="module" name="module">{tmpl_var name='module'}</select>
      </span>
      <span class="wf_oneField">
        <label for="maildir_path" class="wf_preField">{tmpl_var name='maildir_path_txt'}</label>
        <input type="text" id="maildir_path" name="maildir_path" value="{tmpl_var name='maildir_path'}" size="40" maxlength="255">
      </span>
      <span class="wf_oneField">
        <label for="homedir_path" class="wf_preField">{tmpl_var name='homedir_path_txt'}</label>
        <input type="text" id="homedir_path" name="homedir_path" value="{tmpl_var name='homedir_path'}" size="40" maxlength="255">
      </span>
      <span class="wf_oneField">
        <label for="mailuser_uid" class="wf_preField">{tmpl_var name='mailuser_uid_txt'}</label>
        <input type="text" id="mailuser_uid" name="mailuser_uid" value="{tmpl_var name='mailuser_uid'}" size="10" maxlength="255">
      </span>
      <span class="wf_oneField">
        <label for="mailuser_gid" class="wf_preField">{tmpl_var name='mailuser_gid_txt'}</label>
        <input type="text" id="mailuser_gid" name="mailuser_gid" value="{tmpl_var name='mailuser_gid'}" size="10" maxlength="255">
      </span>
      <span class="wf_oneField">
        <label for="mailuser_name" class="wf_preField">{tmpl_var name='mailuser_name_txt'}</label>
        <input type="text" id="mailuser_name" name="mailuser_name" value="{tmpl_var name='mailuser_name'}" size="10" maxlength="255">
      </span>
      <span class="wf_oneField">
        <label for="mailuser_group" class="wf_preField">{tmpl_var name='mailuser_group_txt'}</label>
        <input type="text" id="mailuser_group" name="mailuser_group" value="{tmpl_var name='mailuser_group'}" size="10" maxlength="255">
      </span>
      <span class="wf_oneField">
        <label for="relayhost" class="wf_preField">{tmpl_var name='relayhost_txt'}</label>
        <input type="text" id="relayhost" name="relayhost" value="{tmpl_var name='relayhost'}" size="40" maxlength="255">
      </span>
      <span class="wf_oneField">
        <label for="relayhost_user" class="wf_preField">{tmpl_var name='relayhost_user_txt'}</label>
        <input type="text" id="relayhost_user" name="relayhost_user" value="{tmpl_var name='relayhost_user'}" size="40" maxlength="255">
      </span>
      <span class="wf_oneField">
        <label for="relayhost_password" class="wf_preField">{tmpl_var name='relayhost_password_txt'}</label>
        <input type="text" id="relayhost_password" name="relayhost_password" value="{tmpl_var name='relayhost_password'}" size="40" maxlength="255">
      </span>
      <span class="wf_oneField">
        <label for="mailbox_size_limit" class="wf_preField">{tmpl_var name='mailbox_size_limit_txt'}</label>
        <input type="text" id="mailbox_size_limit" name="mailbox_size_limit" value="{tmpl_var name='mailbox_size_limit'}" size="10" maxlength="15">
      </span>
      <span class="wf_oneField">
        <label for="message_size_limit" class="wf_preField">{tmpl_var name='message_size_limit_txt'}</label>
        <input type="text" id="message_size_limit" name="message_size_limit" value="{tmpl_var name='message_size_limit'}" size="10" maxlength="15">
      </span>
    <fieldset class="inlineLabels"><legend>Mail</legend>
      <div class="ctrlHolder">
          <label for="module">{tmpl_var name='module_txt'}</label>
        <select name="module" id="module" class="selectInput">
                    {tmpl_var name='module'}
                </select>
      </div>
      <div class="ctrlHolder">
          <label for="maildir_path">{tmpl_var name='maildir_path_txt'}</label>
        <input name="maildir_path" id="maildir_path" value="{tmpl_var name='maildir_path'}" size="40" maxlength="255" type="text" class="textInput" />
            </div>
      <div class="ctrlHolder">
          <label for="homedir_path">{tmpl_var name='homedir_path_txt'}</label>
        <input name="homedir_path" id="homedir_path" value="{tmpl_var name='homedir_path'}" size="40" maxlength="255" type="text" class="textInput" />
            </div>
      <div class="ctrlHolder">
          <label for="mailuser_uid">{tmpl_var name='mailuser_uid_txt'}</label>
        <input name="mailuser_uid" id="mailuser_uid" value="{tmpl_var name='mailuser_uid'}" size="10" maxlength="255" type="text" class="textInput" />
            </div>
      <div class="ctrlHolder">
          <label for="mailuser_gid">{tmpl_var name='mailuser_gid_txt'}</label>
        <input name="mailuser_gid" id="mailuser_gid" value="{tmpl_var name='mailuser_gid'}" size="10" maxlength="255" type="text" class="textInput" />
            </div>
      <div class="ctrlHolder">
          <label for="mailuser_name">{tmpl_var name='mailuser_name_txt'}</label>
        <input name="mailuser_name" id="mailuser_name" value="{tmpl_var name='mailuser_name'}" size="10" maxlength="255" type="text" class="textInput" />
            </div>
      <div class="ctrlHolder">
          <label for="mailuser_group">{tmpl_var name='mailuser_group_txt'}</label>
        <input name="mailuser_group" id="mailuser_group" value="{tmpl_var name='mailuser_group'}" size="10" maxlength="255" type="text" class="textInput" />
            </div>
      <div class="ctrlHolder">
          <label for="relayhost">{tmpl_var name='relayhost_txt'}</label>
        <input name="relayhost" id="relayhost" value="{tmpl_var name='relayhost'}" size="40" maxlength="255" type="text" class="textInput" />
            </div>
      <div class="ctrlHolder">
          <label for="relayhost_user">{tmpl_var name='relayhost_user_txt'}</label>
        <input name="relayhost_user" id="relayhost_user" value="{tmpl_var name='relayhost_user'}" size="40" maxlength="255" type="text" class="textInput" />
            </div>
      <div class="ctrlHolder">
          <label for="relayhost_password">{tmpl_var name='relayhost_password_txt'}</label>
        <input name="relayhost_password" id="relayhost_password" value="{tmpl_var name='relayhost_password'}" size="40" maxlength="255" type="text" class="textInput" />
            </div>
      <div class="ctrlHolder">
          <label for="mailbox_size_limit">{tmpl_var name='mailbox_size_limit_txt'}</label>
        <input name="mailbox_size_limit" id="mailbox_size_limit" value="{tmpl_var name='mailbox_size_limit'}" size="10" maxlength="15" type="text" class="textInput" />
            </div>
      <div class="ctrlHolder">
          <label for="message_size_limit">{tmpl_var name='message_size_limit_txt'}</label>
        <input name="message_size_limit" id="message_size_limit" value="{tmpl_var name='message_size_limit'}" size="10" maxlength="15" type="text" class="textInput" />
            </div>
    </fieldset>
    <input type="hidden" name="id" value="{tmpl_var name='id'}">
    <div class="wf_actions buttons">
    <div class="buttonHolder buttons">
      <button class="positive iconstxt icoPositive" type="button" value="{tmpl_var name='btn_save_txt'}" onClick="submitForm('pageForm','admin/server_config_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('admin/server_config_list.php');"><span>{tmpl_var name='btn_cancel_txt'}</span></button>
    </div>
interface/web/admin/templates/server_config_server_edit.htm
@@ -1,38 +1,41 @@
<h2><tmpl_var name="list_head_txt"></h2>
<p><tmpl_var name="list_desc_txt"></p>
<div class="panel panel_server_config">
  <div class="pnl_formsarea">
    <fieldset id="wf_area_server_config"><legend>Server</legend>
      <span class="wf_oneField">
        <label for="auto_network_configuration" class="wf_preField">{tmpl_var name='auto_network_configuration_txt'}</label>
        <span class="">{tmpl_var name='auto_network_configuration'}</span>
      </span>
      <span class="wf_oneField">
        <label for="ip_address" class="wf_preField">{tmpl_var name='ip_address_txt'}</label>
        <input type="text" id="ip_address" name="ip_address" value="{tmpl_var name='ip_address'}" size="15" maxlength="255">
      </span>
      <span class="wf_oneField">
        <label for="netmask" class="wf_preField">{tmpl_var name='netmask_txt'}</label>
        <input type="text" id="netmask" name="netmask" value="{tmpl_var name='netmask'}" size="15" maxlength="255">
      </span>
      <span class="wf_oneField">
        <label for="gateway" class="wf_preField">{tmpl_var name='gateway_txt'}</label>
        <input type="text" id="gateway" name="gateway" value="{tmpl_var name='gateway'}" size="15" maxlength="255">
      </span>
      <span class="wf_oneField">
        <label for="hostname" class="wf_preField">{tmpl_var name='hostname_txt'}</label>
        <input type="text" id="hostname" name="hostname" value="{tmpl_var name='hostname'}" size="40" maxlength="255">
      </span>
      <span class="wf_oneField">
        <label for="nameservers" class="wf_preField">{tmpl_var name='nameservers_txt'}</label>
        <input type="text" id="nameservers" name="nameservers" value="{tmpl_var name='nameservers'}" size="40" maxlength="255">
      </span>
    <fieldset class="inlineLabels"><legend>Server</legend>
      <div class="ctrlHolder">
                <p class="label">{tmpl_var name='auto_network_configuration_txt'}</p>
                    <div class="multiField">
                        {tmpl_var name='auto_network_configuration'}
                    </div>
            </div>
      <div class="ctrlHolder">
          <label for="ip_address">{tmpl_var name='ip_address_txt'}</label>
        <input name="ip_address" id="ip_address" value="{tmpl_var name='ip_address'}" size="15" maxlength="255" type="text" class="textInput" />
            </div>
      <div class="ctrlHolder">
          <label for="netmask">{tmpl_var name='netmask_txt'}</label>
        <input name="netmask" id="netmask" value="{tmpl_var name='netmask'}" size="15" maxlength="255" type="text" class="textInput" />
            </div>
      <div class="ctrlHolder">
          <label for="gateway">{tmpl_var name='gateway_txt'}</label>
        <input name="gateway" id="gateway" value="{tmpl_var name='gateway'}" size="15" maxlength="255" type="text" class="textInput" />
            </div>
      <div class="ctrlHolder">
          <label for="hostname">{tmpl_var name='hostname_txt'}</label>
        <input name="hostname" id="hostname" value="{tmpl_var name='hostname'}" size="40" maxlength="255" type="text" class="textInput" />
            </div>
      <div class="ctrlHolder">
          <label for="nameservers">{tmpl_var name='nameservers_txt'}</label>
        <input name="nameservers" id="nameservers" value="{tmpl_var name='nameservers'}" size="40" maxlength="255" type="text" class="textInput" />
            </div>
    </fieldset>
    <input type="hidden" name="id" value="{tmpl_var name='id'}">
    <div class="wf_actions buttons">
    <div class="buttonHolder buttons">
      <button class="positive iconstxt icoPositive" type="button" value="{tmpl_var name='btn_save_txt'}" onClick="submitForm('pageForm','admin/server_config_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('admin/server_config_list.php');"><span>{tmpl_var name='btn_cancel_txt'}</span></button>
    </div>
interface/web/admin/templates/server_config_web_edit.htm
@@ -1,37 +1,34 @@
<h2><tmpl_var name="list_head_txt"></h2>
<div class="panel panel_server_config">
  <div class="pnl_formsarea">
    <fieldset id="wf_area_server_config"><legend>Web</legend>
      <span class="wf_oneField">
        <label for="website_basedir" class="wf_preField">{tmpl_var name='website_basedir_txt'}</label>
        <input type="text" id="website_basedir" name="website_basedir" value="{tmpl_var name='website_basedir'}" size="40" maxlength="255">
      </span>
      <span class="wf_oneField">
        <label for="website_path" class="wf_preField">{tmpl_var name='website_path_txt'}</label>
        <input type="text" id="website_path" name="website_path" value="{tmpl_var name='website_path'}" size="40" maxlength="255">
      </span>
      <span class="wf_oneField">
        <label for="website_symlinks" class="wf_preField">{tmpl_var name='website_symlinks_txt'}</label>
        <input type="text" id="website_symlinks" name="website_symlinks" value="{tmpl_var name='website_symlinks'}" size="40" maxlength="255">
      </span>
      <span class="wf_oneField">
        <label for="vhost_conf_dir" class="wf_preField">{tmpl_var name='vhost_conf_dir_txt'}</label>
        <input type="text" id="vhost_conf_dir" name="vhost_conf_dir" value="{tmpl_var name='vhost_conf_dir'}" size="40" maxlength="255">
      </span>
      <span class="wf_oneField">
        <label for="vhost_conf_enabled_dir" class="wf_preField">{tmpl_var name='vhost_conf_enabled_dir_txt'}</label>
        <input type="text" id="vhost_conf_enabled_dir" name="vhost_conf_enabled_dir" value="{tmpl_var name='vhost_conf_enabled_dir'}" size="40" maxlength="255">
      </span>
    </fieldset>
    <input type="hidden" name="id" value="{tmpl_var name='id'}">
    <div class="wf_actions buttons">
      <button class="positive iconstxt icoPositive" type="button" value="{tmpl_var name='btn_save_txt'}" onClick="submitForm('pageForm','admin/server_config_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('admin/server_config_list.php');"><span>{tmpl_var name='btn_cancel_txt'}</span></button>
    </div>
  </div>
</div>
<h2><tmpl_var name="list_head_txt"></h2>
<p><tmpl_var name="list_desc_txt"></p>
<div class="panel panel_server_config">
  <div class="pnl_formsarea">
    <fieldset class="inlineLabels"><legend>Web</legend>
      <div class="ctrlHolder">
          <label for="website_path">{tmpl_var name='website_path_txt'}</label>
        <input name="website_path" id="website_path" value="{tmpl_var name='website_path'}" size="40" maxlength="255" type="text" class="textInput" />
            </div>
      <div class="ctrlHolder">
          <label for="website_symlinks">{tmpl_var name='website_symlinks_txt'}</label>
        <input name="website_symlinks" id="website_symlinks" value="{tmpl_var name='website_symlinks'}" size="40" maxlength="255" type="text" class="textInput" />
            </div>
      <div class="ctrlHolder">
          <label for="vhost_conf_dir">{tmpl_var name='vhost_conf_dir_txt'}</label>
        <input name="vhost_conf_dir" id="vhost_conf_dir" value="{tmpl_var name='vhost_conf_dir'}" size="40" maxlength="255" type="text" class="textInput" />
            </div>
      <div class="ctrlHolder">
          <label for="vhost_conf_enabled_dir">{tmpl_var name='vhost_conf_enabled_dir_txt'}</label>
        <input name="vhost_conf_enabled_dir" id="vhost_conf_enabled_dir" value="{tmpl_var name='vhost_conf_enabled_dir'}" size="40" 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','admin/server_config_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('admin/server_config_list.php');"><span>{tmpl_var name='btn_cancel_txt'}</span></button>
    </div>
  </div>
</div>
interface/web/admin/templates/server_edit_config.htm
@@ -1,18 +1,19 @@
<h2><tmpl_var name="list_head_txt"></h2>
<p><tmpl_var name="list_desc_txt"></p>
<div class="panel panel_server">
  <div class="pnl_formsarea">
    <fieldset id="wf_area_server"><legend>Config</legend>
      <span class="wf_oneField">
        <label for="config" class="wf_preField">{tmpl_var name='config_txt'}</label>
        <textarea id="config" name="config" cols='40' rows='20'>{tmpl_var name='config'}</textarea>
      </span>
    <fieldset class="inlineLabels"><legend>Config</legend>
      <div class="ctrlHolder">
          <label for="config">{tmpl_var name='config_txt'}</label>
        <textarea name="config" id="config" rows='20' cols='40'>{tmpl_var name='config'}</textarea>
      </div>
    </fieldset>
    <input type="hidden" name="id" value="{tmpl_var name='id'}">
    <div class="wf_actions buttons">
    <div class="buttonHolder buttons">
      <button class="positive iconstxt icoPositive" type="button" value="{tmpl_var name='btn_save_txt'}" onClick="submitForm('pageForm','admin/server_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('admin/server_list.php');"><span>{tmpl_var name='btn_cancel_txt'}</span></button>
    </div>
interface/web/admin/templates/server_edit_services.htm
@@ -1,46 +1,61 @@
<h2><tmpl_var name="list_head_txt"></h2>
<p><tmpl_var name="list_desc_txt"></p>
<div class="panel panel_server">
  <div class="pnl_formsarea">
    <fieldset id="wf_area_server"><legend>Services</legend>
      <span class="wf_oneField">
        <label for="server_name" class="wf_preField">{tmpl_var name='server_name_txt'}</label>
        <input type="text" id="server_name" name="server_name" value="{tmpl_var name='server_name'}" size="30" maxlength="255">
      </span>
      <span class="wf_oneField">
        <label for="mail_server" class="wf_preField">{tmpl_var name='mail_server_txt'}</label>
        <span class="">{tmpl_var name='mail_server'}</span>
      </span>
      <span class="wf_oneField">
        <label for="web_server" class="wf_preField">{tmpl_var name='web_server_txt'}</label>
        <span class="">{tmpl_var name='web_server'}</span>
      </span>
      <span class="wf_oneField">
        <label for="dns_server" class="wf_preField">{tmpl_var name='dns_server_txt'}</label>
        <span class="">{tmpl_var name='dns_server'}</span>
      </span>
      <span class="wf_oneField">
        <label for="file_server" class="wf_preField">{tmpl_var name='file_server_txt'}</label>
        <span class="">{tmpl_var name='file_server'}</span>
      </span>
      <span class="wf_oneField">
        <label for="db_server" class="wf_preField">{tmpl_var name='db_server_txt'}</label>
        <span class="">{tmpl_var name='db_server'}</span>
      </span>
      <span class="wf_oneField">
        <label for="vserver_server" class="wf_preField">{tmpl_var name='vserver_server_txt'}</label>
        <span class="">{tmpl_var name='vserver_server'}</span>
      </span>
      <span class="wf_oneField">
        <label for="active" class="wf_preField">{tmpl_var name='active_txt'}</label>
        <select id="active" name="active">{tmpl_var name='active'}</select>
      </span>
    <fieldset class="inlineLabels"><legend>Services</legend>
      <div class="ctrlHolder">
          <label for="server_name">{tmpl_var name='server_name_txt'}</label>
        <input name="server_name" id="server_name" value="{tmpl_var name='server_name'}" size="30" maxlength="255" type="text" class="textInput" />
            </div>
      <div class="ctrlHolder">
                <p class="label">{tmpl_var name='mail_server_txt'}</p>
                    <div class="multiField">
                        {tmpl_var name='mail_server'}
                    </div>
            </div>
      <div class="ctrlHolder">
                <p class="label">{tmpl_var name='web_server_txt'}</p>
                    <div class="multiField">
                        {tmpl_var name='web_server'}
                    </div>
            </div>
      <div class="ctrlHolder">
                <p class="label">{tmpl_var name='dns_server_txt'}</p>
                    <div class="multiField">
                        {tmpl_var name='dns_server'}
                    </div>
            </div>
      <div class="ctrlHolder">
                <p class="label">{tmpl_var name='file_server_txt'}</p>
                    <div class="multiField">
                        {tmpl_var name='file_server'}
                    </div>
            </div>
      <div class="ctrlHolder">
                <p class="label">{tmpl_var name='db_server_txt'}</p>
                    <div class="multiField">
                        {tmpl_var name='db_server'}
                    </div>
            </div>
      <div class="ctrlHolder">
                <p class="label">{tmpl_var name='vserver_server_txt'}</p>
                    <div class="multiField">
                        {tmpl_var name='vserver_server'}
                    </div>
            </div>
      <div class="ctrlHolder">
          <label for="active">{tmpl_var name='active_txt'}</label>
        <select name="active" id="active" class="selectInput">
                    {tmpl_var name='active'}
                </select>
      </div>
    </fieldset>
    <input type="hidden" name="id" value="{tmpl_var name='id'}">
    <div class="wf_actions buttons">
    <div class="buttonHolder buttons">
      <button class="positive iconstxt icoPositive" type="button" value="{tmpl_var name='btn_save_txt'}" onClick="submitForm('pageForm','admin/server_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('admin/server_list.php');"><span>{tmpl_var name='btn_cancel_txt'}</span></button>
    </div>
interface/web/admin/templates/server_ip_edit.htm
@@ -1,26 +1,31 @@
<h2><tmpl_var name="list_head_txt"></h2>
<p><tmpl_var name="list_desc_txt"></p>
<div class="panel panel_server_ip">
  <div class="pnl_formsarea">
    <fieldset id="wf_area_server_ip"><legend>IP Address</legend>
      <span class="wf_oneField">
        <label for="server_id" class="wf_preField">{tmpl_var name='server_id_txt'}</label>
        <select id="server_id" name="server_id">{tmpl_var name='server_id'}</select>
      </span>
      <span class="wf_oneField">
        <label for="ip_address" class="wf_preField">{tmpl_var name='ip_address_txt'}</label>
        <input type="text" id="ip_address" name="ip_address" value="{tmpl_var name='ip_address'}" size="15" maxlength="15">
      </span>
      <span class="wf_oneField">
        <label for="virtualhost" class="wf_preField">{tmpl_var name='virtualhost_txt'}</label>
        <span class="">{tmpl_var name='virtualhost'}</span>
      </span>
    <fieldset class="inlineLabels"><legend>IP Address</legend>
      <div class="ctrlHolder">
          <label for="server_id">{tmpl_var name='server_id_txt'}</label>
        <select name="server_id" id="server_id" class="selectInput">
                    {tmpl_var name='server_id'}
                </select>
      </div>
      <div class="ctrlHolder">
          <label for="ip_address">{tmpl_var name='ip_address_txt'}</label>
        <input name="ip_address" id="ip_address" value="{tmpl_var name='ip_address'}" size="15" maxlength="15" type="text" class="textInput" />
            </div>
      <div class="ctrlHolder">
                <p class="label">{tmpl_var name='virtualhost_txt'}</p>
                    <div class="multiField">
                        {tmpl_var name='virtualhost'}
                    </div>
            </div>
    </fieldset>
    <input type="hidden" name="id" value="{tmpl_var name='id'}">
    <div class="wf_actions buttons">
    <div class="buttonHolder buttons">
      <button class="positive iconstxt icoPositive" type="button" value="{tmpl_var name='btn_save_txt'}" onClick="submitForm('pageForm','admin/server_ip_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('admin/server_ip_list.php');"><span>{tmpl_var name='btn_cancel_txt'}</span></button>
    </div>
interface/web/admin/templates/server_ip_list.htm
@@ -1,4 +1,5 @@
<h2><tmpl_var name="list_head_txt"></h2>
<p><tmpl_var name="list_desc_txt"></p>
<div class="panel panel_list_server_ip">
interface/web/admin/templates/server_list.htm
@@ -1,4 +1,5 @@
<h2><tmpl_var name="list_head_txt"></h2>
<p><tmpl_var name="list_desc_txt"></p>
<div class="panel panel_list_server">
interface/web/admin/templates/software_package_list.htm
@@ -1,4 +1,5 @@
<h2><tmpl_var name="list_head_txt"></h2>
<p><tmpl_var name="list_desc_txt"></p>
<div class="panel panel_list_package">
interface/web/admin/templates/software_repo_edit.htm
@@ -1,34 +1,37 @@
<h2><tmpl_var name="list_head_txt"></h2>
<p><tmpl_var name="list_desc_txt"></p>
<div class="panel panel_software_repo">
  <div class="pnl_formsarea">
    <fieldset id="wf_area_software_repo"><legend>Repository</legend>
      <span class="wf_oneField">
        <label for="repo_name" class="wf_preField">{tmpl_var name='repo_name_txt'}</label>
        <input type="text" id="repo_name" name="repo_name" value="{tmpl_var name='repo_name'}" size="40" maxlength="40">
      </span>
      <span class="wf_oneField">
        <label for="repo_url" class="wf_preField">{tmpl_var name='repo_url_txt'}</label>
        <input type="text" id="repo_url" name="repo_url" value="{tmpl_var name='repo_url'}" size="40" maxlength="40">
      </span>
      <span class="wf_oneField">
        <label for="repo_username" class="wf_preField">{tmpl_var name='repo_username_txt'}</label>
        <input type="text" id="repo_username" name="repo_username" value="{tmpl_var name='repo_username'}" size="30" maxlength="30">
      </span>
      <span class="wf_oneField">
        <label for="repo_password" class="wf_preField">{tmpl_var name='repo_password_txt'}</label>
        <input type="password" id="repo_password" name="repo_password" value="{tmpl_var name='repo_password'}" size="30" maxlength="30">
      </span>
      <span class="wf_oneField">
        <label for="active" class="wf_preField">{tmpl_var name='active_txt'}</label>
        <span class="">{tmpl_var name='active'}</span>
      </span>
    <fieldset class="inlineLabels"><legend>Repository</legend>
      <div class="ctrlHolder">
          <label for="repo_name">{tmpl_var name='repo_name_txt'}</label>
        <input name="repo_name" id="repo_name" value="{tmpl_var name='repo_name'}" size="40" maxlength="40" type="text" class="textInput" />
            </div>
      <div class="ctrlHolder">
          <label for="repo_url">{tmpl_var name='repo_url_txt'}</label>
        <input name="repo_url" id="repo_url" value="{tmpl_var name='repo_url'}" size="40" maxlength="40" type="text" class="textInput" />
            </div>
      <div class="ctrlHolder">
          <label for="repo_username">{tmpl_var name='repo_username_txt'}</label>
        <input name="repo_username" id="repo_username" value="{tmpl_var name='repo_username'}" size="30" maxlength="30" type="text" class="textInput" />
            </div>
      <div class="ctrlHolder">
          <label for="repo_password">{tmpl_var name='repo_password_txt'}</label>
        <input name="repo_password" id="repo_password" value="{tmpl_var name='repo_password'}" size="30" maxlength="30" type="password" class="textInput" />
            </div>
      <div class="ctrlHolder">
                <p class="label">{tmpl_var name='active_txt'}</p>
                    <div class="multiField">
                        {tmpl_var name='active'}
                    </div>
            </div>
    </fieldset>
    <input type="hidden" name="id" value="{tmpl_var name='id'}">
    <div class="wf_actions buttons">
    <div class="buttonHolder buttons">
      <button class="positive iconstxt icoPositive" type="button" value="{tmpl_var name='btn_save_txt'}" onClick="submitForm('pageForm','admin/software_repo_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('admin/software_repo_list.php');"><span>{tmpl_var name='btn_cancel_txt'}</span></button>
    </div>
interface/web/admin/templates/software_repo_list.htm
@@ -1,4 +1,5 @@
<h2><tmpl_var name="list_head_txt"></h2>
<p><tmpl_var name="list_desc_txt"></p>
<div class="panel panel_list_software_repo">
interface/web/admin/templates/software_update_list.htm
@@ -1,18 +1,19 @@
<h2><tmpl_var name="list_head_txt"></h2>
<p><tmpl_var name="list_desc_txt"></p>
<div class="panel panel_list_software_update">
  <div class="pnl_toolsarea">
    <fieldset><legend>Tools</legend>
    <fieldset class="inlineLabels"><legend>Tools</legend>
      <div class="buttons">
        <span class="wf_oneField">
          <label for="server_id" class="wf_preField">{tmpl_var name='server_select_txt'}</label>
          <select name="server_id" id="server_id" onChange="submitForm('pageForm','admin/software_update_list.php');">
          <tmpl_loop name="servers">
            <option value="{tmpl_var name='server_id'}" {tmpl_var name='selected'}>{tmpl_var name='server_name'}</option>
          </tmpl_loop>
          </select>
        </span>
          <div class="ctrlHolder">
              <label for="server_id">{tmpl_var name='server_select_txt'}</label>
            <select name="server_id" id="server_id" class="selectInput" onChange="submitForm('pageForm','admin/software_update_list.php');">
            <tmpl_loop name="servers">
              <option value="{tmpl_var name='server_id'}" {tmpl_var name='selected'}>{tmpl_var name='server_name'}</option>
            </tmpl_loop>
                    </select>
          </div>
      </div>
    </fieldset>
  </div>
interface/web/admin/templates/system_config_mail_edit.htm
@@ -1,19 +1,21 @@
<h2><tmpl_var name="list_head_txt"></h2>
<p><tmpl_var name="list_desc_txt"></p>
<div class="panel panel_system_config">
  <div class="pnl_formsarea">
    <fieldset id="wf_area_system_config"><legend>Mail</legend>
      <span class="wf_oneField">
        <label for="mailboxlist_webmail_link" class="wf_preField">{tmpl_var name='mailboxlist_webmail_link_txt'}</label>                    <span class="">
                      {tmpl_var name='mailboxlist_webmail_link'}
                    </span>
      </span>
    <fieldset class="inlineLabels"><legend>Mail</legend>
      <div class="ctrlHolder">
                <p class="label">{tmpl_var name='mailboxlist_webmail_link_txt'}</p>
                    <div class="multiField">
                        {tmpl_var name='mailboxlist_webmail_link'}
                    </div>
            </div>
    </fieldset>
    <input type="hidden" name="id" value="{tmpl_var name='id'}">
    <div class="wf_actions buttons">
    <div class="buttonHolder buttons">
      <button class="positive iconstxt icoPositive" type="button" value="{tmpl_var name='btn_save_txt'}" onClick="submitForm('pageForm','admin/system_config_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('admin/users_list.php');"><span>{tmpl_var name='btn_cancel_txt'}</span></button>
    </div>
interface/web/admin/templates/system_config_sites_edit.htm
@@ -1,35 +1,37 @@
<h2><tmpl_var name="list_head_txt"></h2>
<p><tmpl_var name="list_desc_txt"></p>
<div class="panel panel_system_config">
  <div class="pnl_formsarea">
    <fieldset id="wf_area_system_config"><legend>Sites</legend>
      <span class="wf_oneField">
        <label for="dbname_prefix" class="wf_preField">{tmpl_var name='dbname_prefix_txt'}</label>
        <input type="text" id="dbname_prefix" name="dbname_prefix" value="{tmpl_var name='dbname_prefix'}" size="30" maxlength="255">
      </span>
      <span class="wf_oneField">
        <label for="dbuser_prefix" class="wf_preField">{tmpl_var name='dbuser_prefix_txt'}</label>
        <input type="text" id="dbuser_prefix" name="dbuser_prefix" value="{tmpl_var name='dbuser_prefix'}" size="30" maxlength="255">
      </span>
      <span class="wf_oneField">
        <label for="ftpuser_prefix" class="wf_preField">{tmpl_var name='ftpuser_prefix_txt'}</label>
        <input type="text" id="ftpuser_prefix" name="ftpuser_prefix" value="{tmpl_var name='ftpuser_prefix'}" size="30" maxlength="255">
      </span>
      <span class="wf_oneField">
        <label for="shelluser_prefix" class="wf_preField">{tmpl_var name='shelluser_prefix_txt'}</label>
        <input type="text" id="shelluser_prefix" name="shelluser_prefix" value="{tmpl_var name='shelluser_prefix'}" size="30" maxlength="255">
      </span>
      <span class="wf_oneField">
        <label for="dblist_phpmyadmin_link" class="wf_preField">{tmpl_var name='dblist_phpmyadmin_link_txt'}</label>                    <span class="">
                      {tmpl_var name='dblist_phpmyadmin_link'}
                    </span>
      </span>
    <fieldset class="inlineLabels"><legend>Sites</legend>
      <div class="ctrlHolder">
          <label for="dbname_prefix">{tmpl_var name='dbname_prefix_txt'}</label>
        <input name="dbname_prefix" id="dbname_prefix" value="{tmpl_var name='dbname_prefix'}" size="30" maxlength="255" type="text" class="textInput" />
            </div>
      <div class="ctrlHolder">
          <label for="dbuser_prefix">{tmpl_var name='dbuser_prefix_txt'}</label>
        <input name="dbuser_prefix" id="dbuser_prefix" value="{tmpl_var name='dbuser_prefix'}" size="30" maxlength="255" type="text" class="textInput" />
            </div>
      <div class="ctrlHolder">
          <label for="ftpuser_prefix">{tmpl_var name='ftpuser_prefix_txt'}</label>
        <input name="ftpuser_prefix" id="ftpuser_prefix" value="{tmpl_var name='ftpuser_prefix'}" size="30" maxlength="255" type="text" class="textInput" />
            </div>
      <div class="ctrlHolder">
          <label for="shelluser_prefix">{tmpl_var name='shelluser_prefix_txt'}</label>
        <input name="shelluser_prefix" id="shelluser_prefix" value="{tmpl_var name='shelluser_prefix'}" size="30" maxlength="255" type="text" class="textInput" />
            </div>
      <div class="ctrlHolder">
                <p class="label">{tmpl_var name='dblist_phpmyadmin_link_txt'}</p>
                    <div class="multiField">
                        {tmpl_var name='dblist_phpmyadmin_link'}
                    </div>
            </div>
    </fieldset>
    <input type="hidden" name="id" value="{tmpl_var name='id'}">
    <div class="wf_actions buttons">
    <div class="buttonHolder buttons">
      <button class="positive iconstxt icoPositive" type="button" value="{tmpl_var name='btn_save_txt'}" onClick="submitForm('pageForm','admin/system_config_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('admin/users_list.php');"><span>{tmpl_var name='btn_cancel_txt'}</span></button>
    </div>
interface/web/admin/templates/users_groups_edit.htm
@@ -1,22 +1,27 @@
<h2><tmpl_var name="list_head_txt"></h2>
<p><tmpl_var name="list_desc_txt"></p>
<div class="panel panel_users">
  <div class="pnl_formsarea">
    <fieldset id="wf_area_users"><legend>Groups</legend>
      <span class="wf_oneField">
        <label for="default_group" class="wf_preField">{tmpl_var name='default_group_txt'}</label>
        <select id="default_group" name="default_group">{tmpl_var name='default_group'}</select>
      </span>
      <span class="wf_oneField">
        <span class="wf_label wf_preField">{tmpl_var name='groups_txt'}</span>
        <fieldset>{tmpl_var name='groups'}</fieldset>
      </span>
    <fieldset class="inlineLabels"><legend>Groups</legend>
      <div class="ctrlHolder">
          <label for="default_group">{tmpl_var name='default_group_txt'}</label>
        <select name="default_group" id="default_group" class="selectInput">
                    {tmpl_var name='default_group'}
                </select>
      </div>
      <div class="ctrlHolder">
                <p class="label">{tmpl_var name='groups_txt'}</p>
                    <div class="multiField">
                        {tmpl_var name='groups'}
                    </div>
            </div>
    </fieldset>
    <input type="hidden" name="id" value="{tmpl_var name='id'}">
    <div class="wf_actions buttons">
    <div class="buttonHolder buttons">
      <button class="positive iconstxt icoPositive" type="button" value="{tmpl_var name='btn_save_txt'}" onClick="submitForm('pageForm','admin/users_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('admin/users_list.php');"><span>{tmpl_var name='btn_cancel_txt'}</span></button>
    </div>
interface/web/admin/templates/users_list.htm
@@ -1,59 +1,60 @@
<h2><tmpl_var name="list_head_txt"></h2>
<div class="panel panel_list_users">
  <div class="pnl_toolsarea">
    <fieldset><legend>Tools</legend>
      <div class="buttons">
        <button class="iconstxt icoAdd" type="button" onClick="loadContent('admin/users_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_username" scope="col"><tmpl_var name="username_txt"></th>
            <th class="tbl_col_vorname" scope="col"><tmpl_var name="vorname_txt"></th>
            <th class="tbl_col_name" scope="col"><tmpl_var name="name_txt"></th>
            <th class="tbl_col_ort" scope="col"><tmpl_var name="ort_txt"></th>
            <th class="tbl_col_buttons" scope="col">&nbsp;</th>
          </tr>
          <tr>
            <td class="tbl_col_username"><input type="text" name="search_username" value="{tmpl_var name='search_username'}" /></td>
            <td class="tbl_col_vorname"><input type="text" name="search_vorname" value="{tmpl_var name='search_vorname'}" /></td>
            <td class="tbl_col_name"><input type="text" name="search_name" value="{tmpl_var name='search_name'}" /></td>
            <td class="tbl_col_ort"><input type="text" name="search_ort" value="{tmpl_var name='search_ort'}" /></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','admin/users_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_username"><a href="#" onClick="loadContent('admin/users_edit.php?id={tmpl_var name='id'}');">{tmpl_var name="username"}</a></td>
            <td class="tbl_col_vorname"><a href="#" onClick="loadContent('admin/users_edit.php?id={tmpl_var name='id'}');">{tmpl_var name="vorname"}</a></td>
            <td class="tbl_col_name"><a href="#" onClick="loadContent('admin/users_edit.php?id={tmpl_var name='id'}');">{tmpl_var name="name"}</a></td>
            <td class="tbl_col_ort"><a href="#" onClick="loadContent('admin/users_edit.php?id={tmpl_var name='id'}');">{tmpl_var name="ort"}</a></td>
            <td class="tbl_col_buttons">
              <div class="buttons icons16">
                <a class="icons16 icoLoginAs" href="#" onclick="loadContent('admin/login_as.php?id={tmpl_var name='id'}');"><span>{tmpl_var name='login_as_txt'}</span></a>
                <a class="icons16 icoDelete" href="javascript: del_record('admin/users_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>
<h2><tmpl_var name="list_head_txt"></h2>
<p><tmpl_var name="list_desc_txt"></p>
<div class="panel panel_list_users">
  <div class="pnl_toolsarea">
    <fieldset><legend>Tools</legend>
      <div class="buttons">
        <button class="iconstxt icoAdd" type="button" onClick="loadContent('admin/users_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_username" scope="col"><tmpl_var name="username_txt"></th>
            <th class="tbl_col_vorname" scope="col"><tmpl_var name="vorname_txt"></th>
            <th class="tbl_col_name" scope="col"><tmpl_var name="name_txt"></th>
            <th class="tbl_col_ort" scope="col"><tmpl_var name="ort_txt"></th>
            <th class="tbl_col_buttons" scope="col">&nbsp;</th>
          </tr>
          <tr>
            <td class="tbl_col_username"><input type="text" name="search_username" value="{tmpl_var name='search_username'}" /></td>
            <td class="tbl_col_vorname"><input type="text" name="search_vorname" value="{tmpl_var name='search_vorname'}" /></td>
            <td class="tbl_col_name"><input type="text" name="search_name" value="{tmpl_var name='search_name'}" /></td>
            <td class="tbl_col_ort"><input type="text" name="search_ort" value="{tmpl_var name='search_ort'}" /></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','admin/users_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_username"><a href="#" onClick="loadContent('admin/users_edit.php?id={tmpl_var name='id'}');">{tmpl_var name="username"}</a></td>
            <td class="tbl_col_vorname"><a href="#" onClick="loadContent('admin/users_edit.php?id={tmpl_var name='id'}');">{tmpl_var name="vorname"}</a></td>
            <td class="tbl_col_name"><a href="#" onClick="loadContent('admin/users_edit.php?id={tmpl_var name='id'}');">{tmpl_var name="name"}</a></td>
            <td class="tbl_col_ort"><a href="#" onClick="loadContent('admin/users_edit.php?id={tmpl_var name='id'}');">{tmpl_var name="ort"}</a></td>
            <td class="tbl_col_buttons">
              <div class="buttons icons16">
                <a class="icons16 icoLoginAs" href="#" onclick="loadContent('admin/login_as.php?id={tmpl_var name='id'}');"><span>{tmpl_var name='login_as_txt'}</span></a>
                <a class="icons16 icoDelete" href="javascript: del_record('admin/users_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>
interface/web/admin/templates/users_user_edit.htm
@@ -1,49 +1,64 @@
<h2><tmpl_var name="list_head_txt"></h2>
<p><tmpl_var name="list_desc_txt"></p>
<div class="panel panel_users">
  <div class="pnl_formsarea">
    <fieldset id="wf_area_users"><legend>Users</legend>
      <span class="wf_oneField">
        <label for="username" class="wf_preField">{tmpl_var name='username_txt'}</label>
        <input type="text" id="username" name="username" value="{tmpl_var name='username'}" size="15" maxlength="30">
      </span>
      <span class="wf_oneField">
        <label for="passwort" class="wf_preField">{tmpl_var name='passwort_txt'}</label>
        <input type="password" id="passwort" name="passwort" value="{tmpl_var name='passwort'}" size="15" maxlength="100" onkeyup="pass_check(this.value)">
      </span>
      <span class="wf_oneField">
        <span class="wf_preField">{tmpl_var name='password_strength_txt'}</span>
        <span class="wf_passwordStrength"><div id="passBar"></div><span id="passText">&nbsp;</span></span>
      </span>
      <span class="wf_oneField" style="clear:left">
        <span class="wf_label wf_preField">{tmpl_var name='modules_txt'}</span>
        <fieldset>{tmpl_var name='modules'}</fieldset>
      </span>
      <span class="wf_oneField">
        <label for="startmodule" class="wf_preField">{tmpl_var name='startmodule_txt'}</label>
        <select id="startmodule" name="startmodule">{tmpl_var name='startmodule'}</select>
      </span>
      <span class="wf_oneField">
        <span class="wf_label wf_preField">{tmpl_var name='app_theme_txt'}</span>
        <fieldset>{tmpl_var name='app_theme'}</fieldset>
      </span>      <span class="wf_oneField">
        <span class="wf_label wf_preField">{tmpl_var name='typ_txt'}</span>
        <fieldset>{tmpl_var name='typ'}</fieldset>
      </span>
      <span class="wf_oneField">
        <label for="active" class="wf_preField">{tmpl_var name='active_txt'}</label>
        <span class="">{tmpl_var name='active'}</span>
      </span>
      <span class="wf_oneField">
        <label for="language" class="wf_preField">{tmpl_var name='language_txt'}</label>
        <select id="language" class="withicons" name="language">{tmpl_var name='language'}</select>
      </span>
    <fieldset class="inlineLabels"><legend>Users</legend>
      <div class="ctrlHolder">
          <label for="username">{tmpl_var name='username_txt'}</label>
        <input name="username" id="username" value="{tmpl_var name='username'}" size="15" maxlength="30" type="text" class="textInput" />
            </div>
      <div class="ctrlHolder">
          <label for="passwort">{tmpl_var name='passwort_txt'}</label>
        <input name="passwort" id="passwort" value="{tmpl_var name='passwort'}" size="15" maxlength="100" 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">&nbsp;</span></p>
            </div>
      <div class="ctrlHolder">
                <p class="label">{tmpl_var name='modules_txt'}</p>
                    <div class="multiField">
                        {tmpl_var name='modules'}
                    </div>
            </div>
      <div class="ctrlHolder">
          <label for="startmodule">{tmpl_var name='startmodule_txt'}</label>
        <select name="startmodule" id="startmodule" class="selectInput">
                    {tmpl_var name='startmodule'}
                </select>
      </div>
      <div class="ctrlHolder">
                <p class="label">{tmpl_var name='app_theme_txt'}</p>
                    <div class="multiField">
                        {tmpl_var name='app_theme'}
                    </div>
            </div>
      <div class="ctrlHolder">
                <p class="label">{tmpl_var name='typ_txt'}</p>
                    <div class="multiField">
                        {tmpl_var name='typ'}
                    </div>
            </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="language">{tmpl_var name='language_txt'}</label>
        <select name="language" id="language" class="selectInput withicons">
                    {tmpl_var name='language'}
                </select>
      </div>
    </fieldset>
    <input type="hidden" name="id" value="{tmpl_var name='id'}">
    <div class="wf_actions buttons">
    <div class="buttonHolder buttons">
      <button class="positive iconstxt icoPositive" type="button" value="{tmpl_var name='btn_save_txt'}" onClick="submitForm('pageForm','admin/users_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('admin/users_list.php');"><span>{tmpl_var name='btn_cancel_txt'}</span></button>
    </div>
interface/web/client/templates/client_edit_address.htm
@@ -1,90 +1,98 @@
<h2><tmpl_var name="list_head_txt"></h2>
<p><tmpl_var name="list_desc_txt"></p>
<div class="panel panel_client">
  <div class="pnl_formsarea">
    <fieldset id="wf_area_client"><legend>Address</legend>
      <span class="wf_oneField">
        <label for="company_name" class="wf_preField">{tmpl_var name='company_name_txt'}</label>
        <input type="text" id="company_name" name="company_name" value="{tmpl_var name='company_name'}" size="30" maxlength="255">
      </span>
      <span class="wf_oneField">
        <label for="contact_name" class="wf_preField">{tmpl_var name='contact_name_txt'}</label>
        <input type="text" id="contact_name" name="contact_name" value="{tmpl_var name='contact_name'}" size="30" maxlength="255" class="wf_required"><span class="wf_reqMark">*</span><br>
      </span>
      <span class="wf_oneField">
        <label for="username" class="wf_preField">{tmpl_var name='username_txt'}</label>
        <input type="text" id="username" name="username" value="{tmpl_var name='username'}" size="30" maxlength="255" class="wf_required"><span class="wf_reqMark">*</span><br>
      </span>
      <span class="wf_oneField">
        <label for="password" class="wf_preField">{tmpl_var name='password_txt'}</label>
        <input type="password" id="password" name="password" value="{tmpl_var name='password'}" size="30" maxlength="255" class="wf_required" onkeyup="pass_check(this.value)"><span class="wf_reqMark">*</span><br>
      </span>
      <span class="wf_oneField">
        <span class="wf_preField">{tmpl_var name='password_strength_txt'}</span>
        <span class="wf_passwordStrength"><div id="passBar"></div><span id="passText">&nbsp;</span></span>
      </span>
      <span class="wf_oneField">
        <label for="language" class="wf_preField">{tmpl_var name='language_txt'}</label>
        <select id="language" class="withicons" name="language">{tmpl_var name='language'}</select>
      </span>
      <span class="wf_oneField">
        <label for="usertheme" class="wf_preField">{tmpl_var name='usertheme_txt'}</label>
        <select id="usertheme" name="usertheme">{tmpl_var name='usertheme'}</select>
      </span>
      <span class="wf_oneField">
        <label for="street" class="wf_preField">{tmpl_var name='street_txt'}</label>
        <input type="text" id="street" name="street" value="{tmpl_var name='street'}" size="30" maxlength="255">
      </span>
      <span class="wf_oneField">
        <label for="zip" class="wf_preField">{tmpl_var name='zip_txt'}</label>
        <input type="text" id="zip" name="zip" value="{tmpl_var name='zip'}" size="10" maxlength="255">
      </span>
      <span class="wf_oneField">
        <label for="city" class="wf_preField">{tmpl_var name='city_txt'}</label>
        <input type="text" id="city" name="city" value="{tmpl_var name='city'}" size="30" maxlength="255">
      </span>
      <span class="wf_oneField">
        <label for="state" class="wf_preField">{tmpl_var name='state_txt'}</label>
        <input type="text" id="state" name="state" value="{tmpl_var name='state'}" size="30" maxlength="255">
      </span>
      <span class="wf_oneField">
        <label for="country" class="wf_preField">{tmpl_var name='country_txt'}</label>
        <select id="country" class="withicons" name="country">{tmpl_var name='country'}</select>
      </span>
      <span class="wf_oneField">
        <label for="telephone" class="wf_preField">{tmpl_var name='telephone_txt'}</label>
        <input type="text" id="telephone" name="telephone" value="{tmpl_var name='telephone'}" size="30" maxlength="255">
      </span>
      <span class="wf_oneField">
        <label for="mobile" class="wf_preField">{tmpl_var name='mobile_txt'}</label>
        <input type="text" id="mobile" name="mobile" value="{tmpl_var name='mobile'}" size="30" maxlength="255">
      </span>
      <span class="wf_oneField">
        <label for="fax" class="wf_preField">{tmpl_var name='fax_txt'}</label>
        <input type="text" id="fax" name="fax" value="{tmpl_var name='fax'}" size="30" maxlength="255">
      </span>
      <span class="wf_oneField">
        <label for="email" class="wf_preField">{tmpl_var name='email_txt'}</label>
        <input type="text" id="email" name="email" value="{tmpl_var name='email'}" size="30" maxlength="255">
      </span>
      <span class="wf_oneField">
        <label for="internet" class="wf_preField">{tmpl_var name='internet_txt'}</label>
        <input type="text" id="internet" name="internet" value="{tmpl_var name='internet'}" size="30" maxlength="255">
      </span>
      <span class="wf_oneField">
        <label for="icq" class="wf_preField">{tmpl_var name='icq_txt'}</label>
        <input type="text" id="icq" name="icq" value="{tmpl_var name='icq'}" size="30" maxlength="255">
      </span>
      <span class="wf_oneField">
        <label for="notes" class="wf_preField">{tmpl_var name='notes_txt'}</label>
        <textarea id="notes" name="notes" cols='50' rows='10'>{tmpl_var name='notes'}</textarea>
      </span>
    <fieldset class="inlineLabels"><legend>Address</legend>
      <div class="ctrlHolder">
          <label for="company_name">{tmpl_var name='company_name_txt'}</label>
        <input name="company_name" id="company_name" value="{tmpl_var name='company_name'}" size="30" maxlength="255" type="text" class="textInput" />
            </div>
      <div class="ctrlHolder">
          <label for="contact_name">{tmpl_var name='contact_name_txt'}</label>
        <input name="contact_name" id="contact_name" value="{tmpl_var name='contact_name'}" size="30" maxlength="255" type="text" class="textInput" />
            </div>
      <div class="ctrlHolder">
          <label for="username">{tmpl_var name='username_txt'}</label>
        <input name="username" id="username" value="{tmpl_var name='username'}" size="30" maxlength="255" type="text" class="textInput" />
            </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">&nbsp;</span></p>
            </div>
      <div class="ctrlHolder">
          <label for="language">{tmpl_var name='language_txt'}</label>
        <select name="language" id="language" class="selectInput withicons">
                    {tmpl_var name='language'}
                </select>
      </div>
      <div class="ctrlHolder">
          <label for="usertheme">{tmpl_var name='usertheme_txt'}</label>
        <select name="usertheme" id="usertheme" class="selectInput">
                    {tmpl_var name='usertheme'}
                </select>
      </div>
      <div class="ctrlHolder">
          <label for="street">{tmpl_var name='street_txt'}</label>
        <input name="street" id="street" value="{tmpl_var name='street'}" size="30" maxlength="255" type="text" class="textInput" />
            </div>
      <div class="ctrlHolder">
          <label for="zip">{tmpl_var name='zip_txt'}</label>
        <input name="zip" id="zip" value="{tmpl_var name='zip'}" size="10" maxlength="255" type="text" class="textInput" />
            </div>
      <div class="ctrlHolder">
          <label for="city">{tmpl_var name='city_txt'}</label>
        <input name="city" id="city" value="{tmpl_var name='city'}" size="30" maxlength="255" type="text" class="textInput" />
            </div>
      <div class="ctrlHolder">
          <label for="state">{tmpl_var name='state_txt'}</label>
        <input name="state" id="state" value="{tmpl_var name='state'}" size="30" maxlength="255" type="text" class="textInput" />
            </div>
      <div class="ctrlHolder">
          <label for="country">{tmpl_var name='country_txt'}</label>
        <select name="country" id="country" class="selectInput withicons">
                    {tmpl_var name='country'}
                </select>
      </div>
      <div class="ctrlHolder">
          <label for="telephone">{tmpl_var name='telephone_txt'}</label>
        <input name="telephone" id="telephone" value="{tmpl_var name='telephone'}" size="30" maxlength="255" type="text" class="textInput" />
            </div>
      <div class="ctrlHolder">
          <label for="mobile">{tmpl_var name='mobile_txt'}</label>
        <input name="mobile" id="mobile" value="{tmpl_var name='mobile'}" size="30" maxlength="255" type="text" class="textInput" />
            </div>
      <div class="ctrlHolder">
          <label for="fax">{tmpl_var name='fax_txt'}</label>
        <input name="fax" id="fax" value="{tmpl_var name='fax'}" size="30" maxlength="255" type="text" class="textInput" />
            </div>
      <div class="ctrlHolder">
          <label for="email">{tmpl_var name='email_txt'}</label>
        <input name="email" id="email" value="{tmpl_var name='email'}" size="30" maxlength="255" type="text" class="textInput" />
            </div>
      <div class="ctrlHolder">
          <label for="internet">{tmpl_var name='internet_txt'}</label>
        <input name="internet" id="internet" value="{tmpl_var name='internet'}" size="30" maxlength="255" type="text" class="textInput" />
            </div>
      <div class="ctrlHolder">
          <label for="icq">{tmpl_var name='icq_txt'}</label>
        <input name="icq" id="icq" value="{tmpl_var name='icq'}" size="30" maxlength="255" type="text" class="textInput" />
            </div>
      <div class="ctrlHolder">
          <label for="notes">{tmpl_var name='notes_txt'}</label>
        <textarea name="notes" id="notes" rows='10' cols='30'>{tmpl_var name='notes'}</textarea>
      </div>
    </fieldset>
    <input type="hidden" name="id" value="{tmpl_var name='id'}">
    <div class="wf_actions buttons">
    <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>
interface/web/client/templates/client_edit_limits.htm
@@ -1,139 +1,159 @@
<h2><tmpl_var name="list_head_txt"></h2>
<div class="panel panel_client">
  <div class="pnl_formsarea">
    <fieldset id="wf_area_client"><legend>Templates</legend>
      <div class="wf_actions 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>
      <span class="wf_oneField">
        <label for="template_master" class="wf_preField">{tmpl_var name='template_master_txt'}</label>
        <select id="template_master" name="template_master">{tmpl_var name='template_master'}</select>
        <label for="template_additional">{tmpl_var name='template_additional_txt'}</label>
        <select id="tpl_add_select" name="tpl_add_select">{tmpl_var name='tpl_add_select'}</select>
      </span>
      <span id="template_additional_list">{tmpl_var name='template_additional_list'}</span>
      <input type="hidden" id="template_additional" name="template_additional" value="{tmpl_var name='template_additional'}">
    </fieldset>
    <fieldset id="wf_area_client"><legend>Limits</legend>
      <span class="wf_oneField">
        <label for="default_mailserver" class="wf_preField">{tmpl_var name='default_mailserver_txt'}</label>
        <select id="default_mailserver" name="default_mailserver">{tmpl_var name='default_mailserver'}</select>
      </span>
      <span class="wf_oneField">
        <label for="limit_maildomain" class="wf_preField">{tmpl_var name='limit_maildomain_txt'}</label>
        <input type="text" id="limit_maildomain" name="limit_maildomain" value="{tmpl_var name='limit_maildomain'}" size="10" maxlength="10">
      </span>
      <span class="wf_oneField">
        <label for="limit_mailbox" class="wf_preField">{tmpl_var name='limit_mailbox_txt'}</label>
        <input type="text" id="limit_mailbox" name="limit_mailbox" value="{tmpl_var name='limit_mailbox'}" size="10" maxlength="10">
      </span>
      <span class="wf_oneField">
        <label for="limit_mailalias" class="wf_preField">{tmpl_var name='limit_mailalias_txt'}</label>
        <input type="text" id="limit_mailalias" name="limit_mailalias" value="{tmpl_var name='limit_mailalias'}" size="10" maxlength="10">
      </span>
      <span class="wf_oneField">
        <label for="limit_mailforward" class="wf_preField">{tmpl_var name='limit_mailforward_txt'}</label>
        <input type="text" id="limit_mailforward" name="limit_mailforward" value="{tmpl_var name='limit_mailforward'}" size="10" maxlength="10">
      </span>
      <span class="wf_oneField">
        <label for="limit_mailcatchall" class="wf_preField">{tmpl_var name='limit_mailcatchall_txt'}</label>
        <input type="text" id="limit_mailcatchall" name="limit_mailcatchall" value="{tmpl_var name='limit_mailcatchall'}" size="10" maxlength="10">
      </span>
      <span class="wf_oneField">
        <label for="limit_mailrouting" class="wf_preField">{tmpl_var name='limit_mailrouting_txt'}</label>
        <input type="text" id="limit_mailrouting" name="limit_mailrouting" value="{tmpl_var name='limit_mailrouting'}" size="10" maxlength="10">
      </span>
      <span class="wf_oneField">
        <label for="limit_mailfilter" class="wf_preField">{tmpl_var name='limit_mailfilter_txt'}</label>
        <input type="text" id="limit_mailfilter" name="limit_mailfilter" value="{tmpl_var name='limit_mailfilter'}" size="10" maxlength="10">
      </span>
      <span class="wf_oneField">
        <label for="limit_fetchmail" class="wf_preField">{tmpl_var name='limit_fetchmail_txt'}</label>
        <input type="text" id="limit_fetchmail" name="limit_fetchmail" value="{tmpl_var name='limit_fetchmail'}" size="10" maxlength="10">
      </span>
      <span class="wf_oneField">
        <label for="limit_mailquota" class="wf_preField">{tmpl_var name='limit_mailquota_txt'}</label>
        <input type="text" id="limit_mailquota" name="limit_mailquota" value="{tmpl_var name='limit_mailquota'}" size="10" maxlength="10"> MB
      </span>
      <span class="wf_oneField">
        <label for="limit_spamfilter_wblist" class="wf_preField">{tmpl_var name='limit_spamfilter_wblist_txt'}</label>
        <input type="text" id="limit_spamfilter_wblist" name="limit_spamfilter_wblist" value="{tmpl_var name='limit_spamfilter_wblist'}" size="10" maxlength="10">
      </span>
      <span class="wf_oneField">
        <label for="limit_spamfilter_user" class="wf_preField">{tmpl_var name='limit_spamfilter_user_txt'}</label>
        <input type="text" id="limit_spamfilter_user" name="limit_spamfilter_user" value="{tmpl_var name='limit_spamfilter_user'}" size="10" maxlength="10">
      </span>
      <span class="wf_oneField">
        <label for="limit_spamfilter_policy" class="wf_preField">{tmpl_var name='limit_spamfilter_policy_txt'}</label>
        <input type="text" id="limit_spamfilter_policy" name="limit_spamfilter_policy" value="{tmpl_var name='limit_spamfilter_policy'}" size="10" maxlength="10">
      </span>
      <span class="wf_oneField">
        <label for="default_webserver" class="wf_preField">{tmpl_var name='default_webserver_txt'}</label>
        <select id="default_webserver" name="default_webserver">{tmpl_var name='default_webserver'}</select>
      </span>
      <span class="wf_oneField">
        <label for="limit_web_domain" class="wf_preField">{tmpl_var name='limit_web_domain_txt'}</label>
        <input type="text" id="limit_web_domain" name="limit_web_domain" value="{tmpl_var name='limit_web_domain'}" size="10" maxlength="10">
      </span>
      <span class="wf_oneField">
        <label for="web_php_options" class="wf_preField">{tmpl_var name='web_php_options_txt'}</label>
        {tmpl_var name='web_php_options'}
      </span>
      <span class="wf_oneField">
        <label for="limit_web_aliasdomain" class="wf_preField">{tmpl_var name='limit_web_aliasdomain_txt'}</label>
        <input type="text" id="limit_web_aliasdomain" name="limit_web_aliasdomain" value="{tmpl_var name='limit_web_aliasdomain'}" size="10" maxlength="10">
      </span>
      <span class="wf_oneField">
        <label for="limit_web_subdomain" class="wf_preField">{tmpl_var name='limit_web_subdomain_txt'}</label>
        <input type="text" id="limit_web_subdomain" name="limit_web_subdomain" value="{tmpl_var name='limit_web_subdomain'}" size="10" maxlength="10">
      </span>
      <span class="wf_oneField">
        <label for="limit_ftp_user" class="wf_preField">{tmpl_var name='limit_ftp_user_txt'}</label>
        <input type="text" id="limit_ftp_user" name="limit_ftp_user" value="{tmpl_var name='limit_ftp_user'}" size="10" maxlength="10">
      </span>
      <span class="wf_oneField">
        <label for="limit_shell_user" class="wf_preField">{tmpl_var name='limit_shell_user_txt'}</label>
        <input type="text" id="limit_shell_user" name="limit_shell_user" value="{tmpl_var name='limit_shell_user'}" size="10" maxlength="10">
      </span>
      <span class="wf_oneField">
        <label for="ssh_chroot" class="wf_preField">{tmpl_var name='ssh_chroot_txt'}</label>
        {tmpl_var name='ssh_chroot'}
      </span>
      <span class="wf_oneField">
        <label for="default_dnsserver" class="wf_preField">{tmpl_var name='default_dnsserver_txt'}</label>
        <select id="default_dnsserver" name="default_dnsserver">{tmpl_var name='default_dnsserver'}</select>
      </span>
      <span class="wf_oneField">
        <label for="limit_dns_zone" class="wf_preField">{tmpl_var name='limit_dns_zone_txt'}</label>
        <input type="text" id="limit_dns_zone" name="limit_dns_zone" value="{tmpl_var name='limit_dns_zone'}" size="10" maxlength="10">
      </span>
      <span class="wf_oneField">
        <label for="limit_dns_record" class="wf_preField">{tmpl_var name='limit_dns_record_txt'}</label>
        <input type="text" id="limit_dns_record" name="limit_dns_record" value="{tmpl_var name='limit_dns_record'}" size="10" maxlength="10">
      </span>
      <span class="wf_oneField">
        <label for="limit_client" class="wf_preField">{tmpl_var name='limit_client_txt'}</label>
        <input type="text" id="limit_client" name="limit_client" value="{tmpl_var name='limit_client'}" size="10" maxlength="10">
      </span>
      <span class="wf_oneField">
        <label for="default_dbserver" class="wf_preField">{tmpl_var name='default_dbserver_txt'}</label>
        <select id="default_dbserver" name="default_dbserver">{tmpl_var name='default_dbserver'}</select>
      </span>
      <span class="wf_oneField">
        <label for="limit_database" class="wf_preField">{tmpl_var name='limit_database_txt'}</label>
        <input type="text" id="limit_database" name="limit_database" value="{tmpl_var name='limit_database'}" size="10" maxlength="10">
      </span>
    </fieldset>
    <input type="hidden" name="id" value="{tmpl_var name='id'}">
    <div class="wf_actions 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>
<h2><tmpl_var name="list_head_txt"></h2>
<p><tmpl_var name="list_desc_txt"></p>
<div class="panel panel_client">
  <div class="pnl_toolsarea">
    <fieldset><legend>Tools</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>
  <div class="pnl_formsarea">
    <fieldset class="inlineLabels"><legend>Limits</legend>
      <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">
                    {tmpl_var name='tpl_add_select'}
                </select>
      </div>
      <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" />
            </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" />
            </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" />
            </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" />
            </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" />
            </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" />
            </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" />
            </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" />
            </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" />
            </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" />
            </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" />
            </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" />
            </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" />
            </div>
      <div class="ctrlHolder">
                <p class="label">{tmpl_var name='web_php_options_txt'}</p>
                    <div class="multiField">
                        {tmpl_var name='web_php_options'}
                    </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" />
            </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" />
            </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" />
            </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" />
            </div>
      <div class="ctrlHolder">
                <p class="label">{tmpl_var name='ssh_chroot_txt'}</p>
                    <div class="multiField">
                        {tmpl_var name='ssh_chroot'}
                    </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">
                    {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" />
            </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" />
            </div>
      <div class="ctrlHolder">
          <label for="limit_client">{tmpl_var name='limit_client_txt'}</label>
        <input name="limit_client" id="limit_client" value="{tmpl_var name='limit_client'}" size="10" maxlength="10" type="text" class="textInput" />
            </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" />
            </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','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>
interface/web/client/templates/client_template_edit_limits.htm
@@ -1,98 +1,99 @@
<h2><tmpl_var name="list_head_txt"></h2>
<p><tmpl_var name="list_desc_txt"></p>
<div class="panel panel_client">
<div class="panel panel_client_template">
  <div class="pnl_formsarea">
    <fieldset id="wf_area_client"><legend>Limits</legend>
      <span class="wf_oneField">
        <label for="limit_maildomain" class="wf_preField">{tmpl_var name='limit_maildomain_txt'}</label>
        <input type="text" id="limit_maildomain" name="limit_maildomain" value="{tmpl_var name='limit_maildomain'}" size="10" maxlength="10">
      </span>
      <span class="wf_oneField">
        <label for="limit_mailbox" class="wf_preField">{tmpl_var name='limit_mailbox_txt'}</label>
        <input type="text" id="limit_mailbox" name="limit_mailbox" value="{tmpl_var name='limit_mailbox'}" size="10" maxlength="10">
      </span>
      <span class="wf_oneField">
        <label for="limit_mailalias" class="wf_preField">{tmpl_var name='limit_mailalias_txt'}</label>
        <input type="text" id="limit_mailalias" name="limit_mailalias" value="{tmpl_var name='limit_mailalias'}" size="10" maxlength="10">
      </span>
      <span class="wf_oneField">
        <label for="limit_mailforward" class="wf_preField">{tmpl_var name='limit_mailforward_txt'}</label>
        <input type="text" id="limit_mailforward" name="limit_mailforward" value="{tmpl_var name='limit_mailforward'}" size="10" maxlength="10">
      </span>
      <span class="wf_oneField">
        <label for="limit_mailcatchall" class="wf_preField">{tmpl_var name='limit_mailcatchall_txt'}</label>
        <input type="text" id="limit_mailcatchall" name="limit_mailcatchall" value="{tmpl_var name='limit_mailcatchall'}" size="10" maxlength="10">
      </span>
      <span class="wf_oneField">
        <label for="limit_mailrouting" class="wf_preField">{tmpl_var name='limit_mailrouting_txt'}</label>
        <input type="text" id="limit_mailrouting" name="limit_mailrouting" value="{tmpl_var name='limit_mailrouting'}" size="10" maxlength="10">
      </span>
      <span class="wf_oneField">
        <label for="limit_mailfilter" class="wf_preField">{tmpl_var name='limit_mailfilter_txt'}</label>
        <input type="text" id="limit_mailfilter" name="limit_mailfilter" value="{tmpl_var name='limit_mailfilter'}" size="10" maxlength="10">
      </span>
      <span class="wf_oneField">
        <label for="limit_fetchmail" class="wf_preField">{tmpl_var name='limit_fetchmail_txt'}</label>
        <input type="text" id="limit_fetchmail" name="limit_fetchmail" value="{tmpl_var name='limit_fetchmail'}" size="10" maxlength="10">
      </span>
      <span class="wf_oneField">
        <label for="limit_mailquota" class="wf_preField">{tmpl_var name='limit_mailquota_txt'}</label>
        <input type="text" id="limit_mailquota" name="limit_mailquota" value="{tmpl_var name='limit_mailquota'}" size="10" maxlength="10">
      </span>
      <span class="wf_oneField">
        <label for="limit_spamfilter_wblist" class="wf_preField">{tmpl_var name='limit_spamfilter_wblist_txt'}</label>
        <input type="text" id="limit_spamfilter_wblist" name="limit_spamfilter_wblist" value="{tmpl_var name='limit_spamfilter_wblist'}" size="10" maxlength="10">
      </span>
      <span class="wf_oneField">
        <label for="limit_spamfilter_user" class="wf_preField">{tmpl_var name='limit_spamfilter_user_txt'}</label>
        <input type="text" id="limit_spamfilter_user" name="limit_spamfilter_user" value="{tmpl_var name='limit_spamfilter_user'}" size="10" maxlength="10">
      </span>
      <span class="wf_oneField">
        <label for="limit_spamfilter_policy" class="wf_preField">{tmpl_var name='limit_spamfilter_policy_txt'}</label>
        <input type="text" id="limit_spamfilter_policy" name="limit_spamfilter_policy" value="{tmpl_var name='limit_spamfilter_policy'}" size="10" maxlength="10">
      </span>
      <span class="wf_oneField">
        <label for="limit_web_domain" class="wf_preField">{tmpl_var name='limit_web_domain_txt'}</label>
        <input type="text" id="limit_web_domain" name="limit_web_domain" value="{tmpl_var name='limit_web_domain'}" size="10" maxlength="10">
      </span>
      <span class="wf_oneField">
        <label for="limit_web_aliasdomain" class="wf_preField">{tmpl_var name='limit_web_aliasdomain_txt'}</label>
        <input type="text" id="limit_web_aliasdomain" name="limit_web_aliasdomain" value="{tmpl_var name='limit_web_aliasdomain'}" size="10" maxlength="10">
      </span>
      <span class="wf_oneField">
        <label for="limit_web_subdomain" class="wf_preField">{tmpl_var name='limit_web_subdomain_txt'}</label>
        <input type="text" id="limit_web_subdomain" name="limit_web_subdomain" value="{tmpl_var name='limit_web_subdomain'}" size="10" maxlength="10">
      </span>
      <span class="wf_oneField">
        <label for="limit_ftp_user" class="wf_preField">{tmpl_var name='limit_ftp_user_txt'}</label>
        <input type="text" id="limit_ftp_user" name="limit_ftp_user" value="{tmpl_var name='limit_ftp_user'}" size="10" maxlength="10">
      </span>
      <span class="wf_oneField">
        <label for="limit_shell_user" class="wf_preField">{tmpl_var name='limit_shell_user_txt'}</label>
        <input type="text" id="limit_shell_user" name="limit_shell_user" value="{tmpl_var name='limit_shell_user'}" size="10" maxlength="10">
      </span>
      <span class="wf_oneField">
        <label for="limit_dns_zone" class="wf_preField">{tmpl_var name='limit_dns_zone_txt'}</label>
        <input type="text" id="limit_dns_zone" name="limit_dns_zone" value="{tmpl_var name='limit_dns_zone'}" size="10" maxlength="10">
      </span>
      <span class="wf_oneField">
        <label for="limit_dns_record" class="wf_preField">{tmpl_var name='limit_dns_record_txt'}</label>
        <input type="text" id="limit_dns_record" name="limit_dns_record" value="{tmpl_var name='limit_dns_record'}" size="10" maxlength="10">
      </span>
      <span class="wf_oneField">
        <label for="limit_client" class="wf_preField">{tmpl_var name='limit_client_txt'}</label>
        <input type="text" id="limit_client" name="limit_client" value="{tmpl_var name='limit_client'}" size="10" maxlength="10">
      </span>
      <span class="wf_oneField">
        <label for="limit_database" class="wf_preField">{tmpl_var name='limit_database_txt'}</label>
        <input type="text" id="limit_database" name="limit_database" value="{tmpl_var name='limit_database'}" size="10" maxlength="10">
      </span>
    <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" />
            </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" />
            </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" />
            </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" />
            </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" />
            </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" />
            </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" />
            </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" />
            </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" />
            </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" />
            </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" />
            </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" />
            </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" />
            </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" />
            </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" />
            </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" />
            </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" />
            </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" />
            </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" />
            </div>
      <div class="ctrlHolder">
          <label for="limit_client">{tmpl_var name='limit_client_txt'}</label>
        <input name="limit_client" id="limit_client" value="{tmpl_var name='limit_client'}" size="10" maxlength="10" type="text" class="textInput" />
            </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" />
            </div>
    </fieldset>
    <input type="hidden" name="id" value="{tmpl_var name='id'}">
    <div class="wf_actions buttons">
    <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>
interface/web/client/templates/client_template_edit_template.htm
@@ -1,25 +1,28 @@
<h2><tmpl_var name="list_head_txt"></h2>
<p><tmpl_var name="list_desc_txt"></p>
<div class="panel panel_client">
<div class="panel panel_client_template">
  <div class="pnl_formsarea">
    <fieldset id="wf_area_client"><legend>Template</legend>
      <span class="wf_oneField">
        <label for="template_type" class="wf_preField">{tmpl_var name='template_type_txt'}</label>
        <select id="template_type" name="template_type">{tmpl_var name='template_type'}</select>
      </span>
      <span class="wf_oneField">
        <label for="template_name" class="wf_preField">{tmpl_var name='template_name_txt'}</label>
        <input type="text" id="template_name" name="template_name" value="{tmpl_var name='template_name'}" size="30" maxlength="255" class="wf_required"><span class="wf_reqMark">*</span><br>
      </span>
    <fieldset class="inlineLabels"><legend>Template</legend>
      <div class="ctrlHolder">
          <label for="template_type">{tmpl_var name='template_type_txt'}</label>
        <select name="template_type" id="template_type" class="selectInput">
                    {tmpl_var name='template_type'}
                </select>
      </div>
      <div class="ctrlHolder">
          <label for="template_name">{tmpl_var name='template_name_txt'}</label>
        <input name="template_name" id="template_name" value="{tmpl_var name='template_name'}" size="30" maxlength="255" type="text" class="textInput" />
            </div>
    </fieldset>
    <input type="hidden" name="id" value="{tmpl_var name='id'}">
    <div class="wf_actions buttons">
    <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>
interface/web/client/templates/client_template_list.htm
@@ -1,52 +1,53 @@
<h2><tmpl_var name="list_head_txt"></h2>
<div class="panel panel_list_limit_template">
  <div class="pnl_toolsarea">
    <fieldset><legend>Tools</legend>
      <div class="buttons">
        <button class="iconstxt icoAdd" type="button" onClick="loadContent('client/client_template_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_template_type" scope="col"><tmpl_var name="template_type_txt"></th>
            <th class="tbl_col_template_name" scope="col"><tmpl_var name="template_name_txt"></th>
            <th class="tbl_col_last" scope="col">&nbsp;</th>
          </tr>
          <tr>
            <td class="tbl_col_template_type"><select name="search_template_type" onChange="submitForm('pageForm','client/client_template_list.php');">{tmpl_var name='search_template_type'}</select></td>
            <td class="tbl_col_template_name"><input type="text" name="search_template_name" value="{tmpl_var name='search_template_name'}" /></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','client/client_template_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_template_type"><a href="#" onClick="loadContent('client/client_template_edit.php?id={tmpl_var name='id'}');">{tmpl_var name="template_type"}</a></td>
            <td class="tbl_col_template_name"><a href="#" onClick="loadContent('client/client_template_edit.php?id={tmpl_var name='id'}');">{tmpl_var name="template_name"}</a></td>
            <td class="tbl_col_buttons">
              <div class="buttons icons16">
                <a class="icons16 icoDelete" href="javascript: del_record('client/client_template_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="6"><tmpl_var name="paging"></td>
          </tr>
        </tfoot>
      </table>
    </fieldset>
  </div>
<h2><tmpl_var name="list_head_txt"></h2>
<p><tmpl_var name="list_desc_txt"></p>
<div class="panel panel_list_limit_template">
  <div class="pnl_toolsarea">
    <fieldset><legend>Tools</legend>
      <div class="buttons">
        <button class="iconstxt icoAdd" type="button" onClick="loadContent('client/client_template_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_template_type" scope="col"><tmpl_var name="template_type_txt"></th>
            <th class="tbl_col_template_name" scope="col"><tmpl_var name="template_name_txt"></th>
            <th class="tbl_col_last" scope="col">&nbsp;</th>
          </tr>
          <tr>
            <td class="tbl_col_template_type"><select name="search_template_type" onChange="submitForm('pageForm','client/client_template_list.php');">{tmpl_var name='search_template_type'}</select></td>
            <td class="tbl_col_template_name"><input type="text" name="search_template_name" value="{tmpl_var name='search_template_name'}" /></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','client/client_template_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_template_type"><a href="#" onClick="loadContent('client/client_template_edit.php?id={tmpl_var name='id'}');">{tmpl_var name="template_type"}</a></td>
            <td class="tbl_col_template_name"><a href="#" onClick="loadContent('client/client_template_edit.php?id={tmpl_var name='id'}');">{tmpl_var name="template_name"}</a></td>
            <td class="tbl_col_buttons">
              <div class="buttons icons16">
                <a class="icons16 icoDelete" href="javascript: del_record('client/client_template_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="6"><tmpl_var name="paging"></td>
          </tr>
        </tfoot>
      </table>
    </fieldset>
  </div>
</div>
interface/web/client/templates/clients_list.htm
@@ -1,4 +1,5 @@
<h2><tmpl_var name="list_head_txt"></h2>
<p><tmpl_var name="list_desc_txt"></p>
<div class="panel panel_list_clients">
interface/web/dns/templates/dns_a_edit.htm
@@ -1,35 +1,38 @@
<h2><tmpl_var name="list_head_txt"></h2>
<div class="panel panel_dns_a">
  <div class="pnl_formsarea">
    <fieldset id="wf_area_dns_a"><legend>DNS A</legend>
      <span class="wf_oneField">
        <label for="name" class="wf_preField">{tmpl_var name='name_txt'}</label>
        <input type="text" id="name" name="name" value="{tmpl_var name='name'}" size="30" maxlength="255">
      </span>
      <span class="wf_oneField">
        <label for="data" class="wf_preField">{tmpl_var name='data_txt'}</label>
        <input type="text" id="data" name="data" value="{tmpl_var name='data'}" size="30" maxlength="255">
      </span>
      <span class="wf_oneField">
        <label for="ttl" class="wf_preField">{tmpl_var name='ttl_txt'}</label>
        <input type="text" id="ttl" name="ttl" value="{tmpl_var name='ttl'}" size="10" maxlength="10">
      </span>
      <span class="wf_oneField">
        <label for="active" class="wf_preField">{tmpl_var name='active_txt'}</label>
        <span class="">{tmpl_var name='active'}</span>
      </span>
    </fieldset>
    <input type="hidden" name="id" value="{tmpl_var name='id'}">
    <input type="hidden" name="zone" value="{tmpl_var name='zone'}">
    <input type="hidden" name="type" value="{tmpl_var name='type'}">
    <div class="wf_actions buttons">
      <button class="positive iconstxt icoPositive" type="button" value="{tmpl_var name='btn_save_txt'}" onClick="submitForm('pageForm','dns/dns_a_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('dns/dns_soa_list.php');"><span>{tmpl_var name='btn_cancel_txt'}</span></button>
    </div>
  </div>
</div>
<h2><tmpl_var name="list_head_txt"></h2>
<p><tmpl_var name="list_desc_txt"></p>
<div class="panel panel_dns_a">
  <div class="pnl_formsarea">
    <fieldset class="inlineLabels"><legend>DNS A</legend>
      <div class="ctrlHolder">
          <label for="name">{tmpl_var name='name_txt'}</label>
        <input name="name" id="name" value="{tmpl_var name='name'}" size="30" maxlength="255" type="text" class="textInput" />
            </div>
      <div class="ctrlHolder">
          <label for="data">{tmpl_var name='data_txt'}</label>
        <input name="data" id="data" value="{tmpl_var name='data'}" size="30" maxlength="255" type="text" class="textInput" />
            </div>
      <div class="ctrlHolder">
          <label for="ttl">{tmpl_var name='ttl_txt'}</label>
        <input name="ttl" id="ttl" value="{tmpl_var name='ttl'}" size="10" maxlength="10" type="text" class="textInput" />
            </div>
      <div class="ctrlHolder">
                <p class="label">{tmpl_var name='active_txt'}</p>
                    <div class="multiField">
                        {tmpl_var name='active'}
                    </div>
            </div>
    </fieldset>
    <input type="hidden" name="id" value="{tmpl_var name='id'}">
    <input type="hidden" name="zone" value="{tmpl_var name='zone'}">
    <input type="hidden" name="type" value="{tmpl_var name='type'}">
    <div class="buttonHolder buttons">
      <button class="positive iconstxt icoPositive" type="button" value="{tmpl_var name='btn_save_txt'}" onClick="submitForm('pageForm','dns/dns_a_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('dns/dns_soa_list.php');"><span>{tmpl_var name='btn_cancel_txt'}</span></button>
    </div>
  </div>
</div>
interface/web/dns/templates/dns_a_list.htm
@@ -1,82 +1,82 @@
  <div class="pnl_toolsarea">
    <fieldset><legend>Tools</legend>
      <div class="buttons">
        <button class="iconstxt icoAdd" type="button" onClick="loadContent('dns/dns_a_edit.php?zone={tmpl_var name='parent_id'}');">
          <span>A</span>
        </button>
        <button class="iconstxt icoAdd" type="button" onClick="loadContent('dns/dns_alias_edit.php?zone={tmpl_var name='parent_id'}');">
          <span>ALIAS</span>
        </button>
        <button class="iconstxt icoAdd" type="button" onClick="loadContent('dns/dns_cname_edit.php?zone={tmpl_var name='parent_id'}');">
          <span>CNAME</span>
        </button>
        <button class="iconstxt icoAdd" type="button" onClick="loadContent('dns/dns_hinfo_edit.php?zone={tmpl_var name='parent_id'}');">
          <span>HINFO</span>
        </button>
        <button class="iconstxt icoAdd" type="button" onClick="loadContent('dns/dns_mx_edit.php?zone={tmpl_var name='parent_id'}');">
          <span>MX</span>
        </button>
        <button class="iconstxt icoAdd" type="button" onClick="loadContent('dns/dns_ns_edit.php?zone={tmpl_var name='parent_id'}');">
          <span>NS</span>
        </button>
        <button class="iconstxt icoAdd" type="button" onClick="loadContent('dns/dns_ptr_edit.php?zone={tmpl_var name='parent_id'}');">
          <span>PTR</span>
        </button>
        <button class="iconstxt icoAdd" type="button" onClick="loadContent('dns/dns_rp_edit.php?zone={tmpl_var name='parent_id'}');">
          <span>RP</span>
        </button>
        <button class="iconstxt icoAdd" type="button" onClick="loadContent('dns/dns_srv_edit.php?zone={tmpl_var name='parent_id'}');">
          <span>SRV</span>
        </button>
        <button class="iconstxt icoAdd" type="button" onClick="loadContent('dns/dns_txt_edit.php?zone={tmpl_var name='parent_id'}');">
          <span>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_type" scope="col"><tmpl_var name="type_txt"></th>
            <th class="tbl_col_name" scope="col"><tmpl_var name="name_txt"></th>
            <th class="tbl_col_data" scope="col"><tmpl_var name="data_txt"></th>
            <th class="tbl_col_aux" scope="col"><tmpl_var name="aux_txt"></th>
            <th class="tbl_col_buttons" scope="col">&nbsp;</th>
          </tr>
          <tr>
            <td class="tbl_col_active"><select name="search_active" onChange="changeTab('dns_records','dns/dns_soa_edit.php');">{tmpl_var name='search_active'}</select></td>
            <td class="tbl_col_type"><select name="search_type" onChange="changeTab('dns_records','dns/dns_soa_edit.php');">{tmpl_var name='search_type'}</select></td>
            <td class="tbl_col_name"><input type="text" name="search_name" value="{tmpl_var name='search_name'}" /></td>
            <td class="tbl_col_data"><input type="text" name="search_data" value="{tmpl_var name='search_data'}" /></td>
            <td class="tbl_col_aux"><input type="text" name="search_aux" value="{tmpl_var name='search_aux'}" /></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="changeTab('dns_records','dns/dns_soa_edit.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('dns/dns_{tmpl_var name='type_lowercase'}_edit.php?id={tmpl_var name='id'}');"><img src="themes/{tmpl_var name='theme'}/icons/{tmpl_var name='_active_'}" border="0" /></a></td>
            <td class="tbl_col_type"><a href="#" onClick="loadContent('dns/dns_{tmpl_var name='type_lowercase'}_edit.php?id={tmpl_var name='id'}');">{tmpl_var name="type"}</a></td>
            <td class="tbl_col_name"><a href="#" onClick="loadContent('dns/dns_{tmpl_var name='type_lowercase'}_edit.php?id={tmpl_var name='id'}');">{tmpl_var name="name"}</a></td>
            <td class="tbl_col_data"><a href="#" onClick="loadContent('dns/dns_{tmpl_var name='type_lowercase'}_edit.php?id={tmpl_var name='id'}');">{tmpl_var name="data"}</a></td>
            <td class="tbl_col_aux"><a href="#" onClick="loadContent('dns/dns_{tmpl_var name='type_lowercase'}_edit.php?id={tmpl_var name='id'}');">{tmpl_var name="aux"}</a></td>
            <td class="tbl_col_buttons">
              <div class="buttons icons16">
                <a class="icons16 icoDelete" href="javascript: del_record('dns/dns_rr_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="6"><tmpl_var name="paging"></td>
          </tr>
        </tfoot>
      </table>
    </fieldset>
  </div>
  <div class="pnl_toolsarea">
    <fieldset><legend>Tools</legend>
      <div class="buttons">
        <button class="iconstxt icoAdd" type="button" onClick="loadContent('dns/dns_a_edit.php?zone={tmpl_var name='parent_id'}');">
          <span>A</span>
        </button>
        <button class="iconstxt icoAdd" type="button" onClick="loadContent('dns/dns_alias_edit.php?zone={tmpl_var name='parent_id'}');">
          <span>ALIAS</span>
        </button>
        <button class="iconstxt icoAdd" type="button" onClick="loadContent('dns/dns_cname_edit.php?zone={tmpl_var name='parent_id'}');">
          <span>CNAME</span>
        </button>
        <button class="iconstxt icoAdd" type="button" onClick="loadContent('dns/dns_hinfo_edit.php?zone={tmpl_var name='parent_id'}');">
          <span>HINFO</span>
        </button>
        <button class="iconstxt icoAdd" type="button" onClick="loadContent('dns/dns_mx_edit.php?zone={tmpl_var name='parent_id'}');">
          <span>MX</span>
        </button>
        <button class="iconstxt icoAdd" type="button" onClick="loadContent('dns/dns_ns_edit.php?zone={tmpl_var name='parent_id'}');">
          <span>NS</span>
        </button>
        <button class="iconstxt icoAdd" type="button" onClick="loadContent('dns/dns_ptr_edit.php?zone={tmpl_var name='parent_id'}');">
          <span>PTR</span>
        </button>
        <button class="iconstxt icoAdd" type="button" onClick="loadContent('dns/dns_rp_edit.php?zone={tmpl_var name='parent_id'}');">
          <span>RP</span>
        </button>
        <button class="iconstxt icoAdd" type="button" onClick="loadContent('dns/dns_srv_edit.php?zone={tmpl_var name='parent_id'}');">
          <span>SRV</span>
        </button>
        <button class="iconstxt icoAdd" type="button" onClick="loadContent('dns/dns_txt_edit.php?zone={tmpl_var name='parent_id'}');">
          <span>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_type" scope="col"><tmpl_var name="type_txt"></th>
            <th class="tbl_col_name" scope="col"><tmpl_var name="name_txt"></th>
            <th class="tbl_col_data" scope="col"><tmpl_var name="data_txt"></th>
            <th class="tbl_col_aux" scope="col"><tmpl_var name="aux_txt"></th>
            <th class="tbl_col_buttons" scope="col">&nbsp;</th>
          </tr>
          <tr>
            <td class="tbl_col_active"><select name="search_active" onChange="changeTab('dns_records','dns/dns_soa_edit.php');">{tmpl_var name='search_active'}</select></td>
            <td class="tbl_col_type"><select name="search_type" onChange="changeTab('dns_records','dns/dns_soa_edit.php');">{tmpl_var name='search_type'}</select></td>
            <td class="tbl_col_name"><input type="text" name="search_name" value="{tmpl_var name='search_name'}" /></td>
            <td class="tbl_col_data"><input type="text" name="search_data" value="{tmpl_var name='search_data'}" /></td>
            <td class="tbl_col_aux"><input type="text" name="search_aux" value="{tmpl_var name='search_aux'}" /></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="changeTab('dns_records','dns/dns_soa_edit.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('dns/dns_{tmpl_var name='type_lowercase'}_edit.php?id={tmpl_var name='id'}');"><img src="themes/{tmpl_var name='theme'}/icons/{tmpl_var name='_active_'}" border="0" /></a></td>
            <td class="tbl_col_type"><a href="#" onClick="loadContent('dns/dns_{tmpl_var name='type_lowercase'}_edit.php?id={tmpl_var name='id'}');">{tmpl_var name="type"}</a></td>
            <td class="tbl_col_name"><a href="#" onClick="loadContent('dns/dns_{tmpl_var name='type_lowercase'}_edit.php?id={tmpl_var name='id'}');">{tmpl_var name="name"}</a></td>
            <td class="tbl_col_data"><a href="#" onClick="loadContent('dns/dns_{tmpl_var name='type_lowercase'}_edit.php?id={tmpl_var name='id'}');">{tmpl_var name="data"}</a></td>
            <td class="tbl_col_aux"><a href="#" onClick="loadContent('dns/dns_{tmpl_var name='type_lowercase'}_edit.php?id={tmpl_var name='id'}');">{tmpl_var name="aux"}</a></td>
            <td class="tbl_col_buttons">
              <div class="buttons icons16">
                <a class="icons16 icoDelete" href="javascript: del_record('dns/dns_rr_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="6"><tmpl_var name="paging"></td>
          </tr>
        </tfoot>
      </table>
    </fieldset>
  </div>
interface/web/dns/templates/dns_alias_edit.htm
@@ -1,35 +1,38 @@
<h2><tmpl_var name="list_head_txt"></h2>
<div class="panel panel_dns_alias">
  <div class="pnl_formsarea">
    <fieldset id="wf_area_dns_alias"><legend>DNS ALIAS</legend>
      <span class="wf_oneField">
        <label for="name" class="wf_preField">{tmpl_var name='name_txt'}</label>
        <input type="text" id="name" name="name" value="{tmpl_var name='name'}" size="30" maxlength="255">
      </span>
      <span class="wf_oneField">
        <label for="data" class="wf_preField">{tmpl_var name='data_txt'}</label>
        <input type="text" id="data" name="data" value="{tmpl_var name='data'}" size="30" maxlength="255">
      </span>
      <span class="wf_oneField">
        <label for="ttl" class="wf_preField">{tmpl_var name='ttl_txt'}</label>
        <input type="text" id="ttl" name="ttl" value="{tmpl_var name='ttl'}" size="10" maxlength="10">
      </span>
      <span class="wf_oneField">
        <label for="active" class="wf_preField">{tmpl_var name='active_txt'}</label>
        <span class="">{tmpl_var name='active'}</span>
      </span>
    </fieldset>
    <input type="hidden" name="id" value="{tmpl_var name='id'}">
    <input type="hidden" name="zone" value="{tmpl_var name='zone'}">
    <input type="hidden" name="type" value="{tmpl_var name='type'}">
    <div class="wf_actions buttons">
      <button class="positive iconstxt icoPositive" type="button" value="{tmpl_var name='btn_save_txt'}" onClick="submitForm('pageForm','dns/dns_alias_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('dns/dns_soa_list.php');"><span>{tmpl_var name='btn_cancel_txt'}</span></button>
    </div>
  </div>
</div>
<h2><tmpl_var name="list_head_txt"></h2>
<p><tmpl_var name="list_desc_txt"></p>
<div class="panel panel_dns_alias">
  <div class="pnl_formsarea">
    <fieldset class="inlineLabels"><legend>DNS ALIAS</legend>
      <div class="ctrlHolder">
          <label for="name">{tmpl_var name='name_txt'}</label>
        <input name="name" id="name" value="{tmpl_var name='name'}" size="30" maxlength="255" type="text" class="textInput" />
            </div>
      <div class="ctrlHolder">
          <label for="data">{tmpl_var name='data_txt'}</label>
        <input name="data" id="data" value="{tmpl_var name='data'}" size="30" maxlength="255" type="text" class="textInput" />
            </div>
      <div class="ctrlHolder">
          <label for="ttl">{tmpl_var name='ttl_txt'}</label>
        <input name="ttl" id="ttl" value="{tmpl_var name='ttl'}" size="10" maxlength="10" type="text" class="textInput" />
            </div>
      <div class="ctrlHolder">
                <p class="label">{tmpl_var name='active_txt'}</p>
                    <div class="multiField">
                        {tmpl_var name='active'}
                    </div>
            </div>
    </fieldset>
    <input type="hidden" name="id" value="{tmpl_var name='id'}">
    <input type="hidden" name="zone" value="{tmpl_var name='zone'}">
    <input type="hidden" name="type" value="{tmpl_var name='type'}">
    <div class="buttonHolder buttons">
      <button class="positive iconstxt icoPositive" type="button" value="{tmpl_var name='btn_save_txt'}" onClick="submitForm('pageForm','dns/dns_alias_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('dns/dns_soa_list.php');"><span>{tmpl_var name='btn_cancel_txt'}</span></button>
    </div>
  </div>
</div>
interface/web/dns/templates/dns_cname_edit.htm
@@ -1,35 +1,38 @@
<h2><tmpl_var name="list_head_txt"></h2>
<div class="panel panel_dns_cname">
  <div class="pnl_formsarea">
    <fieldset id="wf_area_dns_cname"><legend>DNS CNAME</legend>
      <span class="wf_oneField">
        <label for="name" class="wf_preField">{tmpl_var name='name_txt'}</label>
        <input type="text" id="name" name="name" value="{tmpl_var name='name'}" size="30" maxlength="255">
      </span>
      <span class="wf_oneField">
        <label for="data" class="wf_preField">{tmpl_var name='data_txt'}</label>
        <input type="text" id="data" name="data" value="{tmpl_var name='data'}" size="30" maxlength="255">
      </span>
      <span class="wf_oneField">
        <label for="ttl" class="wf_preField">{tmpl_var name='ttl_txt'}</label>
        <input type="text" id="ttl" name="ttl" value="{tmpl_var name='ttl'}" size="10" maxlength="10">
      </span>
      <span class="wf_oneField">
        <label for="active" class="wf_preField">{tmpl_var name='active_txt'}</label>
        <span class="">{tmpl_var name='active'}</span>
      </span>
    </fieldset>
    <input type="hidden" name="id" value="{tmpl_var name='id'}">
    <input type="hidden" name="zone" value="{tmpl_var name='zone'}">
    <input type="hidden" name="type" value="{tmpl_var name='type'}">
    <div class="wf_actions buttons">
      <button class="positive iconstxt icoPositive" type="button" value="{tmpl_var name='btn_save_txt'}" onClick="submitForm('pageForm','dns/dns_cname_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('dns/dns_soa_list.php');"><span>{tmpl_var name='btn_cancel_txt'}</span></button>
    </div>
  </div>
</div>
<h2><tmpl_var name="list_head_txt"></h2>
<p><tmpl_var name="list_desc_txt"></p>
<div class="panel panel_dns_cname">
  <div class="pnl_formsarea">
    <fieldset class="inlineLabels"><legend>DNS CNAME</legend>
      <div class="ctrlHolder">
          <label for="name">{tmpl_var name='name_txt'}</label>
        <input name="name" id="name" value="{tmpl_var name='name'}" size="30" maxlength="255" type="text" class="textInput" />
            </div>
      <div class="ctrlHolder">
          <label for="data">{tmpl_var name='data_txt'}</label>
        <input name="data" id="data" value="{tmpl_var name='data'}" size="30" maxlength="255" type="text" class="textInput" />
            </div>
      <div class="ctrlHolder">
          <label for="ttl">{tmpl_var name='ttl_txt'}</label>
        <input name="ttl" id="ttl" value="{tmpl_var name='ttl'}" size="10" maxlength="10" type="text" class="textInput" />
            </div>
      <div class="ctrlHolder">
                <p class="label">{tmpl_var name='active_txt'}</p>
                    <div class="multiField">
                        {tmpl_var name='active'}
                    </div>
            </div>
    </fieldset>
    <input type="hidden" name="id" value="{tmpl_var name='id'}">
    <input type="hidden" name="zone" value="{tmpl_var name='zone'}">
    <input type="hidden" name="type" value="{tmpl_var name='type'}">
    <div class="buttonHolder buttons">
      <button class="positive iconstxt icoPositive" type="button" value="{tmpl_var name='btn_save_txt'}" onClick="submitForm('pageForm','dns/dns_cname_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('dns/dns_soa_list.php');"><span>{tmpl_var name='btn_cancel_txt'}</span></button>
    </div>
  </div>
</div>
interface/web/dns/templates/dns_hinfo_edit.htm
@@ -1,35 +1,38 @@
<h2><tmpl_var name="list_head_txt"></h2>
<div class="panel panel_dns_hinfo">
  <div class="pnl_formsarea">
    <fieldset id="wf_area_dns_hinfo"><legend>DNS HINFO</legend>
      <span class="wf_oneField">
        <label for="name" class="wf_preField">{tmpl_var name='name_txt'}</label>
        <input type="text" id="name" name="name" value="{tmpl_var name='name'}" size="30" maxlength="255">
      </span>
      <span class="wf_oneField">
        <label for="data" class="wf_preField">{tmpl_var name='data_txt'}</label>
        <input type="text" id="data" name="data" value="{tmpl_var name='data'}" size="30" maxlength="255">
      </span>
      <span class="wf_oneField">
        <label for="ttl" class="wf_preField">{tmpl_var name='ttl_txt'}</label>
        <input type="text" id="ttl" name="ttl" value="{tmpl_var name='ttl'}" size="10" maxlength="10">
      </span>
      <span class="wf_oneField">
        <label for="active" class="wf_preField">{tmpl_var name='active_txt'}</label>
        <span class="">{tmpl_var name='active'}</span>
      </span>
    </fieldset>
    <input type="hidden" name="id" value="{tmpl_var name='id'}">
    <input type="hidden" name="zone" value="{tmpl_var name='zone'}">
    <input type="hidden" name="type" value="{tmpl_var name='type'}">
    <div class="wf_actions buttons">
      <button class="positive iconstxt icoPositive" type="button" value="{tmpl_var name='btn_save_txt'}" onClick="submitForm('pageForm','dns/dns_hinfo_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('dns/dns_soa_list.php');"><span>{tmpl_var name='btn_cancel_txt'}</span></button>
    </div>
  </div>
</div>
<h2><tmpl_var name="list_head_txt"></h2>
<p><tmpl_var name="list_desc_txt"></p>
<div class="panel panel_dns_hinfo">
  <div class="pnl_formsarea">
    <fieldset class="inlineLabels"><legend>DNS HINFO</legend>
      <div class="ctrlHolder">
          <label for="name">{tmpl_var name='name_txt'}</label>
        <input name="name" id="name" value="{tmpl_var name='name'}" size="30" maxlength="255" type="text" class="textInput" />
            </div>
      <div class="ctrlHolder">
          <label for="data">{tmpl_var name='data_txt'}</label>
        <input name="data" id="data" value="{tmpl_var name='data'}" size="30" maxlength="255" type="text" class="textInput" />
            </div>
      <div class="ctrlHolder">
          <label for="ttl">{tmpl_var name='ttl_txt'}</label>
        <input name="ttl" id="ttl" value="{tmpl_var name='ttl'}" size="10" maxlength="10" type="text" class="textInput" />
            </div>
      <div class="ctrlHolder">
                <p class="label">{tmpl_var name='active_txt'}</p>
                    <div class="multiField">
                        {tmpl_var name='active'}
                    </div>
            </div>
    </fieldset>
    <input type="hidden" name="id" value="{tmpl_var name='id'}">
    <input type="hidden" name="zone" value="{tmpl_var name='zone'}">
    <input type="hidden" name="type" value="{tmpl_var name='type'}">
    <div class="buttonHolder buttons">
      <button class="positive iconstxt icoPositive" type="button" value="{tmpl_var name='btn_save_txt'}" onClick="submitForm('pageForm','dns/dns_hinfo_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('dns/dns_soa_list.php');"><span>{tmpl_var name='btn_cancel_txt'}</span></button>
    </div>
  </div>
</div>
interface/web/dns/templates/dns_mx_edit.htm
@@ -1,39 +1,42 @@
<h2><tmpl_var name="list_head_txt"></h2>
<div class="panel panel_dns_mx">
  <div class="pnl_formsarea">
    <fieldset id="wf_area_dns_mx"><legend>DNS mx</legend>
      <span class="wf_oneField">
        <label for="name" class="wf_preField">{tmpl_var name='name_txt'}</label>
        <input type="text" id="name" name="name" value="{tmpl_var name='name'}" size="30" maxlength="255">
      </span>
      <span class="wf_oneField">
        <label for="data" class="wf_preField">{tmpl_var name='data_txt'}</label>
        <input type="text" id="data" name="data" value="{tmpl_var name='data'}" size="30" maxlength="255">
      </span>
      <span class="wf_oneField">
        <label for="aux" class="wf_preField">{tmpl_var name='aux_txt'}</label>
        <input type="text" id="aux" name="aux" value="{tmpl_var name='aux'}" size="10" maxlength="10">
      </span>
      <span class="wf_oneField">
        <label for="ttl" class="wf_preField">{tmpl_var name='ttl_txt'}</label>
        <input type="text" id="ttl" name="ttl" value="{tmpl_var name='ttl'}" size="10" maxlength="10">
      </span>
      <span class="wf_oneField">
        <label for="active" class="wf_preField">{tmpl_var name='active_txt'}</label>
        <span class="">{tmpl_var name='active'}</span>
      </span>
    </fieldset>
    <input type="hidden" name="id" value="{tmpl_var name='id'}">
    <input type="hidden" name="zone" value="{tmpl_var name='zone'}">
    <input type="hidden" name="type" value="{tmpl_var name='type'}">
    <div class="wf_actions buttons">
      <button class="positive iconstxt icoPositive" type="button" value="{tmpl_var name='btn_save_txt'}" onClick="submitForm('pageForm','dns/dns_mx_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('dns/dns_soa_list.php');"><span>{tmpl_var name='btn_cancel_txt'}</span></button>
    </div>
  </div>
</div>
<h2><tmpl_var name="list_head_txt"></h2>
<p><tmpl_var name="list_desc_txt"></p>
<div class="panel panel_dns_mx">
  <div class="pnl_formsarea">
    <fieldset class="inlineLabels"><legend>DNS mx</legend>
      <div class="ctrlHolder">
          <label for="name">{tmpl_var name='name_txt'}</label>
        <input name="name" id="name" value="{tmpl_var name='name'}" size="30" maxlength="255" type="text" class="textInput" />
            </div>
      <div class="ctrlHolder">
          <label for="data">{tmpl_var name='data_txt'}</label>
        <input name="data" id="data" value="{tmpl_var name='data'}" size="30" maxlength="255" type="text" class="textInput" />
            </div>
      <div class="ctrlHolder">
          <label for="aux">{tmpl_var name='aux_txt'}</label>
        <input name="aux" id="aux" value="{tmpl_var name='aux'}" size="10" maxlength="10" type="text" class="textInput" />
            </div>
      <div class="ctrlHolder">
          <label for="ttl">{tmpl_var name='ttl_txt'}</label>
        <input name="ttl" id="ttl" value="{tmpl_var name='ttl'}" size="10" maxlength="10" type="text" class="textInput" />
            </div>
      <div class="ctrlHolder">
                <p class="label">{tmpl_var name='active_txt'}</p>
                    <div class="multiField">
                        {tmpl_var name='active'}
                    </div>
            </div>
    </fieldset>
    <input type="hidden" name="id" value="{tmpl_var name='id'}">
    <input type="hidden" name="zone" value="{tmpl_var name='zone'}">
    <input type="hidden" name="type" value="{tmpl_var name='type'}">
    <div class="buttonHolder buttons">
      <button class="positive iconstxt icoPositive" type="button" value="{tmpl_var name='btn_save_txt'}" onClick="submitForm('pageForm','dns/dns_mx_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('dns/dns_soa_list.php');"><span>{tmpl_var name='btn_cancel_txt'}</span></button>
    </div>
  </div>
</div>
interface/web/dns/templates/dns_ns_edit.htm
@@ -1,35 +1,38 @@
<h2><tmpl_var name="list_head_txt"></h2>
<div class="panel panel_dns_ns">
  <div class="pnl_formsarea">
    <fieldset id="wf_area_dns_ns"><legend>DNS ns</legend>
      <span class="wf_oneField">
        <label for="name" class="wf_preField">{tmpl_var name='name_txt'}</label>
        <input type="text" id="name" name="name" value="{tmpl_var name='name'}" size="30" maxlength="255">
      </span>
      <span class="wf_oneField">
        <label for="data" class="wf_preField">{tmpl_var name='data_txt'}</label>
        <input type="text" id="data" name="data" value="{tmpl_var name='data'}" size="30" maxlength="255">
      </span>
      <span class="wf_oneField">
        <label for="ttl" class="wf_preField">{tmpl_var name='ttl_txt'}</label>
        <input type="text" id="ttl" name="ttl" value="{tmpl_var name='ttl'}" size="10" maxlength="10">
      </span>
      <span class="wf_oneField">
        <label for="active" class="wf_preField">{tmpl_var name='active_txt'}</label>
        <span class="">{tmpl_var name='active'}</span>
      </span>
    </fieldset>
    <input type="hidden" name="id" value="{tmpl_var name='id'}">
    <input type="hidden" name="zone" value="{tmpl_var name='zone'}">
    <input type="hidden" name="type" value="{tmpl_var name='type'}">
    <div class="wf_actions buttons">
      <button class="positive iconstxt icoPositive" type="button" value="{tmpl_var name='btn_save_txt'}" onClick="submitForm('pageForm','dns/dns_ns_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('dns/dns_soa_list.php');"><span>{tmpl_var name='btn_cancel_txt'}</span></button>
    </div>
  </div>
</div>
<h2><tmpl_var name="list_head_txt"></h2>
<p><tmpl_var name="list_desc_txt"></p>
<div class="panel panel_dns_ns">
  <div class="pnl_formsarea">
    <fieldset class="inlineLabels"><legend>DNS ns</legend>
      <div class="ctrlHolder">
          <label for="name">{tmpl_var name='name_txt'}</label>
        <input name="name" id="name" value="{tmpl_var name='name'}" size="30" maxlength="255" type="text" class="textInput" />
            </div>
      <div class="ctrlHolder">
          <label for="data">{tmpl_var name='data_txt'}</label>
        <input name="data" id="data" value="{tmpl_var name='data'}" size="30" maxlength="255" type="text" class="textInput" />
            </div>
      <div class="ctrlHolder">
          <label for="ttl">{tmpl_var name='ttl_txt'}</label>
        <input name="ttl" id="ttl" value="{tmpl_var name='ttl'}" size="10" maxlength="10" type="text" class="textInput" />
            </div>
      <div class="ctrlHolder">
                <p class="label">{tmpl_var name='active_txt'}</p>
                    <div class="multiField">
                        {tmpl_var name='active'}
                    </div>
            </div>
    </fieldset>
    <input type="hidden" name="id" value="{tmpl_var name='id'}">
    <input type="hidden" name="zone" value="{tmpl_var name='zone'}">
    <input type="hidden" name="type" value="{tmpl_var name='type'}">
    <div class="buttonHolder buttons">
      <button class="positive iconstxt icoPositive" type="button" value="{tmpl_var name='btn_save_txt'}" onClick="submitForm('pageForm','dns/dns_ns_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('dns/dns_soa_list.php');"><span>{tmpl_var name='btn_cancel_txt'}</span></button>
    </div>
  </div>
</div>
interface/web/dns/templates/dns_ptr_edit.htm
@@ -1,35 +1,38 @@
<h2><tmpl_var name="list_head_txt"></h2>
<div class="panel panel_dns_ptr">
  <div class="pnl_formsarea">
    <fieldset id="wf_area_dns_ptr"><legend>DNS ptr</legend>
      <span class="wf_oneField">
        <label for="name" class="wf_preField">{tmpl_var name='name_txt'}</label>
        <input type="text" id="name" name="name" value="{tmpl_var name='name'}" size="30" maxlength="255">
      </span>
      <span class="wf_oneField">
        <label for="data" class="wf_preField">{tmpl_var name='data_txt'}</label>
        <input type="text" id="data" name="data" value="{tmpl_var name='data'}" size="30" maxlength="255">
      </span>
      <span class="wf_oneField">
        <label for="ttl" class="wf_preField">{tmpl_var name='ttl_txt'}</label>
        <input type="text" id="ttl" name="ttl" value="{tmpl_var name='ttl'}" size="10" maxlength="10">
      </span>
      <span class="wf_oneField">
        <label for="active" class="wf_preField">{tmpl_var name='active_txt'}</label>
        <span class="">{tmpl_var name='active'}</span>
      </span>
    </fieldset>
    <input type="hidden" name="id" value="{tmpl_var name='id'}">
    <input type="hidden" name="zone" value="{tmpl_var name='zone'}">
    <input type="hidden" name="type" value="{tmpl_var name='type'}">
    <div class="wf_actions buttons">
      <button class="positive iconstxt icoPositive" type="button" value="{tmpl_var name='btn_save_txt'}" onClick="submitForm('pageForm','dns/dns_ptr_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('dns/dns_soa_list.php');"><span>{tmpl_var name='btn_cancel_txt'}</span></button>
    </div>
  </div>
</div>
<h2><tmpl_var name="list_head_txt"></h2>
<p><tmpl_var name="list_desc_txt"></p>
<div class="panel panel_dns_ptr">
  <div class="pnl_formsarea">
    <fieldset class="inlineLabels"><legend>DNS ptr</legend>
      <div class="ctrlHolder">
          <label for="name">{tmpl_var name='name_txt'}</label>
        <input name="name" id="name" value="{tmpl_var name='name'}" size="30" maxlength="255" type="text" class="textInput" />
            </div>
      <div class="ctrlHolder">
          <label for="data">{tmpl_var name='data_txt'}</label>
        <input name="data" id="data" value="{tmpl_var name='data'}" size="30" maxlength="255" type="text" class="textInput" />
            </div>
      <div class="ctrlHolder">
          <label for="ttl">{tmpl_var name='ttl_txt'}</label>
        <input name="ttl" id="ttl" value="{tmpl_var name='ttl'}" size="10" maxlength="10" type="text" class="textInput" />
            </div>
      <div class="ctrlHolder">
                <p class="label">{tmpl_var name='active_txt'}</p>
                    <div class="multiField">
                        {tmpl_var name='active'}
                    </div>
            </div>
    </fieldset>
    <input type="hidden" name="id" value="{tmpl_var name='id'}">
    <input type="hidden" name="zone" value="{tmpl_var name='zone'}">
    <input type="hidden" name="type" value="{tmpl_var name='type'}">
    <div class="buttonHolder buttons">
      <button class="positive iconstxt icoPositive" type="button" value="{tmpl_var name='btn_save_txt'}" onClick="submitForm('pageForm','dns/dns_ptr_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('dns/dns_soa_list.php');"><span>{tmpl_var name='btn_cancel_txt'}</span></button>
    </div>
  </div>
</div>
interface/web/dns/templates/dns_records_edit.htm
@@ -1,4 +1,5 @@
<h2><tmpl_var name="list_head_txt"></h2>
<p><tmpl_var name="list_desc_txt"></p>
<div class="panel panel_dns_soa">
interface/web/dns/templates/dns_rp_edit.htm
@@ -1,35 +1,38 @@
<h2><tmpl_var name="list_head_txt"></h2>
<div class="panel panel_dns_rp">
  <div class="pnl_formsarea">
    <fieldset id="wf_area_dns_rp"><legend>DNS RP</legend>
      <span class="wf_oneField">
        <label for="name" class="wf_preField">{tmpl_var name='name_txt'}</label>
        <input type="text" id="name" name="name" value="{tmpl_var name='name'}" size="30" maxlength="255">
      </span>
      <span class="wf_oneField">
        <label for="data" class="wf_preField">{tmpl_var name='data_txt'}</label>
        <input type="text" id="data" name="data" value="{tmpl_var name='data'}" size="30" maxlength="255">
      </span>
      <span class="wf_oneField">
        <label for="ttl" class="wf_preField">{tmpl_var name='ttl_txt'}</label>
        <input type="text" id="ttl" name="ttl" value="{tmpl_var name='ttl'}" size="10" maxlength="10">
      </span>
      <span class="wf_oneField">
        <label for="active" class="wf_preField">{tmpl_var name='active_txt'}</label>
        <span class="">{tmpl_var name='active'}</span>
      </span>
    </fieldset>
    <input type="hidden" name="id" value="{tmpl_var name='id'}">
    <input type="hidden" name="zone" value="{tmpl_var name='zone'}">
    <input type="hidden" name="type" value="{tmpl_var name='type'}">
    <div class="wf_actions buttons">
      <button class="positive iconstxt icoPositive" type="button" value="{tmpl_var name='btn_save_txt'}" onClick="submitForm('pageForm','dns/dns_rp_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('dns/dns_soa_list.php');"><span>{tmpl_var name='btn_cancel_txt'}</span></button>
    </div>
  </div>
</div>
<h2><tmpl_var name="list_head_txt"></h2>
<p><tmpl_var name="list_desc_txt"></p>
<div class="panel panel_dns_rp">
  <div class="pnl_formsarea">
    <fieldset class="inlineLabels"><legend>DNS RP</legend>
      <div class="ctrlHolder">
          <label for="name">{tmpl_var name='name_txt'}</label>
        <input name="name" id="name" value="{tmpl_var name='name'}" size="30" maxlength="255" type="text" class="textInput" />
            </div>
      <div class="ctrlHolder">
          <label for="data">{tmpl_var name='data_txt'}</label>
        <input name="data" id="data" value="{tmpl_var name='data'}" size="30" maxlength="255" type="text" class="textInput" />
            </div>
      <div class="ctrlHolder">
          <label for="ttl">{tmpl_var name='ttl_txt'}</label>
        <input name="ttl" id="ttl" value="{tmpl_var name='ttl'}" size="10" maxlength="10" type="text" class="textInput" />
            </div>
      <div class="ctrlHolder">
                <p class="label">{tmpl_var name='active_txt'}</p>
                    <div class="multiField">
                        {tmpl_var name='active'}
                    </div>
            </div>
    </fieldset>
    <input type="hidden" name="id" value="{tmpl_var name='id'}">
    <input type="hidden" name="zone" value="{tmpl_var name='zone'}">
    <input type="hidden" name="type" value="{tmpl_var name='type'}">
    <div class="buttonHolder buttons">
      <button class="positive iconstxt icoPositive" type="button" value="{tmpl_var name='btn_save_txt'}" onClick="submitForm('pageForm','dns/dns_rp_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('dns/dns_soa_list.php');"><span>{tmpl_var name='btn_cancel_txt'}</span></button>
    </div>
  </div>
</div>
interface/web/dns/templates/dns_soa_edit.htm
@@ -1,74 +1,86 @@
<h2><tmpl_var name="list_head_txt"></h2>
<div class="panel panel_dns_soa">
  <div class="pnl_formsarea">
    <fieldset id="wf_area_dns_soa"><legend>DNS Zone</legend>
      <tmpl_if name="is_admin">
      <span class="wf_oneField">
        <label for="server_id" class="wf_preField">{tmpl_var name='server_id_txt'}</label>
        <select id="server_id" name="server_id">{tmpl_var name='server_id'}</select>
      </span>
      <span class="wf_oneField">
        <label for="client_group_id" class="wf_preField">{tmpl_var name='client_txt'}</label>
        <select id="client_group_id" name="client_group_id">{tmpl_var name='client_group_id'}</select>
      </span>
      </tmpl_if>
      <tmpl_if name="is_reseller">
      <span class="wf_oneField">
        <label for="client_group_id" class="wf_preField">{tmpl_var name='client_txt'}</label>
        <select id="client_group_id" name="client_group_id">{tmpl_var name='client_group_id'}</select>
      </span>
      </tmpl_if>
      <span class="wf_oneField">
        <label for="origin" class="wf_preField">{tmpl_var name='origin_txt'}</label>
        <input type="text" id="origin" name="origin" value="{tmpl_var name='origin'}" size="30" maxlength="255">  e.g. domain.tld.
      </span>
      <span class="wf_oneField">
        <label for="ns" class="wf_preField">{tmpl_var name='ns_txt'}</label>
        <input type="text" id="ns" name="ns" value="{tmpl_var name='ns'}" size="30" maxlength="255"> e.g. ns1.domain.tld.
      </span>
      <span class="wf_oneField">
        <label for="mbox" class="wf_preField">{tmpl_var name='mbox_txt'}</label>
        <input type="text" id="mbox" name="mbox" value="{tmpl_var name='mbox'}" size="30" maxlength="255"> e.g. webmaster.domain.tld.
      </span>
      <span class="wf_oneField">
        <label for="refresh" class="wf_preField">{tmpl_var name='refresh_txt'}</label>
        <input type="text" id="refresh" name="refresh" value="{tmpl_var name='refresh'}" size="10" maxlength="10"> Seconds
      </span>
      <span class="wf_oneField">
        <label for="retry" class="wf_preField">{tmpl_var name='retry_txt'}</label>
        <input type="text" id="retry" name="retry" value="{tmpl_var name='retry'}" size="10" maxlength="10"> Seconds
      </span>
      <span class="wf_oneField">
        <label for="expire" class="wf_preField">{tmpl_var name='expire_txt'}</label>
        <input type="text" id="expire" name="expire" value="{tmpl_var name='expire'}" size="10" maxlength="10"> Seconds
      </span>
      <span class="wf_oneField">
        <label for="minimum" class="wf_preField">{tmpl_var name='minimum_txt'}</label>
        <input type="text" id="minimum" name="minimum" value="{tmpl_var name='minimum'}" size="10" maxlength="10"> Seconds
      </span>
      <span class="wf_oneField">
        <label for="ttl" class="wf_preField">{tmpl_var name='ttl_txt'}</label>
        <input type="text" id="ttl" name="ttl" value="{tmpl_var name='ttl'}" size="10" maxlength="10"> Seconds
      </span>
      <span class="wf_oneField">
        <label for="xfer" class="wf_preField">{tmpl_var name='xfer_txt'}</label>
        <input type="text" id="xfer" name="xfer" value="{tmpl_var name='xfer'}" size="30" maxlength="255">
      </span>
      <span class="wf_oneField">
        <label for="active" class="wf_preField">{tmpl_var name='active_txt'}</label>
        <span class="">{tmpl_var name='active'}</span>
      </span>
    </fieldset>
    <input type="hidden" name="id" value="{tmpl_var name='id'}">
    <input name="serial" type="hidden" value="{tmpl_var name='serial'}">
    <div class="wf_actions buttons">
      <button class="positive iconstxt icoPositive" type="button" value="{tmpl_var name='btn_save_txt'}" onClick="submitForm('pageForm','dns/dns_soa_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('dns/dns_soa_list.php');"><span>{tmpl_var name='btn_cancel_txt'}</span></button>
    </div>
  </div>
</div>
<h2><tmpl_var name="list_head_txt"></h2>
<p><tmpl_var name="list_desc_txt"></p>
<div class="panel panel_dns_soa">
  <div class="pnl_formsarea">
    <fieldset class="inlineLabels"><legend>DNS Zone</legend>
      <tmpl_if name="is_admin">
      <div class="ctrlHolder">
          <label for="server_id">{tmpl_var name='server_id_txt'}</label>
        <select name="server_id" id="server_id" class="selectInput">
                    {tmpl_var name='server_id'}
                </select>
      </div>
      <div class="ctrlHolder">
          <label for="client_group_id">{tmpl_var name='client_txt'}</label>
        <select name="client_group_id" id="client_group_id" class="selectInput">
                    {tmpl_var name='client_group_id'}
                </select>
      </div>
      </tmpl_if>
      <tmpl_if name="is_reseller">
      <div class="ctrlHolder">
          <label for="client_group_id">{tmpl_var name='client_txt'}</label>
        <select name="client_group_id" id="client_group_id" class="selectInput">
                    {tmpl_var name='client_group_id'}
                </select>
      </div>
      </tmpl_if>
      <div class="ctrlHolder">
          <label for="origin">{tmpl_var name='origin_txt'}</label>
        <input name="origin" id="origin" value="{tmpl_var name='origin'}" size="30" maxlength="255" type="text" class="textInput" />
                <p class="formHint">e.g. domain.tld.</p>
            </div>
      <div class="ctrlHolder">
          <label for="ns">{tmpl_var name='ns_txt'}</label>
        <input name="ns" id="ns" value="{tmpl_var name='ns'}" size="30" maxlength="255" type="text" class="textInput" />
                <p class="formHint">e.g. ns1.domain.tld.</p>
            </div>
      <div class="ctrlHolder">
          <label for="mbox">{tmpl_var name='mbox_txt'}</label>
        <input name="mbox" id="mbox" value="{tmpl_var name='mbox'}" size="30" maxlength="255" type="text" class="textInput" />
                <p class="formHint"> e.g. webmaster.domain.tld.</p>
            </div>
      <div class="ctrlHolder">
          <label for="refresh">{tmpl_var name='refresh_txt'}</label>
        <input name="refresh" id="refresh" value="{tmpl_var name='refresh'}" size="10" maxlength="10" type="text" class="textInput" />&nbsp;Seconds
            </div>
      <div class="ctrlHolder">
          <label for="retry">{tmpl_var name='retry_txt'}</label>
        <input name="retry" id="retry" value="{tmpl_var name='retry'}" size="10" maxlength="10" type="text" class="textInput" />&nbsp;Seconds
            </div>
      <div class="ctrlHolder">
          <label for="expire">{tmpl_var name='expire_txt'}</label>
        <input name="expire" id="expire" value="{tmpl_var name='expire'}" size="10" maxlength="10" type="text" class="textInput" />&nbsp;Seconds
            </div>
      <div class="ctrlHolder">
          <label for="minimum">{tmpl_var name='minimum_txt'}</label>
        <input name="minimum" id="minimum" value="{tmpl_var name='minimum'}" size="10" maxlength="10" type="text" class="textInput" />&nbsp;Seconds
            </div>
      <div class="ctrlHolder">
          <label for="ttl">{tmpl_var name='ttl_txt'}</label>
        <input name="ttl" id="ttl" value="{tmpl_var name='ttl'}" size="10" maxlength="10" type="text" class="textInput" />&nbsp;Seconds
            </div>
      <div class="ctrlHolder">
          <label for="xfer">{tmpl_var name='xfer_txt'}</label>
        <input name="xfer" id="xfer" value="{tmpl_var name='xfer'}" size="30" maxlength="255" type="text" class="textInput" />
            </div>
      <div class="ctrlHolder">
                <p class="label">{tmpl_var name='active_txt'}</p>
                    <div class="multiField">
                        {tmpl_var name='active'}
                    </div>
            </div>
    </fieldset>
    <input type="hidden" name="id" value="{tmpl_var name='id'}">
    <input name="serial" type="hidden" value="{tmpl_var name='serial'}">
    <div class="buttonHolder buttons">
      <button class="positive iconstxt icoPositive" type="button" value="{tmpl_var name='btn_save_txt'}" onClick="submitForm('pageForm','dns/dns_soa_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('dns/dns_soa_list.php');"><span>{tmpl_var name='btn_cancel_txt'}</span></button>
    </div>
  </div>
</div>
interface/web/dns/templates/dns_soa_list.htm
@@ -1,61 +1,62 @@
<h2><tmpl_var name="list_head_txt"></h2>
<div class="panel panel_list_dns_soa">
  <div class="pnl_toolsarea">
    <fieldset><legend>Tools</legend>
      <div class="buttons">
        <button class="iconstxt icoAdd" type="button" onClick="loadContent('dns/dns_soa_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_origin" scope="col"><tmpl_var name="origin_txt"></th>
            <th class="tbl_col_ns" scope="col"><tmpl_var name="ns_txt"></th>
            <th class="tbl_col_mbox" scope="col"><tmpl_var name="mbox_txt"></th>
            <th class="tbl_col_buttons" scope="col">&nbsp;</th>
          </tr>
          <tr>
            <td class="tbl_col_active"><select name="search_active" onChange="submitForm('pageForm','dns/dns_soa_list.php');">{tmpl_var name='search_active'}</select></td>
            <td class="tbl_col_server_id"><select name="search_server_id" onChange="submitForm('pageForm','dns/dns_soa_list.php');">{tmpl_var name='search_server_id'}</select></td>
            <td class="tbl_col_origin"><input type="text" name="search_origin" value="{tmpl_var name='search_origin'}" /></td>
            <td class="tbl_col_ns"><input type="text" name="search_ns" value="{tmpl_var name='search_ns'}" /></td>
            <td class="tbl_col_mbox"><input type="text" name="search_mbox" value="{tmpl_var name='search_mbox'}" /></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','dns/dns_soa_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('dns/dns_soa_edit.php?id={tmpl_var name='id'}');"><img src="themes/{tmpl_var name='theme'}/icons/{tmpl_var name='_active_'}" border="0" /></a></td>
            <td class="tbl_col_server_id"><a href="#" onClick="loadContent('dns/dns_soa_edit.php?id={tmpl_var name='id'}');">{tmpl_var name="server_id"}</a></td>
            <td class="tbl_col_origin"><a href="#" onClick="loadContent('dns/dns_soa_edit.php?id={tmpl_var name='id'}');">{tmpl_var name="origin"}</a></td>
            <td class="tbl_col_ns"><a href="#" onClick="loadContent('dns/dns_soa_edit.php?id={tmpl_var name='id'}');">{tmpl_var name="ns"}</a></td>
            <td class="tbl_col_mbox"><a href="#" onClick="loadContent('dns/dns_soa_edit.php?id={tmpl_var name='id'}');">{tmpl_var name="mbox"}</a></td>
            <td class="tbl_col_buttons">
              <div class="buttons icons16">
                <a class="icons16 icoDelete" href="javascript: del_record('dns/dns_soa_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="6"><tmpl_var name="paging"></td>
          </tr>
        </tfoot>
      </table>
    </fieldset>
  </div>
</div>
<h2><tmpl_var name="list_head_txt"></h2>
<p><tmpl_var name="list_desc_txt"></p>
<div class="panel panel_list_dns_soa">
  <div class="pnl_toolsarea">
    <fieldset><legend>Tools</legend>
      <div class="buttons">
        <button class="iconstxt icoAdd" type="button" onClick="loadContent('dns/dns_soa_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_origin" scope="col"><tmpl_var name="origin_txt"></th>
            <th class="tbl_col_ns" scope="col"><tmpl_var name="ns_txt"></th>
            <th class="tbl_col_mbox" scope="col"><tmpl_var name="mbox_txt"></th>
            <th class="tbl_col_buttons" scope="col">&nbsp;</th>
          </tr>
          <tr>
            <td class="tbl_col_active"><select name="search_active" onChange="submitForm('pageForm','dns/dns_soa_list.php');">{tmpl_var name='search_active'}</select></td>
            <td class="tbl_col_server_id"><select name="search_server_id" onChange="submitForm('pageForm','dns/dns_soa_list.php');">{tmpl_var name='search_server_id'}</select></td>
            <td class="tbl_col_origin"><input type="text" name="search_origin" value="{tmpl_var name='search_origin'}" /></td>
            <td class="tbl_col_ns"><input type="text" name="search_ns" value="{tmpl_var name='search_ns'}" /></td>
            <td class="tbl_col_mbox"><input type="text" name="search_mbox" value="{tmpl_var name='search_mbox'}" /></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','dns/dns_soa_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('dns/dns_soa_edit.php?id={tmpl_var name='id'}');"><img src="themes/{tmpl_var name='theme'}/icons/{tmpl_var name='_active_'}" border="0" /></a></td>
            <td class="tbl_col_server_id"><a href="#" onClick="loadContent('dns/dns_soa_edit.php?id={tmpl_var name='id'}');">{tmpl_var name="server_id"}</a></td>
            <td class="tbl_col_origin"><a href="#" onClick="loadContent('dns/dns_soa_edit.php?id={tmpl_var name='id'}');">{tmpl_var name="origin"}</a></td>
            <td class="tbl_col_ns"><a href="#" onClick="loadContent('dns/dns_soa_edit.php?id={tmpl_var name='id'}');">{tmpl_var name="ns"}</a></td>
            <td class="tbl_col_mbox"><a href="#" onClick="loadContent('dns/dns_soa_edit.php?id={tmpl_var name='id'}');">{tmpl_var name="mbox"}</a></td>
            <td class="tbl_col_buttons">
              <div class="buttons icons16">
                <a class="icons16 icoDelete" href="javascript: del_record('dns/dns_soa_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="6"><tmpl_var name="paging"></td>
          </tr>
        </tfoot>
      </table>
    </fieldset>
  </div>
</div>
interface/web/dns/templates/dns_srv_edit.htm
@@ -1,35 +1,38 @@
<h2><tmpl_var name="list_head_txt"></h2>
<div class="panel panel_dns_srv">
  <div class="pnl_formsarea">
    <fieldset id="wf_area_dns_srv"><legend>DNS SRV</legend>
      <span class="wf_oneField">
        <label for="name" class="wf_preField">{tmpl_var name='name_txt'}</label>
        <input type="text" id="name" name="name" value="{tmpl_var name='name'}" size="30" maxlength="255">
      </span>
      <span class="wf_oneField">
        <label for="data" class="wf_preField">{tmpl_var name='data_txt'}</label>
        <input type="text" id="data" name="data" value="{tmpl_var name='data'}" size="30" maxlength="255">
      </span>
      <span class="wf_oneField">
        <label for="ttl" class="wf_preField">{tmpl_var name='ttl_txt'}</label>
        <input type="text" id="ttl" name="ttl" value="{tmpl_var name='ttl'}" size="10" maxlength="10">
      </span>
      <span class="wf_oneField">
        <label for="active" class="wf_preField">{tmpl_var name='active_txt'}</label>
        <span class="">{tmpl_var name='active'}</span>
      </span>
    </fieldset>
    <input type="hidden" name="id" value="{tmpl_var name='id'}">
    <input type="hidden" name="zone" value="{tmpl_var name='zone'}">
    <input type="hidden" name="type" value="{tmpl_var name='type'}">
    <div class="wf_actions buttons">
      <button class="positive iconstxt icoPositive" type="button" value="{tmpl_var name='btn_save_txt'}" onClick="submitForm('pageForm','dns/dns_srv_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('dns/dns_soa_list.php');"><span>{tmpl_var name='btn_cancel_txt'}</span></button>
    </div>
  </div>
</div>
<h2><tmpl_var name="list_head_txt"></h2>
<p><tmpl_var name="list_desc_txt"></p>
<div class="panel panel_dns_srv">
  <div class="pnl_formsarea">
    <fieldset class="inlineLabels"><legend>DNS SRV</legend>
      <div class="ctrlHolder">
          <label for="name">{tmpl_var name='name_txt'}</label>
        <input name="name" id="name" value="{tmpl_var name='name'}" size="30" maxlength="255" type="text" class="textInput" />
            </div>
      <div class="ctrlHolder">
          <label for="data">{tmpl_var name='data_txt'}</label>
        <input name="data" id="data" value="{tmpl_var name='data'}" size="30" maxlength="255" type="text" class="textInput" />
            </div>
      <div class="ctrlHolder">
          <label for="ttl">{tmpl_var name='ttl_txt'}</label>
        <input name="ttl" id="ttl" value="{tmpl_var name='ttl'}" size="10" maxlength="10" type="text" class="textInput" />
            </div>
      <div class="ctrlHolder">
                <p class="label">{tmpl_var name='active_txt'}</p>
                    <div class="multiField">
                        {tmpl_var name='active'}
                    </div>
            </div>
    </fieldset>
    <input type="hidden" name="id" value="{tmpl_var name='id'}">
    <input type="hidden" name="zone" value="{tmpl_var name='zone'}">
    <input type="hidden" name="type" value="{tmpl_var name='type'}">
    <div class="buttonHolder buttons">
      <button class="positive iconstxt icoPositive" type="button" value="{tmpl_var name='btn_save_txt'}" onClick="submitForm('pageForm','dns/dns_srv_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('dns/dns_soa_list.php');"><span>{tmpl_var name='btn_cancel_txt'}</span></button>
    </div>
  </div>
</div>
interface/web/dns/templates/dns_template_edit.htm
@@ -1,30 +1,35 @@
<h2><tmpl_var name="list_head_txt"></h2>
<p><tmpl_var name="list_desc_txt"></p>
<div class="panel panel_dns_template">
  <div class="pnl_formsarea">
    <fieldset id="wf_area_dns_template"><legend>DNS Template</legend>
      <span class="wf_oneField">
        <label for="name" class="wf_preField">{tmpl_var name='name_txt'}</label>
        <input type="text" id="name" name="name" value="{tmpl_var name='name'}" size="40" maxlength="255">
      </span>
      <span class="wf_oneField">
        <span class="wf_label wf_preField">{tmpl_var name='fields_txt'}</span>
        <fieldset>{tmpl_var name='fields'}</fieldset>
      </span>
      <span class="wf_oneField">
        <label for="template" class="wf_preField">{tmpl_var name='template_txt'}</label>
        <textarea id="template" name="template">{tmpl_var name='template'}</textarea>
      </span>
      <span class="wf_oneField">
        <label for="visible" class="wf_preField">{tmpl_var name='visible_txt'}</label>
        <span class="">{tmpl_var name='visible'}</span>
      </span>
    <fieldset class="inlineLabels"><legend>DNS Template</legend>
      <div class="ctrlHolder">
          <label for="name">{tmpl_var name='name_txt'}</label>
        <input name="name" id="name" value="{tmpl_var name='name'}" size="40" maxlength="255" type="text" class="textInput" />
            </div>
      <div class="ctrlHolder">
                <p class="label">{tmpl_var name='fields_txt'}</p>
                    <div class="multiField">
                        {tmpl_var name='fields'}
                    </div>
            </div>
      <div class="ctrlHolder">
          <label for="template">{tmpl_var name='template_txt'}</label>
        <textarea name="template" id="template" rows='15' cols='40'>{tmpl_var name='template'}</textarea>
      </div>
      <div class="ctrlHolder">
                <p class="label">{tmpl_var name='visible_txt'}</p>
                    <div class="multiField">
                        {tmpl_var name='visible'}
                    </div>
            </div>
    </fieldset>
    <input type="hidden" name="id" value="{tmpl_var name='id'}">
    <div class="wf_actions buttons">
    <div class="buttonHolder buttons">
      <button class="positive iconstxt icoPositive" type="button" value="{tmpl_var name='btn_save_txt'}" onClick="submitForm('pageForm','dns/dns_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('dns/dns_template_list.php');"><span>{tmpl_var name='btn_cancel_txt'}</span></button>
    </div>
interface/web/dns/templates/dns_template_list.htm
@@ -1,4 +1,5 @@
<h2><tmpl_var name="list_head_txt"></h2>
<p><tmpl_var name="list_desc_txt"></p>
<div class="panel panel_list_dns_template">
interface/web/dns/templates/dns_txt_edit.htm
@@ -1,35 +1,38 @@
<h2><tmpl_var name="list_head_txt"></h2>
<div class="panel panel_dns_txt">
  <div class="pnl_formsarea">
    <fieldset id="wf_area_dns_txt"><legend>DNS TXT</legend>
      <span class="wf_oneField">
        <label for="name" class="wf_preField">{tmpl_var name='name_txt'}</label>
        <input type="text" id="name" name="name" value="{tmpl_var name='name'}" size="30" maxlength="255">
      </span>
      <span class="wf_oneField">
        <label for="data" class="wf_preField">{tmpl_var name='data_txt'}</label>
        <input type="text" id="data" name="data" value="{tmpl_var name='data'}" size="30" maxlength="255">
      </span>
      <span class="wf_oneField">
        <label for="ttl" class="wf_preField">{tmpl_var name='ttl_txt'}</label>
        <input type="text" id="ttl" name="ttl" value="{tmpl_var name='ttl'}" size="10" maxlength="10">
      </span>
      <span class="wf_oneField">
        <label for="active" class="wf_preField">{tmpl_var name='active_txt'}</label>
        <span class="">{tmpl_var name='active'}</span>
      </span>
    </fieldset>
    <input type="hidden" name="id" value="{tmpl_var name='id'}">
    <input type="hidden" name="zone" value="{tmpl_var name='zone'}">
    <input type="hidden" name="type" value="{tmpl_var name='type'}">
    <div class="wf_actions buttons">
      <button class="positive iconstxt icoPositive" type="button" value="{tmpl_var name='btn_save_txt'}" onClick="submitForm('pageForm','dns/dns_txt_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('dns/dns_soa_list.php');"><span>{tmpl_var name='btn_cancel_txt'}</span></button>
    </div>
  </div>
</div>
<h2><tmpl_var name="list_head_txt"></h2>
<p><tmpl_var name="list_desc_txt"></p>
<div class="panel panel_dns_txt">
  <div class="pnl_formsarea">
    <fieldset class="inlineLabels"><legend>DNS TXT</legend>
      <div class="ctrlHolder">
          <label for="name">{tmpl_var name='name_txt'}</label>
        <input name="name" id="name" value="{tmpl_var name='name'}" size="30" maxlength="255" type="text" class="textInput" />
            </div>
      <div class="ctrlHolder">
          <label for="data">{tmpl_var name='data_txt'}</label>
        <input name="data" id="data" value="{tmpl_var name='data'}" size="30" maxlength="255" type="text" class="textInput" />
            </div>
      <div class="ctrlHolder">
          <label for="ttl">{tmpl_var name='ttl_txt'}</label>
        <input name="ttl" id="ttl" value="{tmpl_var name='ttl'}" size="10" maxlength="10" type="text" class="textInput" />
            </div>
      <div class="ctrlHolder">
                <p class="label">{tmpl_var name='active_txt'}</p>
                    <div class="multiField">
                        {tmpl_var name='active'}
                    </div>
            </div>
    </fieldset>
    <input type="hidden" name="id" value="{tmpl_var name='id'}">
    <input type="hidden" name="zone" value="{tmpl_var name='zone'}">
    <input type="hidden" name="type" value="{tmpl_var name='type'}">
    <div class="buttonHolder buttons">
      <button class="positive iconstxt icoPositive" type="button" value="{tmpl_var name='btn_save_txt'}" onClick="submitForm('pageForm','dns/dns_txt_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('dns/dns_soa_list.php');"><span>{tmpl_var name='btn_cancel_txt'}</span></button>
    </div>
  </div>
</div>
interface/web/dns/templates/dns_wizard.htm
@@ -1,62 +1,68 @@
<h2><tmpl_var name="title"></h2>
<div class="panel panel_dns_wizard">
  <div class="pnl_formsarea">
    <fieldset><legend><tmpl_var name="title"></legend>
      <tmpl_if name="error">
          <div class="error"><tmpl_var name="error"></div>
      </tmpl_if>
      <span class="wf_oneField">
        <label for="template_id" class="wf_preField">{tmpl_var name='template_id_txt'}</label>
        <select id="template_id" name="template_id" onChange="submitForm('pageForm','dns/dns_wizard.php')">{tmpl_var name='template_id_option'}</select>
      </span>
      <tmpl_if name="is_admin">
      <span class="wf_oneField">
        <label for="server_id" class="wf_preField">{tmpl_var name='server_id_txt'}</label>
        <select id="server_id" name="server_id">{tmpl_var name='server_id'}</select>
      </span>
      <span class="wf_oneField">
        <label for="client_group_id" class="wf_preField">{tmpl_var name='client_txt'}</label>
        <select id="client_group_id" name="client_group_id">{tmpl_var name='client_group_id'}</select>
      </span>
      </tmpl_if>
      <tmpl_if name="DOMAIN_VISIBLE">
      <span class="wf_oneField">
        <label for="domain" class="wf_preField">{tmpl_var name='domain_txt'}</label>
        <input type="text" id="domain" name="domain" value="{tmpl_var name='domain'}" size="30" maxlength="255">
      </span>
      </tmpl_if>
      <tmpl_if name="IP_VISIBLE">
      <span class="wf_oneField">
        <label for="ip" class="wf_preField">{tmpl_var name='ip_txt'}</label>
        <input type="text" id="ip" name="ip" value="{tmpl_var name='ip'}" size="30" maxlength="255">
      </span>
      </tmpl_if>
      <tmpl_if name="NS1_VISIBLE">
      <span class="wf_oneField">
        <label for="ns1" class="wf_preField">{tmpl_var name='ns1_txt'}</label>
        <input type="text" id="ns1" name="ns1" value="{tmpl_var name='ns1'}" size="30" maxlength="255">
      </span>
      </tmpl_if>
      <tmpl_if name="NS2_VISIBLE">
      <span class="wf_oneField">
        <label for="ns2" class="wf_preField">{tmpl_var name='ns2_txt'}</label>
        <input type="text" id="ns2" name="ns2" value="{tmpl_var name='ns2'}" size="30" maxlength="255">
      </span>
      </tmpl_if>
      <tmpl_if name="EMAIL_VISIBLE">
      <span class="wf_oneField">
        <label for="email" class="wf_preField">{tmpl_var name='email_txt'}</label>
        <input type="text" id="email" name="email" value="{tmpl_var name='email'}" size="30" maxlength="255">
      </span>
      </tmpl_if>
      <div class="wf_actions buttons">
      <input type="hidden" name="create" value="0" />
      <button class="positive iconstxt icoPositive" type="button" value="{tmpl_var name='btn_save_txt'}" name="btn_create" onClick="document.pageForm.create.value=1; submitForm('pageForm','dns/dns_wizard.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('dns/dns_wizard.php');"><span>{tmpl_var name='btn_cancel_txt'}</span></button>
    </div>
    </fieldset>
  </div>
</div>
<h2><tmpl_var name="list_head_txt"></h2>
<p><tmpl_var name="list_desc_txt"></p>
<div class="panel panel_dns_wizard">
  <div class="pnl_formsarea">
    <fieldset class="inlineLabels"><legend>DNS Zone</legend>
      <div class="ctrlHolder">
          <label for="template_id">{tmpl_var name='template_id_txt'}</label>
        <select name="template_id" id="template_id" class="selectInput" onChange="submitForm('pageForm','dns/dns_wizard.php')">
                    {tmpl_var name='template_id'}
                </select>
      </div>
      <tmpl_if name="is_admin">
      <div class="ctrlHolder">
          <label for="server_id">{tmpl_var name='server_id_txt'}</label>
        <select name="server_id" id="server_id" class="selectInput">
                    {tmpl_var name='server_id'}
                </select>
      </div>
      <div class="ctrlHolder">
          <label for="client_group_id">{tmpl_var name='client_txt'}</label>
        <select name="client_group_id" id="client_group_id" class="selectInput">
                    {tmpl_var name='client_group_id'}
                </select>
      </div>
      </tmpl_if>
          <tmpl_if name="DOMAIN_VISIBLE">
          <div class="ctrlHolder">
              <label for="domain">{tmpl_var name='domain_txt'}</label>
            <input name="domain" id="domain" value="{tmpl_var name='domain'}" size="30" maxlength="255" type="text" class="textInput" />
                </div>
          </tmpl_if>
          <tmpl_if name="IP_VISIBLE">
          <div class="ctrlHolder">
              <label for="ip">{tmpl_var name='ip_txt'}</label>
            <input name="ip" id="ip" value="{tmpl_var name='ip'}" size="30" maxlength="255" type="text" class="textInput" />
                </div>
          </tmpl_if>
          <tmpl_if name="NS1_VISIBLE">
          <div class="ctrlHolder">
              <label for="ns1">{tmpl_var name='ns1_txt'}</label>
            <input name="ns1" id="ns1" value="{tmpl_var name='ns1'}" size="30" maxlength="255" type="text" class="textInput" />
                </div>
          </tmpl_if>
          <tmpl_if name="NS2_VISIBLE">
          <div class="ctrlHolder">
              <label for="ns2">{tmpl_var name='ns2_txt'}</label>
            <input name="ns2" id="ns2" value="{tmpl_var name='ns2'}" size="30" maxlength="255" type="text" class="textInput" />
                </div>
          </tmpl_if>
          <tmpl_if name="EMAIL_VISIBLE">
          <div class="ctrlHolder">
              <label for="email">{tmpl_var name='email_txt'}</label>
            <input name="email" id="email" value="{tmpl_var name='email'}" size="30" maxlength="255" type="text" class="textInput" />
                </div>
          </tmpl_if>
    </fieldset>
      <input type="hidden" name="create" value="0" />
    <div class="buttonHolder buttons">
      <button class="positive iconstxt icoPositive" type="button" value="{tmpl_var name='btn_save_txt'}" name="btn_create" onClick="document.pageForm.create.value=1; submitForm('pageForm','dns/dns_wizard.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('dns/dns_wizard.php');"><span>{tmpl_var name='btn_cancel_txt'}</span></button>
    </div>
  </div>
</div>
interface/web/help/templates/support_message_edit.htm
@@ -1,29 +1,30 @@
<h2><tmpl_var name="list_head_txt"></h2>
<p><tmpl_var name="list_desc_txt"></p>
<div class="panel panel_support_message">
  <div class="pnl_formsarea">
    <fieldset id="wf_area_support_message"><legend>Message</legend>
      <tmpl_if name="is_admin">
      <span class="wf_oneField">
        <label for="recipient_id" class="wf_preField">{tmpl_var name='recipient_id_txt'}</label>
        <select id="recipient_id" name="recipient_id">{tmpl_var name='recipient_id'}</select>
      </span>
      </tmpl_if>
      <span class="wf_oneField">
        <label for="subject" class="wf_preField">{tmpl_var name='subject_txt'}</label>
        <input type="text" id="subject" name="subject" value="{tmpl_var name='subject'}" size="30" maxlength="255">
      </span>
      <span class="wf_oneField">
        <label for="message" class="wf_preField">{tmpl_var name='message_txt'}</label>
        <textarea id="message" name="message" cols='30' rows='10'>{tmpl_var name='message'}</textarea>
      </span>
    <fieldset class="inlineLabels"><legend>Message</legend>
      <div class="ctrlHolder">
          <label for="recipient_id">{tmpl_var name='recipient_id_txt'}</label>
        <select name="recipient_id" id="recipient_id" class="selectInput">
                    {tmpl_var name='recipient_id'}
                </select>
      </div>
      <div class="ctrlHolder">
          <label for="subject">{tmpl_var name='subject_txt'}</label>
        <input name="subject" id="subject" value="{tmpl_var name='subject'}" size="30" maxlength="255" type="text" class="textInput" />
            </div>
      <div class="ctrlHolder">
          <label for="message">{tmpl_var name='message_txt'}</label>
        <textarea name="message" id="message" rows='10' cols='30'>{tmpl_var name='message'}</textarea>
      </div>
    </fieldset>
    <input type="hidden" name="id" value="{tmpl_var name='id'}">
    <input type="hidden" name="tstamp" value="{tmpl_var name='tstamp'}">
    <div class="wf_actions buttons">
    <div class="buttonHolder buttons">
      <button class="positive iconstxt icoPositive" type="button" value="{tmpl_var name='btn_save_txt'}" onClick="submitForm('pageForm','help/support_message_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('help/support_message_list.php');"><span>{tmpl_var name='btn_cancel_txt'}</span></button>
    </div>
interface/web/help/templates/support_message_list.htm
@@ -1,4 +1,5 @@
<h2><tmpl_var name="list_head_txt"></h2>
<p><tmpl_var name="list_desc_txt"></p>
<div class="panel panel_list_support_message">
interface/web/help/templates/support_message_view.htm
@@ -1,22 +1,23 @@
<h2><tmpl_var name="list_head_txt"></h2>
<p><tmpl_var name="list_desc_txt"></p>
<div class="panel panel_support_message">
  <div class="pnl_formsarea">
    <fieldset id="wf_area_support_message"><legend>Message</legend>
      <span class="wf_oneField">
        <label for="subject" class="wf_preField">{tmpl_var name='subject_txt'}</label>
        <input type="text" id="subject" name="subject" value="{tmpl_var name='subject'}" size="30" maxlength="255">
      </span>
      <span class="wf_oneField">
        <label for="message" class="wf_preField">{tmpl_var name='message_txt'}</label>
        <textarea id="message" name="message" cols='30' rows='10'>{tmpl_var name='message'}</textarea>
      </span>
    <fieldset class="inlineLabels"><legend>Message</legend>
      <div class="ctrlHolder">
          <label for="subject">{tmpl_var name='subject_txt'}</label>
        <input name="subject" id="subject" value="{tmpl_var name='subject'}" size="30" maxlength="255" type="text" class="textInput" />
            </div>
      <div class="ctrlHolder">
          <label for="message">{tmpl_var name='message_txt'}</label>
        <textarea name="message" id="message" rows='10' cols='30'>{tmpl_var name='message'}</textarea>
      </div>
    </fieldset>
    <input type="hidden" name="id" value="{tmpl_var name='id'}">
    <div class="wf_actions buttons">
    <div class="buttonHolder buttons">
      <button class="positive iconstxt icoPositive" type="button" value="{tmpl_var name='btn_save_txt'}" onClick="submitForm('pageForm','help/support_message_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('help/support_message_list.php');"><span>{tmpl_var name='btn_cancel_txt'}</span></button>
    </div>
interface/web/js/uni-form/jquery.js
New file
@@ -0,0 +1 @@
eval(function(p,a,c,k,e,d){e=function(c){return(c<a?"":e(parseInt(c/a)))+((c=c%a)>35?String.fromCharCode(c+29):c.toString(36))};if(!''.replace(/^/,String)){while(c--){d[e(c)]=k[c]||e(c)}k=[function(e){return d[e]}];e=function(){return'\\w+'};c=1};while(c--){if(k[c]){p=p.replace(new RegExp('\\b'+e(c)+'\\b','g'),k[c])}}return p}('7(1C 1w.6=="T"){1w.T=1w.T;B 6=u(a,c){7(1w==q)v 1p 6(a,c);a=a||17;7(6.1t(a))v 1p 6(17)[6.E.27?"27":"2O"](a);7(1C a=="23"){B m=/^[^<]*(<(.|\\s)+>)[^>]*$/.2Q(a);7(m)a=6.3k([m[1]]);J v 1p 6(c).2o(a)}v q.6r(a.1l==2y&&a||(a.3Y||a.I&&a!=1w&&!a.24&&a[0]!=T&&a[0].24)&&6.3M(a)||[a])};7(1C $!="T")6.2S$=$;B $=6;6.E=6.8p={3Y:"1.1.2",8q:u(){v q.I},I:0,2b:u(1T){v 1T==T?6.3M(q):q[1T]},2r:u(a){B L=6(a);L.6p=q;v L},6r:u(a){q.I=0;[].1g.14(q,a);v q},K:u(E,1E){v 6.K(q,E,1E)},2h:u(1c){B 4c=-1;q.K(u(i){7(q==1c)4c=i});v 4c},1I:u(1Y,O,C){B 1c=1Y;7(1Y.1l==3t)7(O==T)v q.I&&6[C||"1I"](q[0],1Y)||T;J{1c={};1c[1Y]=O}v q.K(u(2h){P(B H 1x 1c)6.1I(C?q.1q:q,H,6.H(q,1c[H],C,2h,H))})},1m:u(1Y,O){v q.1I(1Y,O,"30")},2L:u(e){7(1C e=="23")v q.3u().3r(17.8t(e));B t="";6.K(e||q,u(){6.K(q.2I,u(){7(q.24!=8)t+=q.24!=1?q.60:6.E.2L([q])})});v t},2K:u(){B a=6.3k(1A);v q.K(u(){B b=a[0].3l(U);q.11.2X(b,q);22(b.1b)b=b.1b;b.4C(q)})},3r:u(){v q.3j(1A,U,1,u(a){q.4C(a)})},5i:u(){v q.3j(1A,U,-1,u(a){q.2X(a,q.1b)})},5j:u(){v q.3j(1A,12,1,u(a){q.11.2X(a,q)})},5t:u(){v q.3j(1A,12,-1,u(a){q.11.2X(a,q.2e)})},4g:u(){v q.6p||6([])},2o:u(t){v q.2r(6.31(q,u(a){v 6.2o(t,a)}),t)},4Y:u(4N){v q.2r(6.31(q,u(a){B a=a.3l(4N!=T?4N:U);a.$1H=16;v a}))},1D:u(t){v q.2r(6.1t(t)&&6.2q(q,u(2z,2h){v t.14(2z,[2h])})||6.3z(t,q))},2g:u(t){v q.2r(t.1l==3t&&6.3z(t,q,U)||6.2q(q,u(a){v(t.1l==2y||t.3Y)?6.3y(a,t)<0:a!=t}))},1M:u(t){v q.2r(6.2k(q.2b(),t.1l==3t?6(t).2b():t.I!=T&&(!t.1f||t.1f=="8v")?t:[t]))},4l:u(1s){v 1s?6.1D(1s,q).r.I>0:12},1a:u(1a){v 1a==T?(q.I?q[0].O:16):q.1I("O",1a)},4U:u(1a){v 1a==T?(q.I?q[0].2t:16):q.3u().3r(1a)},3j:u(1E,1P,3Z,E){B 4Y=q.I>1;B a=6.3k(1E);7(3Z<0)a.8w();v q.K(u(){B 1c=q;7(1P&&6.1f(q,"1P")&&6.1f(a[0],"3m"))1c=q.5J("20")[0]||q.4C(17.6n("20"));6.K(a,u(){E.14(1c,[4Y?q.3l(U):q])})})}};6.1z=6.E.1z=u(){B 1O=1A[0],a=1;7(1A.I==1){1O=q;a=0}B H;22(H=1A[a++])P(B i 1x H)1O[i]=H[i];v 1O};6.1z({8x:u(){7(6.2S$)$=6.2S$;v 6},1t:u(E){v!!E&&1C E!="23"&&!E.1f&&1C E[0]=="T"&&/u/i.1n(E+"")},4B:u(D){v D.66&&D.5I&&!D.5I.64},1f:u(D,Y){v D.1f&&D.1f.3K()==Y.3K()},K:u(1c,E,1E){7(1c.I==T)P(B i 1x 1c)E.14(1c[i],1E||[i,1c[i]]);J P(B i=0,6q=1c.I;i<6q;i++)7(E.14(1c[i],1E||[i,1c[i]])===12)3O;v 1c},H:u(D,O,C,2h,H){7(6.1t(O))O=O.3n(D,[2h]);B 6s=/z-?2h|7P-?8A|1d|58|8B-?28/i;v O&&O.1l==3Q&&C=="30"&&!6s.1n(H)?O+"4S":O},19:{1M:u(D,c){6.K(c.3o(/\\s+/),u(i,Q){7(!6.19.2V(D.19,Q))D.19+=(D.19?" ":"")+Q})},2f:u(D,c){D.19=c?6.2q(D.19.3o(/\\s+/),u(Q){v!6.19.2V(c,Q)}).6t(" "):""},2V:u(t,c){t=t.19||t;c=c.1R(/([\\.\\\\\\+\\*\\?\\[\\^\\]\\$\\(\\)\\{\\}\\=\\!\\<\\>\\|\\:])/g,"\\\\$1");v t&&1p 4v("(^|\\\\s)"+c+"(\\\\s|$)").1n(t)}},4d:u(e,o,f){P(B i 1x o){e.1q["1N"+i]=e.1q[i];e.1q[i]=o[i]}f.14(e,[]);P(B i 1x o)e.1q[i]=e.1q["1N"+i]},1m:u(e,p){7(p=="28"||p=="3V"){B 1N={},46,3P,d=["7d","8C","8D","8E"];6.K(d,u(){1N["8F"+q]=0;1N["8G"+q+"8H"]=0});6.4d(e,1N,u(){7(6.1m(e,"1h")!="1Z"){46=e.8I;3P=e.8J}J{e=6(e.3l(U)).2o(":4j").5l("2Z").4g().1m({4n:"1G",45:"8K",1h:"2D",7I:"0",8M:"0"}).5z(e.11)[0];B 3d=6.1m(e.11,"45");7(3d==""||3d=="4b")e.11.1q.45="6x";46=e.6y;3P=e.6z;7(3d==""||3d=="4b")e.11.1q.45="4b";e.11.33(e)}});v p=="28"?46:3P}v 6.30(e,p)},30:u(D,H,53){B L;7(H=="1d"&&6.W.1j)v 6.1I(D.1q,"1d");7(H=="4h"||H=="2v")H=6.W.1j?"3T":"2v";7(!53&&D.1q[H])L=D.1q[H];J 7(17.44&&17.44.4W){7(H=="2v"||H=="3T")H="4h";H=H.1R(/([A-Z])/g,"-$1").4m();B Q=17.44.4W(D,16);7(Q)L=Q.55(H);J 7(H=="1h")L="1Z";J 6.4d(D,{1h:"2D"},u(){B c=17.44.4W(q,"");L=c&&c.55(H)||""})}J 7(D.51){B 56=H.1R(/\\-(\\w)/g,u(m,c){v c.3K()});L=D.51[H]||D.51[56]}v L},3k:u(a){B r=[];6.K(a,u(i,1r){7(!1r)v;7(1r.1l==3Q)1r=1r.6C();7(1C 1r=="23"){B s=6.35(1r),1V=17.6n("1V"),2i=[];B 2K=!s.18("<1u")&&[1,"<42>","</42>"]||(!s.18("<6D")||!s.18("<20")||!s.18("<6E"))&&[1,"<1P>","</1P>"]||!s.18("<3m")&&[2,"<1P><20>","</20></1P>"]||(!s.18("<6F")||!s.18("<6G"))&&[3,"<1P><20><3m>","</3m></20></1P>"]||[0,"",""];1V.2t=2K[1]+s+2K[2];22(2K[0]--)1V=1V.1b;7(6.W.1j){7(!s.18("<1P")&&s.18("<20")<0)2i=1V.1b&&1V.1b.2I;J 7(2K[1]=="<1P>"&&s.18("<20")<0)2i=1V.2I;P(B n=2i.I-1;n>=0;--n)7(6.1f(2i[n],"20")&&!2i[n].2I.I)2i[n].11.33(2i[n])}1r=[];P(B i=0,l=1V.2I.I;i<l;i++)1r.1g(1V.2I[i])}7(1r.I===0&&!6.1f(1r,"3w"))v;7(1r[0]==T||6.1f(1r,"3w"))r.1g(1r);J r=6.2k(r,1r)});v r},1I:u(D,Y,O){B 2j=6.4B(D)?{}:{"P":"6J","6L":"19","4h":6.W.1j?"3T":"2v",2v:6.W.1j?"3T":"2v",2t:"2t",19:"19",O:"O",2W:"2W",2Z:"2Z",89:"6N",2Y:"2Y"};7(Y=="1d"&&6.W.1j&&O!=T){D.58=1;v D.1D=D.1D.1R(/4i\\([^\\)]*\\)/6O,"")+(O==1?"":"4i(1d="+O*6g+")")}J 7(Y=="1d"&&6.W.1j)v D.1D?4T(D.1D.6P(/4i\\(1d=(.*)\\)/)[1])/6g:1;7(Y=="1d"&&6.W.3h&&O==1)O=0.6R;7(2j[Y]){7(O!=T)D[2j[Y]]=O;v D[2j[Y]]}J 7(O==T&&6.W.1j&&6.1f(D,"3w")&&(Y=="81"||Y=="80"))v D.6T(Y).60;J 7(D.66){7(O!=T)D.6V(Y,O);7(6.W.1j&&/5E|3e/.1n(Y)&&!6.4B(D))v D.36(Y,2);v D.36(Y)}J{Y=Y.1R(/-([a-z])/6W,u(z,b){v b.3K()});7(O!=T)D[Y]=O;v D[Y]}},35:u(t){v t.1R(/^\\s+|\\s+$/g,"")},3M:u(a){B r=[];7(a.1l!=2y)P(B i=0,2R=a.I;i<2R;i++)r.1g(a[i]);J r=a.3N(0);v r},3y:u(b,a){P(B i=0,2R=a.I;i<2R;i++)7(a[i]==b)v i;v-1},2k:u(2u,3H){B r=[].3N.3n(2u,0);P(B i=0,5b=3H.I;i<5b;i++)7(6.3y(3H[i],r)==-1)2u.1g(3H[i]);v 2u},2q:u(1U,E,4k){7(1C E=="23")E=1p 4w("a","i","v "+E);B 1i=[];P(B i=0,2z=1U.I;i<2z;i++)7(!4k&&E(1U[i],i)||4k&&!E(1U[i],i))1i.1g(1U[i]);v 1i},31:u(1U,E){7(1C E=="23")E=1p 4w("a","v "+E);B 1i=[],r=[];P(B i=0,2z=1U.I;i<2z;i++){B 1a=E(1U[i],i);7(1a!==16&&1a!=T){7(1a.1l!=2y)1a=[1a];1i=1i.6Z(1a)}}B r=1i.I?[1i[0]]:[];5f:P(B i=1,5e=1i.I;i<5e;i++){P(B j=0;j<i;j++)7(1i[i]==r[j])5F 5f;r.1g(1i[i])}v r}});1p u(){B b=7L.71.4m();6.W={2N:/5D/.1n(b),3f:/3f/.1n(b),1j:/1j/.1n(b)&&!/3f/.1n(b),3h:/3h/.1n(b)&&!/(72|5D)/.1n(b)};6.7H=!6.W.1j||17.74=="75"};6.K({5u:"a.11",4z:"6.4z(a)",76:"6.2a(a,2,\'2e\')",7D:"6.2a(a,2,\'5s\')",78:"6.2B(a.11.1b,a)",79:"6.2B(a.1b)"},u(i,n){6.E[i]=u(a){B L=6.31(q,n);7(a&&1C a=="23")L=6.3z(a,L);v q.2r(L)}});6.K({5z:"3r",7b:"5i",2X:"5j",7e:"5t"},u(i,n){6.E[i]=u(){B a=1A;v q.K(u(){P(B j=0,2R=a.I;j<2R;j++)6(a[j])[n](q)})}});6.K({5l:u(1Y){6.1I(q,1Y,"");q.7g(1Y)},7h:u(c){6.19.1M(q,c)},7i:u(c){6.19.2f(q,c)},7k:u(c){6.19[6.19.2V(q,c)?"2f":"1M"](q,c)},2f:u(a){7(!a||6.1D(a,[q]).r.I)q.11.33(q)},3u:u(){22(q.1b)q.33(q.1b)}},u(i,n){6.E[i]=u(){v q.K(n,1A)}});6.K(["5q","5n","5p","5v"],u(i,n){6.E[n]=u(1T,E){v q.1D(":"+n+"("+1T+")",E)}});6.K(["28","3V"],u(i,n){6.E[n]=u(h){v h==T?(q.I?6.1m(q[0],n):16):q.1m(n,h.1l==3t?h:h+"4S")}});6.1z({1s:{"":"m[2]==\'*\'||6.1f(a,m[2])","#":"a.36(\'2J\')==m[2]",":":{5n:"i<m[3]-0",5p:"i>m[3]-0",2a:"m[3]-0==i",5q:"m[3]-0==i",2u:"i==0",2T:"i==r.I-1",5R:"i%2==0",5S:"i%2","2a-3s":"6.2a(a.11.1b,m[3],\'2e\',a)==a","2u-3s":"6.2a(a.11.1b,1,\'2e\')==a","2T-3s":"6.2a(a.11.7n,1,\'5s\')==a","7p-3s":"6.2B(a.11.1b).I==1",5u:"a.1b",3u:"!a.1b",5v:"6.E.2L.14([a]).18(m[3])>=0",3i:\'a.C!="1G"&&6.1m(a,"1h")!="1Z"&&6.1m(a,"4n")!="1G"\',1G:\'a.C=="1G"||6.1m(a,"1h")=="1Z"||6.1m(a,"4n")=="1G"\',7v:"!a.2W",2W:"a.2W",2Z:"a.2Z",2Y:"a.2Y||6.1I(a,\'2Y\')",2L:"a.C==\'2L\'",4j:"a.C==\'4j\'",5x:"a.C==\'5x\'",4G:"a.C==\'4G\'",5y:"a.C==\'5y\'",4R:"a.C==\'4R\'",5A:"a.C==\'5A\'",5B:"a.C==\'5B\'",3x:\'a.C=="3x"||6.1f(a,"3x")\',5C:"/5C|42|7A|3x/i.1n(a.1f)"},".":"6.19.2V(a,m[2])","@":{"=":"z==m[4]","!=":"z!=m[4]","^=":"z&&!z.18(m[4])","$=":"z&&z.2U(z.I - m[4].I,m[4].I)==m[4]","*=":"z&&z.18(m[4])>=0","":"z",4u:u(m){v["",m[1],m[3],m[2],m[5]]},5P:"z=a[m[3]];7(!z||/5E|3e/.1n(m[3]))z=6.1I(a,m[3]);"},"[":"6.2o(m[2],a).I"},5M:[/^\\[ *(@)([a-2m-3C-]*) *([!*$^=]*) *(\'?"?)(.*?)\\4 *\\]/i,/^(\\[)\\s*(.*?(\\[.*?\\])?[^[]*?)\\s*\\]/,/^(:)([a-2m-3C-]*)\\("?\'?(.*?(\\(.*?\\))?[^(]*?)"?\'?\\)/i,/^([:.#]*)([a-2m-3C*-]*)/i],1Q:[/^(\\/?\\.\\.)/,"a.11",/^(>|\\/)/,"6.2B(a.1b)",/^(\\+)/,"6.2a(a,2,\'2e\')",/^(~)/,u(a){B s=6.2B(a.11.1b);v s.3N(6.3y(a,s)+1)}],3z:u(1s,1U,2g){B 1N,Q=[];22(1s&&1s!=1N){1N=1s;B f=6.1D(1s,1U,2g);1s=f.t.1R(/^\\s*,\\s*/,"");Q=2g?1U=f.r:6.2k(Q,f.r)}v Q},2o:u(t,1B){7(1C t!="23")v[t];7(1B&&!1B.24)1B=16;1B=1B||17;7(!t.18("//")){1B=1B.4H;t=t.2U(2,t.I)}J 7(!t.18("/")){1B=1B.4H;t=t.2U(1,t.I);7(t.18("/")>=1)t=t.2U(t.18("/"),t.I)}B L=[1B],2c=[],2T=16;22(t&&2T!=t){B r=[];2T=t;t=6.35(t).1R(/^\\/\\//i,"");B 3B=12;B 1J=/^[\\/>]\\s*([a-2m-9*-]+)/i;B m=1J.2Q(t);7(m){6.K(L,u(){P(B c=q.1b;c;c=c.2e)7(c.24==1&&(6.1f(c,m[1])||m[1]=="*"))r.1g(c)});L=r;t=t.1R(1J,"");7(t.18(" ")==0)5F;3B=U}J{P(B i=0;i<6.1Q.I;i+=2){B 1J=6.1Q[i];B m=1J.2Q(t);7(m){r=L=6.31(L,6.1t(6.1Q[i+1])?6.1Q[i+1]:u(a){v 40(6.1Q[i+1])});t=6.35(t.1R(1J,""));3B=U;3O}}}7(t&&!3B){7(!t.18(",")){7(L[0]==1B)L.4L();6.2k(2c,L);r=L=[1B];t=" "+t.2U(1,t.I)}J{B 34=/^([a-2m-3C-]+)(#)([a-2m-9\\\\*2S-]*)/i;B m=34.2Q(t);7(m){m=[0,m[2],m[3],m[1]]}J{34=/^([#.]?)([a-2m-9\\\\*2S-]*)/i;m=34.2Q(t)}7(m[1]=="#"&&L[L.I-1].4X){B 2l=L[L.I-1].4X(m[2]);7(6.W.1j&&2l&&2l.2J!=m[2])2l=6(\'[@2J="\'+m[2]+\'"]\',L[L.I-1])[0];L=r=2l&&(!m[3]||6.1f(2l,m[3]))?[2l]:[]}J{7(m[1]==".")B 4r=1p 4v("(^|\\\\s)"+m[2]+"(\\\\s|$)");6.K(L,u(){B 3E=m[1]!=""||m[0]==""?"*":m[2];7(6.1f(q,"7J")&&3E=="*")3E="3g";6.2k(r,m[1]!=""&&L.I!=1?6.4x(q,[],m[1],m[2],4r):q.5J(3E))});7(m[1]=="."&&L.I==1)r=6.2q(r,u(e){v 4r.1n(e.19)});7(m[1]=="#"&&L.I==1){B 5K=r;r=[];6.K(5K,u(){7(q.36("2J")==m[2]){r=[q];v 12}})}L=r}t=t.1R(34,"")}}7(t){B 1a=6.1D(t,r);L=r=1a.r;t=6.35(1a.t)}}7(L&&L[0]==1B)L.4L();6.2k(2c,L);v 2c},1D:u(t,r,2g){22(t&&/^[a-z[({<*:.#]/i.1n(t)){B p=6.5M,m;6.K(p,u(i,1J){m=1J.2Q(t);7(m){t=t.7M(m[0].I);7(6.1s[m[1]].4u)m=6.1s[m[1]].4u(m);v 12}});7(m[1]==":"&&m[2]=="2g")r=6.1D(m[3],r,U).r;J 7(m[1]=="."){B 1J=1p 4v("(^|\\\\s)"+m[2]+"(\\\\s|$)");r=6.2q(r,u(e){v 1J.1n(e.19||"")},2g)}J{B f=6.1s[m[1]];7(1C f!="23")f=6.1s[m[1]][m[2]];40("f = u(a,i){"+(6.1s[m[1]].5P||"")+"v "+f+"}");r=6.2q(r,f,2g)}}v{r:r,t:t}},4x:u(o,r,1Q,Y,1J){P(B s=o.1b;s;s=s.2e)7(s.24==1){B 1M=U;7(1Q==".")1M=s.19&&1J.1n(s.19);J 7(1Q=="#")1M=s.36("2J")==Y;7(1M)r.1g(s);7(1Q=="#"&&r.I)3O;7(s.1b)6.4x(s,r,1Q,Y,1J)}v r},4z:u(D){B 4A=[];B Q=D.11;22(Q&&Q!=17){4A.1g(Q);Q=Q.11}v 4A},2a:u(Q,1i,3Z,D){1i=1i||1;B 1T=0;P(;Q;Q=Q[3Z]){7(Q.24==1)1T++;7(1T==1i||1i=="5R"&&1T%2==0&&1T>1&&Q==D||1i=="5S"&&1T%2==1&&Q==D)v Q}},2B:u(n,D){B r=[];P(;n;n=n.2e){7(n.24==1&&(!D||n!=D))r.1g(n)}v r}});6.G={1M:u(S,C,1o,F){7(6.W.1j&&S.3L!=T)S=1w;7(F)1o.F=F;7(!1o.2A)1o.2A=q.2A++;7(!S.$1H)S.$1H={};B 38=S.$1H[C];7(!38){38=S.$1H[C]={};7(S["39"+C])38[0]=S["39"+C]}38[1o.2A]=1o;S["39"+C]=q.5Y;7(!q.1k[C])q.1k[C]=[];q.1k[C].1g(S)},2A:1,1k:{},2f:u(S,C,1o){7(S.$1H){B i,j,k;7(C&&C.C){1o=C.1o;C=C.C}7(C&&S.$1H[C])7(1o)5U S.$1H[C][1o.2A];J P(i 1x S.$1H[C])5U S.$1H[C][i];J P(j 1x S.$1H)q.2f(S,j);P(k 1x S.$1H[C])7(k){k=U;3O}7(!k)S["39"+C]=16}},1S:u(C,F,S){F=6.3M(F||[]);7(!S)6.K(q.1k[C]||[],u(){6.G.1S(C,F,q)});J{B 1o=S["39"+C],1a,E=6.1t(S[C]);7(1o){F.61(q.2j({C:C,1O:S}));7((1a=1o.14(S,F))!==12)q.4F=U}7(E&&1a!==12)S[C]();q.4F=12}},5Y:u(G){7(1C 6=="T"||6.G.4F)v;G=6.G.2j(G||1w.G||{});B 3R;B c=q.$1H[G.C];B 1E=[].3N.3n(1A,1);1E.61(G);P(B j 1x c){1E[0].1o=c[j];1E[0].F=c[j].F;7(c[j].14(q,1E)===12){G.2n();G.2H();3R=12}}7(6.W.1j)G.1O=G.2n=G.2H=G.1o=G.F=16;v 3R},2j:u(G){7(!G.1O&&G.63)G.1O=G.63;7(G.65==T&&G.67!=T){B e=17.4H,b=17.64;G.65=G.67+(e.68||b.68);G.7Y=G.7Z+(e.6c||b.6c)}7(6.W.2N&&G.1O.24==3){B 3a=G;G=6.1z({},3a);G.1O=3a.1O.11;G.2n=u(){v 3a.2n()};G.2H=u(){v 3a.2H()}}7(!G.2n)G.2n=u(){q.3R=12};7(!G.2H)G.2H=u(){q.82=U};v G}};6.E.1z({3U:u(C,F,E){v q.K(u(){6.G.1M(q,C,E||F,F)})},6u:u(C,F,E){v q.K(u(){6.G.1M(q,C,u(G){6(q).6f(G);v(E||F).14(q,1A)},F)})},6f:u(C,E){v q.K(u(){6.G.2f(q,C,E)})},1S:u(C,F){v q.K(u(){6.G.1S(C,F,q)})},3X:u(){B a=1A;v q.6j(u(e){q.4M=q.4M==0?1:0;e.2n();v a[q.4M].14(q,[e])||12})},83:u(f,g){u 4O(e){B p=(e.C=="41"?e.84:e.85)||e.86;22(p&&p!=q)2G{p=p.11}2w(e){p=q};7(p==q)v 12;v(e.C=="41"?f:g).14(q,[e])}v q.41(4O).6k(4O)},27:u(f){7(6.3W)f.14(17,[6]);J{6.3c.1g(u(){v f.14(q,[6])})}v q}});6.1z({3W:12,3c:[],27:u(){7(!6.3W){6.3W=U;7(6.3c){6.K(6.3c,u(){q.14(17)});6.3c=16}7(6.W.3h||6.W.3f)17.87("6o",6.27,12)}}});1p u(){6.K(("88,8a,2O,8b,8d,52,6j,8e,"+"8f,8g,8h,41,6k,8j,42,"+"4R,8k,8l,8m,2C").3o(","),u(i,o){6.E[o]=u(f){v f?q.3U(o,f):q.1S(o)}});7(6.W.3h||6.W.3f)17.8n("6o",6.27,12);J 7(6.W.1j){17.8o("<8r"+"8s 2J=62 8u=U "+"3e=//:><\\/2d>");B 2d=17.4X("62");7(2d)2d.37=u(){7(q.3D!="1X")v;q.11.33(q);6.27()};2d=16}J 7(6.W.2N)6.50=3L(u(){7(17.3D=="8y"||17.3D=="1X"){4p(6.50);6.50=16;6.27()}},10);6.G.1M(1w,"2O",6.27)};7(6.W.1j)6(1w).6u("52",u(){B 1k=6.G.1k;P(B C 1x 1k){B 4Z=1k[C],i=4Z.I;7(i&&C!=\'52\')6w 6.G.2f(4Z[i-1],C);22(--i)}});6.E.1z({6A:u(V,21,M){q.2O(V,21,M,1)},2O:u(V,21,M,1W){7(6.1t(V))v q.3U("2O",V);M=M||u(){};B C="5d";7(21)7(6.1t(21)){M=21;21=16}J{21=6.3g(21);C="5V"}B 4e=q;6.3v({V:V,C:C,F:21,1W:1W,1X:u(2P,15){7(15=="2M"||!1W&&15=="5L")4e.1I("2t",2P.3G).4V().K(M,[2P.3G,15,2P]);J M.14(4e,[2P.3G,15,2P])}});v q},6B:u(){v 6.3g(q)},4V:u(){v q.2o("2d").K(u(){7(q.3e)6.59(q.3e);J 6.4a(q.2L||q.6H||q.2t||"")}).4g()}});7(!1w.3p)3p=u(){v 1p 6I("6K.6M")};6.K("5m,5Q,5O,5W,5N,5H".3o(","),u(i,o){6.E[o]=u(f){v q.3U(o,f)}});6.1z({2b:u(V,F,M,C,1W){7(6.1t(F)){M=F;F=16}v 6.3v({V:V,F:F,2M:M,4t:C,1W:1W})},6Q:u(V,F,M,C){v 6.2b(V,F,M,C,1)},59:u(V,M){v 6.2b(V,16,M,"2d")},6S:u(V,F,M){v 6.2b(V,F,M,"6m")},6U:u(V,F,M,C){7(6.1t(F)){M=F;F={}}v 6.3v({C:"5V",V:V,F:F,2M:M,4t:C})},6X:u(29){6.3q.29=29},6Y:u(5c){6.1z(6.3q,5c)},3q:{1k:U,C:"5d",29:0,5r:"70/x-73-3w-77",5h:U,48:U,F:16},3S:{},3v:u(s){s=6.1z({},6.3q,s);7(s.F){7(s.5h&&1C s.F!="23")s.F=6.3g(s.F);7(s.C.4m()=="2b"){s.V+=((s.V.18("?")>-1)?"&":"?")+s.F;s.F=16}}7(s.1k&&!6.4E++)6.G.1S("5m");B 4y=12;B N=1p 3p();N.7j(s.C,s.V,s.48);7(s.F)N.3A("7l-7m",s.5r);7(s.1W)N.3A("7o-4K-7q",6.3S[s.V]||"7s, 7t 7w 7x 4o:4o:4o 7z");N.3A("X-7B-7C","3p");7(N.7E)N.3A("7F","7G");7(s.5G)s.5G(N);7(s.1k)6.G.1S("5H",[N,s]);B 37=u(4s){7(N&&(N.3D==4||4s=="29")){4y=U;7(3I){4p(3I);3I=16}B 15;2G{15=6.5Z(N)&&4s!="29"?s.1W&&6.69(N,s.V)?"5L":"2M":"2C";7(15!="2C"){B 3F;2G{3F=N.4P("6b-4K")}2w(e){}7(s.1W&&3F)6.3S[s.V]=3F;B F=6.6i(N,s.4t);7(s.2M)s.2M(F,15);7(s.1k)6.G.1S("5N",[N,s])}J 6.3J(s,N,15)}2w(e){15="2C";6.3J(s,N,15,e)}7(s.1k)6.G.1S("5O",[N,s]);7(s.1k&&!--6.4E)6.G.1S("5Q");7(s.1X)s.1X(N,15);7(s.48)N=16}};B 3I=3L(37,13);7(s.29>0)57(u(){7(N){N.7N();7(!4y)37("29")}},s.29);2G{N.7Q(s.F)}2w(e){6.3J(s,N,16,e)}7(!s.48)37();v N},3J:u(s,N,15,e){7(s.2C)s.2C(N,15,e);7(s.1k)6.G.1S("5W",[N,s,e])},4E:0,5Z:u(r){2G{v!r.15&&7V.7W=="4G:"||(r.15>=5X&&r.15<7X)||r.15==6d||6.W.2N&&r.15==T}2w(e){}v 12},69:u(N,V){2G{B 6e=N.4P("6b-4K");v N.15==6d||6e==6.3S[V]||6.W.2N&&N.15==T}2w(e){}v 12},6i:u(r,C){B 4Q=r.4P("8c-C");B F=!C&&4Q&&4Q.18("N")>=0;F=C=="N"||F?r.8i:r.3G;7(C=="2d")6.4a(F);7(C=="6m")40("F = "+F);7(C=="4U")6("<1V>").4U(F).4V();v F},3g:u(a){B s=[];7(a.1l==2y||a.3Y)6.K(a,u(){s.1g(2x(q.Y)+"="+2x(q.O))});J P(B j 1x a)7(a[j]&&a[j].1l==2y)6.K(a[j],u(){s.1g(2x(j)+"="+2x(q))});J s.1g(2x(j)+"="+2x(a[j]));v s.6t("&")},4a:u(F){7(1w.54)1w.54(F);J 7(6.W.2N)1w.57(F,0);J 40.3n(1w,F)}});6.E.1z({1L:u(R,M){B 1G=q.1D(":1G");R?1G.26({28:"1L",3V:"1L",1d:"1L"},R,M):1G.K(u(){q.1q.1h=q.2E?q.2E:"";7(6.1m(q,"1h")=="1Z")q.1q.1h="2D"});v q},1K:u(R,M){B 3i=q.1D(":3i");R?3i.26({28:"1K",3V:"1K",1d:"1K"},R,M):3i.K(u(){q.2E=q.2E||6.1m(q,"1h");7(q.2E=="1Z")q.2E="2D";q.1q.1h="1Z"});v q},5g:6.E.3X,3X:u(E,4I){B 1E=1A;v 6.1t(E)&&6.1t(4I)?q.5g(E,4I):q.K(u(){6(q)[6(q).4l(":1G")?"1L":"1K"].14(6(q),1E)})},7a:u(R,M){v q.26({28:"1L"},R,M)},7c:u(R,M){v q.26({28:"1K"},R,M)},7f:u(R,M){v q.K(u(){B 5k=6(q).4l(":1G")?"1L":"1K";6(q).26({28:5k},R,M)})},7r:u(R,M){v q.26({1d:"1L"},R,M)},7u:u(R,M){v q.26({1d:"1K"},R,M)},7y:u(R,43,M){v q.26({1d:43},R,M)},26:u(H,R,1v,M){v q.1F(u(){q.2F=6.1z({},H);B 1u=6.R(R,1v,M);P(B p 1x H){B e=1p 6.3b(q,1u,p);7(H[p].1l==3Q)e.2s(e.Q(),H[p]);J e[H[p]](H)}})},1F:u(C,E){7(!E){E=C;C="3b"}v q.K(u(){7(!q.1F)q.1F={};7(!q.1F[C])q.1F[C]=[];q.1F[C].1g(E);7(q.1F[C].I==1)E.14(q)})}});6.1z({R:u(R,1v,E){B 1u=R&&R.1l==7K?R:{1X:E||!E&&1v||6.1t(R)&&R,25:R,1v:E&&1v||1v&&1v.1l!=4w&&1v};1u.25=(1u.25&&1u.25.1l==3Q?1u.25:{7R:7S,7T:5X}[1u.25])||7U;1u.1N=1u.1X;1u.1X=u(){6.6a(q,"3b");7(6.1t(1u.1N))1u.1N.14(q)};v 1u},1v:{},1F:{},6a:u(D,C){C=C||"3b";7(D.1F&&D.1F[C]){D.1F[C].4L();B f=D.1F[C][0];7(f)f.14(D)}},3b:u(D,1e,H){B z=q;B y=D.1q;B 4D=6.1m(D,"1h");y.5T="1G";z.a=u(){7(1e.49)1e.49.14(D,[z.2p]);7(H=="1d")6.1I(y,"1d",z.2p);J 7(6l(z.2p))y[H]=6l(z.2p)+"4S";y.1h="2D"};z.6v=u(){v 4T(6.1m(D,H))};z.Q=u(){B r=4T(6.30(D,H));v r&&r>-8z?r:z.6v()};z.2s=u(4f,43){z.4J=(1p 5o()).5w();z.2p=4f;z.a();z.4q=3L(u(){z.49(4f,43)},13)};z.1L=u(){7(!D.1y)D.1y={};D.1y[H]=q.Q();1e.1L=U;z.2s(0,D.1y[H]);7(H!="1d")y[H]="5a"};z.1K=u(){7(!D.1y)D.1y={};D.1y[H]=q.Q();1e.1K=U;z.2s(D.1y[H],0)};z.3X=u(){7(!D.1y)D.1y={};D.1y[H]=q.Q();7(4D=="1Z"){1e.1L=U;7(H!="1d")y[H]="5a";z.2s(0,D.1y[H])}J{1e.1K=U;z.2s(D.1y[H],0)}};z.49=u(32,47){B t=(1p 5o()).5w();7(t>1e.25+z.4J){4p(z.4q);z.4q=16;z.2p=47;z.a();7(D.2F)D.2F[H]=U;B 2c=U;P(B i 1x D.2F)7(D.2F[i]!==U)2c=12;7(2c){y.5T="";y.1h=4D;7(6.1m(D,"1h")=="1Z")y.1h="2D";7(1e.1K)y.1h="1Z";7(1e.1K||1e.1L)P(B p 1x D.2F)7(p=="1d")6.1I(y,p,D.1y[p]);J y[p]=""}7(2c&&6.1t(1e.1X))1e.1X.14(D)}J{B n=t-q.4J;B p=n/1e.25;z.2p=1e.1v&&6.1v[1e.1v]?6.1v[1e.1v](p,n,32,(47-32),1e.25):((-6h.7O(p*6h.8L)/2)+0.5)*(47-32)+32;z.a()}}}})}',62,545,'||||||jQuery|if|||||||||||||||||||this||||function|return||||||var|type|elem|fn|data|event|prop|length|else|each|ret|callback|xml|value|for|cur|speed|element|undefined|true|url|browser||name|||parentNode|false||apply|status|null|document|indexOf|className|val|firstChild|obj|opacity|options|nodeName|push|display|result|msie|global|constructor|css|test|handler|new|style|arg|expr|isFunction|opt|easing|window|in|orig|extend|arguments|context|typeof|filter|args|queue|hidden|events|attr|re|hide|show|add|old|target|table|token|replace|trigger|num|elems|div|ifModified|complete|key|none|tbody|params|while|string|nodeType|duration|animate|ready|height|timeout|nth|get|done|script|nextSibling|remove|not|index|tb|fix|merge|oid|z0|preventDefault|find|now|grep|pushStack|custom|innerHTML|first|cssFloat|catch|encodeURIComponent|Array|el|guid|sibling|error|block|oldblock|curAnim|try|stopPropagation|childNodes|id|wrap|text|success|safari|load|res|exec|al|_|last|substr|has|disabled|insertBefore|selected|checked|curCSS|map|firstNum|removeChild|re2|trim|getAttribute|onreadystatechange|handlers|on|originalEvent|fx|readyList|parPos|src|opera|param|mozilla|visible|domManip|clean|cloneNode|tr|call|split|XMLHttpRequest|ajaxSettings|append|child|String|empty|ajax|form|button|inArray|multiFilter|setRequestHeader|foundToken|9_|readyState|tag|modRes|responseText|second|ival|handleError|toUpperCase|setInterval|makeArray|slice|break|oWidth|Number|returnValue|lastModified|styleFloat|bind|width|isReady|toggle|jquery|dir|eval|mouseover|select|to|defaultView|position|oHeight|lastNum|async|step|globalEval|static|pos|swap|self|from|end|float|alpha|radio|inv|is|toLowerCase|visibility|00|clearInterval|timer|rec|isTimeout|dataType|_resort|RegExp|Function|getAll|requestDone|parents|matched|isXMLDoc|appendChild|oldDisplay|active|triggered|file|documentElement|fn2|startTime|Modified|shift|lastToggle|deep|handleHover|getResponseHeader|ct|submit|px|parseFloat|html|evalScripts|getComputedStyle|getElementById|clone|els|safariTimer|currentStyle|unload|force|execScript|getPropertyValue|newProp|setTimeout|zoom|getScript|1px|sl|settings|GET|rl|check|_toggle|processData|prepend|before|state|removeAttr|ajaxStart|lt|Date|gt|eq|contentType|previousSibling|after|parent|contains|getTime|checkbox|password|appendTo|image|reset|input|webkit|href|continue|beforeSend|ajaxSend|ownerDocument|getElementsByTagName|tmp|notmodified|parse|ajaxSuccess|ajaxComplete|_prefix|ajaxStop|even|odd|overflow|delete|POST|ajaxError|200|handle|httpSuccess|nodeValue|unshift|__ie_init|srcElement|body|pageX|tagName|clientX|scrollLeft|httpNotModified|dequeue|Last|scrollTop|304|xmlRes|unbind|100|Math|httpData|click|mouseout|parseInt|json|createElement|DOMContentLoaded|prevObject|ol|setArray|exclude|join|one|max|do|relative|clientHeight|clientWidth|loadIfModified|serialize|toString|thead|tfoot|td|th|textContent|ActiveXObject|htmlFor|Microsoft|class|XMLHTTP|readOnly|gi|match|getIfModified|9999|getJSON|getAttributeNode|post|setAttribute|ig|ajaxTimeout|ajaxSetup|concat|application|userAgent|compatible|www|compatMode|CSS1Compat|next|urlencoded|siblings|children|slideDown|prependTo|slideUp|Top|insertAfter|slideToggle|removeAttribute|addClass|removeClass|open|toggleClass|Content|Type|lastChild|If|only|Since|fadeIn|Thu|01|fadeOut|enabled|Jan|1970|fadeTo|GMT|textarea|Requested|With|prev|overrideMimeType|Connection|close|boxModel|right|object|Object|navigator|substring|abort|cos|font|send|slow|600|fast|400|location|protocol|300|pageY|clientY|method|action|cancelBubble|hover|fromElement|toElement|relatedTarget|removeEventListener|blur|readonly|focus|resize|content|scroll|dblclick|mousedown|mouseup|mousemove|responseXML|change|keydown|keypress|keyup|addEventListener|write|prototype|size|scr|ipt|createTextNode|defer|FORM|reverse|noConflict|loaded|10000|weight|line|Bottom|Right|Left|padding|border|Width|offsetHeight|offsetWidth|absolute|PI|left'.split('|'),0,{}))
interface/web/js/uni-form/uni-form.jquery.js
New file
@@ -0,0 +1,41 @@
jQuery.fn.uniform = function(settings) {
  settings = jQuery.extend({
    valid_class    : 'valid',
    invalid_class  : 'invalid',
    focused_class  : 'focused',
    holder_class   : 'ctrlHolder',
    field_selector : 'input, select, textarea'
  }, settings);
  return this.each(function() {
    var form = jQuery(this);
    // Focus specific control holder
    var focusControlHolder = function(element) {
      var parent = element.parent();
      while(typeof(parent) == 'object') {
        if(parent) {
          if(parent[0] && (parent[0].className.indexOf(settings.holder_class) >= 0)) {
            parent.addClass(settings.focused_class);
            return;
          } // if
        } // if
        parent = jQuery(parent.parent());
      } // while
    };
    // Select form fields and attach them higlighter functionality
    form.find(settings.field_selector).focus(function() {
      form.find('.' + settings.focused_class).removeClass(settings.focused_class);
      focusControlHolder(jQuery(this));
    }).blur(function() {
      form.find('.' + settings.focused_class).removeClass(settings.focused_class);
    });
  });
};
// Auto set on page load...
$(document).ready(function() {
  jQuery('form.uniForm').uniform();
});
interface/web/login/templates/index.htm
@@ -1,32 +1,35 @@
<h2>Login</h2>
<div class="panel panel_login">
  <tmpl_if name="error">
  <tmpl_var name="error">
  <div class="box box_support">
    <a href="#" onclick="loadContent('login/password_reset.php');">Password lost?</a>
  </div>
  </tmpl_if>
  <div class="pnl_formsarea">
    <fieldset id="wf_area_login">
      <span class="wf_oneField">
        <label for="username" class="wf_preField">Username:</label>
        <input type="text" id="username" name="username" value="" size="" class="wf_required" onkeypress="if (event.keyCode && event.keyCode == 13) {submitLoginForm('pageForm'); return false;};"><span class="wf_reqMark">*</span><br>
      </span>
      <span class="wf_oneField">
        <label for="passwort" class="wf_preField">Password:</label>
        <input type="password" id="passwort" name="passwort" value="" size="" class="wf_required" onkeypress="if (event.keyCode && event.keyCode == 13) {submitLoginForm('pageForm'); return false;};"><span class="wf_reqMark">*</span><br>
      </span>
    </fieldset>
    <input type="hidden" name="s_mod" value="login" />
    <input type="hidden" name="s_pg" value="index" />
    <div class="wf_actions buttons">
      <button class="positive iconstxt icoKey" type="button" value="{tmpl_var name="add_new_record_txt"}" onClick="submitLoginForm('pageForm');"><span>Login</span></button>
    </div>
  </div>
</div>
<h2>Login</h2>
<p><tmpl_var name="list_desc_txt"></p>
<div class="panel panel_login">
  <tmpl_if name="msg">
    <div id="OKMsg"><p><tmpl_var name="msg"></p></div>
  </tmpl_if>
  <tmpl_if name="error">
    <div id="errorMsg"><h3>ERROR</h3><ol><li><tmpl_var name="error"></li></ol><br /><a href="#" onclick="loadContent('login/password_reset.php');">Password lost?</a></div>
  </tmpl_if>
  <div class="pnl_formsarea">
    <fieldset class="inlineLabels"><legend>Login</legend>
      <div class="ctrlHolder">
          <label for="username">Username</label>
        <input name="username" id="username" value="" size="30" maxlength="255" type="text" class="textInput"  onkeypress="if (event.keyCode && event.keyCode == 13) {submitLoginForm('pageForm');};" />
                <p class="formHint">The username is case sensitive.</p>
            </div>
      <div class="ctrlHolder">
          <label for="passwort">Password</label>
        <input name="passwort" id="passwort" value="" size="30" maxlength="255" type="password" class="textInput"  onkeypress="if (event.keyCode && event.keyCode == 13) {submitLoginForm('pageForm');};" />
                <p class="formHint">The password is case sensitive.</p>
            </div>
    </fieldset>
    <input type="hidden" name="s_mod" value="login" />
    <input type="hidden" name="s_pg" value="index" />
    <div class="buttonHolder buttons">
            <button class="positive iconstxt icoKey" type="button" value="{tmpl_var name="add_new_record_txt"}" onClick="submitLoginForm('pageForm');"><span>Login</span></button>
    </div>
  </div>
</div>
interface/web/login/templates/password_reset.htm
@@ -1,32 +1,33 @@
<h2>Password Reset</h2>
<p><tmpl_var name="list_desc_txt"></p>
<div class="panel panel_password_reset">
  
  <tmpl_if name="message">
  <div class="box box_msg">
    <tmpl_var name="message"><br />
    <tmpl_var name="pass_reset_txt">
  </div>
  <tmpl_if name="msg">
    <div id="OKMsg"><p><tmpl_var name="msg"></p></div>
  </tmpl_if>
  <tmpl_if name="error">
    <div id="errorMsg"><h3>ERROR</h3><ol><tmpl_var name="error"></ol></div>
  </tmpl_if>
  <div class="pnl_formsarea">
    <fieldset id="wf_area_password_reset">
      <span class="wf_oneField">
        <label for="email" class="wf_preField">E-Mail:</label>
        <input type="text" id="email" name="email" value="" size="" class="wf_required"><span class="wf_reqMark">*</span><br>
      </span>
      <span class="wf_oneField">
        <label for="username" class="wf_preField">Username:</label>
        <input type="text" id="username" name="username" value="" size="" class="wf_required"><span class="wf_reqMark">*</span><br>
      </span>
    <fieldset class="inlineLabels"><legend>Password reset</legend>
      <div class="ctrlHolder">
          <label for="email"><em>*</em> E-Mail</label>
        <input name="email" id="email" value="" size="30" maxlength="255" type="text" class="textInput" />
            </div>
      <div class="ctrlHolder">
          <label for="username"><em>*</em> Username</label>
        <input name="username" id="username" value="" size="30" maxlength="255" type="text" class="textInput" />
            </div>
    </fieldset>
    <input type="hidden" name="s_mod" value="login" />
    <input type="hidden" name="s_pg" value="index" />
    
    <div class="wf_actions buttons">
    <div class="buttonHolder buttons">
      <button class="positive" type="button" value="{tmpl_var name="add_new_record_txt"}" onClick="submitForm('pageForm','login/password_reset.php');"><span>Resend password</span></button>
    </div>
  </div>
  
</div>
</div>
interface/web/mail/templates/mail_alias_edit.htm
@@ -1,27 +1,36 @@
<h2><tmpl_var name="list_head_txt"></h2>
<p><tmpl_var name="list_desc_txt"></p>
<div class="panel panel_mail_alias">
  <div class="pnl_formsarea">
    <fieldset id="wf_area_mail_alias"><legend>Email Alias</legend>
      <span class="wf_oneField">
        <label for="email_local_part" class="wf_preField">{tmpl_var name='email_txt'}</label>
        <input type="text" id="email_local_part" name="email_local_part" value="{tmpl_var name='email_local_part'}" size="10" maxlength="50"> @ <select id="email_domain" name="email_domain">{tmpl_var name="email_domain"}</select>
      </span>
      <span class="wf_oneField">
        <label for="destination" class="wf_preField">{tmpl_var name='destination_txt'}</label>
        <select id="destination" name="destination">{tmpl_var name='destination'}</select>
      </span>
      <span class="wf_oneField">
        <label for="active" class="wf_preField">{tmpl_var name='active_txt'}</label>
        <span class="">{tmpl_var name='active'}</span>
      </span>
    <fieldset class="inlineLabels"><legend>Email Alias</legend>
      <div class="ctrlHolder">
        <p class="label"><em>*</em> {tmpl_var name='email_txt'}</p>
        <div class="multiField">
          <label for="email_local_part" class="blockLabel">Alias<input type="text" id="email_local_part" name="email_local_part" size="20" value="" class="textInput" /></label>
          <label for="email_at" class="blockLabel email_at">&nbsp;<span id="email_at" name="email_at" />@</label>
          <label for="email_domain" class="blockLabel">Domain<select name="email_domain" id="email_domain" class="selectInput">{tmpl_var name='email_domain'}</select></label>
        </div>
      </div>
      <div class="ctrlHolder">
          <label for="destination">{tmpl_var name='destination_txt'}</label>
        <select name="destination" id="destination" class="selectInput">
                    {tmpl_var name='destination'}
                </select>
      </div>
      <div class="ctrlHolder">
                <p class="label">{tmpl_var name='active_txt'}</p>
                    <div class="multiField">
                        {tmpl_var name='active'}
                    </div>
            </div>
    </fieldset>
    <input type="hidden" name="id" value="{tmpl_var name='id'}">
    <input type="hidden" name="type" value="alias">
    <div class="wf_actions buttons">
    <div class="buttonHolder buttons">
      <button class="positive iconstxt icoPositive" type="button" value="{tmpl_var name='btn_save_txt'}" onClick="submitForm('pageForm','mail/mail_alias_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('mail/mail_alias_list.php');"><span>{tmpl_var name='btn_cancel_txt'}</span></button>
    </div>
interface/web/mail/templates/mail_alias_list.htm
@@ -1,4 +1,5 @@
<h2><tmpl_var name="list_head_txt"></h2>
<p><tmpl_var name="list_desc_txt"></p>
<div class="panel panel_list_mail_alias">
interface/web/mail/templates/mail_blacklist_edit.htm
@@ -1,31 +1,38 @@
<h2><tmpl_var name="list_head_txt"></h2>
<p><tmpl_var name="list_desc_txt"></p>
<div class="panel panel_mail_blacklist">
  <div class="pnl_formsarea">
    <fieldset id="wf_area_mail_blacklist"><legend>Blacklist</legend>
      <span class="wf_oneField">
        <label for="server_id" class="wf_preField">{tmpl_var name='server_id_txt'}</label>
        <select id="server_id" name="server_id">{tmpl_var name='server_id'}</select>
      </span>
      <span class="wf_oneField">
        <label for="source" class="wf_preField">{tmpl_var name='source_txt'}</label>
        <input type="text" id="source" name="source" value="{tmpl_var name='source'}" size="30" maxlength="255">
      </span>
      <span class="wf_oneField">
        <label for="type" class="wf_preField">{tmpl_var name='type_txt'}</label>
        <select id="type" name="type">{tmpl_var name='type'}</select>
      </span>
      <span class="wf_oneField">
        <label for="active" class="wf_preField">{tmpl_var name='active_txt'}</label>
        <span class="">{tmpl_var name='active'}</span>
      </span>
    <fieldset class="inlineLabels"><legend>Blacklist</legend>
      <div class="ctrlHolder">
          <label for="server_id">{tmpl_var name='server_id_txt'}</label>
        <select name="server_id" id="server_id" class="selectInput">
                    {tmpl_var name='server_id'}
                </select>
      </div>
      <div class="ctrlHolder">
          <label for="source">{tmpl_var name='source_txt'}</label>
        <input name="source" id="source" value="{tmpl_var name='source'}" size="30" maxlength="255" type="text" class="textInput" />
            </div>
      <div class="ctrlHolder">
          <label for="type">{tmpl_var name='type_txt'}</label>
        <select name="type" id="type" class="selectInput">
                    {tmpl_var name='type'}
                </select>
      </div>
      <div class="ctrlHolder">
                <p class="label">{tmpl_var name='active_txt'}</p>
                    <div class="multiField">
                        {tmpl_var name='active'}
                    </div>
            </div>
    </fieldset>
    <input type="hidden" name="id" value="{tmpl_var name='id'}">
    <input name="access" type="hidden" value="{tmpl_var name='access'}">
    <div class="wf_actions buttons">
    <div class="buttonHolder buttons">
      <button class="positive iconstxt icoPositive" type="button" value="{tmpl_var name='btn_save_txt'}" onClick="submitForm('pageForm','mail/mail_blacklist_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('mail/mail_blacklist_list.php');"><span>{tmpl_var name='btn_cancel_txt'}</span></button>
    </div>
interface/web/mail/templates/mail_blacklist_list.htm
@@ -1,4 +1,5 @@
<h2><tmpl_var name="list_head_txt"></h2>
<p><tmpl_var name="list_desc_txt"></p>
<div class="panel panel_list_mail_blacklist">
interface/web/mail/templates/mail_content_filter_edit.htm
@@ -1,38 +1,47 @@
<h2><tmpl_var name="list_head_txt"></h2>
<p><tmpl_var name="list_desc_txt"></p>
<div class="panel panel_mail_content_filter">
  <div class="pnl_formsarea">
    <fieldset id="wf_area_mail_content_filter"><legend>Filter</legend>
      <span class="wf_oneField">
        <label for="server_id" class="wf_preField">{tmpl_var name='server_id_txt'}</label>
        <select id="server_id" name="server_id">{tmpl_var name='server_id'}</select>
      </span>
      <span class="wf_oneField">
        <label for="type" class="wf_preField">{tmpl_var name='type_txt'}</label>
        <select id="type" name="type">{tmpl_var name='type'}</select>
      </span>
      <span class="wf_oneField">
        <label for="pattern" class="wf_preField">{tmpl_var name='pattern_txt'}</label>
        <input type="text" id="pattern" name="pattern" value="{tmpl_var name='pattern'}" size="30" maxlength="255">
      </span>
      <span class="wf_oneField">
        <label for="data" class="wf_preField">{tmpl_var name='data_txt'}</label>
        <input type="text" id="data" name="data" value="{tmpl_var name='data'}" size="30" maxlength="255">
      </span>
      <span class="wf_oneField">
        <label for="action" class="wf_preField">{tmpl_var name='action_txt'}</label>
        <select id="action" name="action">{tmpl_var name='action'}</select>
      </span>
      <span class="wf_oneField">
        <label for="active" class="wf_preField">{tmpl_var name='active_txt'}</label>
        <span class="">{tmpl_var name='active'}</span>
      </span>
    <fieldset class="inlineLabels"><legend>Filter</legend>
      <div class="ctrlHolder">
          <label for="server_id">{tmpl_var name='server_id_txt'}</label>
        <select name="server_id" id="server_id" class="selectInput">
                    {tmpl_var name='server_id'}
                </select>
      </div>
      <div class="ctrlHolder">
          <label for="type">{tmpl_var name='type_txt'}</label>
        <select name="type" id="type" class="selectInput">
                    {tmpl_var name='type'}
                </select>
      </div>
      <div class="ctrlHolder">
          <label for="pattern">{tmpl_var name='pattern_txt'}</label>
        <input name="pattern" id="pattern" value="{tmpl_var name='pattern'}" size="30" maxlength="255" type="text" class="textInput" />
            </div>
      <div class="ctrlHolder">
          <label for="data">{tmpl_var name='data_txt'}</label>
        <input name="data" id="data" value="{tmpl_var name='data'}" size="30" maxlength="255" type="text" class="textInput" />
            </div>
      <div class="ctrlHolder">
          <label for="action">{tmpl_var name='action_txt'}</label>
        <select name="action" id="action" class="selectInput">
                    {tmpl_var name='action'}
                </select>
      </div>
      <div class="ctrlHolder">
                <p class="label">{tmpl_var name='active_txt'}</p>
                    <div class="multiField">
                        {tmpl_var name='active'}
                    </div>
            </div>
    </fieldset>
    <input type="hidden" name="id" value="{tmpl_var name='id'}">
    <div class="wf_actions buttons">
    <div class="buttonHolder buttons">
      <button class="positive iconstxt icoPositive" type="button" value="{tmpl_var name='btn_save_txt'}" onClick="submitForm('pageForm','mail/mail_content_filter_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('mail/mail_content_filter_list.php');"><span>{tmpl_var name='btn_cancel_txt'}</span></button>
    </div>
interface/web/mail/templates/mail_content_filter_list.htm
@@ -1,4 +1,5 @@
<h2><tmpl_var name="list_head_txt"></h2>
<p><tmpl_var name="list_desc_txt"></p>
<div class="panel panel_list_mail_content_filter">
interface/web/mail/templates/mail_domain_catchall_edit.htm
@@ -1,27 +1,36 @@
<h2><tmpl_var name="list_head_txt"></h2>
<p><tmpl_var name="list_desc_txt"></p>
<div class="panel panel_mail_domain_catchall">
  <div class="pnl_formsarea">
    <fieldset id="wf_area_mail_domain_catchall"><legend>Email Catchall</legend>
      <span class="wf_oneField">
        <label for="email_domain" class="wf_preField">{tmpl_var name='domain_txt'}</label>
        @ <select id="email_domain" name="email_domain">{tmpl_var name="email_domain"}</select>
      </span>
      <span class="wf_oneField">
        <label for="destination" class="wf_preField">{tmpl_var name='destination_txt'}</label>
        <select id="destination" name="destination">{tmpl_var name='destination'}</select>
      </span>
      <span class="wf_oneField">
        <label for="active" class="wf_preField">{tmpl_var name='active_txt'}</label>
        <span class="">{tmpl_var name='active'}</span>
      </span>
    <fieldset class="inlineLabels"><legend>Email Catchall</legend>
      <div class="ctrlHolder">
        <p class="label"><em>*</em> {tmpl_var name='email_txt'}</p>
        <div class="multiField">
          <label for="email_local_part" class="blockLabel">Alias<input type="text" id="email_local_part" name="email_local_part" size="20" value="" class="textInput" /></label>
          <label for="email_at" class="blockLabel email_at">&nbsp;<span id="email_at" name="email_at" />@</label>
          <label for="email_domain" class="blockLabel">Domain<select name="email_domain" id="email_domain" class="selectInput">{tmpl_var name='email_domain'}</select></label>
        </div>
      </div>
      <div class="ctrlHolder">
          <label for="destination">{tmpl_var name='destination_txt'}</label>
        <select name="destination" id="destination" class="selectInput">
                    {tmpl_var name='destination'}
                </select>
      </div>
      <div class="ctrlHolder">
                <p class="label">{tmpl_var name='active_txt'}</p>
                    <div class="multiField">
                        {tmpl_var name='active'}
                    </div>
            </div>
    </fieldset>
    <input type="hidden" name="id" value="{tmpl_var name='id'}">
    <input type="hidden" name="type" value="catchall">
    <div class="wf_actions buttons">
    <div class="buttonHolder buttons">
      <button class="positive iconstxt icoPositive" type="button" value="{tmpl_var name='btn_save_txt'}" onClick="submitForm('pageForm','mail/mail_domain_catchall_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('mail/mail_domain_catchall_list.php');"><span>{tmpl_var name='btn_cancel_txt'}</span></button>
    </div>
interface/web/mail/templates/mail_domain_catchall_list.htm
@@ -1,4 +1,5 @@
<h2><tmpl_var name="list_head_txt"></h2>
<p><tmpl_var name="list_desc_txt"></p>
<div class="panel panel_list_mail_domain_catchall">
interface/web/mail/templates/mail_domain_edit.htm
@@ -1,49 +1,59 @@
<h2><tmpl_var name="list_head_txt"></h2>
<div class="panel panel_mail_domain">
  <div class="pnl_formsarea">
    <fieldset id="wf_area_mail_domain"><legend>Domain</legend>
      <tmpl_if name="is_admin">
      <span class="wf_oneField">
        <label for="server_id" class="wf_preField">{tmpl_var name='server_id_txt'}</label>
        <select id="server_id" name="server_id" {tmpl_var name='edit_disabled'}>{tmpl_var name='server_id'}</select>
      </span>
      <span class="wf_oneField">
        <label for="client_group_id" class="wf_preField">{tmpl_var name='client_txt'}</label>
        <select id="client_group_id" name="client_group_id">{tmpl_var name='client_group_id'}</select>
      </span>
      </tmpl_if>
      <tmpl_if name="is_reseller">
      <span class="wf_oneField">
        <label for="client_group_id" class="wf_preField">{tmpl_var name='client_txt'}</label>
        <select id="client_group_id" name="client_group_id">{tmpl_var name='client_group_id'}</select>
      </span>
      </tmpl_if>
      <span class="wf_oneField">
        <label for="domain" class="wf_preField">{tmpl_var name='domain_txt'}</label>
        <input type="text" id="domain" name="domain" value="{tmpl_var name='domain'}" size="30" maxlength="255">
      </span>
      <span class="wf_oneField">
        <label for="policy" class="wf_preField">{tmpl_var name='policy_txt'}</label>
        <select id="policy" name="policy">{tmpl_var name='policy'}</select>
      </span>
      <span class="wf_oneField">
        <label for="active" class="wf_preField">{tmpl_var name='active_txt'}</label>
        <span class="">{tmpl_var name='active'}</span>
      </span>
    </fieldset>
    <input type="hidden" name="id" value="{tmpl_var name='id'}">
    <input type="hidden" name="type" value="local">
    <div class="wf_actions buttons">
      <button class="positive iconstxt icoPositive" type="button" value="{tmpl_var name='btn_save_txt'}" onClick="submitForm('pageForm','mail/mail_domain_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('mail/mail_domain_list.php');"><span>{tmpl_var name='btn_cancel_txt'}</span></button>
    </div>
  </div>
</div>
<h2><tmpl_var name="list_head_txt"></h2>
<p><tmpl_var name="list_desc_txt"></p>
<div class="panel panel_mail_domain">
  <div class="pnl_formsarea">
    <fieldset class="inlineLabels"><legend>Domain</legend>
      <tmpl_if name="is_admin">
      <div class="ctrlHolder">
          <label for="server_id">{tmpl_var name='server_id_txt'}</label>
        <select name="server_id" id="server_id" class="selectInput">
                    {tmpl_var name='server_id'}
                </select>
      </div>
      <div class="ctrlHolder">
          <label for="client_group_id">{tmpl_var name='client_group_id_txt'}</label>
        <select name="client_group_id" id="client_group_id" class="selectInput">
                    {tmpl_var name='client_group_id'}
                </select>
      </div>
      </tmpl_if>
      <tmpl_if name="is_reseller">
      <div class="ctrlHolder">
          <label for="client_group_id">{tmpl_var name='client_group_id_txt'}</label>
        <select name="client_group_id" id="client_group_id" class="selectInput">
                    {tmpl_var name='client_group_id'}
                </select>
      </div>
      </tmpl_if>
      <div class="ctrlHolder">
          <label for="domain">{tmpl_var name='domain_txt'}</label>
        <input name="domain" id="domain" value="{tmpl_var name='domain'}" size="30" maxlength="255" type="text" class="textInput" />
            </div>
      <div class="ctrlHolder">
          <label for="policy">{tmpl_var name='policy_txt'}</label>
        <select name="policy" id="policy" class="selectInput">
                    {tmpl_var name='server_id'}
                </select>
      </div>
      <div class="ctrlHolder">
                <p class="label">{tmpl_var name='active_txt'}</p>
                    <div class="multiField">
                        {tmpl_var name='active'}
                    </div>
            </div>
    </fieldset>
    <input type="hidden" name="id" value="{tmpl_var name='id'}">
    <input type="hidden" name="type" value="local">
    <div class="buttonHolder buttons">
      <button class="positive iconstxt icoPositive" type="button" value="{tmpl_var name='btn_save_txt'}" onClick="submitForm('pageForm','mail/mail_domain_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('mail/mail_domain_list.php');"><span>{tmpl_var name='btn_cancel_txt'}</span></button>
    </div>
  </div>
</div>
interface/web/mail/templates/mail_domain_list.htm
@@ -1,4 +1,5 @@
<h2><tmpl_var name="list_head_txt"></h2>
<p><tmpl_var name="list_desc_txt"></p>
<div class="panel panel_list_mail_domain">
interface/web/mail/templates/mail_forward_edit.htm
@@ -1,28 +1,34 @@
<h2><tmpl_var name="list_head_txt"></h2>
<p><tmpl_var name="list_desc_txt"></p>
<div class="panel panel_mail_forward">
  <div class="pnl_formsarea">
    <fieldset id="wf_area_mail_forward"><legend>Email Forward</legend>
      <span class="wf_oneField">
        <label for="email_local_part" class="wf_preField">{tmpl_var name='email_txt'}</label>
        <input type="text" id="email_local_part" name="email_local_part" value="{tmpl_var name='email_local_part'}" size="10" maxlength="50"> @
        <select id="email_domain" name="email_domain">{tmpl_var name="email_domain"}</select>
      </span>
      <span class="wf_oneField">
        <label for="destination" class="wf_preField">{tmpl_var name='destination_txt'}</label>
        <input type="text" id="destination" name="destination" value="{tmpl_var name='destination'}" size="30" maxlength="255">
      </span>
      <span class="wf_oneField">
        <label for="active" class="wf_preField">{tmpl_var name='active_txt'}</label>
        <span class="">{tmpl_var name='active'}</span>
      </span>
    <fieldset class="inlineLabels"><legend>Email Forward</legend>
      <div class="ctrlHolder">
        <p class="label"><em>*</em> {tmpl_var name='email_txt'}</p>
        <div class="multiField">
          <label for="email_local_part" class="blockLabel">Alias<input type="text" id="email_local_part" name="email_local_part" size="20" value="" class="textInput" /></label>
          <label for="email_at" class="blockLabel email_at">&nbsp;<span id="email_at" name="email_at" />@</label>
          <label for="email_domain" class="blockLabel">Domain<select name="email_domain" id="email_domain" class="selectInput">{tmpl_var name='email_domain'}</select></label>
        </div>
      </div>
      <div class="ctrlHolder">
          <label for="destination">{tmpl_var name='destination_txt'}</label>
        <input name="destination" id="destination" value="{tmpl_var name='destination'}" size="30" maxlength="255" type="text" class="textInput" />
            </div>
      <div class="ctrlHolder">
                <p class="label">{tmpl_var name='active_txt'}</p>
                    <div class="multiField">
                        {tmpl_var name='active'}
                    </div>
            </div>
    </fieldset>
    <input type="hidden" name="id" value="{tmpl_var name='id'}">
    <input type="hidden" name="type" value="forward">
    <div class="wf_actions buttons">
    <div class="buttonHolder buttons">
      <button class="positive iconstxt icoPositive" type="button" value="{tmpl_var name='btn_save_txt'}" onClick="submitForm('pageForm','mail/mail_forward_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('mail/mail_forward_list.php');"><span>{tmpl_var name='btn_cancel_txt'}</span></button>
    </div>
interface/web/mail/templates/mail_forward_list.htm
@@ -1,4 +1,5 @@
<h2><tmpl_var name="list_head_txt"></h2>
<p><tmpl_var name="list_desc_txt"></p>
<div class="panel panel_list_mail_forward">
interface/web/mail/templates/mail_get_edit.htm
@@ -1,48 +1,51 @@
<h2><tmpl_var name="list_head_txt"></h2>
<p><tmpl_var name="list_desc_txt"></p>
<div class="panel panel_mail_get">
  <div class="pnl_formsarea">
    <fieldset id="wf_area_mail_get"><legend>Get Email</legend>
<!--
      <span class="wf_oneField">
        <label for="server_id" class="wf_preField">{tmpl_var name='server_id_txt'}</label>
        <select id="server_id" name="server_id">{tmpl_var name='server_id'}</select>
      </span>
-->
      <span class="wf_oneField">
        <label for="type" class="wf_preField">{tmpl_var name='type_txt'}</label>
        <select id="type" name="type">{tmpl_var name='type'}</select>
      </span>
      <span class="wf_oneField">
        <label for="source_server" class="wf_preField">{tmpl_var name='source_server_txt'}</label>
        <input type="text" id="source_server" name="source_server" value="{tmpl_var name='source_server'}" size="30" maxlength="255">
      </span>
      <span class="wf_oneField">
        <label for="source_username" class="wf_preField">{tmpl_var name='source_username_txt'}</label>
        <input type="text" id="source_username" name="source_username" value="{tmpl_var name='source_username'}" size="30" maxlength="255">
      </span>
      <span class="wf_oneField">
        <label for="source_password" class="wf_preField">{tmpl_var name='source_password_txt'}</label>
        <input type="text" id="source_password" name="source_password" value="{tmpl_var name='source_password'}" size="30" maxlength="255">
      </span>
      <span class="wf_oneField">
        <label for="source_delete" class="wf_preField">{tmpl_var name='source_delete_txt'}</label>
        <span class="">{tmpl_var name='source_delete'}</span>
      </span>
      <span class="wf_oneField">
        <label for="destination" class="wf_preField">{tmpl_var name='destination_txt'}</label>
        <select id="destination" name="destination">{tmpl_var name='destination'}</select>
      </span>
      <span class="wf_oneField">
        <label for="active" class="wf_preField">{tmpl_var name='active_txt'}</label>
        <span class="">{tmpl_var name='active'}</span>
      </span>
    <fieldset class="inlineLabels"><legend>Get Email</legend>
      <div class="ctrlHolder">
          <label for="type">{tmpl_var name='type_txt'}</label>
        <select name="type" id="type" class="selectInput">
                    {tmpl_var name='type'}
                </select>
      </div>
      <div class="ctrlHolder">
          <label for="source_server">{tmpl_var name='source_server_txt'}</label>
        <input name="source_server" id="source_server" value="{tmpl_var name='source_server'}" size="30" maxlength="255" type="text" class="textInput" />
            </div>
      <div class="ctrlHolder">
          <label for="source_username">{tmpl_var name='source_username_txt'}</label>
        <input name="source_username" id="source_username" value="{tmpl_var name='source_username'}" size="30" maxlength="255" type="text" class="textInput" />
            </div>
      <div class="ctrlHolder">
          <label for="source_password">{tmpl_var name='source_password_txt'}</label>
        <input name="source_password" id="source_password" value="{tmpl_var name='source_password'}" size="30" maxlength="255" type="text" class="textInput" />
            </div>
      <div class="ctrlHolder">
                <p class="label">{tmpl_var name='source_delete_txt'}</p>
                    <div class="multiField">
                        {tmpl_var name='source_delete'}
                    </div>
            </div>
      <div class="ctrlHolder">
          <label for="destination">{tmpl_var name='destination_txt'}</label>
        <select name="destination" id="destination" class="selectInput">
                    {tmpl_var name='destination'}
                </select>
      </div>
      <div class="ctrlHolder">
                <p class="label">{tmpl_var name='active_txt'}</p>
                    <div class="multiField">
                        {tmpl_var name='active'}
                    </div>
            </div>
    </fieldset>
    <input type="hidden" name="id" value="{tmpl_var name='id'}">
    <div class="wf_actions buttons">
    <div class="buttonHolder buttons">
      <button class="positive iconstxt icoPositive" type="button" value="{tmpl_var name='btn_save_txt'}" onClick="submitForm('pageForm','mail/mail_get_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('mail/mail_get_list.php');"><span>{tmpl_var name='btn_cancel_txt'}</span></button>
    </div>
interface/web/mail/templates/mail_get_list.htm
@@ -1,4 +1,5 @@
<h2><tmpl_var name="list_head_txt"></h2>
<p><tmpl_var name="list_desc_txt"></p>
<div class="panel panel_list_mail_get">
interface/web/mail/templates/mail_transport_edit.htm
@@ -1,42 +1,53 @@
<h2><tmpl_var name="list_head_txt"></h2>
<p><tmpl_var name="list_desc_txt"></p>
<div class="panel panel_mail_transport">
  <div class="pnl_formsarea">
    <fieldset id="wf_area_mail_transport"><legend>Email transport</legend>
      <span class="wf_oneField">
        <label for="server_id" class="wf_preField">{tmpl_var name='server_id_txt'}</label>
        <select id="server_id" name="server_id">{tmpl_var name='server_id'}</select>
      </span>
      <span class="wf_oneField">
        <label for="domain" class="wf_preField">{tmpl_var name='domain_txt'}</label>
        <input type="text" id="domain" name="domain" value="{tmpl_var name='domain'}" size="30" maxlength="255">
      </span>
      <span class="wf_oneField">
        <label for="type" class="wf_preField">{tmpl_var name='type_txt'}</label>
        <select id="type" name="type">{tmpl_var name='type'}</select>
      </span>
      <span class="wf_oneField">
        <label for="mx" class="wf_preField">{tmpl_var name='mx_txt'}</label>
        <input type="checkbox" id="mx" name="mx" value="y" {tmpl_var name='mx'}>
      </span>
      <span class="wf_oneField">
        <label for="destination" class="wf_preField">{tmpl_var name='destination_txt'}</label>
        <input type="text" id="destination" name="destination" value="{tmpl_var name='destination'}" size="30" maxlength="255">
      </span>
      <span class="wf_oneField">
        <label for="sort_order" class="wf_preField">{tmpl_var name='sort_order_txt'}</label>
        <select id="sort_order" name="sort_order">{tmpl_var name='sort_order'}</select>
      </span>
      <span class="wf_oneField">
        <label for="active" class="wf_preField">{tmpl_var name='active_txt'}</label>
        <span class="">{tmpl_var name='active'}</span>
      </span>
    <fieldset class="inlineLabels"><legend>Email transport</legend>
      <div class="ctrlHolder">
          <label for="server_id">{tmpl_var name='server_id_txt'}</label>
        <select name="server_id" id="server_id" class="selectInput">
                    {tmpl_var name='server_id'}
                </select>
      </div>
      <div class="ctrlHolder">
          <label for="domain">{tmpl_var name='domain_txt'}</label>
        <input name="domain" id="domain" value="{tmpl_var name='domain'}" size="30" maxlength="255" type="text" class="textInput" />
            </div>
            <div class="ctrlHolder">
          <label for="type">{tmpl_var name='type_txt'}</label>
        <select name="type" id="type" class="selectInput">
                    {tmpl_var name='type'}
                </select>
      </div>
      <div class="ctrlHolder">
                <p class="label">{tmpl_var name='mx_txt'}</p>
                    <div class="multiField">
                        <input type="checkbox" value="y" id="mx" name="mx" {tmpl_var name='mx'} />
                    </div>
            </div>
      <div class="ctrlHolder">
          <label for="destination">{tmpl_var name='destination_txt'}</label>
        <input name="destination" id="transport" value="{tmpl_var name='destination'}" size="30" maxlength="255" type="text" class="textInput" />
            </div>
            <div class="ctrlHolder">
          <label for="sort_order">{tmpl_var name='sort_order_txt'}</label>
        <select name="sort_order" id="sort_order" class="selectInput">
                    {tmpl_var name='sort_order'}
                </select>
      </div>
      <div class="ctrlHolder">
                <p class="label">{tmpl_var name='active_txt'}</p>
                    <div class="multiField">
                        {tmpl_var name='active'}
                    </div>
            </div>
    </fieldset>
    <input type="hidden" name="id" value="{tmpl_var name='id'}">
    <div class="wf_actions buttons">
    <div class="buttonHolder buttons">
      <button class="positive iconstxt icoPositive" type="button" value="{tmpl_var name='btn_save_txt'}" onClick="submitForm('pageForm','mail/mail_transport_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('mail/mail_transport_list.php');"><span>{tmpl_var name='btn_cancel_txt'}</span></button>
    </div>
interface/web/mail/templates/mail_transport_list.htm
@@ -1,4 +1,5 @@
<h2><tmpl_var name="list_head_txt"></h2>
<p><tmpl_var name="list_desc_txt"></p>
<div class="panel panel_list_mail_transport">
interface/web/mail/templates/mail_user_autoresponder_edit.htm
@@ -1,22 +1,25 @@
<h2><tmpl_var name="list_head_txt"></h2>
<p><tmpl_var name="list_desc_txt"></p>
<div class="panel panel_mail_user">
  <div class="pnl_formsarea">
    <fieldset id="wf_area_mail_user"><legend>Autoresponder</legend>
      <span class="wf_oneField">
        <label for="autoresponder" class="wf_preField">{tmpl_var name='autoresponder_txt'}</label>
        <span class="">{tmpl_var name='autoresponder'}</span>
      </span>
      <span class="wf_oneField">
        <label for="autoresponder_text" class="wf_preField">{tmpl_var name='autoresponder_text_txt'}</label>
        <textarea id="autoresponder_text" name="autoresponder_text" cols='30' rows='15'>{tmpl_var name='autoresponder_text'}</textarea>
      </span>
    <fieldset class="inlineLabels"><legend>Autoresponder</legend>
      <div class="ctrlHolder">
          <label for="autoresponder_text">{tmpl_var name='autoresponder_text_txt'}</label>
        <textarea name="autoresponder_text" id="autoresponder_text" rows='15' cols='30'>{tmpl_var name='autoresponder_text'}</textarea>
      </div>
      <div class="ctrlHolder">
                <p class="label">{tmpl_var name='autoresponder_txt'}</p>
                    <div class="multiField">
                        {tmpl_var name='autoresponder'}
                    </div>
            </div>
    </fieldset>
    <input type="hidden" name="id" value="{tmpl_var name='id'}">
    <div class="wf_actions buttons">
    <div class="buttonHolder buttons">
      <button class="positive iconstxt icoPositive" type="button" value="{tmpl_var name='btn_save_txt'}" onClick="submitForm('pageForm','mail/mail_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('mail/mail_user_list.php');"><span>{tmpl_var name='btn_cancel_txt'}</span></button>
    </div>
interface/web/mail/templates/mail_user_custom_rules_edit.htm
@@ -1,18 +1,19 @@
<h2><tmpl_var name="list_head_txt"></h2>
<p><tmpl_var name="list_desc_txt"></p>
<div class="panel panel_mail_user">
  <div class="pnl_formsarea">
    <fieldset id="wf_area_mail_user"><legend>Custom Rules</legend>
      <span class="wf_oneField">
        <label for="custom_mailfilter" class="wf_preField">{tmpl_var name='custom_mailfilter_txt'}</label>
        <textarea id="custom_mailfilter" name="custom_mailfilter" cols='30' rows='15'>{tmpl_var name='custom_mailfilter'}</textarea>
      </span>
    <fieldset class="inlineLabels"><legend>Custom Rules</legend>
      <div class="ctrlHolder">
          <label for="custom_mailfilter">{tmpl_var name='custom_mailfilter_txt'}</label>
        <textarea name="custom_mailfilter" id="custom_mailfilter" rows='15' cols='30'>{tmpl_var name='custom_mailfilter'}</textarea>
      </div>
    </fieldset>
    <input type="hidden" name="id" value="{tmpl_var name='id'}">
    <div class="wf_actions buttons">
    <div class="buttonHolder buttons">
      <button class="positive iconstxt icoPositive" type="button" value="{tmpl_var name='btn_save_txt'}" onClick="submitForm('pageForm','mail/mail_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('mail/mail_user_list.php');"><span>{tmpl_var name='btn_cancel_txt'}</span></button>
    </div>
interface/web/mail/templates/mail_user_filter_edit.htm
@@ -1,37 +1,38 @@
<h2><tmpl_var name="list_head_txt"></h2>
<div class="panel panel_mail_user_filter">
  <div class="pnl_formsarea">
    <fieldset id="wf_area_mail_user_filter"><legend>Filter</legend>
      <span class="wf_oneField">
        <label for="rulename" class="wf_preField">{tmpl_var name='rulename_txt'}</label>
        <input type="text" id="rulename" name="rulename" value="{tmpl_var name='rulename'}" size="30" maxlength="255">
      </span>
      <span class="wf_oneField">
        <label for="source" class="wf_preField">{tmpl_var name='source_txt'}</label>
        <select id="source" name="source">{tmpl_var name='source'}</select>
        <select id="op" name="op">{tmpl_var name='op'}</select>
        <input type="text" id="searchterm" name="searchterm" value="{tmpl_var name='searchterm'}" size="30" maxlength="255">
      </span>
      <span class="wf_oneField">
        <label for="action" class="wf_preField">{tmpl_var name='action_txt'}</label>
        <select id="action" name="action">{tmpl_var name='action'}</select>
        <input type="text" id="target" name="target" value="{tmpl_var name='target'}" size="30" maxlength="255">
      </span>
      <span class="wf_oneField">
        <label for="active" class="wf_preField">{tmpl_var name='active_txt'}</label>
        <span class="">{tmpl_var name='active'}</span>
      </span>
    </fieldset>
    <input type="hidden" name="id" value="{tmpl_var name='id'}">
    <input name="mailuser_id" type="hidden" value="{tmpl_var name='mailuser_id'}">
    <div class="wf_actions buttons">
      <button class="positive iconstxt icoPositive" type="button" value="{tmpl_var name='btn_save_txt'}" onClick="submitForm('pageForm','mail/mail_user_filter_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('mail/mail_user_edit.php?id={tmpl_var name='mailuser_id'}');"><span>{tmpl_var name='btn_cancel_txt'}</span></button>
    </div>
  </div>
</div>
<h2><tmpl_var name="list_head_txt"></h2>
<p><tmpl_var name="list_desc_txt"></p>
<div class="panel panel_mail_user_filter">
  <div class="pnl_formsarea">
    <fieldset id="wf_area_mail_user_filter"><legend>Filter</legend>
      <span class="wf_oneField">
        <label for="rulename" class="wf_preField">{tmpl_var name='rulename_txt'}</label>
        <input type="text" id="rulename" name="rulename" value="{tmpl_var name='rulename'}" size="30" maxlength="255">
      </span>
      <span class="wf_oneField">
        <label for="source" class="wf_preField">{tmpl_var name='source_txt'}</label>
        <select id="source" name="source">{tmpl_var name='source'}</select>
        <select id="op" name="op">{tmpl_var name='op'}</select>
        <input type="text" id="searchterm" name="searchterm" value="{tmpl_var name='searchterm'}" size="30" maxlength="255">
      </span>
      <span class="wf_oneField">
        <label for="action" class="wf_preField">{tmpl_var name='action_txt'}</label>
        <select id="action" name="action">{tmpl_var name='action'}</select>
        <input type="text" id="target" name="target" value="{tmpl_var name='target'}" size="30" maxlength="255">
      </span>
      <span class="wf_oneField">
        <label for="active" class="wf_preField">{tmpl_var name='active_txt'}</label>
        <span class="">{tmpl_var name='active'}</span>
      </span>
    </fieldset>
    <input type="hidden" name="id" value="{tmpl_var name='id'}">
    <input name="mailuser_id" type="hidden" value="{tmpl_var name='mailuser_id'}">
    <div class="wf_actions buttons">
      <button class="positive iconstxt icoPositive" type="button" value="{tmpl_var name='btn_save_txt'}" onClick="submitForm('pageForm','mail/mail_user_filter_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('mail/mail_user_edit.php?id={tmpl_var name='mailuser_id'}');"><span>{tmpl_var name='btn_cancel_txt'}</span></button>
    </div>
  </div>
</div>
interface/web/mail/templates/mail_user_list.htm
@@ -1,54 +1,55 @@
<h2><tmpl_var name="list_head_txt"></h2>
<div class="panel panel_list_mail_user">
  <div class="pnl_toolsarea">
    <fieldset><legend>Tools</legend>
      <div class="buttons">
        <button class="iconstxt icoAdd" type="button" onClick="loadContent('mail/mail_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_email" scope="col"><tmpl_var name="email_txt"></th>
            <th class="tbl_col_autoresponder" scope="col"><tmpl_var name="autoresponder_txt"></th>
            <th class="tbl_col_buttons" scope="col">&nbsp;</th>
          </tr>
          <tr>
            <td class="tbl_col_email"><input type="text" name="search_email" value="{tmpl_var name='search_email'}" /></td>
            <td class="tbl_col_autoresponder"><input type="text" name="search_autoresponder" value="{tmpl_var name='search_autoresponder'}" /></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','mail/mail_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_email"><a href="#" onClick="loadContent('mail/mail_user_edit.php?id={tmpl_var name='id'}');">{tmpl_var name="email"}</a></td>
            <td class="tbl_col_autoresponder"><a href="#" onClick="loadContent('mail/mail_user_edit.php?id={tmpl_var name='id'}');">{tmpl_var name="autoresponder"}</a></td>
            <td class="tbl_col_buttons">
              <div class="buttons icons16">
                <tmpl_if name="mailboxlist_webmail_link"><a class="icons16 icoWebmailer" href="mail/webmailer.php?id={tmpl_var name='id'}" target="webmail"><span>{tmpl_var name='delete_txt'}</span></a></tmpl_if>
                <a class="icons16 icoDelete" href="javascript: del_record('mail/mail_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="3"><tmpl_var name="paging"></td>
          </tr>
        </tfoot>
      </table>
    </fieldset>
  </div>
</div>
<h2><tmpl_var name="list_head_txt"></h2>
<p><tmpl_var name="list_desc_txt"></p>
<div class="panel panel_list_mail_user">
  <div class="pnl_toolsarea">
    <fieldset><legend>Tools</legend>
      <div class="buttons">
        <button class="iconstxt icoAdd" type="button" onClick="loadContent('mail/mail_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_email" scope="col"><tmpl_var name="email_txt"></th>
            <th class="tbl_col_autoresponder" scope="col"><tmpl_var name="autoresponder_txt"></th>
            <th class="tbl_col_buttons" scope="col">&nbsp;</th>
          </tr>
          <tr>
            <td class="tbl_col_email"><input type="text" name="search_email" value="{tmpl_var name='search_email'}" /></td>
            <td class="tbl_col_autoresponder"><input type="text" name="search_autoresponder" value="{tmpl_var name='search_autoresponder'}" /></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','mail/mail_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_email"><a href="#" onClick="loadContent('mail/mail_user_edit.php?id={tmpl_var name='id'}');">{tmpl_var name="email"}</a></td>
            <td class="tbl_col_autoresponder"><a href="#" onClick="loadContent('mail/mail_user_edit.php?id={tmpl_var name='id'}');">{tmpl_var name="autoresponder"}</a></td>
            <td class="tbl_col_buttons">
              <div class="buttons icons16">
                <tmpl_if name="mailboxlist_webmail_link"><a class="icons16 icoWebmailer" href="mail/webmailer.php?id={tmpl_var name='id'}" target="webmail"><span>{tmpl_var name='delete_txt'}</span></a></tmpl_if>
                <a class="icons16 icoDelete" href="javascript: del_record('mail/mail_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="3"><tmpl_var name="paging"></td>
          </tr>
        </tfoot>
      </table>
    </fieldset>
  </div>
</div>
interface/web/mail/templates/mail_user_mailbox_edit.htm
@@ -1,50 +1,61 @@
<h2><tmpl_var name="list_head_txt"></h2>
<div class="panel panel_mail_user">
  <div class="pnl_formsarea">
    <fieldset id="wf_area_mail_user"><legend>Mailbox</legend>
      <span class="wf_oneField">
        <label for="email_local_part" class="wf_preField">{tmpl_var name='email_txt'}</label>
        <input type="text" id="email_local_part" name="email_local_part" value="{tmpl_var name='email_local_part'}" size="20" maxlength="50">&nbsp;@&nbsp;
        <select id="email_domain" name="email_domain">{tmpl_var name="email_domain"}</select>
      </span>
      <span class="wf_oneField">
        <label for="password" class="wf_preField">{tmpl_var name='cryptpwd_txt'}</label>
        <input type="password" id="password" name="password" value="{tmpl_var name='password'}" size="30" maxlength="255" onkeyup="pass_check(this.value)">
      </span>
      <span class="wf_oneField">
        <span class="wf_preField">{tmpl_var name='password_strength_txt'}</span>
        <span class="wf_passwordStrength"><div id="passBar"></div><span id="passText">&nbsp;</span></span>
      </span>
      <span class="wf_oneField">
        <label for="quota" class="wf_preField">{tmpl_var name='quota_txt'}</label>
        <input type="text" id="quota" name="quota" value="{tmpl_var name='quota'}" size="30" maxlength="255"> MB
      </span>
      <span class="wf_oneField">
        <label for="policy" class="wf_preField">{tmpl_var name='policy_txt'}</label>
        <select id="policy" name="policy">{tmpl_var name="policy"}</select>
      </span>
      <span class="wf_oneField">
        <label for="postfix" class="wf_preField">{tmpl_var name='postfix_txt'}</label>
        <span class="">{tmpl_var name='postfix'}</span>
      </span>
      <span class="wf_oneField">
        <label for="disableimap" class="wf_preField">{tmpl_var name='disableimap_txt'}</label>
        <span class="">{tmpl_var name='disableimap'}</span>
      </span>
      <span class="wf_oneField">
        <label for="disablepop3" class="wf_preField">{tmpl_var name='disablepop3_txt'}</label>
        <span class="">{tmpl_var name='disablepop3'}</span>
      </span>
    </fieldset>
    <input type="hidden" name="id" value="{tmpl_var name='id'}">
    <div class="wf_actions buttons">
      <button class="positive iconstxt icoPositive" type="button" value="{tmpl_var name='btn_save_txt'}" onClick="submitForm('pageForm','mail/mail_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('mail/mail_user_list.php');"><span>{tmpl_var name='btn_cancel_txt'}</span></button>
    </div>
  </div>
</div>
<h2><tmpl_var name="list_head_txt"></h2>
<p><tmpl_var name="list_desc_txt"></p>
<div class="panel panel_mail_user">
  <div class="pnl_formsarea">
    <fieldset class="inlineLabels"><legend>Mailbox</legend>
      <div class="ctrlHolder">
        <p class="label"><em>*</em> {tmpl_var name='email_txt'}</p>
        <div class="multiField">
          <label for="email_local_part" class="blockLabel">Alias<input type="text" id="email_local_part" name="email_local_part" size="20" value="" class="textInput" /></label>
          <label for="email_at" class="blockLabel email_at">&nbsp;<span id="email_at" name="email_at" />@</label>
          <label for="email_domain" class="blockLabel">Domain<select name="email_domain" id="email_domain" class="selectInput">{tmpl_var name='email_domain'}</select></label>
        </div>
      </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" />
            </div>
      <div class="ctrlHolder">
                <p class="label">{tmpl_var name='password_strength_txt'}</p>
                <div id="passBar"></div>
                <p class="formHint"><span id="passText">&nbsp;</span></p>
            </div>
            <div class="ctrlHolder">
          <label for="quota">{tmpl_var name='quota_txt'}</label>
        <input name="quota" id="quota" value="{tmpl_var name='quota'}" size="30" maxlength="255" type="text" class="textInput" />
            </div>
            <div class="ctrlHolder">
          <label for="policy">{tmpl_var name='policy_txt'}</label>
        <input name="policy" id="policy" value="{tmpl_var name='policy'}" size="30" maxlength="255" type="text" class="textInput" />
            </div>
      <div class="ctrlHolder">
                <p class="label">{tmpl_var name='postfix_txt'}</p>
                    <div class="multiField">
                        {tmpl_var name='postfix'}
                    </div>
            </div>
      <div class="ctrlHolder">
                <p class="label">{tmpl_var name='disableimap_txt'}</p>
                    <div class="multiField">
                        {tmpl_var name='disableimap'}
                    </div>
            </div>
      <div class="ctrlHolder">
                <p class="label">{tmpl_var name='disablepop3_txt'}</p>
                    <div class="multiField">
                        {tmpl_var name='disablepop3'}
                    </div>
            </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','mail/mail_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('mail/mail_user_list.php');"><span>{tmpl_var name='btn_cancel_txt'}</span></button>
    </div>
  </div>
</div>
interface/web/mail/templates/mail_user_mailfilter_edit.htm
@@ -1,13 +1,15 @@
<h2><tmpl_var name="list_head_txt"></h2>
<p><tmpl_var name="list_desc_txt"></p>
<div class="panel panel_mail_user">
  {tmpl_var name='filter_records'}
  <div class="pnl_formsarea">
    <fieldset class="inlineLabels"><legend>Mail Filter</legend>
    </fieldset>
    <input type="hidden" name="id" value="{tmpl_var name='id'}">
    <div class="wf_actions buttons">
    <div class="buttonHolder buttons">
      <button class="positive iconstxt icoPositive" type="button" value="{tmpl_var name='btn_save_txt'}" onClick="submitForm('pageForm','mail/mail_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('mail/mail_user_list.php');"><span>{tmpl_var name='btn_cancel_txt'}</span></button>
    </div>
interface/web/mail/templates/mail_user_stats_list.htm
@@ -1,4 +1,5 @@
<h2><tmpl_var name="list_head_txt"></h2>
<p><tmpl_var name="list_desc_txt"></p>
<div class="panel panel_list_mail_user_stats">
interface/web/mail/templates/mail_whitelist_edit.htm
@@ -1,31 +1,38 @@
<h2><tmpl_var name="list_head_txt"></h2>
<p><tmpl_var name="list_desc_txt"></p>
<div class="panel panel_mail_whitelist">
  <div class="pnl_formsarea">
    <fieldset id="wf_area_mail_whitelist"><legend>Witelist</legend>
      <span class="wf_oneField">
        <label for="server_id" class="wf_preField">{tmpl_var name='server_id_txt'}</label>
        <select id="server_id" name="server_id">{tmpl_var name='server_id'}</select>
      </span>
      <span class="wf_oneField">
        <label for="source" class="wf_preField">{tmpl_var name='source_txt'}</label>
        <input type="text" id="source" name="source" value="{tmpl_var name='source'}" size="30" maxlength="255">
      </span>
      <span class="wf_oneField">
        <label for="type" class="wf_preField">{tmpl_var name='type_txt'}</label>
        <select id="type" name="type">{tmpl_var name='type'}</select>
      </span>
      <span class="wf_oneField">
        <label for="active" class="wf_preField">{tmpl_var name='active_txt'}</label>
        <span class="">{tmpl_var name='active'}</span>
      </span>
    <fieldset class="inlineLabels"><legend>Witelist</legend>
      <div class="ctrlHolder">
          <label for="server_id">{tmpl_var name='server_id_txt'}</label>
        <select name="server_id" id="server_id" class="selectInput">
                    {tmpl_var name='server_id'}
                </select>
      </div>
      <div class="ctrlHolder">
          <label for="source">{tmpl_var name='source_txt'}</label>
        <input name="source" id="source" value="{tmpl_var name='source'}" size="30" maxlength="255" type="text" class="textInput" />
            </div>
      <div class="ctrlHolder">
          <label for="type">{tmpl_var name='type_txt'}</label>
        <select name="type" id="type" class="selectInput">
                    {tmpl_var name='type'}
                </select>
      </div>
      <div class="ctrlHolder">
                <p class="label">{tmpl_var name='active_txt'}</p>
                    <div class="multiField">
                        {tmpl_var name='active'}
                    </div>
            </div>
    </fieldset>
    <input type="hidden" name="id" value="{tmpl_var name='id'}">
    <input name="access" type="hidden" value="{tmpl_var name='access'}">
    <div class="wf_actions buttons">
    <div class="buttonHolder buttons">
      <button class="positive iconstxt icoPositive" type="button" value="{tmpl_var name='btn_save_txt'}" onClick="submitForm('pageForm','mail/mail_whitelist_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('mail/mail_whitelist_list.php');"><span>{tmpl_var name='btn_cancel_txt'}</span></button>
    </div>
interface/web/mail/templates/mail_whitelist_list.htm
@@ -1,4 +1,5 @@
<h2><tmpl_var name="list_head_txt"></h2>
<p><tmpl_var name="list_desc_txt"></p>
<div class="panel panel_list_mail_whitelist">
interface/web/mail/templates/spamfilter_blacklist_edit.htm
@@ -1,37 +1,46 @@
<h2><tmpl_var name="list_head_txt"></h2>
<p><tmpl_var name="list_desc_txt"></p>
<div class="panel panel_spamfilter_blacklist">
  <div class="pnl_formsarea">
    <fieldset id="wf_area_spamfilter_blacklist"><legend>Blacklist</legend>
    <fieldset class="inlineLabels"><legend>Blacklist</legend>
<!--
      <span class="wf_oneField">
        <label for="server_id" class="wf_preField">{tmpl_var name='server_id_txt'}</label>
        <select id="server_id" name="server_id">{tmpl_var name='server_id'}</select>
      </span>
      <div class="ctrlHolder">
          <label for="server_id">{tmpl_var name='server_id_txt'}</label>
        <select name="server_id" id="server_id" class="selectInput">
                    {tmpl_var name='server_id'}
                </select>
      </div>
-->
      <span class="wf_oneField">
        <label for="rid" class="wf_preField">{tmpl_var name='rid_txt'}</label>
        <select id="rid" name="rid">{tmpl_var name='rid'}</select>
      </span>
      <span class="wf_oneField">
        <label for="email" class="wf_preField">{tmpl_var name='email_txt'}</label>
        <input type="text" id="email" name="email" value="{tmpl_var name='email'}" size="30" maxlength="255">
      </span>
      <span class="wf_oneField">
        <label for="priority" class="wf_preField">{tmpl_var name='priority_txt'}</label>
        <select id="priority" name="priority">{tmpl_var name='priority'}</select>
      </span>
      <span class="wf_oneField">
        <label for="active" class="wf_preField">{tmpl_var name='active_txt'}</label>
        <span class="">{tmpl_var name='active'}</span>
      </span>
      <div class="ctrlHolder">
          <label for="rid">{tmpl_var name='rid_txt'}</label>
        <select name="rid" id="rid" class="selectInput">
                    {tmpl_var name='rid'}
                </select>
      </div>
      <div class="ctrlHolder">
          <label for="email">{tmpl_var name='email_txt'}</label>
        <input name="email" id="email" value="{tmpl_var name='email'}" size="30" maxlength="255" type="text" class="textInput" />
            </div>
      <div class="ctrlHolder">
          <label for="priority">{tmpl_var name='priority_txt'}</label>
        <select name="priority" id="priority" class="selectInput">
                    {tmpl_var name='priority'}
                </select>
      </div>
      <div class="ctrlHolder">
                <p class="label">{tmpl_var name='active_txt'}</p>
                    <div class="multiField">
                        {tmpl_var name='active'}
                    </div>
            </div>
    </fieldset>
    <input type="hidden" name="id" value="{tmpl_var name='id'}">
    <input type="hidden" name="wb" value="{tmpl_var name='wb'}">
    <div class="wf_actions buttons">
    <div class="buttonHolder buttons">
      <button class="positive iconstxt icoPositive" type="button" value="{tmpl_var name='btn_save_txt'}" onClick="submitForm('pageForm','mail/spamfilter_blacklist_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('mail/spamfilter_blacklist_list.php');"><span>{tmpl_var name='btn_cancel_txt'}</span></button>
    </div>
interface/web/mail/templates/spamfilter_blacklist_list.htm
@@ -1,4 +1,5 @@
<h2><tmpl_var name="list_head_txt"></h2>
<p><tmpl_var name="list_desc_txt"></p>
<div class="panel panel_list_spamfilter_blacklist">
interface/web/mail/templates/spamfilter_config_getmail_edit.htm
@@ -1,4 +1,5 @@
<h2><tmpl_var name="list_head_txt"></h2>
<p><tmpl_var name="list_desc_txt"></p>
<div class="panel panel_spamfilter_config">
interface/web/mail/templates/spamfilter_config_list.htm
@@ -1,4 +1,5 @@
<h2><tmpl_var name="list_head_txt"></h2>
<p><tmpl_var name="list_desc_txt"></p>
<div class="panel panel_list_spamfilter_config">
interface/web/mail/templates/spamfilter_config_mail_edit.htm
@@ -1,4 +1,5 @@
<h2><tmpl_var name="list_head_txt"></h2>
<p><tmpl_var name="list_desc_txt"></p>
<div class="panel panel_spamfilter_config">
interface/web/mail/templates/spamfilter_config_server_edit.htm
@@ -1,4 +1,5 @@
<h2><tmpl_var name="list_head_txt"></h2>
<p><tmpl_var name="list_desc_txt"></p>
<div class="panel panel_spamfilter_config">
interface/web/mail/templates/spamfilter_other_edit.htm
@@ -1,70 +1,77 @@
<h2><tmpl_var name="list_head_txt"></h2>
<p><tmpl_var name="list_desc_txt"></p>
<div class="panel panel_spamfilter_policy">
  <div class="pnl_formsarea">
    <fieldset id="wf_area_spamfilter_policy"><legend>Other</legend>
      <span class="wf_oneField">
        <label for="addr_extension_virus" class="wf_preField">{tmpl_var name='addr_extension_virus_txt'}</label>
        <input type="text" id="addr_extension_virus" name="addr_extension_virus" value="{tmpl_var name='addr_extension_virus'}" size="30" maxlength="255">
      </span>
      <span class="wf_oneField">
        <label for="addr_extension_spam" class="wf_preField">{tmpl_var name='addr_extension_spam_txt'}</label>
        <input type="text" id="addr_extension_spam" name="addr_extension_spam" value="{tmpl_var name='addr_extension_spam'}" size="30" maxlength="255">
      </span>
      <span class="wf_oneField">
        <label for="addr_extension_banned" class="wf_preField">{tmpl_var name='addr_extension_banned_txt'}</label>
        <input type="text" id="addr_extension_banned" name="addr_extension_banned" value="{tmpl_var name='addr_extension_banned'}" size="30" maxlength="255">
      </span>
      <span class="wf_oneField">
        <label for="addr_extension_bad_header" class="wf_preField">{tmpl_var name='addr_extension_bad_header_txt'}</label>
        <input type="text" id="addr_extension_bad_header" name="addr_extension_bad_header" value="{tmpl_var name='addr_extension_bad_header'}" size="30" maxlength="255">
      </span>
      <span class="wf_oneField">
        <label for="warnvirusrecip" class="wf_preField">{tmpl_var name='warnvirusrecip_txt'}</label>
        <select id="warnvirusrecip" name="warnvirusrecip">{tmpl_var name='warnvirusrecip'}</select>
      </span>
      <span class="wf_oneField">
        <label for="warnbannedrecip" class="wf_preField">{tmpl_var name='warnbannedrecip_txt'}</label>
        <select id="warnbannedrecip" name="warnbannedrecip">{tmpl_var name='warnbannedrecip'}</select>
      </span>
      <span class="wf_oneField">
        <label for="warnbadhrecip" class="wf_preField">{tmpl_var name='warnbadhrecip_txt'}</label>
        <select id="warnbadhrecip" name="warnbadhrecip">{tmpl_var name='warnbadhrecip'}</select>
      </span>
      <span class="wf_oneField">
        <label for="newvirus_admin" class="wf_preField">{tmpl_var name='newvirus_admin_txt'}</label>
        <input type="text" id="newvirus_admin" name="newvirus_admin" value="{tmpl_var name='newvirus_admin'}" size="30" maxlength="255">
      </span>
      <span class="wf_oneField">
        <label for="virus_admin" class="wf_preField">{tmpl_var name='virus_admin_txt'}</label>
        <input type="text" id="virus_admin" name="virus_admin" value="{tmpl_var name='virus_admin'}" size="30" maxlength="255">
      </span>
      <span class="wf_oneField">
        <label for="banned_admin" class="wf_preField">{tmpl_var name='banned_admin_txt'}</label>
        <input type="text" id="banned_admin" name="banned_admin" value="{tmpl_var name='banned_admin'}" size="30" maxlength="255">
      </span>
      <span class="wf_oneField">
        <label for="bad_header_admin" class="wf_preField">{tmpl_var name='bad_header_admin_txt'}</label>
        <input type="text" id="bad_header_admin" name="bad_header_admin" value="{tmpl_var name='bad_header_admin'}" size="30" maxlength="255">
      </span>
      <span class="wf_oneField">
        <label for="spam_admin" class="wf_preField">{tmpl_var name='spam_admin_txt'}</label>
        <input type="text" id="spam_admin" name="spam_admin" value="{tmpl_var name='spam_admin'}" size="30" maxlength="255">
      </span>
      <span class="wf_oneField">
        <label for="message_size_limit" class="wf_preField">{tmpl_var name='message_size_limit_txt'}</label>
        <input type="text" id="message_size_limit" name="message_size_limit" value="{tmpl_var name='message_size_limit'}" size="10" maxlength="255">
      </span>
      <span class="wf_oneField">
        <label for="banned_rulenames" class="wf_preField">{tmpl_var name='banned_rulenames_txt'}</label>
        <input type="text" id="banned_rulenames" name="banned_rulenames" value="{tmpl_var name='banned_rulenames'}" size="30" maxlength="255">
      </span>
    <fieldset class="inlineLabels"><legend>Other</legend>
      <div class="ctrlHolder">
          <label for="addr_extension_virus">{tmpl_var name='addr_extension_virus_txt'}</label>
        <input name="addr_extension_virus" id="addr_extension_virus" value="{tmpl_var name='addr_extension_virus'}" size="30" maxlength="255" type="text" class="textInput" />
            </div>
      <div class="ctrlHolder">
          <label for="addr_extension_spam">{tmpl_var name='addr_extension_spam_txt'}</label>
        <input name="addr_extension_spam" id="addr_extension_spam" value="{tmpl_var name='addr_extension_spam'}" size="30" maxlength="255" type="text" class="textInput" />
            </div>
      <div class="ctrlHolder">
          <label for="addr_extension_banned">{tmpl_var name='addr_extension_banned_txt'}</label>
        <input name="addr_extension_banned" id="addr_extension_banned" value="{tmpl_var name='addr_extension_banned'}" size="30" maxlength="255" type="text" class="textInput" />
            </div>
      <div class="ctrlHolder">
          <label for="addr_extension_bad_header">{tmpl_var name='addr_extension_bad_header_txt'}</label>
        <input name="addr_extension_bad_header" id="addr_extension_bad_header" value="{tmpl_var name='addr_extension_bad_header'}" size="30" maxlength="255" type="text" class="textInput" />
            </div>
      <div class="ctrlHolder">
          <label for="warnvirusrecip">{tmpl_var name='warnvirusrecip_txt'}</label>
        <select name="warnvirusrecip" id="warnvirusrecip" class="selectInput">
                    {tmpl_var name='warnvirusrecip'}
                </select>
      </div>
      <div class="ctrlHolder">
          <label for="warnbannedrecip">{tmpl_var name='warnbannedrecip_txt'}</label>
        <select name="warnbannedrecip" id="warnbannedrecip" class="selectInput">
                    {tmpl_var name='warnbannedrecip'}
                </select>
      </div>
      <div class="ctrlHolder">
          <label for="warnbadhrecip">{tmpl_var name='warnbadhrecip_txt'}</label>
        <select name="warnbadhrecip" id="warnbadhrecip" class="selectInput">
                    {tmpl_var name='warnbadhrecip'}
                </select>
      </div>
      <div class="ctrlHolder">
          <label for="newvirus_admin">{tmpl_var name='newvirus_admin_txt'}</label>
        <input name="newvirus_admin" id="newvirus_admin" value="{tmpl_var name='newvirus_admin'}" size="30" maxlength="255" type="text" class="textInput" />
            </div>
      <div class="ctrlHolder">
          <label for="virus_admin">{tmpl_var name='virus_admin_txt'}</label>
        <input name="virus_admin" id="virus_admin" value="{tmpl_var name='virus_admin'}" size="30" maxlength="255" type="text" class="textInput" />
            </div>
      <div class="ctrlHolder">
          <label for="banned_admin">{tmpl_var name='banned_admin_txt'}</label>
        <input name="banned_admin" id="banned_admin" value="{tmpl_var name='banned_admin'}" size="30" maxlength="255" type="text" class="textInput" />
            </div>
      <div class="ctrlHolder">
          <label for="bad_header_admin">{tmpl_var name='bad_header_admin_txt'}</label>
        <input name="bad_header_admin" id="bad_header_admin" value="{tmpl_var name='bad_header_admin'}" size="30" maxlength="255" type="text" class="textInput" />
            </div>
      <div class="ctrlHolder">
          <label for="spam_admin">{tmpl_var name='spam_admin_txt'}</label>
        <input name="spam_admin" id="spam_admin" value="{tmpl_var name='spam_admin'}" size="30" maxlength="255" type="text" class="textInput" />
            </div>
      <div class="ctrlHolder">
          <label for="message_size_limit">{tmpl_var name='message_size_limit_txt'}</label>
        <input name="message_size_limit" id="message_size_limit" value="{tmpl_var name='message_size_limit'}" size="10" maxlength="255" type="text" class="textInput" />
            </div>
      <div class="ctrlHolder">
          <label for="banned_rulenames">{tmpl_var name='banned_rulenames_txt'}</label>
        <input name="banned_rulenames" id="banned_rulenames" value="{tmpl_var name='banned_rulenames'}" size="30" maxlength="255" type="text" class="textInput" />
            </div>
    </fieldset>
    <input type="hidden" name="id" value="{tmpl_var name='id'}">
    <div class="wf_actions buttons">
    <div class="buttonHolder buttons">
      <button class="positive iconstxt icoPositive" type="button" value="{tmpl_var name='btn_save_txt'}" onClick="submitForm('pageForm','mail/spamfilter_policy_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('mail/spamfilter_policy_list.php');"><span>{tmpl_var name='btn_cancel_txt'}</span></button>
    </div>
interface/web/mail/templates/spamfilter_policy_edit.htm
@@ -1,46 +1,61 @@
<h2><tmpl_var name="list_head_txt"></h2>
<p><tmpl_var name="list_desc_txt"></p>
<div class="panel panel_spamfilter_policy">
  <div class="pnl_formsarea">
    <fieldset id="wf_area_spamfilter_policy"><legend>Policy</legend>
      <span class="wf_oneField">
        <label for="policy_name" class="wf_preField">{tmpl_var name='policy_name_txt'}</label>
        <input type="text" id="policy_name" name="policy_name" value="{tmpl_var name='policy_name'}" size="30" maxlength="255">
      </span>
      <span class="wf_oneField">
        <label for="virus_lover" class="wf_preField">{tmpl_var name='virus_lover_txt'}</label>
        <select id="virus_lover" name="virus_lover">{tmpl_var name='virus_lover'}</select>
      </span>
      <span class="wf_oneField">
        <label for="spam_lover" class="wf_preField">{tmpl_var name='spam_lover_txt'}</label>
        <select id="spam_lover" name="spam_lover">{tmpl_var name='spam_lover'}</select>
      </span>
      <span class="wf_oneField">
        <label for="banned_files_lover" class="wf_preField">{tmpl_var name='banned_files_lover_txt'}</label>
        <select id="banned_files_lover" name="banned_files_lover">{tmpl_var name='banned_files_lover'}</select>
      </span>
      <span class="wf_oneField">
        <label for="bad_header_lover" class="wf_preField">{tmpl_var name='bad_header_lover_txt'}</label>
        <select id="bad_header_lover" name="bad_header_lover">{tmpl_var name='bad_header_lover'}</select>
      </span>
      <span class="wf_oneField">
        <label for="bypass_virus_checks" class="wf_preField">{tmpl_var name='bypass_virus_checks_txt'}</label>
        <select id="bypass_virus_checks" name="bypass_virus_checks">{tmpl_var name='bypass_virus_checks'}</select>
      </span>
      <span class="wf_oneField">
        <label for="bypass_banned_checks" class="wf_preField">{tmpl_var name='bypass_banned_checks_txt'}</label>
        <select id="bypass_banned_checks" name="bypass_banned_checks">{tmpl_var name='bypass_banned_checks'}</select>
      </span>
      <span class="wf_oneField">
        <label for="bypass_header_checks" class="wf_preField">{tmpl_var name='bypass_header_checks_txt'}</label>
        <select id="bypass_header_checks" name="bypass_header_checks">{tmpl_var name='bypass_header_checks'}</select>
      </span>
    <fieldset class="inlineLabels"><legend>Policy</legend>
      <div class="ctrlHolder">
          <label for="policy_name">{tmpl_var name='policy_name_txt'}</label>
        <input name="policy_name" id="policy_name" value="{tmpl_var name='policy_name'}" size="30" maxlength="255" type="text" class="textInput" />
            </div>
      <div class="ctrlHolder">
          <label for="virus_lover">{tmpl_var name='virus_lover_txt'}</label>
        <select name="virus_lover" id="virus_lover" class="selectInput">
                    {tmpl_var name='virus_lover'}
                </select>
      </div>
      <div class="ctrlHolder">
          <label for="spam_lover">{tmpl_var name='spam_lover_txt'}</label>
        <select name="spam_lover" id="spam_lover" class="selectInput">
                    {tmpl_var name='spam_lover'}
                </select>
      </div>
      <div class="ctrlHolder">
          <label for="banned_files_lover">{tmpl_var name='banned_files_lover_txt'}</label>
        <select name="banned_files_lover" id="banned_files_lover" class="selectInput">
                    {tmpl_var name='banned_files_lover'}
                </select>
      </div>
      <div class="ctrlHolder">
          <label for="bad_header_lover">{tmpl_var name='bad_header_lover_txt'}</label>
        <select name="bad_header_lover" id="bad_header_lover" class="selectInput">
                    {tmpl_var name='bad_header_lover'}
                </select>
      </div>
      <div class="ctrlHolder">
          <label for="bypass_virus_checks">{tmpl_var name='bypass_virus_checks_txt'}</label>
        <select name="bypass_virus_checks" id="bypass_virus_checks" class="selectInput">
                    {tmpl_var name='bypass_virus_checks'}
                </select>
      </div>
      <div class="ctrlHolder">
          <label for="bypass_banned_checks">{tmpl_var name='bypass_banned_checks_txt'}</label>
        <select name="bypass_banned_checks" id="bypass_banned_checks" class="selectInput">
                    {tmpl_var name='bypass_banned_checks'}
                </select>
      </div>
      <div class="ctrlHolder">
          <label for="bypass_header_checks">{tmpl_var name='bypass_header_checks_txt'}</label>
        <select name="bypass_header_checks" id="bypass_header_checks" class="selectInput">
                    {tmpl_var name='bypass_header_checks'}
                </select>
      </div>
    </fieldset>
    <input type="hidden" name="id" value="{tmpl_var name='id'}">
    <div class="wf_actions buttons">
    <div class="buttonHolder buttons">
      <button class="positive iconstxt icoPositive" type="button" value="{tmpl_var name='btn_save_txt'}" onClick="submitForm('pageForm','mail/spamfilter_policy_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('mail/spamfilter_policy_list.php');"><span>{tmpl_var name='btn_cancel_txt'}</span></button>
    </div>
interface/web/mail/templates/spamfilter_policy_list.htm
@@ -1,4 +1,5 @@
<h2><tmpl_var name="list_head_txt"></h2>
<p><tmpl_var name="list_desc_txt"></p>
<div class="panel panel_list_spamfilter_policy">
interface/web/mail/templates/spamfilter_quarantine_edit.htm
@@ -1,40 +1,41 @@
<h2><tmpl_var name="list_head_txt"></h2>
<p><tmpl_var name="list_desc_txt"></p>
<div class="panel panel_spamfilter_policy">
  <div class="pnl_formsarea">
    <fieldset id="wf_area_spamfilter_policy"><legend>Quarantine</legend>
      <span class="wf_oneField">
        <label for="virus_quarantine_to" class="wf_preField">{tmpl_var name='virus_quarantine_to_txt'}</label>
        <input type="text" id="virus_quarantine_to" name="virus_quarantine_to" value="{tmpl_var name='virus_quarantine_to'}" size="30" maxlength="255">
      </span>
      <span class="wf_oneField">
        <label for="spam_quarantine_to" class="wf_preField">{tmpl_var name='spam_quarantine_to_txt'}</label>
        <input type="text" id="spam_quarantine_to" name="spam_quarantine_to" value="{tmpl_var name='spam_quarantine_to'}" size="30" maxlength="255">
      </span>
      <span class="wf_oneField">
        <label for="banned_quarantine_to" class="wf_preField">{tmpl_var name='banned_quarantine_to_txt'}</label>
        <input type="text" id="banned_quarantine_to" name="banned_quarantine_to" value="{tmpl_var name='banned_quarantine_to'}" size="30" maxlength="255">
      </span>
      <span class="wf_oneField">
        <label for="bad_header_quarantine_to" class="wf_preField">{tmpl_var name='bad_header_quarantine_to_txt'}</label>
        <input type="text" id="bad_header_quarantine_to" name="bad_header_quarantine_to" value="{tmpl_var name='bad_header_quarantine_to'}" size="30" maxlength="255">
      </span>
    <fieldset class="inlineLabels"><legend>Quarantine</legend>
      <div class="ctrlHolder">
          <label for="virus_quarantine_to">{tmpl_var name='virus_quarantine_to_txt'}</label>
        <input name="virus_quarantine_to" id="virus_quarantine_to" value="{tmpl_var name='virus_quarantine_to'}" size="30" maxlength="255" type="text" class="textInput" />
            </div>
      <div class="ctrlHolder">
          <label for="spam_quarantine_to">{tmpl_var name='spam_quarantine_to_txt'}</label>
        <input name="spam_quarantine_to" id="spam_quarantine_to" value="{tmpl_var name='spam_quarantine_to'}" size="30" maxlength="255" type="text" class="textInput" />
            </div>
      <div class="ctrlHolder">
          <label for="banned_quarantine_to">{tmpl_var name='banned_quarantine_to_txt'}</label>
        <input name="banned_quarantine_to" id="banned_quarantine_to" value="{tmpl_var name='banned_quarantine_to'}" size="30" maxlength="255" type="text" class="textInput" />
            </div>
      <div class="ctrlHolder">
          <label for="bad_header_quarantine_to">{tmpl_var name='bad_header_quarantine_to_txt'}</label>
        <input name="bad_header_quarantine_to" id="bad_header_quarantine_to" value="{tmpl_var name='bad_header_quarantine_to'}" size="30" maxlength="255" type="text" class="textInput" />
            </div>
<!--
      <span class="wf_oneField">
        <label for="clean_quarantine_to" class="wf_preField">{tmpl_var name='clean_quarantine_to_txt'}</label>
        <input type="text" id="clean_quarantine_to" name="clean_quarantine_to" value="{tmpl_var name='clean_quarantine_to'}" size="30" maxlength="255">
      </span>
      <span class="wf_oneField">
        <label for="other_quarantine_to" class="wf_preField">{tmpl_var name='other_quarantine_to_txt'}</label>
        <input type="text" id="other_quarantine_to" name="other_quarantine_to" value="{tmpl_var name='other_quarantine_to'}" size="30" maxlength="255">
      </span>
      <div class="ctrlHolder">
          <label for="clean_quarantine_to">{tmpl_var name='clean_quarantine_to_txt'}</label>
        <input name="clean_quarantine_to" id="clean_quarantine_to" value="{tmpl_var name='clean_quarantine_to'}" size="30" maxlength="255" type="text" class="textInput" />
            </div>
      <div class="ctrlHolder">
          <label for="other_quarantine_to">{tmpl_var name='other_quarantine_to_txt'}</label>
        <input name="other_quarantine_to" id="other_quarantine_to" value="{tmpl_var name='other_quarantine_to'}" size="30" maxlength="255" type="text" class="textInput" />
            </div>
-->
    </fieldset>
    <input type="hidden" name="id" value="{tmpl_var name='id'}">
    <div class="wf_actions buttons">
    <div class="buttonHolder buttons">
      <button class="positive iconstxt icoPositive" type="button" value="{tmpl_var name='btn_save_txt'}" onClick="submitForm('pageForm','mail/spamfilter_policy_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('mail/spamfilter_policy_list.php');"><span>{tmpl_var name='btn_cancel_txt'}</span></button>
    </div>
interface/web/mail/templates/spamfilter_taglevel_edit.htm
@@ -1,46 +1,49 @@
<h2><tmpl_var name="list_head_txt"></h2>
<p><tmpl_var name="list_desc_txt"></p>
<div class="panel panel_spamfilter_policy">
  <div class="pnl_formsarea">
    <fieldset id="wf_area_spamfilter_policy"><legend>Tag-Level</legend>
      <span class="wf_oneField">
        <label for="spam_tag_level" class="wf_preField">{tmpl_var name='spam_tag_level_txt'}</label>
        <input type="text" id="spam_tag_level" name="spam_tag_level" value="{tmpl_var name='spam_tag_level'}" size="10" maxlength="255">
      </span>
      <span class="wf_oneField">
        <label for="spam_tag2_level" class="wf_preField">{tmpl_var name='spam_tag2_level_txt'}</label>
        <input type="text" id="spam_tag2_level" name="spam_tag2_level" value="{tmpl_var name='spam_tag2_level'}" size="10" maxlength="255">
      </span>
      <span class="wf_oneField">
        <label for="spam_kill_level" class="wf_preField">{tmpl_var name='spam_kill_level_txt'}</label>
        <input type="text" id="spam_kill_level" name="spam_kill_level" value="{tmpl_var name='spam_kill_level'}" size="10" maxlength="255">
      </span>
      <span class="wf_oneField">
        <label for="spam_dsn_cutoff_level" class="wf_preField">{tmpl_var name='spam_dsn_cutoff_level_txt'}</label>
        <input type="text" id="spam_dsn_cutoff_level" name="spam_dsn_cutoff_level" value="{tmpl_var name='spam_dsn_cutoff_level'}" size="10" maxlength="255">
      </span>
      <span class="wf_oneField">
        <label for="spam_quarantine_cutoff_level" class="wf_preField">{tmpl_var name='spam_quarantine_cutoff_level_txt'}</label>
        <input type="text" id="spam_quarantine_cutoff_level" name="spam_quarantine_cutoff_level" value="{tmpl_var name='spam_quarantine_cutoff_level'}" size="10" maxlength="255">
      </span>
      <span class="wf_oneField">
        <label for="spam_modifies_subj" class="wf_preField">{tmpl_var name='spam_modifies_subj_txt'}</label>
        <select id="spam_modifies_subj" name="spam_modifies_subj">{tmpl_var name='spam_modifies_subj'}</select>
      </span>
      <span class="wf_oneField">
        <label for="spam_subject_tag" class="wf_preField">{tmpl_var name='spam_subject_tag_txt'}</label>
        <input type="text" id="spam_subject_tag" name="spam_subject_tag" value="{tmpl_var name='spam_subject_tag'}" size="30" maxlength="255">
      </span>
      <span class="wf_oneField">
        <label for="spam_subject_tag2" class="wf_preField">{tmpl_var name='spam_subject_tag2_txt'}</label>
        <input type="text" id="spam_subject_tag2" name="spam_subject_tag2" value="{tmpl_var name='spam_subject_tag2'}" size="30" maxlength="255">
      </span>
    <fieldset class="inlineLabels"><legend>Tag-Level</legend>
      <div class="ctrlHolder">
          <label for="spam_tag_level">{tmpl_var name='spam_tag_level_txt'}</label>
        <input name="spam_tag_level" id="spam_tag_level" value="{tmpl_var name='spam_tag_level'}" size="10" maxlength="255" type="text" class="textInput" />
            </div>
      <div class="ctrlHolder">
          <label for="spam_tag2_level">{tmpl_var name='spam_tag2_level_txt'}</label>
        <input name="spam_tag2_level" id="spam_tag2_level" value="{tmpl_var name='spam_tag2_level'}" size="10" maxlength="255" type="text" class="textInput" />
            </div>
      <div class="ctrlHolder">
          <label for="spam_kill_level">{tmpl_var name='spam_kill_level_txt'}</label>
        <input name="spam_kill_level" id="spam_kill_level" value="{tmpl_var name='spam_kill_level'}" size="10" maxlength="255" type="text" class="textInput" />
            </div>
      <div class="ctrlHolder">
          <label for="spam_dsn_cutoff_level">{tmpl_var name='spam_dsn_cutoff_level_txt'}</label>
        <input name="spam_dsn_cutoff_level" id="spam_dsn_cutoff_level" value="{tmpl_var name='spam_dsn_cutoff_level'}" size="10" maxlength="255" type="text" class="textInput" />
            </div>
      <div class="ctrlHolder">
          <label for="spam_quarantine_cutoff_level">{tmpl_var name='spam_quarantine_cutoff_level_txt'}</label>
        <input name="spam_quarantine_cutoff_level" id="spam_quarantine_cutoff_level" value="{tmpl_var name='spam_quarantine_cutoff_level'}" size="10" maxlength="255" type="text" class="textInput" />
            </div>
      <div class="ctrlHolder">
          <label for="spam_modifies_subj">{tmpl_var name='spam_modifies_subj_txt'}</label>
        <select name="spam_modifies_subj" id="spam_modifies_subj" class="selectInput">
                    {tmpl_var name='spam_modifies_subj'}
                </select>
      </div>
      <div class="ctrlHolder">
          <label for="spam_subject_tag">{tmpl_var name='spam_subject_tag_txt'}</label>
        <input name="spam_subject_tag" id="spam_subject_tag" value="{tmpl_var name='spam_subject_tag'}" size="30" maxlength="255" type="text" class="textInput" />
            </div>
      <div class="ctrlHolder">
          <label for="spam_subject_tag2">{tmpl_var name='spam_subject_tag2_txt'}</label>
        <input name="spam_subject_tag2" id="spam_subject_tag2" value="{tmpl_var name='spam_subject_tag2'}" size="30" maxlength="255" type="text" class="textInput" />
            </div>
    </fieldset>
    <input type="hidden" name="id" value="{tmpl_var name='id'}">
    <div class="wf_actions buttons">
    <div class="buttonHolder buttons">
      <button class="positive iconstxt icoPositive" type="button" value="{tmpl_var name='btn_save_txt'}" onClick="submitForm('pageForm','mail/spamfilter_policy_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('mail/spamfilter_policy_list.php');"><span>{tmpl_var name='btn_cancel_txt'}</span></button>
    </div>
interface/web/mail/templates/spamfilter_users_edit.htm
@@ -1,38 +1,47 @@
<h2><tmpl_var name="list_head_txt"></h2>
<p><tmpl_var name="list_desc_txt"></p>
<div class="panel panel_spamfilter_users">
  <div class="pnl_formsarea">
    <fieldset id="wf_area_spamfilter_users"><legend>Users</legend>
      <span class="wf_oneField">
        <label for="server_id" class="wf_preField">{tmpl_var name='server_id_txt'}</label>
        <select id="server_id" name="server_id">{tmpl_var name='server_id'}</select>
      </span>
      <span class="wf_oneField">
        <label for="priority" class="wf_preField">{tmpl_var name='priority_txt'}</label>
        <select id="priority" name="priority">{tmpl_var name='priority'}</select>
      </span>
      <span class="wf_oneField">
        <label for="policy_id" class="wf_preField">{tmpl_var name='policy_id_txt'}</label>
        <select id="policy_id" name="policy_id">{tmpl_var name='policy_id'}</select>
      </span>
      <span class="wf_oneField">
        <label for="email" class="wf_preField">{tmpl_var name='email_txt'}</label>
        <input type="text" id="email" name="email" value="{tmpl_var name='email'}" size="30" maxlength="255">
      </span>
      <span class="wf_oneField">
        <label for="fullname" class="wf_preField">{tmpl_var name='fullname_txt'}</label>
        <input type="text" id="fullname" name="fullname" value="{tmpl_var name='fullname'}" size="30" maxlength="255">
      </span>
      <span class="wf_oneField">
        <label for="local" class="wf_preField">{tmpl_var name='local_txt'}</label>
        <select id="local" name="local">{tmpl_var name='local'}</select>
      </span>
    <fieldset class="inlineLabels"><legend>Users</legend>
      <div class="ctrlHolder">
          <label for="server_id">{tmpl_var name='server_id_txt'}</label>
        <select name="server_id" id="server_id" class="selectInput">
                    {tmpl_var name='server_id'}
                </select>
      </div>
      <div class="ctrlHolder">
          <label for="priority">{tmpl_var name='priority_txt'}</label>
        <select name="priority" id="priority" class="selectInput">
                    {tmpl_var name='priority'}
                </select>
      </div>
      <div class="ctrlHolder">
          <label for="policy_id">{tmpl_var name='policy_id_txt'}</label>
        <select name="policy_id" id="policy_id" class="selectInput">
                    {tmpl_var name='policy_id'}
                </select>
      </div>
      <div class="ctrlHolder">
          <label for="email">{tmpl_var name='email_txt'}</label>
        <input name="email" id="email" value="{tmpl_var name='email'}" size="30" maxlength="255" type="text" class="textInput" />
            </div>
      <div class="ctrlHolder">
          <label for="fullname">{tmpl_var name='fullname_txt'}</label>
        <input name="fullname" id="fullname" value="{tmpl_var name='fullname'}" size="30" maxlength="255" type="text" class="textInput" />
            </div>
      <div class="ctrlHolder">
          <label for="local">{tmpl_var name='local_txt'}</label>
        <select name="local" id="local" class="selectInput">
                    {tmpl_var name='local'}
                </select>
      </div>
    </fieldset>
    <input type="hidden" name="id" value="{tmpl_var name='id'}">
    <div class="wf_actions buttons">
    <div class="buttonHolder buttons">
      <button class="positive iconstxt icoPositive" type="button" value="{tmpl_var name='btn_save_txt'}" onClick="submitForm('pageForm','mail/spamfilter_users_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('mail/spamfilter_users_list.php');"><span>{tmpl_var name='btn_cancel_txt'}</span></button>
    </div>
interface/web/mail/templates/spamfilter_users_list.htm
@@ -1,4 +1,5 @@
<h2><tmpl_var name="list_head_txt"></h2>
<p><tmpl_var name="list_desc_txt"></p>
<div class="panel panel_list_spamfilter_users">
interface/web/mail/templates/spamfilter_whitelist_edit.htm
@@ -1,37 +1,46 @@
<h2><tmpl_var name="list_head_txt"></h2>
<p><tmpl_var name="list_desc_txt"></p>
<div class="panel panel_spamfilter_whitelist">
  <div class="pnl_formsarea">
    <fieldset id="wf_area_spamfilter_whitelist"><legend>Whitelist</legend>
    <fieldset class="inlineLabels"><legend>Whitelist</legend>
<!--
      <span class="wf_oneField">
        <label for="server_id" class="wf_preField">{tmpl_var name='server_id_txt'}</label>
        <select id="server_id" name="server_id">{tmpl_var name='server_id'}</select>
      </span>
      <div class="ctrlHolder">
          <label for="server_id">{tmpl_var name='server_id_txt'}</label>
        <select name="server_id" id="server_id" class="selectInput">
                    {tmpl_var name='server_id'}
                </select>
      </div>
-->
      <span class="wf_oneField">
        <label for="rid" class="wf_preField">{tmpl_var name='rid_txt'}</label>
        <select id="rid" name="rid">{tmpl_var name='rid'}</select>
      </span>
      <span class="wf_oneField">
        <label for="email" class="wf_preField">{tmpl_var name='email_txt'}</label>
        <input type="text" id="email" name="email" value="{tmpl_var name='email'}" size="30" maxlength="255">
      </span>
      <span class="wf_oneField">
        <label for="priority" class="wf_preField">{tmpl_var name='priority_txt'}</label>
        <select id="priority" name="priority">{tmpl_var name='priority'}</select>
      </span>
      <span class="wf_oneField">
        <label for="active" class="wf_preField">{tmpl_var name='active_txt'}</label>
        <span class="">{tmpl_var name='active'}</span>
      </span>
      <div class="ctrlHolder">
          <label for="rid">{tmpl_var name='rid_txt'}</label>
        <select name="rid" id="rid" class="selectInput">
                    {tmpl_var name='rid'}
                </select>
      </div>
      <div class="ctrlHolder">
          <label for="email">{tmpl_var name='email_txt'}</label>
        <input name="email" id="email" value="{tmpl_var name='email'}" size="30" maxlength="255" type="text" class="textInput" />
            </div>
      <div class="ctrlHolder">
          <label for="priority">{tmpl_var name='priority_txt'}</label>
        <select name="priority" id="priority" class="selectInput">
                    {tmpl_var name='priority'}
                </select>
      </div>
      <div class="ctrlHolder">
                <p class="label">{tmpl_var name='active_txt'}</p>
                    <div class="multiField">
                        {tmpl_var name='active'}
                    </div>
            </div>
    </fieldset>
    <input type="hidden" name="id" value="{tmpl_var name='id'}">
    <input type="hidden" name="wb" value="{tmpl_var name='wb'}">
    <div class="wf_actions buttons">
    <div class="buttonHolder buttons">
      <button class="positive iconstxt icoPositive" type="button" value="{tmpl_var name='btn_save_txt'}" onClick="submitForm('pageForm','mail/spamfilter_whitelist_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('mail/spamfilter_whitelist_list.php');"><span>{tmpl_var name='btn_cancel_txt'}</span></button>
    </div>
interface/web/mail/templates/spamfilter_whitelist_list.htm
@@ -1,4 +1,5 @@
<h2><tmpl_var name="list_head_txt"></h2>
<p><tmpl_var name="list_desc_txt"></p>
<div class="panel panel_list_spamfilter_whitelist">
interface/web/monitor/templates/datalog_list.htm
@@ -1,48 +1,49 @@
<h2><tmpl_var name="list_head_txt"></h2>
<div class="panel panel_list_datalog">
  <div class="pnl_listarea">
    <fieldset><legend><tmpl_var name="list_head_txt"></legend>
      <table class="list">
        <thead>
          <tr>
            <th class="tbl_col_tstamp" scope="col"><tmpl_var name="tstamp_txt"></th>
            <th class="tbl_col_server_id" scope="col"><tmpl_var name="server_id_txt"></th>
            <th class="tbl_col_action" scope="col"><tmpl_var name="action_txt"></th>
            <th class="tbl_col_dbtable" scope="col"><tmpl_var name="dbtable_txt"></th>
            <th class="tbl_col_buttons" scope="col">&nbsp;</th>
          </tr>
          <tr>
            <td class="tbl_col_tstamp">&nbsp;</td>
            <td class="tbl_col_server_id"><select name="search_server_id" onChange="submitForm('pageForm','monitor/datalog_list.php');">{tmpl_var name='search_server_id'}</select></td>
            <td class="tbl_col_action"><select name="search_action" onChange="submitForm('pageForm','monitor/datalog_list.php');">{tmpl_var name='search_action'}</select></td>
            <td class="tbl_col_dbtable"><input type="text" name="search_dbtable" value="{tmpl_var name='search_dbtable'}" /></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','monitor/datalog_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_tstamp">{tmpl_var name="tstamp"}</td>
            <td class="tbl_col_server_id">{tmpl_var name="server_id"}</td>
            <td class="tbl_col_action">{tmpl_var name="action"}</td>
            <td class="tbl_col_dbtable">{tmpl_var name="dbtable"}</td>
            <td class="tbl_col_buttons">
              <div class="buttons icons16">
                <!--<a class="icons16 icoDelete" href="javascript: del_record('monitor/datalog_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>
<h2><tmpl_var name="list_head_txt"></h2>
<p><tmpl_var name="list_desc_txt"></p>
<div class="panel panel_list_datalog">
  <div class="pnl_listarea">
    <fieldset><legend><tmpl_var name="list_head_txt"></legend>
      <table class="list">
        <thead>
          <tr>
            <th class="tbl_col_tstamp" scope="col"><tmpl_var name="tstamp_txt"></th>
            <th class="tbl_col_server_id" scope="col"><tmpl_var name="server_id_txt"></th>
            <th class="tbl_col_action" scope="col"><tmpl_var name="action_txt"></th>
            <th class="tbl_col_dbtable" scope="col"><tmpl_var name="dbtable_txt"></th>
            <th class="tbl_col_buttons" scope="col">&nbsp;</th>
          </tr>
          <tr>
            <td class="tbl_col_tstamp">&nbsp;</td>
            <td class="tbl_col_server_id"><select name="search_server_id" onChange="submitForm('pageForm','monitor/datalog_list.php');">{tmpl_var name='search_server_id'}</select></td>
            <td class="tbl_col_action"><select name="search_action" onChange="submitForm('pageForm','monitor/datalog_list.php');">{tmpl_var name='search_action'}</select></td>
            <td class="tbl_col_dbtable"><input type="text" name="search_dbtable" value="{tmpl_var name='search_dbtable'}" /></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','monitor/datalog_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_tstamp">{tmpl_var name="tstamp"}</td>
            <td class="tbl_col_server_id">{tmpl_var name="server_id"}</td>
            <td class="tbl_col_action">{tmpl_var name="action"}</td>
            <td class="tbl_col_dbtable">{tmpl_var name="dbtable"}</td>
            <td class="tbl_col_buttons">
              <div class="buttons icons16">
                <!--<a class="icons16 icoDelete" href="javascript: del_record('monitor/datalog_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>
interface/web/monitor/templates/show_data.htm
@@ -1,4 +1,5 @@
<h2><tmpl_var name="title"></h2>
<h2><tmpl_var name="list_head_txt"></h2>
<p><tmpl_var name="list_desc_txt"></p>
<div class="panel panel_system">
interface/web/monitor/templates/show_log.htm
@@ -1,15 +1,21 @@
<h2><tmpl_var name="title"></h2>
<h2><tmpl_var name="list_head_txt"></h2>
<p><tmpl_var name="list_desc_txt"></p>
<div class="panel panel_logview">
  <div class="pnl_toolsarea">
    <fieldset><legend><tmpl_var name="monTransRefreshsq"></legend>
    <fieldset class="inlineLabels"><legend><tmpl_var name="monTransRefreshsq"></legend>
      <div class="buttons">
        <select name="refreshinterval" id="refreshinterval" onChange="loadContentRefresh('monitor/show_log.php?log={tmpl_var name="log_id"}')">{tmpl_var name="refresh"}</select>
          <div class="ctrlHolder">
              <label for="refreshinterval">{tmpl_var name='refreshinterval_txt'}</label>
            <select name="refreshinterval" id="refreshinterval" class="selectInput withicons" onChange="loadContentRefresh('monitor/show_log.php?log={tmpl_var name="log_id"}')">
                        {tmpl_var name='refresh'}
                    </select>
          </div>
      </div>
    </fieldset>
  </div>
  <div class="pnl_formarea">
    <fieldset><legend><tmpl_var name="monTransDate"><tmpl_var name="time"></legend>
      <div class="codeview"><tmpl_var name="log_data"></div>
interface/web/monitor/templates/show_sys_state.htm
@@ -1,15 +1,21 @@
<h2><tmpl_var name="title"></h2>
<h2><tmpl_var name="list_head_txt"></h2>
<p><tmpl_var name="list_desc_txt"></p>
<div class="panel">
<div class="panel panel_sys_state">
  <div class="pnl_toolsarea">
    <fieldset><legend><tmpl_var name="monTransRefreshsq"></legend>
    <fieldset class="inlineLabels"><legend><tmpl_var name="monTransRefreshsq"></legend>
      <div class="buttons">
        <select name="refreshinterval" id="refreshinterval" onChange="loadContentRefresh('monitor/show_sys_state.php?state={tmpl_var name="state_type"}')">{tmpl_var name="refresh"}</select>
          <div class="ctrlHolder">
              <label for="refreshinterval">{tmpl_var name='refreshinterval_txt'}</label>
            <select name="refreshinterval" id="refreshinterval" class="selectInput withicons" onChange="loadContentRefresh('monitor/show_sys_state.php?state={tmpl_var name="state_type"}')">
                        {tmpl_var name='refresh'}
                    </select>
          </div>
      </div>
    </fieldset>
  </div>
  <div class="pnl_formarea">
    <fieldset><legend></legend>
      <div class="stateview"><tmpl_var name="state_data"></div>
interface/web/monitor/templates/syslog_list.htm
@@ -1,55 +1,56 @@
<h2><tmpl_var name="list_head_txt"></h2>
<div class="panel panel_list_syslog">
  <div class="pnl_listarea">
    <fieldset><legend><tmpl_var name="list_head_txt"></legend>
      <table class="list">
        <thead>
          <tr>
            <th class="tbl_col_tstamp" scope="col"><tmpl_var name="tstamp_txt"></th>
            <th class="tbl_col_server_id" scope="col"><tmpl_var name="server_id_txt"></th>
            <th class="tbl_col_loglevel" scope="col"><tmpl_var name="loglevel_txt"></th>
            <th class="tbl_col_message" scope="col"><tmpl_var name="message_txt"></th>
            <th class="tbl_col_buttons" scope="col">&nbsp;</th>
          </tr>
          <tr>
            <td class="tbl_col_tstamp">&nbsp;</td>
            <td class="tbl_col_server_id"><select name="search_server_id" onChange="submitForm('pageForm','monitor/log_list.php');">{tmpl_var name='search_server_id'}</select></td>
            <td class="tbl_col_loglevel"><select name="search_loglevel" onChange="submitForm('pageForm','monitor/log_list.php');">{tmpl_var name='search_loglevel'}</select></td>
            <td class="tbl_col_message"><input type="text" name="search_message" value="{tmpl_var name='search_message'}" /></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','monitor/log_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_tstamp">{tmpl_var name="tstamp"}</td>
            <td class="tbl_col_server_id">{tmpl_var name="server_id"}</td>
            <td class="tbl_col_loglevel">{tmpl_var name="loglevel"}</td>
            <td class="tbl_col_message">{tmpl_var name="message"}</td>
            <td class="tbl_col_buttons">
              <tmpl_if name="loglevel" op="==" value="Error">
              <div class="buttons icons16">
                <a class="icons16 icoDelete" href="javascript: del_record('monitor/log_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>
              </tmpl_if>
              <tmpl_if name="loglevel" op="==" value="Warning">
              <div class="buttons icons16">
                <a class="icons16 icoDelete" href="javascript: del_record('monitor/log_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>
              </tmpl_if>
            </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>
<h2><tmpl_var name="list_head_txt"></h2>
<p><tmpl_var name="list_desc_txt"></p>
<div class="panel panel_list_syslog">
  <div class="pnl_listarea">
    <fieldset><legend><tmpl_var name="list_head_txt"></legend>
      <table class="list">
        <thead>
          <tr>
            <th class="tbl_col_tstamp" scope="col"><tmpl_var name="tstamp_txt"></th>
            <th class="tbl_col_server_id" scope="col"><tmpl_var name="server_id_txt"></th>
            <th class="tbl_col_loglevel" scope="col"><tmpl_var name="loglevel_txt"></th>
            <th class="tbl_col_message" scope="col"><tmpl_var name="message_txt"></th>
            <th class="tbl_col_buttons" scope="col">&nbsp;</th>
          </tr>
          <tr>
            <td class="tbl_col_tstamp">&nbsp;</td>
            <td class="tbl_col_server_id"><select name="search_server_id" onChange="submitForm('pageForm','monitor/log_list.php');">{tmpl_var name='search_server_id'}</select></td>
            <td class="tbl_col_loglevel"><select name="search_loglevel" onChange="submitForm('pageForm','monitor/log_list.php');">{tmpl_var name='search_loglevel'}</select></td>
            <td class="tbl_col_message"><input type="text" name="search_message" value="{tmpl_var name='search_message'}" /></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','monitor/log_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_tstamp">{tmpl_var name="tstamp"}</td>
            <td class="tbl_col_server_id">{tmpl_var name="server_id"}</td>
            <td class="tbl_col_loglevel">{tmpl_var name="loglevel"}</td>
            <td class="tbl_col_message">{tmpl_var name="message"}</td>
            <td class="tbl_col_buttons">
              <tmpl_if name="loglevel" op="==" value="Error">
              <div class="buttons icons16">
                <a class="icons16 icoDelete" href="javascript: del_record('monitor/log_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>
              </tmpl_if>
              <tmpl_if name="loglevel" op="==" value="Warning">
              <div class="buttons icons16">
                <a class="icons16 icoDelete" href="javascript: del_record('monitor/log_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>
              </tmpl_if>
            </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>
interface/web/sites/templates/database_edit.htm
@@ -1,67 +1,83 @@
<h2><tmpl_var name="list_head_txt"></h2>
<div class="panel panel_database">
  <div class="pnl_formsarea">
    <fieldset id="wf_area_database"><legend>Database</legend>
      <tmpl_if name="is_admin">
      <span class="wf_oneField">
        <label for="server_id" class="wf_preField">{tmpl_var name='server_id_txt'}</label>
        <select id="server_id" name="server_id" {tmpl_var name='edit_disabled'}>{tmpl_var name='server_id'}</select>
      </span>
      <span class="wf_oneField">
        <label for="client_group_id" class="wf_preField">{tmpl_var name='client_txt'}</label>
        <select id="client_group_id" name="client_group_id">{tmpl_var name='client_group_id'}</select>
      </span>
      </tmpl_if>
      <tmpl_if name="is_reseller">
      <span class="wf_oneField">
        <label for="client_group_id" class="wf_preField">{tmpl_var name='client_id_txt'}</label>
        <select id="client_group_id" name="client_group_id">{tmpl_var name='client_group_id'}</select>
      </span>
      </tmpl_if>
      <span class="wf_oneField">
        <label for="type" class="wf_preField">{tmpl_var name='type_txt'}</label>
        <select id="type" name="type">{tmpl_var name='type'}</select>
      </span>
      <span class="wf_oneField">
        <label for="database_name" class="wf_preField">{tmpl_var name='database_name_txt'}</label>
        {tmpl_var name='database_name_prefix'}
        <input type="text" id="database_name" name="database_name" value="{tmpl_var name='database_name'}" size="30" maxlength="64" class="wf_required"  {tmpl_var name='edit_disabled'}><span class="wf_reqMark">*</span><br>
      </span>
      <span class="wf_oneField">
        <label for="database_user" class="wf_preField">{tmpl_var name='database_user_txt'}</label>
        {tmpl_var name='database_user_prefix'}
        <input type="text" id="database_user" name="database_user" value="{tmpl_var name='database_user'}" size="10" maxlength="10" class="wf_required"><span class="wf_reqMark">*</span><br>
      </span>
      <span class="wf_oneField">
        <label for="database_password" class="wf_preField">{tmpl_var name='database_password_txt'}</label>
        <input type="password" id="database_password" name="database_password" value="{tmpl_var name='database_password'}" size="30" maxlength="255" class="wf_required" onkeyup="pass_check(this.value)"><span class="wf_reqMark">*</span><br>
      </span>
      <span class="wf_oneField">
        <span class="wf_preField">{tmpl_var name='password_strength_txt'}</span>
        <span class="wf_passwordStrength"><div id="passBar"></div><span id="passText">&nbsp;</span></span>
      </span>
      <span class="wf_oneField">
        <label for="database_charset" class="wf_preField">{tmpl_var name='database_charset_txt'}</label>
        <select id="database_charset" name="database_charset" {tmpl_var name='edit_disabled'}>{tmpl_var name='database_charset'}</select>
      </span>
      <span class="wf_oneField">
        <label for="remote_access" class="wf_preField">{tmpl_var name='remote_access_txt'}</label>
        <span class="">{tmpl_var name='remote_access'}</span>
      </span>
      <span class="wf_oneField">
        <label for="active" class="wf_preField">{tmpl_var name='active_txt'}</label>
        <span class="">{tmpl_var name='active'}</span>
      </span>
    </fieldset>
    <input type="hidden" name="id" value="{tmpl_var name='id'}">
    <div class="wf_actions buttons">
      <button class="positive iconstxt icoPositive" type="button" value="{tmpl_var name='btn_save_txt'}" onClick="submitForm('pageForm','sites/database_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/database_list.php');"><span>{tmpl_var name='btn_cancel_txt'}</span></button>
    </div>
  </div>
</div>
<h2><tmpl_var name="list_head_txt"></h2>
<p><tmpl_var name="list_desc_txt"></p>
<div class="panel panel_database">
  <div class="pnl_formsarea">
    <fieldset class="inlineLabels"><legend>Database</legend>
      <tmpl_if name="is_admin">
      <div class="ctrlHolder">
          <label for="server_id">{tmpl_var name='server_id_txt'}</label>
        <select name="server_id" id="server_id" class="selectInput">
                    {tmpl_var name='server_id'}
                </select>
      </div>
      <div class="ctrlHolder">
          <label for="client_group_id">{tmpl_var name='client_group_id_txt'}</label>
        <select name="client_group_id" id="client_group_id" class="selectInput">
                    {tmpl_var name='server_id'}
                </select>
      </div>
      </tmpl_if>
      <tmpl_if name="is_reseller">
      <div class="ctrlHolder">
          <label for="client_group_id">{tmpl_var name='client_group_id_txt'}</label>
        <select name="client_group_id" id="client_group_id" class="selectInput">
                    {tmpl_var name='server_id'}
                </select>
      </div>
      </tmpl_if>
      <div class="ctrlHolder">
          <label for="type">{tmpl_var name='type_txt'}</label>
        <select name="type" id="type" class="selectInput">
                    {tmpl_var name='type'}
                </select>
      </div>
      <div class="ctrlHolder">
          <label for="database_name">{tmpl_var name='database_name_txt'}</label>
          <div style="float: left;">{tmpl_var name='database_name_prefix'} </div>
        <input name="database_name" id="database_name" value="{tmpl_var name='database_name'}" size="30" maxlength="255" type="text" class="textInput" />
            </div>
      <div class="ctrlHolder">
          <label for="database_user">{tmpl_var name='database_user_txt'}</label>
          <div style="float: left;">{tmpl_var name='database_user_prefix'} </div>
        <input name="database_user" id="database_user" value="{tmpl_var name='database_user'}" size="30" maxlength="255" type="text" class="textInput" />
            </div>
      <div class="ctrlHolder">
          <label for="database_password">{tmpl_var name='database_password_txt'}</label>
        <input name="database_password" id="database_password" value="{tmpl_var name='database_password'}" size="30" maxlength="255" type="text" class="textInput" />
            </div>
      <div class="ctrlHolder">
                <p class="label">{tmpl_var name='password_strength_txt'}</p>
                <div id="passBar"></div>
                <p class="formHint"><span id="passText">&nbsp;</span></p>
            </div>
      <div class="ctrlHolder">
          <label for="database_charset">{tmpl_var name='database_charset_txt'}</label>
        <select name="database_charset" id="database_charset" class="selectInput">
                    {tmpl_var name='database_charset'}
                </select>
      </div>
      <div class="ctrlHolder">
                <p class="label">{tmpl_var name='remote_access_txt'}</p>
                    <div class="multiField">
                        {tmpl_var name='remote_access'}
                    </div>
            </div>
      <div class="ctrlHolder">
                <p class="label">{tmpl_var name='active_txt'}</p>
                    <div class="multiField">
                        {tmpl_var name='active'}
                    </div>
            </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/database_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/database_list.php');"><span>{tmpl_var name='btn_cancel_txt'}</span></button>
    </div>
  </div>
</div>
interface/web/sites/templates/database_list.htm
@@ -1,60 +1,61 @@
<h2><tmpl_var name="list_head_txt"></h2>
<div class="panel panel_list_database">
  <div class="pnl_toolsarea">
    <fieldset><legend>Tools</legend>
      <div class="buttons">
        <button class="iconstxt icoAdd" type="button" onClick="loadContent('sites/database_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_remote_access" scope="col"><tmpl_var name="remote_access_txt"></th>
            <th class="tbl_col_server_id" scope="col"><tmpl_var name="server_id_txt"></th>
            <th class="tbl_col_database_name" scope="col"><tmpl_var name="database_name_txt"></th>
            <th class="tbl_col_buttons" scope="col">&nbsp;</th>
          </tr>
          <tr>
            <td class="tbl_col_active"><select name="search_active" onChange="submitForm('pageForm','sites/database_list.php');">{tmpl_var name='search_active'}</select></td>
            <td class="tbl_col_remote_access"><select name="search_remote_access" onChange="submitForm('pageForm','sites/database_list.php');">{tmpl_var name='search_remote_access'}</select></td>
            <td class="tbl_col_server_id"><select name="search_server_id" onChange="submitForm('pageForm','sites/database_list.php');">{tmpl_var name='search_server_id'}</select></td>
            <td class="tbl_col_database_name"><input type="text" name="search_database_name" value="{tmpl_var name='search_database_name'}" /></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/database_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">{tmpl_var name="active"}</td>
            <td class="tbl_col_remote_access">{tmpl_var name="remote_access"}</td>
            <td class="tbl_col_server_id">{tmpl_var name="server_id"}</td>
            <td class="tbl_col_database_name"><a href="#" onClick="loadContent('sites/database_edit.php?id={tmpl_var name='id'}');">{tmpl_var name="database_name"}</a></td>
            <td class="tbl_col_buttons">
              <div class="buttons icons16">
                <tmpl_if name="dblist_phpmyadmin_link"><a class="icons16 icoDbAdmin" href="sites/database_phpmyadmin.php?id={tmpl_var name='id'}" target="phpmyadmin"><span>{tmpl_var name='admin_txt'}</span></a></tmpl_if>
                <a class="icons16 icoEdit" href="javascript: loadContent('sites/database_edit.php?id={tmpl_var name='id'}');"><span>{tmpl_var name='edit_txt'}</span></a>
                <a class="icons16 icoDelete" href="javascript: del_record('sites/database_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>
<h2><tmpl_var name="list_head_txt"></h2>
<p><tmpl_var name="list_desc_txt"></p>
<div class="panel panel_list_database">
  <div class="pnl_toolsarea">
    <fieldset><legend>Tools</legend>
      <div class="buttons">
        <button class="iconstxt icoAdd" type="button" onClick="loadContent('sites/database_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_remote_access" scope="col"><tmpl_var name="remote_access_txt"></th>
            <th class="tbl_col_server_id" scope="col"><tmpl_var name="server_id_txt"></th>
            <th class="tbl_col_database_name" scope="col"><tmpl_var name="database_name_txt"></th>
            <th class="tbl_col_buttons" scope="col">&nbsp;</th>
          </tr>
          <tr>
            <td class="tbl_col_active"><select name="search_active" onChange="submitForm('pageForm','sites/database_list.php');">{tmpl_var name='search_active'}</select></td>
            <td class="tbl_col_remote_access"><select name="search_remote_access" onChange="submitForm('pageForm','sites/database_list.php');">{tmpl_var name='search_remote_access'}</select></td>
            <td class="tbl_col_server_id"><select name="search_server_id" onChange="submitForm('pageForm','sites/database_list.php');">{tmpl_var name='search_server_id'}</select></td>
            <td class="tbl_col_database_name"><input type="text" name="search_database_name" value="{tmpl_var name='search_database_name'}" /></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/database_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">{tmpl_var name="active"}</td>
            <td class="tbl_col_remote_access">{tmpl_var name="remote_access"}</td>
            <td class="tbl_col_server_id">{tmpl_var name="server_id"}</td>
            <td class="tbl_col_database_name"><a href="#" onClick="loadContent('sites/database_edit.php?id={tmpl_var name='id'}');">{tmpl_var name="database_name"}</a></td>
            <td class="tbl_col_buttons">
              <div class="buttons icons16">
                <tmpl_if name="dblist_phpmyadmin_link"><a class="icons16 icoDbAdmin" href="sites/database_phpmyadmin.php?id={tmpl_var name='id'}" target="phpmyadmin"><span>{tmpl_var name='admin_txt'}</span></a></tmpl_if>
                <a class="icons16 icoEdit" href="javascript: loadContent('sites/database_edit.php?id={tmpl_var name='id'}');"><span>{tmpl_var name='edit_txt'}</span></a>
                <a class="icons16 icoDelete" href="javascript: del_record('sites/database_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>
interface/web/sites/templates/ftp_user_advanced.htm
@@ -1,46 +1,47 @@
<h2><tmpl_var name="list_head_txt"></h2>
<p><tmpl_var name="list_desc_txt"></p>
<div class="panel panel_ftp_user">
  <div class="pnl_formsarea">
    <fieldset id="wf_area_ftp_user"><legend>Options</legend>
      <span class="wf_oneField">
        <label for="uid" class="wf_preField">{tmpl_var name='uid_txt'}</label>
        <input type="text" id="uid" name="uid" value="{tmpl_var name='uid'}" size="30" maxlength="255">
      </span>
      <span class="wf_oneField">
        <label for="gid" class="wf_preField">{tmpl_var name='gid_txt'}</label>
        <input type="text" id="gid" name="gid" value="{tmpl_var name='gid'}" size="30" maxlength="255">
      </span>
      <span class="wf_oneField">
        <label for="dir" class="wf_preField">{tmpl_var name='dir_txt'}</label>
        <input type="text" id="dir" name="dir" value="{tmpl_var name='dir'}" size="30" maxlength="255">
      </span>
      <span class="wf_oneField">
        <label for="quota_files" class="wf_preField">{tmpl_var name='quota_files_txt'}</label>
        <input type="text" id="quota_files" name="quota_files" value="{tmpl_var name='quota_files'}" size="7" maxlength="7">
      </span>
      <span class="wf_oneField">
        <label for="ul_ratio" class="wf_preField">{tmpl_var name='ul_ratio_txt'}</label>
        <input type="text" id="ul_ratio" name="ul_ratio" value="{tmpl_var name='ul_ratio'}" size="7" maxlength="7">
      </span>
      <span class="wf_oneField">
        <label for="dl_ratio" class="wf_preField">{tmpl_var name='dl_ratio_txt'}</label>
        <input type="text" id="dl_ratio" name="dl_ratio" value="{tmpl_var name='dl_ratio'}" size="7" maxlength="7">
      </span>
      <span class="wf_oneField">
        <label for="ul_bandwidth" class="wf_preField">{tmpl_var name='ul_bandwidth_txt'}</label>
        <input type="text" id="ul_bandwidth" name="ul_bandwidth" value="{tmpl_var name='ul_bandwidth'}" size="7" maxlength="7">
      </span>
      <span class="wf_oneField">
        <label for="dl_bandwidth" class="wf_preField">{tmpl_var name='dl_bandwidth_txt'}</label>
        <input type="text" id="dl_bandwidth" name="dl_bandwidth" value="{tmpl_var name='dl_bandwidth'}" size="7" maxlength="7">
      </span>
    <fieldset class="inlineLabels"><legend>Options</legend>
      <div class="ctrlHolder">
          <label for="uid">{tmpl_var name='uid_txt'}</label>
        <input name="uid" id="uid" value="{tmpl_var name='uid'}" size="30" maxlength="255" type="text" class="textInput" />
            </div>
      <div class="ctrlHolder">
          <label for="gid">{tmpl_var name='gid_txt'}</label>
        <input name="gid" id="gid" value="{tmpl_var name='gid'}" size="30" maxlength="255" type="text" class="textInput" />
            </div>
      <div class="ctrlHolder">
          <label for="dir">{tmpl_var name='dir_txt'}</label>
        <input name="dir" id="dir" value="{tmpl_var name='dir'}" size="30" maxlength="255" type="text" class="textInput" />
            </div>
      <div class="ctrlHolder">
          <label for="quota_files">{tmpl_var name='quota_files_txt'}</label>
        <input name="quota_files" id="quota_files" value="{tmpl_var name='quota_files'}" size="7" maxlength="7" type="text" class="textInput" />
            </div>
      <div class="ctrlHolder">
          <label for="ul_ratio">{tmpl_var name='ul_ratio_txt'}</label>
        <input name="ul_ratio" id="ul_ratio" value="{tmpl_var name='ul_ratio'}" size="7" maxlength="7" type="text" class="textInput" />
            </div>
      <div class="ctrlHolder">
          <label for="dl_ratio">{tmpl_var name='dl_ratio_txt'}</label>
        <input name="dl_ratio" id="dl_ratio" value="{tmpl_var name='dl_ratio'}" size="7" maxlength="7" type="text" class="textInput" />
            </div>
      <div class="ctrlHolder">
          <label for="ul_bandwidth">{tmpl_var name='ul_bandwidth_txt'}</label>
        <input name="ul_bandwidth" id="ul_bandwidth" value="{tmpl_var name='ul_bandwidth'}" size="7" maxlength="7" type="text" class="textInput" />
            </div>
      <div class="ctrlHolder">
          <label for="dl_bandwidth">{tmpl_var name='dl_bandwidth_txt'}</label>
        <input name="dl_bandwidth" id="dl_bandwidth" value="{tmpl_var name='dl_bandwidth'}" size="7" maxlength="7" type="text" class="textInput" />
            </div>
    </fieldset>
    <input type="hidden" name="id" value="{tmpl_var name='id'}">
    <div class="wf_actions buttons">
    <div class="buttonHolder buttons">
      <button class="positive iconstxt icoPositive" type="button" value="{tmpl_var name='btn_save_txt'}" onClick="submitForm('pageForm','sites/ftp_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/ftp_user_list.php');"><span>{tmpl_var name='btn_cancel_txt'}</span></button>
    </div>
interface/web/sites/templates/ftp_user_edit.htm
@@ -1,43 +1,48 @@
<h2><tmpl_var name="list_head_txt"></h2>
<div class="panel panel_ftp_user">
  <div class="pnl_formsarea">
    <fieldset id="wf_area_ftp_user"><legend>FTP User</legend>
      <span class="wf_oneField">
        <label for="parent_domain_id" class="wf_preField">{tmpl_var name='parent_domain_id_txt'}</label>
        <select id="parent_domain_id" name="parent_domain_id">{tmpl_var name='parent_domain_id'}</select>
      </span>
      <span class="wf_oneField">
        <label for="username" class="wf_preField">{tmpl_var name='username_txt'}</label>
        {tmpl_var name='username_prefix'}
        <input type="text" id="username" name="username" value="{tmpl_var name='username'}" size="30" maxlength="255">
      </span>
      <span class="wf_oneField">
        <label for="password" class="wf_preField">{tmpl_var name='password_txt'}</label>
        <input type="password" id="password" name="password" value="{tmpl_var name='password'}" size="30" maxlength="255" onkeyup="pass_check(this.value)">
      </span>
      <span class="wf_oneField">
        <span class="wf_preField">{tmpl_var name='password_strength_txt'}</span>
        <span class="wf_passwordStrength"><div id="passBar"></div><span id="passText">&nbsp;</span></span>
      </span>
      <span class="wf_oneField">
        <label for="quota_size" class="wf_preField">{tmpl_var name='quota_size_txt'}</label>
        <input type="text" id="quota_size" name="quota_size" value="{tmpl_var name='quota_size'}" size="7" maxlength="7"> MB
      </span>
      <span class="wf_oneField">
        <label for="active" class="wf_preField">{tmpl_var name='active_txt'}</label>                    <span class="">
                      {tmpl_var name='active'}
                    </span>
      </span>
    </fieldset>
    <input type="hidden" name="id" value="{tmpl_var name='id'}">
    <div class="wf_actions buttons">
      <button class="positive iconstxt icoPositive" type="button" value="{tmpl_var name='btn_save_txt'}" onClick="submitForm('pageForm','sites/ftp_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/ftp_user_list.php');"><span>{tmpl_var name='btn_cancel_txt'}</span></button>
    </div>
  </div>
</div>
<h2><tmpl_var name="list_head_txt"></h2>
<p><tmpl_var name="list_desc_txt"></p>
<div class="panel panel_ftp_user">
  <div class="pnl_formsarea">
    <fieldset class="inlineLabels"><legend>FTP User</legend>
      <div class="ctrlHolder">
          <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>
      </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" />
            </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" />
            </div>
      <div class="ctrlHolder">
                <p class="label">{tmpl_var name='password_strength_txt'}</p>
                <div id="passBar"></div>
                <p class="formHint"><span id="passText">&nbsp;</span></p>
            </div>
      <div class="ctrlHolder">
          <label for="quota_size">{tmpl_var name='quota_size_txt'}</label>
        <input name="quota_size" id="quota_size" value="{tmpl_var name='quota_size'}" size="7" maxlength="7" type="text" class="textInput" />
            </div>
      <div class="ctrlHolder">
                <p class="label">{tmpl_var name='active_txt'}</p>
                    <div class="multiField">
                        {tmpl_var name='active'}
                    </div>
            </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/ftp_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/ftp_user_list.php');"><span>{tmpl_var name='btn_cancel_txt'}</span></button>
    </div>
  </div>
</div>
interface/web/sites/templates/ftp_user_list.htm
@@ -1,4 +1,5 @@
<h2><tmpl_var name="list_head_txt"></h2>
<p><tmpl_var name="list_desc_txt"></p>
<div class="panel panel_list_ftp_user">
interface/web/sites/templates/shell_user_advanced.htm
@@ -1,30 +1,31 @@
<h2><tmpl_var name="list_head_txt"></h2>
<p><tmpl_var name="list_desc_txt"></p>
<div class="panel panel_shell_user">
  <div class="pnl_formsarea">
    <fieldset id="wf_area_shell_user"><legend>Options</legend>
      <span class="wf_oneField">
        <label for="puser" class="wf_preField">{tmpl_var name='puser_txt'}</label>
        <input type="text" id="puser" name="puser" value="{tmpl_var name='puser'}" size="30" maxlength="255">
      </span>
      <span class="wf_oneField">
        <label for="pgroup" class="wf_preField">{tmpl_var name='pgroup_txt'}</label>
        <input type="text" id="pgroup" name="pgroup" value="{tmpl_var name='pgroup'}" size="30" maxlength="255">
      </span>
      <span class="wf_oneField">
        <label for="shell" class="wf_preField">{tmpl_var name='shell_txt'}</label>
        <input type="text" id="shell" name="shell" value="{tmpl_var name='shell'}" size="30" maxlength="255">
      </span>
      <span class="wf_oneField">
        <label for="dir" class="wf_preField">{tmpl_var name='dir_txt'}</label>
        <input type="text" id="dir" name="dir" value="{tmpl_var name='dir'}" size="30" maxlength="255">
      </span>
    <fieldset class="inlineLabels"><legend>Options</legend>
      <div class="ctrlHolder">
          <label for="puser">{tmpl_var name='puser_txt'}</label>
        <input name="puser" id="puser" value="{tmpl_var name='puser'}" size="30" maxlength="255" type="text" class="textInput" />
            </div>
      <div class="ctrlHolder">
          <label for="pgroup">{tmpl_var name='pgroup_txt'}</label>
        <input name="pgroup" id="pgroup" value="{tmpl_var name='pgroup'}" size="30" maxlength="255" type="text" class="textInput" />
            </div>
      <div class="ctrlHolder">
          <label for="shell">{tmpl_var name='shell_txt'}</label>
        <input name="shell" id="shell" value="{tmpl_var name='shell'}" size="30" maxlength="255" type="text" class="textInput" />
            </div>
      <div class="ctrlHolder">
          <label for="dir">{tmpl_var name='dir_txt'}</label>
        <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="wf_actions buttons">
    <div class="buttonHolder buttons">
      <button class="positive iconstxt icoPositive" type="button" value="{tmpl_var name='btn_save_txt'}" onClick="submitForm('pageForm','sites/shell_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/shell_user_list.php');"><span>{tmpl_var name='btn_cancel_txt'}</span></button>
    </div>
interface/web/sites/templates/shell_user_edit.htm
@@ -1,46 +1,54 @@
<h2><tmpl_var name="list_head_txt"></h2>
<div class="panel panel_shell_user">
  <div class="pnl_formsarea">
    <fieldset id="wf_area_shell_user"><legend>Shell User</legend>
      <span class="wf_oneField">
        <label for="parent_domain_id" class="wf_preField">{tmpl_var name='parent_domain_id_txt'}</label>
        <select id="parent_domain_id" name="parent_domain_id" {tmpl_var name='parent_domain_id_disabled'}>{tmpl_var name='parent_domain_id'}</select>
      </span>
      <span class="wf_oneField">
        <label for="username" class="wf_preField">{tmpl_var name='username_txt'}</label>
        {tmpl_var name='username_prefix'}
        <input type="text" id="username" name="username" value="{tmpl_var name='username'}" size="30" maxlength="255">
      </span>
      <span class="wf_oneField">
        <label for="password" class="wf_preField">{tmpl_var name='password_txt'}</label>
        <input type="password" id="password" name="password" value="{tmpl_var name='password'}" size="30" maxlength="255" onkeyup="pass_check(this.value)">
      </span>
      <span class="wf_oneField">
        <span class="wf_preField">{tmpl_var name='password_strength_txt'}</span>
        <span class="wf_passwordStrength"><div id="passBar"></div><span id="passText">&nbsp;</span></span>
      </span>
      <span class="wf_oneField">
        <label for="chroot" class="wf_preField">{tmpl_var name='chroot_txt'}</label>
        <select id="chroot" name="chroot">{tmpl_var name='chroot'}</select>
      </span>
      <span class="wf_oneField">
        <label for="quota_size" class="wf_preField">{tmpl_var name='quota_size_txt'}</label>
        <input type="text" id="quota_size" name="quota_size" value="{tmpl_var name='quota_size'}" size="7" maxlength="7"> MB
      </span>
      <span class="wf_oneField">
        <label for="active" class="wf_preField">{tmpl_var name='active_txt'}</label>
        <span class="">{tmpl_var name='active'}</span>
      </span>
    </fieldset>
    <input type="hidden" name="id" value="{tmpl_var name='id'}">
    <div class="wf_actions buttons">
      <button class="positive iconstxt icoPositive" type="button" value="{tmpl_var name='btn_save_txt'}" onClick="submitForm('pageForm','sites/shell_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/shell_user_list.php');"><span>{tmpl_var name='btn_cancel_txt'}</span></button>
    </div>
  </div>
</div>
<h2><tmpl_var name="list_head_txt"></h2>
<p><tmpl_var name="list_desc_txt"></p>
<div class="panel panel_shell_user">
  <div class="pnl_formsarea">
    <fieldset class="inlineLabels"><legend>Shell User</legend>
      <div class="ctrlHolder">
          <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>
      </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" />
            </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" />
            </div>
      <div class="ctrlHolder">
                <p class="label">{tmpl_var name='password_strength_txt'}</p>
                <div id="passBar"></div>
                <p class="formHint"><span id="passText">&nbsp;</span></p>
            </div>
      <div class="ctrlHolder">
          <label for="chroot">{tmpl_var name='chroot_txt'}</label>
        <select name="chroot" id="chroot" class="selectInput">
                    {tmpl_var name='chroot'}
                </select>
      </div>
      <div class="ctrlHolder">
          <label for="quota_size">{tmpl_var name='quota_size_txt'}</label>
        <input name="quota_size" id="quota_size" value="{tmpl_var name='quota_size'}" size="7" maxlength="7" type="text" class="textInput" />
            </div>
      <div class="ctrlHolder">
                <p class="label">{tmpl_var name='active_txt'}</p>
                    <div class="multiField">
                        {tmpl_var name='active'}
                    </div>
            </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/shell_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/shell_user_list.php');"><span>{tmpl_var name='btn_cancel_txt'}</span></button>
    </div>
  </div>
</div>
interface/web/sites/templates/shell_user_list.htm
@@ -1,4 +1,5 @@
<h2><tmpl_var name="list_head_txt"></h2>
<p><tmpl_var name="list_desc_txt"></p>
<div class="panel panel_list_shell_user">
interface/web/sites/templates/web_aliasdomain_edit.htm
@@ -1,38 +1,47 @@
<h2><tmpl_var name="list_head_txt"></h2>
<p><tmpl_var name="list_desc_txt"></p>
<div class="panel panel_web_domain">
  <div class="pnl_formsarea">
    <fieldset id="wf_area_web_domain"><legend>Domain</legend>
      <span class="wf_oneField">
        <label for="domain" class="wf_preField">{tmpl_var name='domain_txt'}</label>
        <input type="text" id="domain" name="domain" value="{tmpl_var name='domain'}" size="30" maxlength="255">
      </span>
      <span class="wf_oneField">
        <label for="parent_domain_id" class="wf_preField">{tmpl_var name='parent_domain_id_txt'}</label>
        <select id="parent_domain_id" name="parent_domain_id">{tmpl_var name='parent_domain_id'}</select>
      </span>
      <span class="wf_oneField">
        <label for="redirect_type" class="wf_preField">{tmpl_var name='redirect_type_txt'}</label>
        <select id="redirect_type" name="redirect_type">{tmpl_var name='redirect_type'}</select>
      </span>
      <span class="wf_oneField">
        <label for="redirect_path" class="wf_preField">{tmpl_var name='redirect_path_txt'}</label>
        <input type="text" id="redirect_path" name="redirect_path" value="{tmpl_var name='redirect_path'}" size="30" maxlength="255">
      </span>
      <span class="wf_oneField">
        <label for="subdomain" class="wf_preField">{tmpl_var name='subdomain_txt'}</label>
        <select id="subdomain" name="subdomain">{tmpl_var name='subdomain'}</select>
      </span>
      <span class="wf_oneField">
        <label for="active" class="wf_preField">{tmpl_var name='active_txt'}</label>
        <span class="">{tmpl_var name='active'}</span>
      </span>
    <fieldset class="inlineLabels"><legend>Domain</legend>
      <div class="ctrlHolder">
          <label for="domain">{tmpl_var name='domain_txt'}</label>
        <input name="domain" id="domain" value="{tmpl_var name='domain'}" size="30" maxlength="255" type="text" class="textInput" />
            </div>
      <div class="ctrlHolder">
          <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>
      </div>
      <div class="ctrlHolder">
          <label for="redirect_type">{tmpl_var name='redirect_type_txt'}</label>
        <select name="redirect_type" id="redirect_type" class="selectInput">
                    {tmpl_var name='redirect_type'}
                </select>
      </div>
      <div class="ctrlHolder">
          <label for="redirect_path">{tmpl_var name='redirect_path_txt'}</label>
        <input name="redirect_path" id="redirect_path" value="{tmpl_var name='redirect_path'}" size="30" maxlength="255" type="text" class="textInput" />
            </div>
      <div class="ctrlHolder">
          <label for="subdomain">{tmpl_var name='subdomain_txt'}</label>
        <select name="subdomain" id="subdomain" class="selectInput">
                    {tmpl_var name='subdomain'}
                </select>
      </div>
      <div class="ctrlHolder">
                <p class="label">{tmpl_var name='active_txt'}</p>
                    <div class="multiField">
                        {tmpl_var name='active'}
                    </div>
            </div>
    </fieldset>
    <input type="hidden" name="id" value="{tmpl_var name='id'}">
    <div class="wf_actions buttons">
    <div class="buttonHolder buttons">
      <button class="positive iconstxt icoPositive" type="button" value="{tmpl_var name='btn_save_txt'}" onClick="submitForm('pageForm','sites/web_aliasdomain_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/web_aliasdomain_list.php');"><span>{tmpl_var name='btn_cancel_txt'}</span></button>
    </div>
interface/web/sites/templates/web_aliasdomain_list.htm
@@ -1,4 +1,5 @@
<h2><tmpl_var name="list_head_txt"></h2>
<p><tmpl_var name="list_desc_txt"></p>
<div class="panel panel_list_web_aliasdomain">
interface/web/sites/templates/web_domain_advanced.htm
@@ -1,36 +1,34 @@
<h2><tmpl_var name="list_head_txt"></h2>
<div class="panel panel_web_domain">
  <div class="pnl_formsarea">
    <fieldset id="wf_area_web_domain"><legend>Options</legend>
      <!--
      <span class="wf_oneField">
        <label for="document_root" class="wf_preField">{tmpl_var name='document_root_txt'}</label>
        <input type="text" id="document_root" name="document_root" value="{tmpl_var name='document_root'}" size="30" maxlength="255">
      </span>
      -->
      <input type="hidden" id="document_root" name="document_root" value="{tmpl_var name='document_root'}">
      <span class="wf_oneField">
        <label for="system_user" class="wf_preField">{tmpl_var name='system_user_txt'}</label>
        <input type="text" id="system_user" name="system_user" value="{tmpl_var name='system_user'}" size="30" maxlength="255">
      </span>
      <span class="wf_oneField">
        <label for="system_group" class="wf_preField">{tmpl_var name='system_group_txt'}</label>
        <input type="text" id="system_group" name="system_group" value="{tmpl_var name='system_group'}" size="30" maxlength="255">
      </span>
      <span class="wf_oneField">
        <label for="apache_directives" class="wf_preField">{tmpl_var name='apache_directives_txt'}</label>
        <textarea id="apache_directives" name="apache_directives" rows="10" cols="30">{tmpl_var name='apache_directives'}</textarea>
      </span>
    </fieldset>
    <input type="hidden" name="id" value="{tmpl_var name='id'}">
    <div class="wf_actions buttons">
      <button class="positive iconstxt icoPositive" type="button" value="{tmpl_var name='btn_save_txt'}" onClick="submitForm('pageForm','sites/web_domain_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/web_domain_list.php');"><span>{tmpl_var name='btn_cancel_txt'}</span></button>
    </div>
  </div>
</div>
<h2><tmpl_var name="list_head_txt"></h2>
<p><tmpl_var name="list_desc_txt"></p>
<div class="panel panel_web_domain">
  <div class="pnl_formsarea">
    <fieldset class="inlineLabels"><legend>Options</legend>
      <div class="ctrlHolder">
          <label for="document_root">{tmpl_var name='document_root_txt'}</label>
        <input name="document_root" id="document_root" value="{tmpl_var name='document_root'}" size="30" maxlength="255" type="text" class="textInput" />
            </div>
      <div class="ctrlHolder">
          <label for="system_user">{tmpl_var name='system_user_txt'}</label>
        <input name="system_user" id="system_user" value="{tmpl_var name='system_user'}" size="30" maxlength="255" type="text" class="textInput" />
            </div>
      <div class="ctrlHolder">
          <label for="system_group">{tmpl_var name='system_group_txt'}</label>
        <input name="system_group" id="system_group" value="{tmpl_var name='system_group'}" size="30" maxlength="255" type="text" class="textInput" />
            </div>
      <div class="ctrlHolder">
          <label for="apache_directives">{tmpl_var name='apache_directives_txt'}</label>
        <input name="apache_directives" id="apache_directives" value="{tmpl_var name='apache_directives'}" 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/web_domain_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/web_domain_list.php');"><span>{tmpl_var name='btn_cancel_txt'}</span></button>
    </div>
  </div>
</div>
interface/web/sites/templates/web_domain_edit.htm
@@ -1,101 +1,132 @@
<h2><tmpl_var name="list_head_txt"></h2>
<div class="panel panel_web_domain">
  <div class="pnl_formsarea">
    <fieldset id="wf_area_web_domain"><legend>Domain</legend>
      <tmpl_if name="is_admin">
      <span class="wf_oneField">
        <label for="server_id" class="wf_preField">{tmpl_var name='server_id_txt'}</label>
        <select id="server_id" name="server_id" onChange="loadContentInto('ip_address','sites/ajax_get_ip.php?server_id='+document.getElementById('server_id').value)" {tmpl_var name='edit_disabled'}>{tmpl_var name='server_id'}</select>
      </span>
      <span class="wf_oneField">
        <label for="client_group_id" class="wf_preField">{tmpl_var name='client_txt'}</label>
        <select id="client_group_id" name="client_group_id">{tmpl_var name='client_group_id'}</select>
      </span>
      </tmpl_if>
      <tmpl_if name="is_reseller">
      <span class="wf_oneField">
        <label for="client_group_id" class="wf_preField">{tmpl_var name='client_group_id_txt'}</label>
        <select id="client_group_id" name="client_group_id">{tmpl_var name='client_group_id'}</select>
      </span>
      </tmpl_if>
      <span class="wf_oneField">
        <label for="ip_address" class="wf_preField">{tmpl_var name='ip_address_txt'}</label>
        <select id="ip_address" name="ip_address">{tmpl_var name='ip_address'}</select>
      </span>
      <span class="wf_oneField">
        <label for="domain" class="wf_preField">{tmpl_var name='domain_txt'}</label>
        <input type="text" id="domain" name="domain" value="{tmpl_var name='domain'}" size="30" maxlength="255">
      </span>
<!--
      <span class="wf_oneField">
        <label for="type" class="wf_preField">{tmpl_var name='type_txt'}</label>
        <select id="type" name="type">{tmpl_var name='type'}</select>
      </span>
      <span class="wf_oneField">
        <label for="parent_domain_id" class="wf_preField">{tmpl_var name='parent_domain_id_txt'}</label>
        <select id="parent_domain_id" name="parent_domain_id">{tmpl_var name='parent_domain_id'}</select>
      </span>
      <span class="wf_oneField">
        <label for="vhost_type" class="wf_preField">{tmpl_var name='vhost_type_txt'}</label>
        <select id="vhost_type" name="vhost_type">{tmpl_var name='vhost_type'}</select>
      </span>
-->
      <span class="wf_oneField">
        <label for="hd_quota" class="wf_preField">{tmpl_var name='hd_quota_txt'}</label>
        <input type="text" id="hd_quota" name="hd_quota" value="{tmpl_var name='hd_quota'}" size="7" maxlength="7"> MB
      </span>
<!--
      <span class="wf_oneField">
        <label for="traffic_quota" class="wf_preField">{tmpl_var name='traffic_quota_txt'}</label>
        <input type="text" id="traffic_quota" name="traffic_quota" value="{tmpl_var name='traffic_quota'}" size="7" maxlength="7">
      </span>
-->
      <span class="wf_oneField">
        <label for="cgi" class="wf_preField">{tmpl_var name='cgi_txt'}</label>
        <span class="">{tmpl_var name='cgi'}</span>
      </span>
      <span class="wf_oneField">
        <label for="ssi" class="wf_preField">{tmpl_var name='ssi_txt'}</label>
        <span class="">{tmpl_var name='ssi'}</span>
      </span>
      <span class="wf_oneField">
        <label for="suexec" class="wf_preField">{tmpl_var name='suexec_txt'}</label>
        <span class="">{tmpl_var name='suexec'}</span>
      </span>
      <span class="wf_oneField">
        <label for="errordocs" class="wf_preField">{tmpl_var name='errordocs_txt'}</label>
        <span class="">{tmpl_var name='errordocs'}</span>
      </span>
      <span class="wf_oneField">
        <label for="is_subdomainwww" class="wf_preField">{tmpl_var name='is_subdomainwww_txt'}</label>
        <span class="">{tmpl_var name='is_subdomainwww'}</span>
      </span>
      <span class="wf_oneField">
        <label for="subdomain" class="wf_preField">{tmpl_var name='subdomain_txt'}</label>
        <select id="subdomain" name="subdomain">{tmpl_var name='subdomain'}</select>
      </span>
      <span class="wf_oneField">
        <label for="ssl" class="wf_preField">{tmpl_var name='ssl_txt'}</label>
        <span class="">{tmpl_var name='ssl'}</span>
      </span>
      <span class="wf_oneField">
        <label for="php" class="wf_preField">{tmpl_var name='php_txt'}</label>
        <select id="php" name="php">{tmpl_var name='php'}</select>
      </span>
      <span class="wf_oneField">
        <label for="active" class="wf_preField">{tmpl_var name='active_txt'}</label>
        <span class="">{tmpl_var name='active'}</span>
      </span>
    </fieldset>
    <input type="hidden" name="id" value="{tmpl_var name='id'}">
    <div class="wf_actions buttons">
      <button class="positive iconstxt icoPositive" type="button" value="{tmpl_var name='btn_save_txt'}" onClick="submitForm('pageForm','sites/web_domain_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/web_domain_list.php');"><span>{tmpl_var name='btn_cancel_txt'}</span></button>
    </div>
  </div>
</div>
<h2><tmpl_var name="list_head_txt"></h2>
<p><tmpl_var name="list_desc_txt"></p>
<div class="panel panel_web_domain">
  <div class="pnl_formsarea">
    <fieldset class="inlineLabels"><legend>Domain</legend>
      <tmpl_if name="is_admin">
      <div class="ctrlHolder">
          <label for="server_id">{tmpl_var name='server_id_txt'}</label>
        <select name="server_id" id="server_id" class="selectInput">
                    {tmpl_var name='server_id'}
                </select>
      </div>
      <div class="ctrlHolder">
          <label for="client_group_id">{tmpl_var name='client_group_id_txt'}</label>
        <select name="client_group_id" id="client_group_id" class="selectInput">
                    {tmpl_var name='server_id'}
                </select>
      </div>
      </tmpl_if>
      <tmpl_if name="is_reseller">
      <div class="ctrlHolder">
          <label for="client_group_id">{tmpl_var name='client_group_id_txt'}</label>
        <select name="client_group_id" id="client_group_id" class="selectInput">
                    {tmpl_var name='server_id'}
                </select>
      </div>
      </tmpl_if>
      <div class="ctrlHolder">
          <label for="ip_address">{tmpl_var name='ip_address_txt'}</label>
        <select name="ip_address" id="ip_address" class="selectInput">
                    {tmpl_var name='ip_address'}
                </select>
      </div>
      <div class="ctrlHolder">
          <label for="domain">{tmpl_var name='domain_txt'}</label>
        <input name="domain" id="domain" value="{tmpl_var name='domain'}" size="30" maxlength="255" type="text" class="textInput" />
            </div>
<!--
      <div class="ctrlHolder">
          <label for="type">{tmpl_var name='type_txt'}</label>
        <select name="type" id="type" class="selectInput">
                    {tmpl_var name='type'}
                </select>
      </div>
      <div class="ctrlHolder">
          <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>
      </div>
      <div class="ctrlHolder">
          <label for="vhost_type">{tmpl_var name='vhost_type_txt'}</label>
        <select name="vhost_type" id="vhost_type" class="selectInput">
                    {tmpl_var name='vhost_type'}
                </select>
      </div>
-->
      <div class="ctrlHolder">
          <label for="hd_quota">{tmpl_var name='hd_quota_txt'}</label>
        <input name="hd_quota" id="hd_quota" value="{tmpl_var name='hd_quota'}" size="7" maxlength="7" type="text" class="textInput" />
            </div>
      <div class="ctrlHolder">
          <label for="traffic_quota">{tmpl_var name='traffic_quota_txt'}</label>
        <input name="traffic_quota" id="traffic_quota" value="{tmpl_var name='traffic_quota'}" size="7" maxlength="7" type="text" class="textInput" />
            </div>
      <div class="ctrlHolder">
                <p class="label">{tmpl_var name='cgi_txt'}</p>
                    <div class="multiField">
                        {tmpl_var name='cgi'}
                    </div>
            </div>
      <div class="ctrlHolder">
                <p class="label">{tmpl_var name='ssi_txt'}</p>
                    <div class="multiField">
                        {tmpl_var name='ssi'}
                    </div>
            </div>
      <div class="ctrlHolder">
                <p class="label">{tmpl_var name='suexec_txt'}</p>
                    <div class="multiField">
                        {tmpl_var name='suexec'}
                    </div>
            </div>
      <div class="ctrlHolder">
                <p class="label">{tmpl_var name='errordocs_txt'}</p>
                    <div class="multiField">
                        {tmpl_var name='errordocs'}
                    </div>
            </div>
      <div class="ctrlHolder">
                <p class="label">{tmpl_var name='is_subdomainwww_txt'}</p>
                    <div class="multiField">
                        {tmpl_var name='is_subdomainwww'}
                    </div>
            </div>
      <div class="ctrlHolder">
          <label for="subdomain">{tmpl_var name='subdomain_txt'}</label>
        <select name="subdomain" id="subdomain" class="selectInput">
                    {tmpl_var name='subdomain'}
                </select>
      </div>
      <div class="ctrlHolder">
                <p class="label">{tmpl_var name='ssl_txt'}</p>
                    <div class="multiField">
                        {tmpl_var name='ssl'}
                    </div>
            </div>
      <div class="ctrlHolder">
          <label for="php">{tmpl_var name='php_txt'}</label>
        <select name="php" id="php" class="selectInput">
                    {tmpl_var name='php'}
                </select>
      </div>
      <div class="ctrlHolder">
                <p class="label">{tmpl_var name='active_txt'}</p>
                    <div class="multiField">
                        {tmpl_var name='active'}
                    </div>
            </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/web_domain_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/web_domain_list.php');"><span>{tmpl_var name='btn_cancel_txt'}</span></button>
    </div>
  </div>
</div>
interface/web/sites/templates/web_domain_list.htm
@@ -1,4 +1,5 @@
<h2><tmpl_var name="list_head_txt"></h2>
<p><tmpl_var name="list_desc_txt"></p>
<div class="panel panel_list_web_domain">
interface/web/sites/templates/web_domain_redirect.htm
@@ -1,22 +1,25 @@
<h2><tmpl_var name="list_head_txt"></h2>
<p><tmpl_var name="list_desc_txt"></p>
<div class="panel panel_web_domain">
  <div class="pnl_formsarea">
    <fieldset id="wf_area_web_domain"><legend>Redirect</legend>
      <span class="wf_oneField">
        <label for="redirect_type" class="wf_preField">{tmpl_var name='redirect_type_txt'}</label>
        <select id="redirect_type" name="redirect_type">{tmpl_var name='redirect_type'}</select>
      </span>
      <span class="wf_oneField">
        <label for="redirect_path" class="wf_preField">{tmpl_var name='redirect_path_txt'}</label>
        <input type="text" id="redirect_path" name="redirect_path" value="{tmpl_var name='redirect_path'}" size="30" maxlength="255">
      </span>
    <fieldset class="inlineLabels"><legend>Redirect</legend>
      <div class="ctrlHolder">
          <label for="redirect_type">{tmpl_var name='redirect_type_txt'}</label>
        <select name="redirect_type" id="redirect_type" class="selectInput">
                    {tmpl_var name='redirect_type'}
                </select>
      </div>
      <div class="ctrlHolder">
          <label for="redirect_path">{tmpl_var name='redirect_path_txt'}</label>
        <input name="redirect_path" id="redirect_path" value="{tmpl_var name='redirect_path'}" size="30" maxlength="255" type="text" class="textInput" />
            </div>
    </fieldset>
    <input type="hidden" name="id" value="{tmpl_var name='id'}">
    <div class="wf_actions buttons">
    <div class="buttonHolder buttons">
      <button class="positive iconstxt icoPositive" type="button" value="{tmpl_var name='btn_save_txt'}" onClick="submitForm('pageForm','sites/web_domain_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/web_domain_list.php');"><span>{tmpl_var name='btn_cancel_txt'}</span></button>
    </div>
interface/web/sites/templates/web_domain_ssl.htm
@@ -1,50 +1,53 @@
<h2><tmpl_var name="list_head_txt"></h2>
<p><tmpl_var name="list_desc_txt"></p>
<div class="panel panel_web_domain">
  <div class="pnl_formsarea">
    <fieldset id="wf_area_web_domain"><legend>SSL</legend>
      <span class="wf_oneField">
        <label for="ssl_state" class="wf_preField">{tmpl_var name='ssl_state_txt'}</label>
        <input type="text" id="ssl_state" name="ssl_state" value="{tmpl_var name='ssl_state'}" size="30" maxlength="255">
      </span>
      <span class="wf_oneField">
        <label for="ssl_locality" class="wf_preField">{tmpl_var name='ssl_locality_txt'}</label>
        <input type="text" id="ssl_locality" name="ssl_locality" value="{tmpl_var name='ssl_locality'}" size="30" maxlength="255">
      </span>
      <span class="wf_oneField">
        <label for="ssl_organisation" class="wf_preField">{tmpl_var name='ssl_organisation_txt'}</label>
        <input type="text" id="ssl_organisation" name="ssl_organisation" value="{tmpl_var name='ssl_organisation'}" size="30" maxlength="255">
      </span>
      <span class="wf_oneField">
        <label for="ssl_organisation_unit" class="wf_preField">{tmpl_var name='ssl_organisation_unit_txt'}</label>
        <input type="text" id="ssl_organisation_unit" name="ssl_organisation_unit" value="{tmpl_var name='ssl_organisation_unit'}" size="30" maxlength="255">
      </span>
      <span class="wf_oneField">
        <label for="ssl_country" class="wf_preField">{tmpl_var name='ssl_country_txt'}</label>
        <input type="text" id="ssl_country" name="ssl_country" value="{tmpl_var name='ssl_country'}" size="2" maxlength="2">
      </span>
      <span class="wf_oneField">
        <label for="ssl_request" class="wf_preField">{tmpl_var name='ssl_request_txt'}</label>
        <textarea id="ssl_request" name="ssl_request" cols='30' rows='10'>{tmpl_var name='ssl_request'}</textarea>
      </span>
      <span class="wf_oneField">
        <label for="ssl_cert" class="wf_preField">{tmpl_var name='ssl_cert_txt'}</label>
        <textarea id="ssl_cert" name="ssl_cert" cols='30' rows='10'>{tmpl_var name='ssl_cert'}</textarea>
      </span>
      <span class="wf_oneField">
        <label for="ssl_bundle" class="wf_preField">{tmpl_var name='ssl_bundle_txt'}</label>
        <textarea id="ssl_bundle" name="ssl_bundle" cols='30' rows='10'>{tmpl_var name='ssl_bundle'}</textarea>
      </span>
      <span class="wf_oneField">
        <label for="ssl_action" class="wf_preField">{tmpl_var name='ssl_action_txt'}</label>
        <select id="ssl_action" name="ssl_action">{tmpl_var name='ssl_action'}</select>
      </span>
    <fieldset class="inlineLabels"><legend>SSL</legend>
      <div class="ctrlHolder">
          <label for="ssl_state">{tmpl_var name='ssl_state_txt'}</label>
        <input name="ssl_state" id="ssl_state" value="{tmpl_var name='ssl_state'}" size="30" maxlength="255" type="text" class="textInput" />
            </div>
      <div class="ctrlHolder">
          <label for="ssl_locality">{tmpl_var name='ssl_locality_txt'}</label>
        <input name="ssl_locality" id="ssl_locality" value="{tmpl_var name='ssl_locality'}" size="30" maxlength="255" type="text" class="textInput" />
            </div>
      <div class="ctrlHolder">
          <label for="ssl_organisation">{tmpl_var name='ssl_organisation_txt'}</label>
        <input name="ssl_organisation" id="ssl_organisation" value="{tmpl_var name='ssl_organisation'}" size="30" maxlength="255" type="text" class="textInput" />
            </div>
      <div class="ctrlHolder">
          <label for="ssl_organisation_unit">{tmpl_var name='ssl_organisation_unit_txt'}</label>
        <input name="ssl_organisation_unit" id="ssl_organisation_unit" value="{tmpl_var name='ssl_organisation_unit'}" size="30" maxlength="255" type="text" class="textInput" />
            </div>
      <div class="ctrlHolder">
          <label for="ssl_country">{tmpl_var name='ssl_country_txt'}</label>
        <input name="ssl_country" id="ssl_country" value="{tmpl_var name='ssl_country'}" size="2" maxlength="2" type="text" class="textInput" />
            </div>
      <div class="ctrlHolder">
          <label for="ssl_request">{tmpl_var name='ssl_request_txt'}</label>
        <textarea name="ssl_request" id="ssl_request" rows='10' cols='30'>{tmpl_var name='ssl_request'}</textarea>
      </div>
      <div class="ctrlHolder">
          <label for="ssl_cert">{tmpl_var name='ssl_cert_txt'}</label>
        <textarea name="ssl_cert" id="ssl_cert" rows='10' cols='30'>{tmpl_var name='ssl_cert'}</textarea>
      </div>
      <div class="ctrlHolder">
          <label for="ssl_bundle">{tmpl_var name='ssl_bundle_txt'}</label>
        <textarea name="ssl_bundle" id="ssl_bundle" rows='10' cols='30'>{tmpl_var name='ssl_bundle'}</textarea>
      </div>
      <div class="ctrlHolder">
          <label for="ssl_action">{tmpl_var name='ssl_action_txt'}</label>
        <select name="ssl_action" id="ssl_action" class="selectInput">
                    {tmpl_var name='ssl_action'}
                </select>
      </div>
    </fieldset>
    <input type="hidden" name="id" value="{tmpl_var name='id'}">
    <div class="wf_actions buttons">
    <div class="buttonHolder buttons">
      <button class="positive iconstxt icoPositive" type="button" value="{tmpl_var name='btn_save_txt'}" onClick="submitForm('pageForm','sites/web_domain_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/web_domain_list.php');"><span>{tmpl_var name='btn_cancel_txt'}</span></button>
    </div>
interface/web/sites/templates/web_subdomain_edit.htm
@@ -1,31 +1,35 @@
<h2><tmpl_var name="list_head_txt"></h2>
<p><tmpl_var name="list_desc_txt"></p>
<div class="panel panel_web_subdomain">
  <div class="pnl_formsarea">
    <fieldset id="wf_area_web_subdomain"><legend>Domain</legend>
      <span class="wf_oneField">
        <label for="domain" class="wf_preField">{tmpl_var name='domain_txt'}</label>
        <input type="text" id="domain" name="domain" value="{tmpl_var name='domain'}" size="30" maxlength="255">&nbsp;.&nbsp;
        <select id="parent_domain_id" name="parent_domain_id">{tmpl_var name='parent_domain_id'}</select>
      </span>
      <span class="wf_oneField">
        <label for="redirect_type" class="wf_preField">{tmpl_var name='redirect_type_txt'}</label>
        <select id="redirect_type" name="redirect_type">{tmpl_var name='redirect_type'}</select>
      </span>
      <span class="wf_oneField">
        <label for="redirect_path" class="wf_preField">{tmpl_var name='redirect_path_txt'}</label>
        <input type="text" id="redirect_path" name="redirect_path" value="{tmpl_var name='redirect_path'}" size="30" maxlength="255">
      </span>
      <span class="wf_oneField">
        <label for="active" class="wf_preField">{tmpl_var name='active_txt'}</label>
        <span class="">{tmpl_var name='active'}</span>
      </span>
    <fieldset class="inlineLabels"><legend>Domain</legend>
      <div class="ctrlHolder">
          <label for="domain">{tmpl_var name='domain_txt'}</label>
        <input name="domain" id="domain" value="{tmpl_var name='domain'}" size="30" maxlength="255" type="text" class="textInput" />
            </div>
      <div class="ctrlHolder">
          <label for="redirect_type">{tmpl_var name='redirect_type_txt'}</label>
        <select name="redirect_type" id="redirect_type" class="selectInput">
                    {tmpl_var name='redirect_type'}
                </select>
      </div>
      <div class="ctrlHolder">
          <label for="redirect_path">{tmpl_var name='redirect_path_txt'}</label>
        <input name="redirect_path" id="redirect_path" value="{tmpl_var name='redirect_path'}" size="30" maxlength="255" type="text" class="textInput" />
            </div>
      <div class="ctrlHolder">
                <p class="label">{tmpl_var name='active_txt'}</p>
                    <div class="multiField">
                        {tmpl_var name='active'}
                    </div>
            </div>
    </fieldset>
    <input type="hidden" name="id" value="{tmpl_var name='id'}">
    <div class="wf_actions buttons">
    <div class="buttonHolder buttons">
      <button class="positive iconstxt icoPositive" type="button" value="{tmpl_var name='btn_save_txt'}" onClick="submitForm('pageForm','sites/web_subdomain_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/web_subdomain_list.php');"><span>{tmpl_var name='btn_cancel_txt'}</span></button>
    </div>
interface/web/sites/templates/web_subdomain_list.htm
@@ -1,4 +1,5 @@
<h2><tmpl_var name="list_head_txt"></h2>
<p><tmpl_var name="list_desc_txt"></p>
<div class="panel panel_list_web_subdomain">
interface/web/themes/default/css/central.css
@@ -24,8 +24,9 @@
@import url(screen/basemod.css);
@import url(screen/basemod_2col_left_seo.css);
@import url(screen/content.css);
@import url(screen/uni-form-generic.css);
@import url(screen/uni-form.css);
@import url(screen/content_ispc.css);
@import url(screen/wforms.css);
/* import print layout | Druck-Layout einbinden */
@import url(print/print_100.css);
interface/web/themes/default/css/screen/content_ispc.css
@@ -1,304 +1,792 @@
@charset "UTF-8";
/**
 * "Yet Another Multicolumn Layout" - (X)HTML/CSS Framework
 *
 * (en) Uniform design of ISPConfig elements - ISPConfig 3: default theme
 * (de) Einheitliche Standardformatierungen f�r ISPConfig-Elemente - ISPConfig 3: default theme
 *
 * @copyright       Copyright 2005-2008, Dirk Jesse
 * @license         CC-A 2.0 (http://creativecommons.org/licenses/by/2.0/),
 *                  YAML-C (http://www.yaml.de/en/license/license-conditions.html)
 * @link            http://www.yaml.de
 * @package         yaml
 * @version         3.0.6
 * @revision        $Revision: 202 $
 * @lastmodified    $Date: 2008-06-07 14:29:18 +0200 (Sa, 07 Jun 2008) $
 * @appdef yaml
 */
@media all
{
    .pageForm_description {
        font-size: 12px;
    }
    /* Tab-Box */
    .tabbox_tabs {
        border-bottom: 1px solid #d3d3d3;
    }
    .tabbox_tabs ul {
        list-style: none;
        padding: 0;
        margin: 0;
    }
    .tabbox_tabs li {
        display: inline;
        margin: 0 2px 0 0;
    }
    .tabbox_tabs a {
        padding: 0 1em;
        text-decoration: none;
        color: black;
        background: #d3d3d3;
        border: 1px solid #d3d3d3;
    }
    .tabbox_tabs a:hover {
        background: #fc0;
        color: #540;
    }
    .tabbox_tabs .active a {
        font-weight: bold;
        color: #ff6600;
        background: #ffffff;
    }
    .pnl_toolsarea fieldset, .pnl_listarea fieldset, .pnl_formarea fieldset {
        border-color: #D0D0D0 -moz-use-text-color -moz-use-text-color;
        border-style: solid none none;
        border-width: 1px medium medium;
        margin: 20px 0;
    }
    .pnl_toolsarea fieldset legend , .pnl_listarea fieldset legend, .pnl_formarea fieldset {
        font-weight: bold;
    }
    .error {
        color: #FF0000;
        margin-bottom: 10px;
        border-width: 1px;
        border-style: solid;
        border-color: #FF0000;
        padding: 5px;
    }
    .box {
        padding:4px;
        margin: 0 0 20px 0;
    }
    .box_error { border: 4px solid #CC0000; }
    .box_error h1 { color: #CC0000; }
    .box_support { border: 1px solid #6495ed; }
    .box_support h1 { color: #6495ed; }
    .box_msg { border: 2px solid #6495ed; }
    .box_msg h1 { color: #6495ed; }
    .codeview {
        margin:20px 0;
        padding:2px;
        border: 1px solid #ffcc00;
        background: #fffaea;
        font-family: Consolas, "Lucida Console", "Courier New", monospace;
        font-size: 0.9em;
    }
    /* Lists */
    table.list {
        width: 100%;
        border: 1px solid #d3d3d3 !important;
    }
    table.list thead th { font-size: 10px; }
    table.list tbody { border: 1px solid #d3d3d3 !important; }
    table.list tfoot td { text-align: center;  background: #f8f8f8 url(../../images/lists_tfoot_bg.png) repeat-x bottom left;  padding: 24px 8px 8px 8px; }
    table.list .tbl_row_even { background: #fcfcfc; }
    table.list .tbl_row_uneven { background: #f0f8ff; }
    table.list tr:hover { background: #fffacd; }
    /* Password Strength */
    #passBar {
        width: 101px; height: 10px;
        background: url(../../images/meter_bg.gif) repeat-x bottom left;
        margin: 2px 0;
        float: left;
    }
    #passText {
        padding: 0 8px;
        float: left;
    }
    /* Systemmonitor */
    .systemmonitor-state {
        margin: 10px 0;
        font-family: Consolas, "Lucida Console", "Courier New", monospace;
        font-size: 0.9em;
    }
    .systemmonitor-state.state-no_state {
        border-top: 4px solid #95A19F;
        background-color: #FBF6EE;
    }
    .systemmonitor-state.state-unknown {
        border-top: 4px solid #30302e;
        background-color: #cecfc5;
    }
    .systemmonitor-state.state-ok {
        border-top: 4px solid #23fb00;
        background-color: #adffa2;
    }
    .systemmonitor-state.state-info {
        border-top: 4px solid #fdff00;
        background-color: #fdffa2;
    }
    .systemmonitor-state.state-warning {
        border-top: 4px solid #ffa800;
        background-color: #ffda93;
    }
    .systemmonitor-state.state-critical {
        border-top: 4px solid #ff0000;
        background-color: #ffb9b9;
    }
    .systemmonitor-state.state-error {
        border-top: 4px solid #ff0000;
        background-color: #ff7f7f;
    }
    .systemmonitor-device {
        background-repeat: no-repeat;
        background-position: 12px 4px;
        min-height: 80px;
    }
    .systemmonitor-device.device-system { background-image: url("../../icons/x64/network.png"); }
    .systemmonitor-device.device-server { background-image: url("../../icons/x64/server.png"); }
    .systemmonitor-content.icons32 {
        padding:2px 10px 2px 80px;
        background-repeat: no-repeat;
        background-position: 12px 4px;
    }
    .systemmonitor-content.icons32.ico-no_state { /*background-image:url("../../icons/x32/state_no.png"); */ }
    .systemmonitor-content.icons32.ico-unknown { background-image:url("../../icons/x32/state_unknown.png"); }
    .systemmonitor-content.icons32.ico-ok { background-image:url("../../icons/x32/state_ok.png"); }
    .systemmonitor-content.icons32.ico-info { background-image:url("../../icons/x32/state_info.png"); }
    .systemmonitor-content.icons32.ico-warning { background-image:url("../../icons/x32/state_warning.png"); }
    .systemmonitor-content.icons32.ico-critical { background-image:url("../../icons/x32/state_critical.png"); }
    .systemmonitor-content.icons32.ico-error { background-image:url("../../icons/x32/state_error.png"); }
    .systemmonitor-content table {
        border: none;
        margin-top: 10px;
    }
    .systemmonitor-content * .online {
        border: 1px solid #ffffff;
        background-color: #E3FFB8;
        color: #000000;
        padding:0px 5px;
    }
    .systemmonitor-content * .offline {
        border: 1px solid #ffffff;
        background-color: #d12f19;
        color:#ffffff;
        padding:0px 5px;
    }
    /* Image-Replacement */
    .swap { background-repeat:no-repeat; }
    .swap span { display:none; height:16px; }
    #ir-HeaderLogo { background-image:url("../../images/header_logo.png"); height:32px; }
    #ir-Yes { background-image:url("../../icons/x16/tick_circle.png"); height:16px; }
    #ir-No { background-image:url("../../icons/x16/cross_circle.png"); height:16px; }
    /* BUTTONS */
    .buttons a, .buttons button{
        display:block;
        float:left;
        margin:0 7px 0 0;
        background-color:#f5f5f5;
        border:1px solid #dedede;
        border-top:1px solid #eee;
        border-left:1px solid #eee;
        font-family:"Lucida Grande", Tahoma, Arial, Verdana, sans-serif;
        font-size:90%;
        line-height:130%;
        text-decoration:none;
        font-weight:bold;
        color:#565656;
        cursor:pointer;
        padding:5px 10px 6px 7px; /* Links */
    }
    .buttons button{
        width:auto;
        overflow:visible;
        padding:4px 10px 3px 7px; /* IE6 */
    }
    .buttons button[type]{
        padding:5px 10px 5px 7px; /* Firefox */
        line-height:17px; /* Safari */
    }
    *:first-child+html button[type]{
        padding:4px 10px 3px 7px; /* IE7 */
    }
    .buttons button img, .buttons a img{
        margin:0 3px -3px 0 !important;
        padding:0;
        border:none;
        width:16px;
        height:16px;
    }
    /* BUTTONS STANDARD */
    button:hover, .buttons a:hover{
        background-color:#dff4ff;
        border:1px solid #c2e1ef;
        color:#336699;
    }
    .buttons a:active{
        background-color:#6299c5;
        border:1px solid #6299c5;
        color:#fff;
    }
    /* BUTTONS POSITIVE */
    button.positive, .buttons a.positive{
        color:#529214;
    }
    .buttons a.positive:hover, button.positive:hover{
        background-color:#E6EFC2;
        border:1px solid #C6D880;
        color:#529214;
    }
    .buttons a.positive:active{
        background-color:#529214;
        border:1px solid #529214;
        color:#fff;
    }
    /* BUTTONS NEGATIVE */
    .buttons a.negative, button.negative{
        color:#d12f19;
    }
    .buttons a.negative:hover, button.negative:hover{
        background-color:#fbe3e4;
        border:1px solid #fbc2c4;
        color:#d12f19;
    }
    .buttons a.negative:active{
        background-color:#d12f19;
        border:1px solid #d12f19;
        color:#fff;
    }
    /* Button with icon and text */
    .iconstxt {
        background-repeat: no-repeat;
        background-position: 4px 4px;
    }
    .iconstxt span { padding-left: 20px; }
    .iconstxt.icoPositive { background-image: url("../../icons/x16/tick_circle_frame.png"); }
    .iconstxt.icoNegative { background-image: url("../../icons/x16/cross_circle_frame.png"); }
    .iconstxt.icoAdd { background-image: url(../../icons/x16/plus_circle_frame.png); }
    .iconstxt.icoKey { background-image: url("../../icons/x16/key.png"); }
    .iconstxt.icoDelete { background-image: url("../../icons/x16/minus_circle_frame.png"); }
    /* Button with icon and without text */
    .icons16 span { display: none; }
    a.icons16 { height: 18px; width: 18px; padding: 0; background-repeat: no-repeat; background-position: 1px 1px;}
    button.icons16 { height: 20px; width: 20px; padding: 0; background-repeat: no-repeat; background-position: 1px 1px;}
    .icons16.icoDelete { background-image: url("../../icons/x16/minus_circle_frame.png"); }
    .icons16.icoFilter { background-image: url(../../icons/x16/funnel.png); }
    .icons16.icoEdit { background-image: url("../../icons/x16/wrench.png"); }
    .icons16.icoDbAdmin { background-image: url("../../icons/x16/database.png"); }
    .icons16.icoLoginAs { background-image: url("../../icons/x16/user_go.png"); }
    .icons16.icoWebmailer { background-image: url("../../icons/x16/mails_arrow.png"); }
}
@charset "UTF-8";
/**
 * "Yet Another Multicolumn Layout" - (X)HTML/CSS Framework
 *
 * (en) Uniform design of ISPConfig elements - ISPConfig 3: default theme
 * (de) Einheitliche Standardformatierungen f�r ISPConfig-Elemente - ISPConfig 3: default theme
 *
 * @copyright       Copyright 2005-2008, Dirk Jesse
 * @license         CC-A 2.0 (http://creativecommons.org/licenses/by/2.0/),
 *                  YAML-C (http://www.yaml.de/en/license/license-conditions.html)
 * @link            http://www.yaml.de
 * @package         yaml
 * @version         3.0.6
 * @revision        $Revision: 202 $
 * @lastmodified    $Date: 2008-06-07 14:29:18 +0200 (Sa, 07 Jun 2008) $
 * @appdef yaml
 */
@media all
{
    .pageForm_description {
        font-size: 12px;
    }
    /* Tab-Box */
    .tabbox_tabs {
        border-bottom: 1px solid #d3d3d3;
    }
    .tabbox_tabs ul {
        list-style: none;
        padding: 0;
        margin: 0;
    }
    .tabbox_tabs li {
        display: inline;
        margin: 0 2px 0 0;
    }
    .tabbox_tabs a {
        padding: 0 1em;
        text-decoration: none;
        color: black;
        background: #d3d3d3;
        border: 1px solid #d3d3d3;
    }
    .tabbox_tabs a:hover {
        background: #fc0;
        color: #540;
    }
    .tabbox_tabs .active a {
        font-weight: bold;
        color: #ff6600;
        background: #ffffff;
    }
    .pnl_toolsarea fieldset, .pnl_listarea fieldset, .pnl_formsarea fieldset {
        border-color: #6299c5 -moz-use-text-color -moz-use-text-color;
        border-style: solid none none;
        border-width: 1px medium medium;
        margin: 20px 0;
    }
    .pnl_toolsarea fieldset legend , .pnl_listarea fieldset legend, .pnl_formarea fieldset {
        font-weight: bold;
        color: #6299c5;
    }
    .codeview {
        margin:20px 0;
        padding:2px;
        border: 1px solid #ffcc00;
        background: #fffaea;
        font-family: Consolas, "Lucida Console", "Courier New", monospace;
        font-size: 0.9em;
    }
    /* Lists */
    table.list {
        width: 100%;
        border: 1px solid #d3d3d3 !important;
    }
    table.list thead th { font-size: 10px; }
    table.list tbody { border: 1px solid #d3d3d3 !important; }
    table.list tfoot td { text-align: center;  background: #f8f8f8 url(../../images/lists_tfoot_bg.png) repeat-x bottom left;  padding: 24px 8px 8px 8px; }
    table.list .tbl_row_even { background: #fcfcfc; }
    table.list .tbl_row_uneven { background: #f0f8ff; }
    table.list tr:hover { background: #fffacd; }
    /* Password Strength */
    #passBar {
        width: 101px; height: 10px;
        background: url(../../images/meter_bg.gif) repeat-x bottom left;
        margin: 2px 0;
        float: left;
    }
    #passText {
        padding: 0;
        float: left;
    }
    /* Systemmonitor */
    .systemmonitor-state {
        margin: 10px 0;
        font-family: Consolas, "Lucida Console", "Courier New", monospace;
        font-size: 0.9em;
    }
    .systemmonitor-state.state-no_state {
        border-top: 4px solid #95A19F;
        background-color: #f8f8ff;
    }
    .systemmonitor-state.state-unknown {
        border-top: 4px solid #30302e;
        background-color: #cecfc5;
    }
    .systemmonitor-state.state-ok {
        border-top: 4px solid #23fb00;
        background-color: #adffa2;
    }
    .systemmonitor-state.state-info {
        border-top: 4px solid #fdff00;
        background-color: #fdffa2;
    }
    .systemmonitor-state.state-warning {
        border-top: 4px solid #ffa800;
        background-color: #ffda93;
    }
    .systemmonitor-state.state-critical {
        border-top: 4px solid #ff0000;
        background-color: #ffb9b9;
    }
    .systemmonitor-state.state-error {
        border-top: 4px solid #ff0000;
        background-color: #ff7f7f;
    }
    .systemmonitor-device {
        background-repeat: no-repeat;
        background-position: 12px 4px;
        min-height: 80px;
    }
    .systemmonitor-device.device-system { background-image: url("../../icons/x64/network.png"); }
    .systemmonitor-device.device-server { background-image: url("../../icons/x64/server.png"); }
    .systemmonitor-content.icons32 {
        padding:2px 10px 2px 80px;
        background-repeat: no-repeat;
        background-position: 12px 4px;
    }
    .systemmonitor-content.icons32.ico-no_state { /*background-image:url("../../icons/x32/state_no.png"); */ }
    .systemmonitor-content.icons32.ico-unknown { background-image:url("../../icons/x32/state_unknown.png"); }
    .systemmonitor-content.icons32.ico-ok { background-image:url("../../icons/x32/state_ok.png"); }
    .systemmonitor-content.icons32.ico-info { background-image:url("../../icons/x32/state_info.png"); }
    .systemmonitor-content.icons32.ico-warning { background-image:url("../../icons/x32/state_warning.png"); }
    .systemmonitor-content.icons32.ico-critical { background-image:url("../../icons/x32/state_critical.png"); }
    .systemmonitor-content.icons32.ico-error { background-image:url("../../icons/x32/state_error.png"); }
    .systemmonitor-content table {
        border: none;
        margin-top: 10px;
    }
    .systemmonitor-content * .online {
      border: 1px solid #ffffff;
        background-color: #E3FFB8;
      color: #000000;
        padding:0px 5px;
    }
    .systemmonitor-content * .offline {
      border: 1px solid #ffffff;
        background-color: #d12f19;
        color:#ffffff;
        padding:0px 5px;
    }
    /* Image-Replacement */
    .swap { background-repeat:no-repeat; }
    .swap span { display:none; height:16px; }
    #ir-HeaderLogo { background-image:url("../../images/header_logo.png"); height:32px; }
    #ir-Yes { background-image:url("../../icons/x16/tick_circle.png"); height:16px; }
    #ir-No { background-image:url("../../icons/x16/cross_circle.png"); height:16px; }
    /* BUTTONS */
    .buttons a, .buttons button{
        display:block;
        float:left;
        margin:0 7px 0 0;
        background-color:#f5f5f5;
        border:1px solid #777777;
        border-top: 1px solid #c8c8c8;
        border-left:1px solid #c8c8c8;
        font-family:"Lucida Grande", Tahoma, Arial, Verdana, sans-serif;
        font-size:90%;
        line-height:130%;
        text-decoration:none;
        font-weight:bold;
        color:#565656;
        cursor:pointer;
        padding:5px 10px 6px 7px; /* Links */
    }
    .buttons button{
        width:auto;
        overflow:visible;
        padding:4px 10px 3px 7px; /* IE6 */
    }
    .buttons button[type]{
        padding:5px 10px 5px 7px; /* Firefox */
        line-height:17px; /* Safari */
    }
    *:first-child+html button[type]{
        padding:4px 10px 3px 7px; /* IE7 */
    }
    .buttons button img, .buttons a img{
        margin:0 3px -3px 0 !important;
        padding:0;
        border:none;
        width:16px;
        height:16px;
    }
    /* BUTTONS STANDARD */
    button:hover, .buttons a:hover{
        background-color:#dff4ff;
        border:1px solid #c2e1ef;
        color:#336699;
    }
    .buttons a:active{
        background-color:#6299c5;
        border:1px solid #6299c5;
        color:#fff;
    }
    /* BUTTONS POSITIVE */
    button.positive, .buttons a.positive{
        color:#529214;
    }
    .buttons a.positive:hover, button.positive:hover{
        background-color:#E6EFC2;
        border:1px solid #C6D880;
        color:#529214;
    }
    .buttons a.positive:active{
        background-color:#529214;
        border:1px solid #529214;
        color:#fff;
    }
    /* BUTTONS NEGATIVE */
    .buttons a.negative, button.negative{
        color:#d12f19;
    }
    .buttons a.negative:hover, button.negative:hover{
        background-color:#fbe3e4;
        border:1px solid #fbc2c4;
        color:#d12f19;
    }
    .buttons a.negative:active{
        background-color:#d12f19;
        border:1px solid #d12f19;
        color:#fff;
    }
    /* Button with icon and text */
    .iconstxt {
        background-repeat: no-repeat;
        background-position: 4px 4px;
    }
    .iconstxt span { padding-left: 20px; }
    .iconstxt.icoPositive { background-image: url("../../icons/x16/tick_circle_frame.png"); }
    .iconstxt.icoNegative { background-image: url("../../icons/x16/cross_circle_frame.png"); }
    .iconstxt.icoAdd { background-image: url(../../icons/x16/plus_circle_frame.png); }
    .iconstxt.icoKey { background-image: url("../../icons/x16/key.png"); }
    .iconstxt.icoDelete { background-image: url("../../icons/x16/minus_circle_frame.png"); }
    /* Button with icon and without text */
    .icons16 span { display: none; }
    a.icons16 { height: 18px; width: 18px; padding: 0; background-repeat: no-repeat; background-position: 1px 1px;}
    button.icons16 { height: 20px; width: 20px; padding: 0; background-repeat: no-repeat; background-position: 1px 1px;}
    .icons16.icoDelete { background-image: url("../../icons/x16/minus_circle_frame.png"); }
    .icons16.icoFilter { background-image: url(../../icons/x16/funnel.png); }
    .icons16.icoEdit { background-image: url("../../icons/x16/wrench.png"); }
    .icons16.icoDbAdmin { background-image: url("../../icons/x16/database.png"); }
    .icons16.icoLoginAs { background-image: url("../../icons/x16/user_go.png"); }
    .icons16.icoWebmailer { background-image: url("../../icons/x16/mails_arrow.png"); }
    .blockLabel.email_at {
        width: 20px !important;
        margin: 1.6em 0.3em 0 0 !important
    }
    .textDisplay { display: block; }
    select#language {    width: 100px; }
    .panel_dns_soa * input#refresh, .panel_dns_soa * input#retry, .panel_dns_soa * input#expire, .panel_dns_soa * input#minimum, .panel_dns_soa * input#ttl { width: 100px;    }
    /* Select Menu with Images */
    select.withicons option {
        background-repeat:no-repeat;
        background-position: 1px;
        padding-left:24px;
    }
    select.withicons#country option[value="AD"] { background-image:url(../../icons/flags/ad.png); }
    select.withicons#country option[value="AE"] { background-image:url(../../icons/flags/ae.png); }
    select.withicons#country option[value="AF"] { background-image:url(../../icons/flags/af.png); }
    select.withicons#country option[value="AG"] { background-image:url(../../icons/flags/ag.png); }
    select.withicons#country option[value="AI"] { background-image:url(../../icons/flags/ai.png); }
    select.withicons#country option[value="AL"] { background-image:url(../../icons/flags/al.png); }
    select.withicons#country option[value="AM"] { background-image:url(../../icons/flags/am.png); }
    select.withicons#country option[value="AN"] { background-image:url(../../icons/flags/an.png); }
    select.withicons#country option[value="AO"] { background-image:url(../../icons/flags/ao.png); }
    select.withicons#country option[value="AQ"] { background-image:url(../../icons/flags/aq.png); }
    select.withicons#country option[value="AR"] { background-image:url(../../icons/flags/ar.png); }
    select.withicons#country option[value="AS"] { background-image:url(../../icons/flags/as.png); }
    select.withicons#country option[value="AT"] { background-image:url(../../icons/flags/at.png); }
    select.withicons#country option[value="AU"] { background-image:url(../../icons/flags/au.png); }
    select.withicons#country option[value="AW"] { background-image:url(../../icons/flags/aw.png); }
    select.withicons#country option[value="AX"] { background-image:url(../../icons/flags/ax.png); }
    select.withicons#country option[value="AZ"] { background-image:url(../../icons/flags/az.png); }
    select.withicons#country option[value="BA"] { background-image:url(../../icons/flags/ba.png); }
    select.withicons#country option[value="BB"] { background-image:url(../../icons/flags/bb.png); }
    select.withicons#country option[value="BD"] { background-image:url(../../icons/flags/bd.png); }
    select.withicons#country option[value="BE"] { background-image:url(../../icons/flags/be.png); }
    select.withicons#country option[value="BF"] { background-image:url(../../icons/flags/bf.png); }
    select.withicons#country option[value="BG"] { background-image:url(../../icons/flags/bg.png); }
    select.withicons#country option[value="BH"] { background-image:url(../../icons/flags/bh.png); }
    select.withicons#country option[value="BI"] { background-image:url(../../icons/flags/bi.png); }
    select.withicons#country option[value="BJ"] { background-image:url(../../icons/flags/bj.png); }
    select.withicons#country option[value="BM"] { background-image:url(../../icons/flags/bm.png); }
    select.withicons#country option[value="BN"] { background-image:url(../../icons/flags/bn.png); }
    select.withicons#country option[value="BO"] { background-image:url(../../icons/flags/bo.png); }
    select.withicons#country option[value="BR"] { background-image:url(../../icons/flags/br.png); }
    select.withicons#country option[value="BS"] { background-image:url(../../icons/flags/bs.png); }
    select.withicons#country option[value="BT"] { background-image:url(../../icons/flags/bt.png); }
    select.withicons#country option[value="BV"] { background-image:url(../../icons/flags/bv.png); }
    select.withicons#country option[value="BW"] { background-image:url(../../icons/flags/bw.png); }
    select.withicons#country option[value="BY"] { background-image:url(../../icons/flags/by.png); }
    select.withicons#country option[value="BZ"] { background-image:url(../../icons/flags/bz.png); }
    select.withicons#country option[value="CA"] { background-image:url(../../icons/flags/ca.png); }
    select.withicons#country option[value="CC"] { background-image:url(../../icons/flags/cc.png); }
    select.withicons#country option[value="CD"] { background-image:url(../../icons/flags/cd.png); }
    select.withicons#country option[value="CF"] { background-image:url(../../icons/flags/cf.png); }
    select.withicons#country option[value="CG"] { background-image:url(../../icons/flags/cg.png); }
    select.withicons#country option[value="CH"] { background-image:url(../../icons/flags/ch.png); }
    select.withicons#country option[value="CI"] { background-image:url(../../icons/flags/ci.png); }
    select.withicons#country option[value="CK"] { background-image:url(../../icons/flags/ck.png); }
    select.withicons#country option[value="CL"] { background-image:url(../../icons/flags/cl.png); }
    select.withicons#country option[value="CM"] { background-image:url(../../icons/flags/cm.png); }
    select.withicons#country option[value="CN"] { background-image:url(../../icons/flags/cn.png); }
    select.withicons#country option[value="CO"] { background-image:url(../../icons/flags/co.png); }
    select.withicons#country option[value="CR"] { background-image:url(../../icons/flags/cr.png); }
    select.withicons#country option[value="CS"] { background-image:url(../../icons/flags/cs.png); }
    select.withicons#country option[value="CU"] { background-image:url(../../icons/flags/cu.png); }
    select.withicons#country option[value="CV"] { background-image:url(../../icons/flags/cv.png); }
    select.withicons#country option[value="CX"] { background-image:url(../../icons/flags/cx.png); }
    select.withicons#country option[value="CY"] { background-image:url(../../icons/flags/cy.png); }
    select.withicons#country option[value="CZ"] { background-image:url(../../icons/flags/cz.png); }
    select.withicons#country option[value="DE"] { background-image:url(../../icons/flags/de.png); }
    select.withicons#country option[value="DJ"] { background-image:url(../../icons/flags/dj.png); }
    select.withicons#country option[value="DK"] { background-image:url(../../icons/flags/dk.png); }
    select.withicons#country option[value="DM"] { background-image:url(../../icons/flags/dm.png); }
    select.withicons#country option[value="DO"] { background-image:url(../../icons/flags/do.png); }
    select.withicons#country option[value="DZ"] { background-image:url(../../icons/flags/dz.png); }
    select.withicons#country option[value="EC"] { background-image:url(../../icons/flags/ec.png); }
    select.withicons#country option[value="EE"] { background-image:url(../../icons/flags/ee.png); }
    select.withicons#country option[value="EG"] { background-image:url(../../icons/flags/eg.png); }
    select.withicons#country option[value="EH"] { background-image:url(../../icons/flags/eh.png); }
    select.withicons#country option[value="ER"] { background-image:url(../../icons/flags/er.png); }
    select.withicons#country option[value="ES"] { background-image:url(../../icons/flags/es.png); }
    select.withicons#country option[value="ET"] { background-image:url(../../icons/flags/et.png); }
    select.withicons#country option[value="FI"] { background-image:url(../../icons/flags/fi.png); }
    select.withicons#country option[value="FJ"] { background-image:url(../../icons/flags/fj.png); }
    select.withicons#country option[value="FK"] { background-image:url(../../icons/flags/fk.png); }
    select.withicons#country option[value="FM"] { background-image:url(../../icons/flags/fm.png); }
    select.withicons#country option[value="FO"] { background-image:url(../../icons/flags/fo.png); }
    select.withicons#country option[value="FR"] { background-image:url(../../icons/flags/fr.png); }
    select.withicons#country option[value="GA"] { background-image:url(../../icons/flags/ga.png); }
    select.withicons#country option[value="GB"] { background-image:url(../../icons/flags/gb.png); }
    select.withicons#country option[value="GD"] { background-image:url(../../icons/flags/gd.png); }
    select.withicons#country option[value="GE"] { background-image:url(../../icons/flags/ge.png); }
    select.withicons#country option[value="GF"] { background-image:url(../../icons/flags/gf.png); }
    select.withicons#country option[value="GH"] { background-image:url(../../icons/flags/gh.png); }
    select.withicons#country option[value="GI"] { background-image:url(../../icons/flags/gi.png); }
    select.withicons#country option[value="GL"] { background-image:url(../../icons/flags/gl.png); }
    select.withicons#country option[value="GM"] { background-image:url(../../icons/flags/gm.png); }
    select.withicons#country option[value="GN"] { background-image:url(../../icons/flags/gn.png); }
    select.withicons#country option[value="GP"] { background-image:url(../../icons/flags/gp.png); }
    select.withicons#country option[value="GQ"] { background-image:url(../../icons/flags/gq.png); }
    select.withicons#country option[value="GR"] { background-image:url(../../icons/flags/gr.png); }
    select.withicons#country option[value="GS"] { background-image:url(../../icons/flags/gs.png); }
    select.withicons#country option[value="GT"] { background-image:url(../../icons/flags/gt.png); }
    select.withicons#country option[value="GU"] { background-image:url(../../icons/flags/gu.png); }
    select.withicons#country option[value="GW"] { background-image:url(../../icons/flags/gw.png); }
    select.withicons#country option[value="GY"] { background-image:url(../../icons/flags/gy.png); }
    select.withicons#country option[value="HK"] { background-image:url(../../icons/flags/hk.png); }
    select.withicons#country option[value="HM"] { background-image:url(../../icons/flags/hm.png); }
    select.withicons#country option[value="HN"] { background-image:url(../../icons/flags/hn.png); }
    select.withicons#country option[value="HR"] { background-image:url(../../icons/flags/hr.png); }
    select.withicons#country option[value="HT"] { background-image:url(../../icons/flags/ht.png); }
    select.withicons#country option[value="HU"] { background-image:url(../../icons/flags/hu.png); }
    select.withicons#country option[value="ID"] { background-image:url(../../icons/flags/id.png); }
    select.withicons#country option[value="IE"] { background-image:url(../../icons/flags/ie.png); }
    select.withicons#country option[value="IL"] { background-image:url(../../icons/flags/il.png); }
    select.withicons#country option[value="IN"] { background-image:url(../../icons/flags/in.png); }
    select.withicons#country option[value="IO"] { background-image:url(../../icons/flags/io.png); }
    select.withicons#country option[value="IQ"] { background-image:url(../../icons/flags/iq.png); }
    select.withicons#country option[value="IR"] { background-image:url(../../icons/flags/ir.png); }
    select.withicons#country option[value="IS"] { background-image:url(../../icons/flags/is.png); }
    select.withicons#country option[value="IT"] { background-image:url(../../icons/flags/it.png); }
    select.withicons#country option[value="JM"] { background-image:url(../../icons/flags/jm.png); }
    select.withicons#country option[value="JO"] { background-image:url(../../icons/flags/jo.png); }
    select.withicons#country option[value="JP"] { background-image:url(../../icons/flags/jp.png); }
    select.withicons#country option[value="KE"] { background-image:url(../../icons/flags/ke.png); }
    select.withicons#country option[value="KG"] { background-image:url(../../icons/flags/kg.png); }
    select.withicons#country option[value="KH"] { background-image:url(../../icons/flags/kh.png); }
    select.withicons#country option[value="KI"] { background-image:url(../../icons/flags/ki.png); }
    select.withicons#country option[value="KM"] { background-image:url(../../icons/flags/km.png); }
    select.withicons#country option[value="KN"] { background-image:url(../../icons/flags/kn.png); }
    select.withicons#country option[value="KP"] { background-image:url(../../icons/flags/kp.png); }
    select.withicons#country option[value="KR"] { background-image:url(../../icons/flags/kr.png); }
    select.withicons#country option[value="KW"] { background-image:url(../../icons/flags/kw.png); }
    select.withicons#country option[value="KY"] { background-image:url(../../icons/flags/ky.png); }
    select.withicons#country option[value="KZ"] { background-image:url(../../icons/flags/kz.png); }
    select.withicons#country option[value="LA"] { background-image:url(../../icons/flags/la.png); }
    select.withicons#country option[value="LB"] { background-image:url(../../icons/flags/lb.png); }
    select.withicons#country option[value="LC"] { background-image:url(../../icons/flags/lc.png); }
    select.withicons#country option[value="LI"] { background-image:url(../../icons/flags/li.png); }
    select.withicons#country option[value="LK"] { background-image:url(../../icons/flags/lk.png); }
    select.withicons#country option[value="LR"] { background-image:url(../../icons/flags/lr.png); }
    select.withicons#country option[value="LS"] { background-image:url(../../icons/flags/ls.png); }
    select.withicons#country option[value="LT"] { background-image:url(../../icons/flags/lt.png); }
    select.withicons#country option[value="LU"] { background-image:url(../../icons/flags/lu.png); }
    select.withicons#country option[value="LV"] { background-image:url(../../icons/flags/lv.png); }
    select.withicons#country option[value="LY"] { background-image:url(../../icons/flags/ly.png); }
    select.withicons#country option[value="MA"] { background-image:url(../../icons/flags/ma.png); }
    select.withicons#country option[value="MC"] { background-image:url(../../icons/flags/mc.png); }
    select.withicons#country option[value="MD"] { background-image:url(../../icons/flags/md.png); }
    select.withicons#country option[value="ME"] { background-image:url(../../icons/flags/me.png); }
    select.withicons#country option[value="MG"] { background-image:url(../../icons/flags/mg.png); }
    select.withicons#country option[value="MH"] { background-image:url(../../icons/flags/mh.png); }
    select.withicons#country option[value="MK"] { background-image:url(../../icons/flags/mk.png); }
    select.withicons#country option[value="ML"] { background-image:url(../../icons/flags/ml.png); }
    select.withicons#country option[value="MM"] { background-image:url(../../icons/flags/mm.png); }
    select.withicons#country option[value="MN"] { background-image:url(../../icons/flags/mn.png); }
    select.withicons#country option[value="MO"] { background-image:url(../../icons/flags/mo.png); }
    select.withicons#country option[value="MP"] { background-image:url(../../icons/flags/mp.png); }
    select.withicons#country option[value="MQ"] { background-image:url(../../icons/flags/mq.png); }
    select.withicons#country option[value="MR"] { background-image:url(../../icons/flags/mr.png); }
    select.withicons#country option[value="MS"] { background-image:url(../../icons/flags/ms.png); }
    select.withicons#country option[value="MT"] { background-image:url(../../icons/flags/mt.png); }
    select.withicons#country option[value="MU"] { background-image:url(../../icons/flags/mu.png); }
    select.withicons#country option[value="MV"] { background-image:url(../../icons/flags/mv.png); }
    select.withicons#country option[value="MW"] { background-image:url(../../icons/flags/mw.png); }
    select.withicons#country option[value="MX"] { background-image:url(../../icons/flags/mx.png); }
    select.withicons#country option[value="MY"] { background-image:url(../../icons/flags/my.png); }
    select.withicons#country option[value="MZ"] { background-image:url(../../icons/flags/mz.png); }
    select.withicons#country option[value="NA"] { background-image:url(../../icons/flags/na.png); }
    select.withicons#country option[value="NC"] { background-image:url(../../icons/flags/nc.png); }
    select.withicons#country option[value="NE"] { background-image:url(../../icons/flags/ne.png); }
    select.withicons#country option[value="NF"] { background-image:url(../../icons/flags/nf.png); }
    select.withicons#country option[value="NG"] { background-image:url(../../icons/flags/ng.png); }
    select.withicons#country option[value="NI"] { background-image:url(../../icons/flags/ni.png); }
    select.withicons#country option[value="NL"] { background-image:url(../../icons/flags/nl.png); }
    select.withicons#country option[value="NO"] { background-image:url(../../icons/flags/no.png); }
    select.withicons#country option[value="NP"] { background-image:url(../../icons/flags/np.png); }
    select.withicons#country option[value="NR"] { background-image:url(../../icons/flags/nr.png); }
    select.withicons#country option[value="NU"] { background-image:url(../../icons/flags/nu.png); }
    select.withicons#country option[value="NZ"] { background-image:url(../../icons/flags/nz.png); }
    select.withicons#country option[value="OM"] { background-image:url(../../icons/flags/om.png); }
    select.withicons#country option[value="PA"] { background-image:url(../../icons/flags/pa.png); }
    select.withicons#country option[value="PE"] { background-image:url(../../icons/flags/pe.png); }
    select.withicons#country option[value="PF"] { background-image:url(../../icons/flags/pf.png); }
    select.withicons#country option[value="PG"] { background-image:url(../../icons/flags/pg.png); }
    select.withicons#country option[value="PH"] { background-image:url(../../icons/flags/ph.png); }
    select.withicons#country option[value="PK"] { background-image:url(../../icons/flags/pk.png); }
    select.withicons#country option[value="PL"] { background-image:url(../../icons/flags/pl.png); }
    select.withicons#country option[value="PM"] { background-image:url(../../icons/flags/pm.png); }
    select.withicons#country option[value="PN"] { background-image:url(../../icons/flags/pn.png); }
    select.withicons#country option[value="PR"] { background-image:url(../../icons/flags/pr.png); }
    select.withicons#country option[value="PS"] { background-image:url(../../icons/flags/ps.png); }
    select.withicons#country option[value="PT"] { background-image:url(../../icons/flags/pt.png); }
    select.withicons#country option[value="PW"] { background-image:url(../../icons/flags/pw.png); }
    select.withicons#country option[value="PY"] { background-image:url(../../icons/flags/py.png); }
    select.withicons#country option[value="QA"] { background-image:url(../../icons/flags/qa.png); }
    select.withicons#country option[value="RE"] { background-image:url(../../icons/flags/re.png); }
    select.withicons#country option[value="RO"] { background-image:url(../../icons/flags/ro.png); }
    select.withicons#country option[value="RS"] { background-image:url(../../icons/flags/rs.png); }
    select.withicons#country option[value="RU"] { background-image:url(../../icons/flags/ru.png); }
    select.withicons#country option[value="RW"] { background-image:url(../../icons/flags/rw.png); }
    select.withicons#country option[value="SA"] { background-image:url(../../icons/flags/sa.png); }
    select.withicons#country option[value="SB"] { background-image:url(../../icons/flags/sb.png); }
    select.withicons#country option[value="SC"] { background-image:url(../../icons/flags/sc.png); }
    select.withicons#country option[value="SD"] { background-image:url(../../icons/flags/sd.png); }
    select.withicons#country option[value="SE"] { background-image:url(../../icons/flags/se.png); }
    select.withicons#country option[value="SG"] { background-image:url(../../icons/flags/sg.png); }
    select.withicons#country option[value="SH"] { background-image:url(../../icons/flags/sh.png); }
    select.withicons#country option[value="SI"] { background-image:url(../../icons/flags/si.png); }
    select.withicons#country option[value="SJ"] { background-image:url(../../icons/flags/sj.png); }
    select.withicons#country option[value="SK"] { background-image:url(../../icons/flags/sk.png); }
    select.withicons#country option[value="SL"] { background-image:url(../../icons/flags/sl.png); }
    select.withicons#country option[value="SM"] { background-image:url(../../icons/flags/sm.png); }
    select.withicons#country option[value="SN"] { background-image:url(../../icons/flags/sn.png); }
    select.withicons#country option[value="SO"] { background-image:url(../../icons/flags/so.png); }
    select.withicons#country option[value="SR"] { background-image:url(../../icons/flags/sr.png); }
    select.withicons#country option[value="ST"] { background-image:url(../../icons/flags/st.png); }
    select.withicons#country option[value="SV"] { background-image:url(../../icons/flags/sv.png); }
    select.withicons#country option[value="SY"] { background-image:url(../../icons/flags/sy.png); }
    select.withicons#country option[value="SZ"] { background-image:url(../../icons/flags/sz.png); }
    select.withicons#country option[value="TC"] { background-image:url(../../icons/flags/tc.png); }
    select.withicons#country option[value="TD"] { background-image:url(../../icons/flags/td.png); }
    select.withicons#country option[value="TF"] { background-image:url(../../icons/flags/tf.png); }
    select.withicons#country option[value="TG"] { background-image:url(../../icons/flags/tg.png); }
    select.withicons#country option[value="TH"] { background-image:url(../../icons/flags/th.png); }
    select.withicons#country option[value="TJ"] { background-image:url(../../icons/flags/tj.png); }
    select.withicons#country option[value="TK"] { background-image:url(../../icons/flags/tk.png); }
    select.withicons#country option[value="TL"] { background-image:url(../../icons/flags/tl.png); }
    select.withicons#country option[value="TM"] { background-image:url(../../icons/flags/tm.png); }
    select.withicons#country option[value="TN"] { background-image:url(../../icons/flags/tn.png); }
    select.withicons#country option[value="TO"] { background-image:url(../../icons/flags/to.png); }
    select.withicons#country option[value="TR"] { background-image:url(../../icons/flags/tr.png); }
    select.withicons#country option[value="TT"] { background-image:url(../../icons/flags/tt.png); }
    select.withicons#country option[value="TV"] { background-image:url(../../icons/flags/tv.png); }
    select.withicons#country option[value="TW"] { background-image:url(../../icons/flags/tw.png); }
    select.withicons#country option[value="TZ"] { background-image:url(../../icons/flags/tz.png); }
    select.withicons#country option[value="UA"] { background-image:url(../../icons/flags/ua.png); }
    select.withicons#country option[value="UG"] { background-image:url(../../icons/flags/ug.png); }
    select.withicons#country option[value="UM"] { background-image:url(../../icons/flags/um.png); }
    select.withicons#country option[value="US"] { background-image:url(../../icons/flags/us.png); }
    select.withicons#country option[value="UY"] { background-image:url(../../icons/flags/uy.png); }
    select.withicons#country option[value="UZ"] { background-image:url(../../icons/flags/uz.png); }
    select.withicons#country option[value="VA"] { background-image:url(../../icons/flags/va.png); }
    select.withicons#country option[value="VC"] { background-image:url(../../icons/flags/vc.png); }
    select.withicons#country option[value="VE"] { background-image:url(../../icons/flags/ve.png); }
    select.withicons#country option[value="VG"] { background-image:url(../../icons/flags/vg.png); }
    select.withicons#country option[value="VI"] { background-image:url(../../icons/flags/vi.png); }
    select.withicons#country option[value="VN"] { background-image:url(../../icons/flags/vn.png); }
    select.withicons#country option[value="VU"] { background-image:url(../../icons/flags/vu.png); }
    select.withicons#country option[value="WF"] { background-image:url(../../icons/flags/wf.png); }
    select.withicons#country option[value="WS"] { background-image:url(../../icons/flags/ws.png); }
    select.withicons#country option[value="YE"] { background-image:url(../../icons/flags/ye.png); }
    select.withicons#country option[value="YT"] { background-image:url(../../icons/flags/yt.png); }
    select.withicons#country option[value="ZA"] { background-image:url(../../icons/flags/za.png); }
    select.withicons#country option[value="ZM"] { background-image:url(../../icons/flags/zm.png); }
    select.withicons#country option[value="ZW"] { background-image:url(../../icons/flags/zw.png); }
    select.withicons#language option[value="ad"] { background-image:url(../../icons/flags/ad.png); }
    select.withicons#language option[value="ae"] { background-image:url(../../icons/flags/ae.png); }
    select.withicons#language option[value="af"] { background-image:url(../../icons/flags/af.png); }
    select.withicons#language option[value="ag"] { background-image:url(../../icons/flags/ag.png); }
    select.withicons#language option[value="ai"] { background-image:url(../../icons/flags/ai.png); }
    select.withicons#language option[value="al"] { background-image:url(../../icons/flags/al.png); }
    select.withicons#language option[value="am"] { background-image:url(../../icons/flags/am.png); }
    select.withicons#language option[value="an"] { background-image:url(../../icons/flags/an.png); }
    select.withicons#language option[value="ao"] { background-image:url(../../icons/flags/ao.png); }
    select.withicons#language option[value="aq"] { background-image:url(../../icons/flags/aq.png); }
    select.withicons#language option[value="ar"] { background-image:url(../../icons/flags/ar.png); }
    select.withicons#language option[value="as"] { background-image:url(../../icons/flags/as.png); }
    select.withicons#language option[value="at"] { background-image:url(../../icons/flags/at.png); }
    select.withicons#language option[value="au"] { background-image:url(../../icons/flags/au.png); }
    select.withicons#language option[value="aw"] { background-image:url(../../icons/flags/aw.png); }
    select.withicons#language option[value="ax"] { background-image:url(../../icons/flags/ax.png); }
    select.withicons#language option[value="az"] { background-image:url(../../icons/flags/az.png); }
    select.withicons#language option[value="ba"] { background-image:url(../../icons/flags/ba.png); }
    select.withicons#language option[value="bb"] { background-image:url(../../icons/flags/bb.png); }
    select.withicons#language option[value="bd"] { background-image:url(../../icons/flags/bd.png); }
    select.withicons#language option[value="be"] { background-image:url(../../icons/flags/be.png); }
    select.withicons#language option[value="bf"] { background-image:url(../../icons/flags/bf.png); }
    select.withicons#language option[value="bg"] { background-image:url(../../icons/flags/bg.png); }
    select.withicons#language option[value="bh"] { background-image:url(../../icons/flags/bh.png); }
    select.withicons#language option[value="bi"] { background-image:url(../../icons/flags/bi.png); }
    select.withicons#language option[value="bj"] { background-image:url(../../icons/flags/bj.png); }
    select.withicons#language option[value="bm"] { background-image:url(../../icons/flags/bm.png); }
    select.withicons#language option[value="bn"] { background-image:url(../../icons/flags/bn.png); }
    select.withicons#language option[value="bo"] { background-image:url(../../icons/flags/bo.png); }
    select.withicons#language option[value="br"] { background-image:url(../../icons/flags/br.png); }
    select.withicons#language option[value="bs"] { background-image:url(../../icons/flags/bs.png); }
    select.withicons#language option[value="bt"] { background-image:url(../../icons/flags/bt.png); }
    select.withicons#language option[value="bv"] { background-image:url(../../icons/flags/bv.png); }
    select.withicons#language option[value="bw"] { background-image:url(../../icons/flags/bw.png); }
    select.withicons#language option[value="by"] { background-image:url(../../icons/flags/by.png); }
    select.withicons#language option[value="bz"] { background-image:url(../../icons/flags/bz.png); }
    select.withicons#language option[value="ca"] { background-image:url(../../icons/flags/ca.png); }
    select.withicons#language option[value="cc"] { background-image:url(../../icons/flags/cc.png); }
    select.withicons#language option[value="cd"] { background-image:url(../../icons/flags/cd.png); }
    select.withicons#language option[value="cf"] { background-image:url(../../icons/flags/cf.png); }
    select.withicons#language option[value="cg"] { background-image:url(../../icons/flags/cg.png); }
    select.withicons#language option[value="ch"] { background-image:url(../../icons/flags/ch.png); }
    select.withicons#language option[value="ci"] { background-image:url(../../icons/flags/ci.png); }
    select.withicons#language option[value="ck"] { background-image:url(../../icons/flags/ck.png); }
    select.withicons#language option[value="cl"] { background-image:url(../../icons/flags/cl.png); }
    select.withicons#language option[value="cm"] { background-image:url(../../icons/flags/cm.png); }
    select.withicons#language option[value="cn"] { background-image:url(../../icons/flags/cn.png); }
    select.withicons#language option[value="co"] { background-image:url(../../icons/flags/co.png); }
    select.withicons#language option[value="cr"] { background-image:url(../../icons/flags/cr.png); }
    select.withicons#language option[value="cs"] { background-image:url(../../icons/flags/cs.png); }
    select.withicons#language option[value="cu"] { background-image:url(../../icons/flags/cu.png); }
    select.withicons#language option[value="cv"] { background-image:url(../../icons/flags/cv.png); }
    select.withicons#language option[value="cx"] { background-image:url(../../icons/flags/cx.png); }
    select.withicons#language option[value="cy"] { background-image:url(../../icons/flags/cy.png); }
    select.withicons#language option[value="cz"] { background-image:url(../../icons/flags/cz.png); }
    select.withicons#language option[value="de"] { background-image:url(../../icons/flags/de.png); }
    select.withicons#language option[value="dj"] { background-image:url(../../icons/flags/dj.png); }
    select.withicons#language option[value="dk"] { background-image:url(../../icons/flags/dk.png); }
    select.withicons#language option[value="dm"] { background-image:url(../../icons/flags/dm.png); }
    select.withicons#language option[value="do"] { background-image:url(../../icons/flags/do.png); }
    select.withicons#language option[value="dz"] { background-image:url(../../icons/flags/dz.png); }
    select.withicons#language option[value="ec"] { background-image:url(../../icons/flags/ec.png); }
    select.withicons#language option[value="ee"] { background-image:url(../../icons/flags/ee.png); }
    select.withicons#language option[value="eg"] { background-image:url(../../icons/flags/eg.png); }
    select.withicons#language option[value="eh"] { background-image:url(../../icons/flags/eh.png); }
    select.withicons#language option[value="en"] { background-image:url(../../icons/flags/gb.png); }
    select.withicons#language option[value="er"] { background-image:url(../../icons/flags/er.png); }
    select.withicons#language option[value="es"] { background-image:url(../../icons/flags/es.png); }
    select.withicons#language option[value="et"] { background-image:url(../../icons/flags/et.png); }
    select.withicons#language option[value="fi"] { background-image:url(../../icons/flags/fi.png); }
    select.withicons#language option[value="fj"] { background-image:url(../../icons/flags/fj.png); }
    select.withicons#language option[value="fk"] { background-image:url(../../icons/flags/fk.png); }
    select.withicons#language option[value="fm"] { background-image:url(../../icons/flags/fm.png); }
    select.withicons#language option[value="fo"] { background-image:url(../../icons/flags/fo.png); }
    select.withicons#language option[value="fr"] { background-image:url(../../icons/flags/fr.png); }
    select.withicons#language option[value="ga"] { background-image:url(../../icons/flags/ga.png); }
    select.withicons#language option[value="gb"] { background-image:url(../../icons/flags/gb.png); }
    select.withicons#language option[value="gd"] { background-image:url(../../icons/flags/gd.png); }
    select.withicons#language option[value="ge"] { background-image:url(../../icons/flags/ge.png); }
    select.withicons#language option[value="gf"] { background-image:url(../../icons/flags/gf.png); }
    select.withicons#language option[value="gh"] { background-image:url(../../icons/flags/gh.png); }
    select.withicons#language option[value="gi"] { background-image:url(../../icons/flags/gi.png); }
    select.withicons#language option[value="gl"] { background-image:url(../../icons/flags/gl.png); }
    select.withicons#language option[value="gm"] { background-image:url(../../icons/flags/gm.png); }
    select.withicons#language option[value="gn"] { background-image:url(../../icons/flags/gn.png); }
    select.withicons#language option[value="gp"] { background-image:url(../../icons/flags/gp.png); }
    select.withicons#language option[value="gq"] { background-image:url(../../icons/flags/gq.png); }
    select.withicons#language option[value="gr"] { background-image:url(../../icons/flags/gr.png); }
    select.withicons#language option[value="gs"] { background-image:url(../../icons/flags/gs.png); }
    select.withicons#language option[value="gt"] { background-image:url(../../icons/flags/gt.png); }
    select.withicons#language option[value="gu"] { background-image:url(../../icons/flags/gu.png); }
    select.withicons#language option[value="gw"] { background-image:url(../../icons/flags/gw.png); }
    select.withicons#language option[value="gy"] { background-image:url(../../icons/flags/gy.png); }
    select.withicons#language option[value="hk"] { background-image:url(../../icons/flags/hk.png); }
    select.withicons#language option[value="hm"] { background-image:url(../../icons/flags/hm.png); }
    select.withicons#language option[value="hn"] { background-image:url(../../icons/flags/hn.png); }
    select.withicons#language option[value="hr"] { background-image:url(../../icons/flags/hr.png); }
    select.withicons#language option[value="ht"] { background-image:url(../../icons/flags/ht.png); }
    select.withicons#language option[value="hu"] { background-image:url(../../icons/flags/hu.png); }
    select.withicons#language option[value="id"] { background-image:url(../../icons/flags/id.png); }
    select.withicons#language option[value="ie"] { background-image:url(../../icons/flags/ie.png); }
    select.withicons#language option[value="il"] { background-image:url(../../icons/flags/il.png); }
    select.withicons#language option[value="in"] { background-image:url(../../icons/flags/in.png); }
    select.withicons#language option[value="io"] { background-image:url(../../icons/flags/io.png); }
    select.withicons#language option[value="iq"] { background-image:url(../../icons/flags/iq.png); }
    select.withicons#language option[value="ir"] { background-image:url(../../icons/flags/ir.png); }
    select.withicons#language option[value="is"] { background-image:url(../../icons/flags/is.png); }
    select.withicons#language option[value="it"] { background-image:url(../../icons/flags/it.png); }
    select.withicons#language option[value="jm"] { background-image:url(../../icons/flags/jm.png); }
    select.withicons#language option[value="jo"] { background-image:url(../../icons/flags/jo.png); }
    select.withicons#language option[value="jp"] { background-image:url(../../icons/flags/jp.png); }
    select.withicons#language option[value="ke"] { background-image:url(../../icons/flags/ke.png); }
    select.withicons#language option[value="kg"] { background-image:url(../../icons/flags/kg.png); }
    select.withicons#language option[value="kh"] { background-image:url(../../icons/flags/kh.png); }
    select.withicons#language option[value="ki"] { background-image:url(../../icons/flags/ki.png); }
    select.withicons#language option[value="km"] { background-image:url(../../icons/flags/km.png); }
    select.withicons#language option[value="kn"] { background-image:url(../../icons/flags/kn.png); }
    select.withicons#language option[value="kp"] { background-image:url(../../icons/flags/kp.png); }
    select.withicons#language option[value="kr"] { background-image:url(../../icons/flags/kr.png); }
    select.withicons#language option[value="kw"] { background-image:url(../../icons/flags/kw.png); }
    select.withicons#language option[value="ky"] { background-image:url(../../icons/flags/ky.png); }
    select.withicons#language option[value="kz"] { background-image:url(../../icons/flags/kz.png); }
    select.withicons#language option[value="la"] { background-image:url(../../icons/flags/la.png); }
    select.withicons#language option[value="lb"] { background-image:url(../../icons/flags/lb.png); }
    select.withicons#language option[value="lc"] { background-image:url(../../icons/flags/lc.png); }
    select.withicons#language option[value="li"] { background-image:url(../../icons/flags/li.png); }
    select.withicons#language option[value="lk"] { background-image:url(../../icons/flags/lk.png); }
    select.withicons#language option[value="lr"] { background-image:url(../../icons/flags/lr.png); }
    select.withicons#language option[value="ls"] { background-image:url(../../icons/flags/ls.png); }
    select.withicons#language option[value="lt"] { background-image:url(../../icons/flags/lt.png); }
    select.withicons#language option[value="lu"] { background-image:url(../../icons/flags/lu.png); }
    select.withicons#language option[value="lv"] { background-image:url(../../icons/flags/lv.png); }
    select.withicons#language option[value="ly"] { background-image:url(../../icons/flags/ly.png); }
    select.withicons#language option[value="ma"] { background-image:url(../../icons/flags/ma.png); }
    select.withicons#language option[value="mc"] { background-image:url(../../icons/flags/mc.png); }
    select.withicons#language option[value="md"] { background-image:url(../../icons/flags/md.png); }
    select.withicons#language option[value="me"] { background-image:url(../../icons/flags/me.png); }
    select.withicons#language option[value="mg"] { background-image:url(../../icons/flags/mg.png); }
    select.withicons#language option[value="mh"] { background-image:url(../../icons/flags/mh.png); }
    select.withicons#language option[value="mk"] { background-image:url(../../icons/flags/mk.png); }
    select.withicons#language option[value="ml"] { background-image:url(../../icons/flags/ml.png); }
    select.withicons#language option[value="mm"] { background-image:url(../../icons/flags/mm.png); }
    select.withicons#language option[value="mn"] { background-image:url(../../icons/flags/mn.png); }
    select.withicons#language option[value="mo"] { background-image:url(../../icons/flags/mo.png); }
    select.withicons#language option[value="mp"] { background-image:url(../../icons/flags/mp.png); }
    select.withicons#language option[value="mq"] { background-image:url(../../icons/flags/mq.png); }
    select.withicons#language option[value="mr"] { background-image:url(../../icons/flags/mr.png); }
    select.withicons#language option[value="ms"] { background-image:url(../../icons/flags/ms.png); }
    select.withicons#language option[value="mt"] { background-image:url(../../icons/flags/mt.png); }
    select.withicons#language option[value="mu"] { background-image:url(../../icons/flags/mu.png); }
    select.withicons#language option[value="mv"] { background-image:url(../../icons/flags/mv.png); }
    select.withicons#language option[value="mw"] { background-image:url(../../icons/flags/mw.png); }
    select.withicons#language option[value="mx"] { background-image:url(../../icons/flags/mx.png); }
    select.withicons#language option[value="my"] { background-image:url(../../icons/flags/my.png); }
    select.withicons#language option[value="mz"] { background-image:url(../../icons/flags/mz.png); }
    select.withicons#language option[value="na"] { background-image:url(../../icons/flags/na.png); }
    select.withicons#language option[value="nc"] { background-image:url(../../icons/flags/nc.png); }
    select.withicons#language option[value="ne"] { background-image:url(../../icons/flags/ne.png); }
    select.withicons#language option[value="nf"] { background-image:url(../../icons/flags/nf.png); }
    select.withicons#language option[value="ng"] { background-image:url(../../icons/flags/ng.png); }
    select.withicons#language option[value="ni"] { background-image:url(../../icons/flags/ni.png); }
    select.withicons#language option[value="nl"] { background-image:url(../../icons/flags/nl.png); }
    select.withicons#language option[value="no"] { background-image:url(../../icons/flags/no.png); }
    select.withicons#language option[value="np"] { background-image:url(../../icons/flags/np.png); }
    select.withicons#language option[value="nr"] { background-image:url(../../icons/flags/nr.png); }
    select.withicons#language option[value="nu"] { background-image:url(../../icons/flags/nu.png); }
    select.withicons#language option[value="nz"] { background-image:url(../../icons/flags/nz.png); }
    select.withicons#language option[value="om"] { background-image:url(../../icons/flags/om.png); }
    select.withicons#language option[value="pa"] { background-image:url(../../icons/flags/pa.png); }
    select.withicons#language option[value="pe"] { background-image:url(../../icons/flags/pe.png); }
    select.withicons#language option[value="pf"] { background-image:url(../../icons/flags/pf.png); }
    select.withicons#language option[value="pg"] { background-image:url(../../icons/flags/pg.png); }
    select.withicons#language option[value="ph"] { background-image:url(../../icons/flags/ph.png); }
    select.withicons#language option[value="pk"] { background-image:url(../../icons/flags/pk.png); }
    select.withicons#language option[value="pl"] { background-image:url(../../icons/flags/pl.png); }
    select.withicons#language option[value="pm"] { background-image:url(../../icons/flags/pm.png); }
    select.withicons#language option[value="pn"] { background-image:url(../../icons/flags/pn.png); }
    select.withicons#language option[value="pr"] { background-image:url(../../icons/flags/pr.png); }
    select.withicons#language option[value="ps"] { background-image:url(../../icons/flags/ps.png); }
    select.withicons#language option[value="pt"] { background-image:url(../../icons/flags/pt.png); }
    select.withicons#language option[value="pw"] { background-image:url(../../icons/flags/pw.png); }
    select.withicons#language option[value="py"] { background-image:url(../../icons/flags/py.png); }
    select.withicons#language option[value="qa"] { background-image:url(../../icons/flags/qa.png); }
    select.withicons#language option[value="re"] { background-image:url(../../icons/flags/re.png); }
    select.withicons#language option[value="ro"] { background-image:url(../../icons/flags/ro.png); }
    select.withicons#language option[value="rs"] { background-image:url(../../icons/flags/rs.png); }
    select.withicons#language option[value="ru"] { background-image:url(../../icons/flags/ru.png); }
    select.withicons#language option[value="rw"] { background-image:url(../../icons/flags/rw.png); }
    select.withicons#language option[value="sa"] { background-image:url(../../icons/flags/sa.png); }
    select.withicons#language option[value="sb"] { background-image:url(../../icons/flags/sb.png); }
    select.withicons#language option[value="sc"] { background-image:url(../../icons/flags/sc.png); }
    select.withicons#language option[value="sd"] { background-image:url(../../icons/flags/sd.png); }
    select.withicons#language option[value="se"] { background-image:url(../../icons/flags/se.png); }
    select.withicons#language option[value="sg"] { background-image:url(../../icons/flags/sg.png); }
    select.withicons#language option[value="sh"] { background-image:url(../../icons/flags/sh.png); }
    select.withicons#language option[value="si"] { background-image:url(../../icons/flags/si.png); }
    select.withicons#language option[value="sj"] { background-image:url(../../icons/flags/sj.png); }
    select.withicons#language option[value="sk"] { background-image:url(../../icons/flags/sk.png); }
    select.withicons#language option[value="sl"] { background-image:url(../../icons/flags/sl.png); }
    select.withicons#language option[value="sm"] { background-image:url(../../icons/flags/sm.png); }
    select.withicons#language option[value="sn"] { background-image:url(../../icons/flags/sn.png); }
    select.withicons#language option[value="so"] { background-image:url(../../icons/flags/so.png); }
    select.withicons#language option[value="sr"] { background-image:url(../../icons/flags/sr.png); }
    select.withicons#language option[value="st"] { background-image:url(../../icons/flags/st.png); }
    select.withicons#language option[value="sv"] { background-image:url(../../icons/flags/sv.png); }
    select.withicons#language option[value="sy"] { background-image:url(../../icons/flags/sy.png); }
    select.withicons#language option[value="sz"] { background-image:url(../../icons/flags/sz.png); }
    select.withicons#language option[value="tc"] { background-image:url(../../icons/flags/tc.png); }
    select.withicons#language option[value="td"] { background-image:url(../../icons/flags/td.png); }
    select.withicons#language option[value="tf"] { background-image:url(../../icons/flags/tf.png); }
    select.withicons#language option[value="tg"] { background-image:url(../../icons/flags/tg.png); }
    select.withicons#language option[value="th"] { background-image:url(../../icons/flags/th.png); }
    select.withicons#language option[value="tj"] { background-image:url(../../icons/flags/tj.png); }
    select.withicons#language option[value="tk"] { background-image:url(../../icons/flags/tk.png); }
    select.withicons#language option[value="tl"] { background-image:url(../../icons/flags/tl.png); }
    select.withicons#language option[value="tm"] { background-image:url(../../icons/flags/tm.png); }
    select.withicons#language option[value="tn"] { background-image:url(../../icons/flags/tn.png); }
    select.withicons#language option[value="to"] { background-image:url(../../icons/flags/to.png); }
    select.withicons#language option[value="tr"] { background-image:url(../../icons/flags/tr.png); }
    select.withicons#language option[value="tt"] { background-image:url(../../icons/flags/tt.png); }
    select.withicons#language option[value="tv"] { background-image:url(../../icons/flags/tv.png); }
    select.withicons#language option[value="tw"] { background-image:url(../../icons/flags/tw.png); }
    select.withicons#language option[value="tz"] { background-image:url(../../icons/flags/tz.png); }
    select.withicons#language option[value="ua"] { background-image:url(../../icons/flags/ua.png); }
    select.withicons#language option[value="ug"] { background-image:url(../../icons/flags/ug.png); }
    select.withicons#language option[value="um"] { background-image:url(../../icons/flags/um.png); }
    select.withicons#language option[value="us"] { background-image:url(../../icons/flags/us.png); }
    select.withicons#language option[value="uy"] { background-image:url(../../icons/flags/uy.png); }
    select.withicons#language option[value="uz"] { background-image:url(../../icons/flags/uz.png); }
    select.withicons#language option[value="va"] { background-image:url(../../icons/flags/va.png); }
    select.withicons#language option[value="vc"] { background-image:url(../../icons/flags/vc.png); }
    select.withicons#language option[value="ve"] { background-image:url(../../icons/flags/ve.png); }
    select.withicons#language option[value="vg"] { background-image:url(../../icons/flags/vg.png); }
    select.withicons#language option[value="vi"] { background-image:url(../../icons/flags/vi.png); }
    select.withicons#language option[value="vn"] { background-image:url(../../icons/flags/vn.png); }
    select.withicons#language option[value="vu"] { background-image:url(../../icons/flags/vu.png); }
    select.withicons#language option[value="wf"] { background-image:url(../../icons/flags/wf.png); }
    select.withicons#language option[value="ws"] { background-image:url(../../icons/flags/ws.png); }
    select.withicons#language option[value="ye"] { background-image:url(../../icons/flags/ye.png); }
    select.withicons#language option[value="yt"] { background-image:url(../../icons/flags/yt.png); }
    select.withicons#language option[value="za"] { background-image:url(../../icons/flags/za.png); }
    select.withicons#language option[value="zm"] { background-image:url(../../icons/flags/zm.png); }
    select.withicons#language option[value="zw"] { background-image:url(../../icons/flags/zw.png); }
}
interface/web/themes/default/css/screen/uni-form-generic.css
New file
@@ -0,0 +1,136 @@
/* Uni-Form by Dragan Babic [Superawesome Industries]  - http: //sprawsm.com/uni-form/ */
/* Some rights reserved - http: //creativecommons.org/licenses/by-sa/2.5/ */
/* Do not edit this file directly, make your changes to uni-form.css in the same folder */
/* ------------------------------------------------------------------------------ */
.uniForm{ margin: 0; padding: 0; position: relative; z-index: 1; } /* reset stuff */
  /* Some generals and more resets */
  .uniForm fieldset{ border: none; margin: 0; padding: 0; }
    .uniForm fieldset legend{ margin: 0; padding: 0; }
    /* This is the main unit that contains our form elements */
    .uniForm .ctrlHolder,
    .uniForm .buttonHolder{ margin: 0; padding: 0; clear: both; }
    /* Clear all floats */
    .uniForm:after,
      .uniForm .buttonHolder:after,
      .uniForm .ctrlHolder:after,
        .uniForm .ctrlHolder .multiField:after,
          .uniForm .inlineLabel:after{ content: "."; display: block; height: 0; line-height: 0; font-size: 0; clear: both; min-height: 0; visibility: hidden; }
    /* A class to be used on a label that contains a checkbox or a radio button */
    .uniForm .inlineLabel,
    .uniForm .inlineLabels .inlineLabel,
    .uniForm .blockLabels .inlineLabel{ width: auto; float: none; margin: 0; display: block; }
      /* IE shows borders & padding on checkboxes and radio buttons if they are declared on an input element, remove them */
      /* Legacy/Inheritance fix */
      .uniForm .inlineLabel input,
      .uniForm .inlineLabels .inlineLabel input,
      .uniForm .blockLabels .inlineLabel input{ border: none; padding: 0; margin: 0; }
/* ------------------------------------------------------------------------------ */
    /* Styles for form controls where labels are above the input elements */
    /* Set the class of the parent (preferably to a fieldset) to .blockLabels */
      .uniForm label,
      .uniForm .label,
      .uniForm .blockLabels label,
      .uniForm .blockLabels .label{ display: block; float: none; padding: 0; line-height: 100%; width: auto; }
      /* Float the input elements */
      .uniForm .textInput,
      .uniForm .blockLabels .textInput,
      .uniForm .blockLabels .fileUpload,
      .uniForm .selectInput,
      .uniForm .blockLabels .selectInput,
      .uniForm .blockLabels select,
      .uniForm textarea,
      .uniForm .blockLabels textarea{ float: left; }
      /* Postition the hints */
      .uniForm .formHint,
      .uniForm .blockLabels .formHint{ float: right; margin: 0; clear: none; }
      /* Position the elements inside combo boxes (multiple selects/checkboxes/radio buttons per unit) */
      .uniForm .multiField,
      .uniForm .blockLabels .multiField{ width: auto; float: left; }
        .uniForm .multiField .inlineLabel,
        .uniForm .blockLabels .multiField .inlineLabel{ display: block; margin: 0 0 .5em 0; }
        .uniForm .multiField .blockLabel,
        .uniForm .blockLabels .multiField .blockLabel{ float: left; width: auto; margin: 0; }
        .uniForm .multiField .blockLabel .textInput,
        .uniForm .multiField .blockLabel .selectInput,
        .uniForm .multiField .blockLabel select,
        .uniForm .blockLabels .multiField .blockLabel .textInput,
        .uniForm .blockLabels .multiField .blockLabel .selectInput,
        .uniForm .blockLabels .multiField .blockLabel select{ width: 100%; margin: 0; }
/* ------------------------------------------------------------------------------ */
    /* Styles for form controls where labels are in line with the input elements */
    /* Set the class of the parent (preferably to a fieldset) to .inlineLabels */
        .uniForm .inlineLabels label,
        .uniForm .inlineLabels .label{ float: left; margin: 0; padding: 0; line-height: 100%; position: relative; }
        /* Float the input elements */
        .uniForm .inlineLabels .textInput,
        .uniForm .inlineLabels .fileUpload,
        .uniForm .inlineLabels .selectInput,
        .uniForm .inlineLabels select,
        .uniForm .inlineLabels textarea{ float: left; }
      /* Postition the hints */
      .uniForm .inlineLabels .formHint{ clear: both; float: none; }
      .uniForm .inlineLabels .multiField{ float: left; }
      .uniForm .inlineLabels .multiField .inlineLabel{}
      .uniForm .inlineLabels .multiField .blockLabel{}
        .uniForm .inlineLabels .multiField .blockLabel .textInput,
        .uniForm .inlineLabels .multiField .blockLabel .selectInput,
        .uniForm .inlineLabels .multiField .blockLabel select{ display: block; width: 100%; float: none; }
        .uniForm .inlineLabels .multiField select{ float: left; }
/* ------------------------------------------------------------------------------ */
    /* Required fields asterisk styling for .blockLabels */
    .uniForm label em,
    .uniForm .label em,
    .uniForm .blockLabels label em,
    .uniForm .blockLabels .label em{ position: absolute; left: -7px; }
    /* Required fields asterisk styling for .inlineLabels */
    .uniForm .inlineLabels label em,
    .uniForm .inlineLabels .label em{ display: block; position: absolute; left: auto; right: 0; font-style: normal; font-weight: bold; }
    .uniForm .inlineLabel em{ position: absolute; left: 7px; }
/* ------------------------------------------------------------------------------ */
    /* Messages */
    .uniForm #errorMsg,
    .uniForm .error{
    }
      .uniForm #errorMsg dt,
      .uniForm #errorMsg h3{
      }
      .uniForm #errorMsg dd{
      }
        .uniForm #errorMsg ol{
        }
          .uniForm #errorMsg ol li{
          }
      .uniForm .errorField{
      }
    .uniForm #OKMsg{
    }
/* ------------------------------------------------------------------------------ */
    /* Columns */
    .uniForm .col{ float: left; }
    .uniForm .col.first{}
    .uniForm .col.last{}
interface/web/themes/default/css/screen/uni-form.css
New file
@@ -0,0 +1,128 @@
/* Keep in mind that wherever you see 'Required property' it means that the property must exist */
/* ------------------------------------------------------------------------------ */
  /* Generals */
  .uniForm fieldset{}
    .uniForm fieldset legend{ color: #333; font-weight: bold; font-size: 100%; margin: 0; padding: 1.5em 1.5em 1.5em 0; }
    /* This is the main unit that contains our form elements */
    .uniForm .ctrlHolder{ padding: 3px; border-bottom: 1px dotted #dfdfdf; }
    .uniForm .buttonHolder{
        text-align: right;
        background: #CEDEEF url("../../images/buttonHolder_bg.gif") no-repeat right;
        margin: 1em 0;
        padding: 8px;
     }
      .uniForm .resetButton{ float: left; }
      .uniForm .primaryAction{ font-weight: bold; }
    /* This class gets added to div.ctrlHolder to highlight the row */
    .uniForm .focused{ background: #fffcdf; }
      /* .inlineLabel is used for inputs within labels - checkboxes and radio buttons */
      .uniForm .inlineLabel input,
      .uniForm .inlineLabels .inlineLabel input,
      .uniForm .blockLabels .inlineLabel input{ float: left; margin: 0 .4em 0 0; }
        .uniForm .inlineLabel span{ float: left; width: 90%; }
/* ------------------------------------------------------------------------------ */
    /* .blockLabels (default style, will be applied even if you don't class the parent element) */
    .uniForm .blockLabels .ctrlHolder{}
      .uniForm label,
      .uniForm .blockLabels label,
      .uniForm .blockLabels .label{ margin: 0 0 .5em 0; }
      .uniForm .textInput,
      .uniForm .blockLabels .textInput,
      .uniForm .blockLabels .fileUpload{ width: 53%; /* <- Required property */ }
      .uniForm .selectInput,
      .uniForm select,
      .uniForm .blockLabels .selectInput,
      .uniForm .blockLabels select{ width: 53.5%; /* <- Required property */ }
      .uniForm textarea,
      .uniForm .blockLabels textarea{ width: 53%; /* <- Required property */ height: 12em; }
      .uniForm .formHint,
      .uniForm .blockLabels .formHint{ width: 45%; /* <- Required property */ font-size: .9em; color: #777; position: relative; top: -.5em; }
      .uniForm .multiField,
      .uniForm .blockLabels .multiField{ width: 53%; }
        .uniForm .multiField .inlineLabel,
        .uniForm .blockLabels .multiField .inlineLabel{ display: block; margin: 0 0 .5em 0; }
        .uniForm .multiField .blockLabel,
        .uniForm .blockLabels .multiField .blockLabel{ width: 30%; margin: 0 10px 0 0; }
        .uniForm .multiField .blockLabel .textInput,
        .uniForm .multiField .blockLabel .selectInput,
        .uniForm .multiField .blockLabel select,
        .uniForm .blockLabels .multiField .blockLabel .textInput,
        .uniForm .blockLabels .multiField .blockLabel .selectInput,
        .uniForm .blockLabels .multiField .blockLabel select{ width: 100%; margin: .3em 0 0 0; }
/* ------------------------------------------------------------------------------ */
    /* .inlineLabels */
    .uniForm .inlineLabels .ctrlHolder{}
    .uniForm .inlineLabels label,
    .uniForm .inlineLabels .label{ width: 45%; /* <- Required property */ margin: .3em 2% 0 0; /* <- Required property */ }
    .uniForm .inlineLabels .textInput,
    .uniForm .inlineLabels .fileUpload{ width: 45%; /* <- Required property */ }
    .uniForm .inlineLabels .selectInput,
    .uniForm .inlineLabels select{ width: 45%; /* <- Required property */ }
    .uniForm .inlineLabels textarea{  width: 45%; /* <- Required property */ height: 12em; }
    .uniForm .inlineLabels .formHint{ margin-top: 0; margin-left: 47%; font-size: .9em; color: #777; position: static; }
    .uniForm .inlineLabels .multiField{ width: 45%; /* <- Required property */ margin: 0 0 .3em 0; }
      .uniForm .inlineLabels .multiField .inlineLabel{ display: block; margin: 0 0 .5em 0; }
      .uniForm .inlineLabels .multiField .blockLabel{ float: left; width: 26%; margin: 0 3% 0 0; }
      .uniForm .inlineLabels .multiField .blockLabel .textInput,
      .uniForm .inlineLabels .multiField .blockLabel .selectInput,
      .uniForm .inlineLabels .multiField .blockLabel select{ width: 100%; margin: .3em 0 0 0; }
/* Focus pseudoclasses */
.uniForm .ctrlHolder .textInput:focus{ outline: none; /* Get rid of the 'glow' effect in WebKit, optional */ }
.uniForm .ctrlHolder textarea:focus{ outline: none; /* Get rid of the 'glow' effect in WebKit, optional */ }
.uniForm div.focused .formHint{ color: #333; }
/* Columns (they are floated left by default) */
.uniForm .col{ width: 47.9%; /* <- Required property */ margin: 0 2% 20px 0; }
/* Use .first and .last classes to control the layout/spacing of your columns */
.uniForm .col.first{ width: 49%; /* <- Required property */ float: left; clear: none; }
.uniForm .col.last{ width: 49%; /* <- Required property */ float: right; clear: none; margin-right: 0; }
/* Messages */
.uniForm #errorMsg{ background: #ffdfdf; border: 1px solid #df7d7d; border-width: 1px 0; margin: 0 0 1.5em 0; padding: 7px; }
.uniForm .error{ background: #ffdfdf; border: 1px solid #df7d7d; border-width: 1px 0; }
  .uniForm #errorMsg dt, .uniForm #errorMsg h3{ margin: 0 0 .5em 0; font-size: 100%; line-height: 100%; font-weight: bold; }
  .uniForm #errorMsg dd{ margin: 0; padding: 0; }
    .uniForm #errorMsg ol{ margin: 0; padding: 0; }
      .uniForm #errorMsg ol li{ margin: 0; padding: 2px; list-style-position: inside; border-bottom: 1px dotted #df7d7d; position: relative; }
    .uniForm .errorField{ color: #af4c4c; margin: 0 0 6px 0; padding: 4px; background: #ffbfbf; }
.uniForm #OKMsg{ background: #C8FFBF; border: 1px solid #A2EF95; border-width: 1px 0; margin: 0 0 1.5em 0; padding: 7px; }
  .uniForm #OKMsg p{ margin: 0; }
/*
IT IS STRONGLY ADVISED TO MAKE YOUR CHANGES AFTER THIS COMMENT BY REPEATING (COPYING) THE SELECTOR FROM ABOVE,
AND MODIFYING IT WITH YOUR OWN PROPERTIES/VALUES. THIS IS RECOMMENDED BECAUSE IF YOU HAPPEN TO RUN INTO TROUBLE,
YOU CAN VERY EASILY REVERT TO A GENERIC STYLE OF UNI-FORM. BEST OF LUCK...
*/
/* ------------------------------------------------------------------------------ */
/* This is the main unit that contains our form elements */
.uniForm .textInput, .uniForm select, .uniForm textarea {
    background:#FFFFFF none repeat scroll 0 0;
    border: 2px solid #DFDFDF;
}
interface/web/themes/default/css/screen/wforms.css
File was deleted
interface/web/themes/default/images/buttonHolder_bg.gif
interface/web/themes/default/licences.txt
@@ -3,6 +3,6 @@
based on:
Templates: http://www.yaml.de
Web-Forms: http://formassembly.com/blog/category/wforms-documentation
Web-Forms: http://www.sprawsm.com/uni-form/
Icons: http://www.pinvoke.com and http://www.randomjabber.com/static/sizcons
Know-How: http://particletree.com/features/rediscovering-the-button-element
interface/web/themes/default/templates/main.tpl.htm
@@ -1,70 +1,115 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
   "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
    <title><tmpl_var name="app_title"> <tmpl_var name="app_version"></title>
    <meta http-equiv="Content-Type" content="text/html; charset=<tmpl_var name="html_content_encoding">"/>
    <link href="themes/default/css/central.css" rel="stylesheet" type="text/css"/>
    <!--[if lte IE 7]>
    <link href="themes/default/css/patches/central.css" rel="stylesheet" type="text/css" />
    <![endif]-->
    <link rel="shortcut icon" href="/themes/default/images/favicon.ico" />
    <script type="text/javascript" src="js/yui/yahoo/yahoo-min.js"></script>
    <script type="text/javascript" src="js/yui/connection/connection-min.js"></script>
    <script type="text/javascript" src="js/scrigo.js.php"></script>
    <!--script src="js/wforms.js"></script-->
</head>
<body onload="loadInitContent()">
    <div id="page_margins">
        <div id="page">
            <div id="header">
                <div id="topsubnav">
                    <!-- start: skip link navigation -->
                    <a class="skip" href="#navigation" title="skip link">Skip to the navigation</a><span class="hideme">.</span>
                    <a class="skip" href="#content" title="skip link">Skip to the content</a><span class="hideme">.</span>
                    <!-- end: skip link navigation -->
                    <span><a href="#" onclick="loadContent('login/logout.php');">Logout</a><!-- | <a href="#" onclick="capp('help')">Help</a> | <a href="#">Imprint</a>--></span>
                </div>
                <h1 id="ir-HeaderLogo" class="swap"><span>ISPConfig 3</span></h1>
                <span>hosting control panel</span>
            </div>
            <!-- begin: main navigation #nav -->
            <div id="nav">
                <a id="navigation" name="navigation"></a>
                <!-- skiplink anchor: navigation -->
                <div id="nav_main">
                    <div id="topNav">&nbsp;</div>
                </div>
            </div>
            <!-- end: main navigation -->
            <!-- begin: main content area #main -->
            <div id="main">
                <!-- begin: #col1 - first float column -->
                <div id="col1">
                    <div id="col1_content" class="clearfix">
                        <div id="sideNav">&nbsp;</div>
                    </div>
                </div>
                <!-- end: #col1 -->
                <!-- begin: #col3 static column -->
                <div id="col3">
                    <div id="col3_content" class="clearfix">
                        <a id="content" name="content"></a>
                        <!-- skiplink anchor: Content -->
                        <form method="post" action="" id="pageForm" name="pageForm" enctype="multipart/form-data">
                        <div id="pageContent"><!-- AJAX CONTENT --></div>
                        </form>
                    </div>
                    <div id="ie_clearing">&nbsp;</div>
                    <!-- End: IE Column Clearing -->
                </div>
                <!-- end: #col3 -->
            </div>
            <!-- end: #main -->
        <!-- begin: #footer -->
        <div id="footer">
            Powered by <a href="<tmpl_var name="app_link">" target="_blank"><tmpl_var name="app_title"> <tmpl_var name="app_version"></a></div>
        </div><!-- end: #footer -->
    </div>
</body>
</html>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
   "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
    <title><tmpl_var name="app_title"> <tmpl_var name="app_version"></title>
    <meta http-equiv="Content-Type" content="text/html; charset=<tmpl_var name="html_content_encoding">"/>
    <link href="themes/default/css/central.css" rel="stylesheet" type="text/css"/>
    <!--[if lte IE 7]>
        <link href="themes/default/css/patches/central.css" rel="stylesheet" type="text/css" />
    <![endif]-->
    <!--[if lte ie 6]>
      <style type="text/css" media="screen">
        /*
        Move these to your IE specific stylesheet if possible
        */
        .uniForm,
        .uniForm fieldset,
        .uniForm .ctrlHolder,
        .uniForm .formHint,
        .uniForm .buttonHolder,
        .uniForm .ctrlHolder .multiField,
        .uniForm .inlineLabel{ zoom:1; }
        .uniForm .inlineLabels label, .uniForm .inlineLabels .label,
        .uniForm .blockLabels label, .uniForm .blockLabels .label,
        .uniForm .inlineLabel span{ padding-bottom: .2em; }
        .uniForm .inlineLabel input,
        .uniForm .inlineLabels .inlineLabel input,
        .uniForm .blockLabels .inlineLabel input{ margin-top: -.3em; }
      </style>
    <![endif]-->
    <!--[if gt ie 6]>
      <style type="text/css" media="screen">
        /*
        Move these to your IE specific stylesheet if possible
        */
        .uniForm,
        .uniForm fieldset,
        .uniForm .ctrlHolder,
        .uniForm .formHint,
        .uniForm .buttonHolder,
        .uniForm .ctrlHolder .multiField,
        .uniForm .inlineLabel{ zoom:1; }
        .uniForm .inlineLabels label, .uniForm .inlineLabels .label,
        .uniForm .blockLabels label, .uniForm .blockLabels .label,
        .uniForm .inlineLabel span{ padding-bottom: .2em; }
        .uniForm .inlineLabel input,
        .uniForm .inlineLabels .inlineLabel input,
        .uniForm .blockLabels .inlineLabel input{ margin-top: -.3em; }
      </style>
    <![endif]-->
    <link rel="shortcut icon" href="/themes/default/images/favicon.ico" />
    <script type="text/javascript" src="js/yui/yahoo/yahoo-min.js"></script>
    <script type="text/javascript" src="js/yui/connection/connection-min.js"></script>
    <script type="text/javascript" src="js/scrigo.js.php"></script>
    <script type="text/javascript" src="js/uni-form/jquery.js"></script>
    <script type="text/javascript" src="js/uni-form/uni-form.jquery.js"></script>
</head>
<body onload="loadInitContent()">
    <div id="page_margins">
        <div id="page">
            <div id="header">
                <div id="topsubnav">
                    <!-- start: skip link navigation -->
                    <a class="skip" href="#navigation" title="skip link">Skip to the navigation</a><span class="hideme">.</span>
                    <a class="skip" href="#content" title="skip link">Skip to the content</a><span class="hideme">.</span>
                    <!-- end: skip link navigation -->
                    <span><a href="#" onclick="loadContent('login/logout.php');">Logout</a><!-- | <a href="#" onclick="capp('help')">Help</a> | <a href="#">Imprint</a>--></span>
                </div>
                <h1 id="ir-HeaderLogo" class="swap"><span>ISPConfig 3</span></h1>
                <span>hosting control panel</span>
            </div>
            <!-- begin: main navigation #nav -->
            <div id="nav">
                <a id="navigation" name="navigation"></a>
                <!-- skiplink anchor: navigation -->
                <div id="nav_main">
                    <div id="topNav">&nbsp;</div>
                </div>
            </div>
            <!-- end: main navigation -->
            <!-- begin: main content area #main -->
            <div id="main">
                <!-- begin: #col1 - first float column -->
                <div id="col1">
                    <div id="col1_content" class="clearfix">
                        <div id="sideNav">&nbsp;</div>
                    </div>
                </div>
                <!-- end: #col1 -->
                <!-- begin: #col3 static column -->
                <div id="col3">
                    <div id="col3_content" class="clearfix">
                        <a id="content" name="content"></a>
                        <!-- skiplink anchor: Content -->
                        <form method="post" action="" id="pageForm" name="pageForm" enctype="multipart/form-data" class="uniForm">
                        <div id="pageContent"><!-- AJAX CONTENT --></div>
                        </form>
                    </div>
                    <div id="ie_clearing">&nbsp;</div>
                    <!-- End: IE Column Clearing -->
                </div>
                <!-- end: #col3 -->
            </div>
            <!-- end: #main -->
        <!-- begin: #footer -->
        <div id="footer">
            Powered by <a href="<tmpl_var name="app_link">" target="_blank"><tmpl_var name="app_title"> <tmpl_var name="app_version"></a></div>
        </div><!-- end: #footer -->
    </div>
</body>
</html>
interface/web/themes/default/templates/tabbed_form.tpl.htm
@@ -1,11 +1,6 @@
<tmpl_if name="form_hint">
<h2><tmpl_var name="form_hint"></h2>
</tmpl_if>
<tmpl_if name="error">
  <div class="error"><tmpl_var name="error"></div>
</tmpl_if>
<div class="tabbox_tabs">
    <ul>
<tmpl_loop name="formTab">
@@ -18,6 +13,14 @@
    </ul>
</div>
<div id="tabbox_content">
    <tmpl_if name="msg">
    <div id="OKMsg"><p><tmpl_var name="msg"></p></div>
  </tmpl_if>
  <tmpl_if name="error">
    <div id="errorMsg"><h3>ERROR</h3><ol><tmpl_var name="error"></ol></div>
  </tmpl_if>
  <tmpl_dyninclude name="content_tpl">
</div>
interface/web/tools/templates/user_settings.htm
@@ -1,26 +1,29 @@
<h2><tmpl_var name="list_head_txt"></h2>
<p><tmpl_var name="list_desc_txt"></p>
<div class="panel panel_usersettings">
  <div class="pnl_formsarea">
    <fieldset id="wf_area_usersettings"><legend>{tmpl_var name='Settings'}</legend>
      <span class="wf_oneField">
        <label for="passwort" class="wf_preField">{tmpl_var name='passwort_txt'}</label>
        <input type="password" id="passwort" name="passwort" value="{tmpl_var name='passwort'}" size="15" maxlength="100" onkeyup="pass_check(this.value)">
      </span>
      <span class="wf_oneField">
        <span class="wf_preField">{tmpl_var name='password_strength_txt'}</span>
        <span class="wf_passwordStrength"><div id="passBar"></div><span id="passText">&nbsp;</span></span>
      </span>
      <span class="wf_oneField">
        <label for="passwort2" class="wf_preField">{tmpl_var name='passwort_txt'}</label>
        <input type="password" id="passwort2" name="passwort2" value="" size="15" maxlength="100">
      </span>
      <span class="wf_oneField">
        <label for="language" class="wf_preField">{tmpl_var name='language_txt'}</label>
        <select id="language" class="withicons" name="language">{tmpl_var name='language'}</select>
      </span>
    </fieldset>
    <fieldset class="inlineLabels"><legend>Users</legend>
      <div class="ctrlHolder">
          <label for="passwort">{tmpl_var name='passwort_txt'}</label>
        <input name="passwort" id="passwort" value="{tmpl_var name='passwort'}" size="15" maxlength="100" 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">&nbsp;</span></p>
            </div>
      <div class="ctrlHolder">
          <label for="passwort2">{tmpl_var name='passwort_txt'}</label>
        <input name="passwort2" id="passwort2" value="" size="15" maxlength="100" type="password" class="textInput" />
            </div>
      <div class="ctrlHolder">
          <label for="language">{tmpl_var name='language_txt'}</label>
        <select name="language" id="language" class="selectInput withicons">
                    {tmpl_var name='language'}
                </select>
      </div>
    <input type="hidden" name="id" value="{tmpl_var name='id'}">