tbrehm
2009-03-31 9855c79e5845f17778434130c6256acf5b533840
Merged revisions 1134-1147 from trunk.
34 files modified
127 ■■■■ changed files
docs/INSTALL_CENTOS_5.2.txt 1 ●●●● patch | view | raw | blame | history
install/lib/installer_base.lib.php 2 ●●● patch | view | raw | blame | history
install/tpl/apache_ispconfig.vhost.master 11 ●●●●● patch | view | raw | blame | history
install/tpl/mailfilter.master 2 ●●● patch | view | raw | blame | history
install/update.php 8 ●●●● patch | view | raw | blame | history
interface/lib/app.inc.php 2 ●●● patch | view | raw | blame | history
interface/lib/classes/tform.inc.php 6 ●●●●● patch | view | raw | blame | history
interface/web/client/lib/lang/en_client.lng 2 ●●● patch | view | raw | blame | history
interface/web/login/lib/lang/bg.lng 2 ●●●●● patch | view | raw | blame | history
interface/web/login/lib/lang/de.lng 2 ●●●●● patch | view | raw | blame | history
interface/web/login/lib/lang/es.lng patch | view | raw | blame | history
interface/web/login/lib/lang/fi.lng 2 ●●●●● patch | view | raw | blame | history
interface/web/login/lib/lang/fr.lng patch | view | raw | blame | history
interface/web/login/lib/lang/it.lng patch | view | raw | blame | history
interface/web/login/lib/lang/nl.lng patch | view | raw | blame | history
interface/web/login/lib/lang/ru.lng 2 ●●●●● patch | view | raw | blame | history
interface/web/login/lib/lang/se.lng patch | view | raw | blame | history
interface/web/mail/mail_domain_edit.php 29 ●●●●● patch | view | raw | blame | history
interface/web/sites/database_edit.php 8 ●●●● patch | view | raw | blame | history
interface/web/sites/ftp_user_edit.php 9 ●●●●● patch | view | raw | blame | history
interface/web/sites/lib/lang/bg_web_subdomain.lng 1 ●●●● patch | view | raw | blame | history
interface/web/sites/lib/lang/de_web_subdomain.lng 1 ●●●● patch | view | raw | blame | history
interface/web/sites/lib/lang/es_web_subdomain.lng 1 ●●●● patch | view | raw | blame | history
interface/web/sites/lib/lang/fi_web_subdomain.lng 1 ●●●● patch | view | raw | blame | history
interface/web/sites/lib/lang/fr_web_subdomain.lng 1 ●●●● patch | view | raw | blame | history
interface/web/sites/lib/lang/it_web_subdomain.lng 1 ●●●● patch | view | raw | blame | history
interface/web/sites/lib/lang/nl_web_subdomain.lng 1 ●●●● patch | view | raw | blame | history
interface/web/sites/lib/lang/ru_web_subdomain.lng 1 ●●●● patch | view | raw | blame | history
interface/web/sites/lib/lang/se_web_subdomain.lng 1 ●●●● patch | view | raw | blame | history
interface/web/sites/shell_user_edit.php 9 ●●●●● patch | view | raw | blame | history
interface/web/sites/templates/web_domain_advanced.htm 6 ●●●●● patch | view | raw | blame | history
server/conf/index/standard_index.html_en 2 ●●● patch | view | raw | blame | history
server/cron_daily.php 8 ●●●● patch | view | raw | blame | history
server/plugins-available/shelluser_base_plugin.inc.php 5 ●●●● patch | view | raw | blame | history
docs/INSTALL_CENTOS_5.2.txt
@@ -54,6 +54,7 @@
mkdir $HOME/rpm/SRPMS
mkdir $HOME/rpm/RPMS
mkdir $HOME/rpm/RPMS/i386
mkdir $HOME/rpm/RPMS/x86_64
echo "%_topdir $HOME/rpm" >> $HOME/.rpmmacros
install/lib/installer_base.lib.php
@@ -442,7 +442,7 @@
        $configfile = $config_dir.'/master.cf';
        $content = rf($configfile);
        $content = str_replace('flags=DRhu user=vmail argv=/usr/bin/maildrop -d ${recipient}', 
                   'flags=R user='.$cf['vmail_username'].' argv=/usr/bin/maildrop -d ${recipient} ${extension} ${recipient} ${user} ${nexthop} ${sender}',
                   'flags=R user='.$cf['vmail_username'].' argv=/usr/bin/maildrop -d '.$cf['vmail_username'].' ${extension} ${recipient} ${user} ${nexthop} ${sender}',
                     $content);
        wf($configfile, $content);
        
install/tpl/apache_ispconfig.vhost.master
@@ -41,4 +41,15 @@
</VirtualHost>
<Directory /var/www/php-cgi-scripts>
    AllowOverride None
    Order Deny,Allow
    Deny from all
</Directory>
<Directory /var/www/php-fcgi-scripts>
    AllowOverride None
    Order Deny,Allow
    Deny from all
</Directory>
install/tpl/mailfilter.master
@@ -46,7 +46,7 @@
}
# Create a mailsize file
`echo $SIZE >> {dist_postfix_vmail_mailbox_base}/$HOST/$USER/.ispconfig_mailsize`
`echo $SIZE >> {dist_postfix_vmail_mailbox_base}/$HOST/$USER/ispconfig_mailsize`
#
install/update.php
@@ -122,11 +122,11 @@
//** export the current database data
if( !empty($conf["mysql"]["admin_password"]) ) {
    system("mysqldump -h ".$conf['mysql']['host']." -u ".$conf['mysql']['admin_user']." -p".$conf['mysql']['admin_password']." -c -t --add-drop-table --all --quick ".$conf['mysql']['database']." > existing_db.sql");
    system("mysqldump -h '".$conf['mysql']['host']."' -u '".$conf['mysql']['admin_user']."' -p'".$conf['mysql']['admin_password']."' -c -t --add-drop-table --all --quick ".$conf['mysql']['database']." > existing_db.sql");
}
else {
    system("mysqldump -h ".$conf['mysql']['host']." -u ".$conf['mysql']['admin_user']." -c -t --add-drop-table --all --quick ".$conf['mysql']['database']." > existing_db.sql");
    system("mysqldump -h '".$conf['mysql']['host']."' -u '".$conf['mysql']['admin_user']."' -c -t --add-drop-table --all --quick ".$conf['mysql']['database']." > existing_db.sql");
}
@@ -165,10 +165,10 @@
//** load old data back into database
if( !empty($conf["mysql"]["admin_password"]) ) {
    system("mysql --default-character-set=".$conf['mysql']['charset']." -h ".$conf['mysql']['host']." -u ".$conf['mysql']['admin_user']." -p".$conf['mysql']['admin_password']." ".$conf['mysql']['database']." < existing_db.sql");
    system("mysql --default-character-set=".$conf['mysql']['charset']." -h '".$conf['mysql']['host']."' -u '".$conf['mysql']['admin_user']."' -p'".$conf['mysql']['admin_password']."' ".$conf['mysql']['database']." < existing_db.sql");
} else {
    system("mysql --default-character-set=".$conf['mysql']['charset']." -h ".$conf['mysql']['host']." -u ".$conf['mysql']['admin_user']." ".$conf['mysql']['database']." < existing_db.sql");
    system("mysql --default-character-set=".$conf['mysql']['charset']." -h '".$conf['mysql']['host']."' -u '".$conf['mysql']['admin_user']."' ".$conf['mysql']['database']." < existing_db.sql");
}
// create a backup copy of the ispconfig database in the root folder
interface/lib/app.inc.php
@@ -159,7 +159,7 @@
                if(!file_exists($lng_file)) $lng_file = ISPC_ROOT_PATH.'/web/'.$_SESSION['s']['module']['name'].'/lib/lang/en.lng';
                @include_once($lng_file);
            }
            $this->_wb = $wb;
            if(isset($wb)) $this->_wb = $wb;
            $this->_language_inc = 1;
        }        
        if(!empty($this->_wb[$text])) {
interface/lib/classes/tform.inc.php
@@ -381,7 +381,8 @@
                                                                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";
                                                                // $out .= "<label for=\"".$key."[]\" class=\"inlineLabel\"><input name=\"".$key."[]\" id=\"".$key."[]\" value=\"$k\" type=\"checkbox\" $checked /> $v</label>\r\n";
                                                                $out .= "<input name=\"".$key."[]\" id=\"".$key."[]\" value=\"$k\" type=\"checkbox\" $checked /> $v &nbsp;\r\n";
                                                        }
                                                }
                                                $new_record[$key] = $out;
@@ -472,7 +473,8 @@
                                                        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";
                                                        // $out .= "<label for=\"".$key."[]\" class=\"inlineLabel\"><input name=\"".$key."[]\" id=\"".$key."[]\" value=\"$k\" type=\"checkbox\" $checked /> $v</label>\r\n";
                                                        $out .= "<input name=\"".$key."[]\" id=\"".$key."[]\" value=\"$k\" type=\"checkbox\" $checked /> $v &nbsp;\r\n";
                                                }
                                        }
                                        $new_record[$key] = $out;
interface/web/client/lib/lang/en_client.lng
@@ -83,5 +83,5 @@
$wb["template_additional_txt"] = 'Addon template';
$wb["ssh_chroot_txt"] = 'SSH-Chroot Options';
$wb["web_php_options_txt"] = 'PHP Options';
$wb["limit_client_txt"] = 'The max. number of clients is reached.';
$wb["limit_client_error"] = 'The max. number of clients is reached.';
?>
interface/web/login/lib/lang/bg.lng
@@ -9,4 +9,6 @@
$wb['pw_error_noinput'] = 'Моля въведете потребителско име и електронна поща.';
$wb['pw_reset_mail_msg'] = 'Новата парола за вашия ISPConfig 3 контролен панел е:';
$wb['pw_reset_mail_title'] = 'Нова парола за вашия ISPConfig 3 контролен панел';
$wb['user_regex_error'] = 'Username contains unallowed characters or is longer then 64 characters.';
$wb['pw_error_length'] = 'The password length is > 64 characters.';
?>
interface/web/login/lib/lang/de.lng
@@ -9,4 +9,6 @@
$wb['pw_error_noinput'] = 'Bitte geben sie ihr Emailadresse und Benutzernamen ein.';
$wb['pw_reset_mail_msg'] = 'The password to your ISPConfig 3 control panel account has been reset. The new password is: ';
$wb['pw_reset_mail_title'] = 'ISPConfig 3 Controlpanel Passwort wurde zurückgesetzt.';
$wb['user_regex_error'] = 'Username contains unallowed characters or is longer then 64 characters.';
$wb['pw_error_length'] = 'The password length is > 64 characters.';
?>
interface/web/login/lib/lang/es.lng
interface/web/login/lib/lang/fi.lng
@@ -9,4 +9,6 @@
$wb['pw_error_noinput'] = 'Anna sähköpostiosoite ja käyttäjätunnus.';
$wb['pw_reset_mail_msg'] = 'Käyttäjätunnuksesi salasana ISPConfi3 Hallintapaneeliin on vaihdettu. Uusi salasanasi: ';
$wb['pw_reset_mail_title'] = 'ISPConfi3 Hallintapaneelin salasana on vaihdettu.';
$wb['user_regex_error'] = 'Username contains unallowed characters or is longer then 64 characters.';
$wb['pw_error_length'] = 'The password length is > 64 characters.';
?>
interface/web/login/lib/lang/fr.lng
interface/web/login/lib/lang/it.lng
interface/web/login/lib/lang/nl.lng
interface/web/login/lib/lang/ru.lng
@@ -9,4 +9,6 @@
$wb['pw_error_noinput'] = 'Please enter email address and username.';
$wb['pw_reset_mail_msg'] = 'The password to your ISPConfig 3 control panel account has been reset. The new password is: ';
$wb['pw_reset_mail_title'] = 'ISPConfig 3 Control panel password has been reset.';
$wb['user_regex_error'] = 'Username contains unallowed characters or is longer then 64 characters.';
$wb['pw_error_length'] = 'The password length is > 64 characters.';
?>
interface/web/login/lib/lang/se.lng
interface/web/mail/mail_domain_edit.php
@@ -75,7 +75,7 @@
    function onShowEnd() {
        global $app, $conf;
        
        if($_SESSION["s"]["user"]["typ"] == 'admin' || $app->auth->has_clients($_SESSION['s']['user']['userid'])) {
        if($_SESSION["s"]["user"]["typ"] == 'admin') {
            // Getting Clients of the user
            if($_SESSION["s"]["user"]["typ"] == 'admin') {
                $sql = "SELECT groupid, name FROM sys_group WHERE client_id > 0";
@@ -93,7 +93,34 @@
                }
            }
        $app->tpl->setVar("client_group_id",$client_select);
        } elseif ($_SESSION["s"]["user"]["typ"] != 'admin' && $app->auth->has_clients($_SESSION['s']['user']['userid'])) {
            // Get the limits of the client
            $client_group_id = $_SESSION["s"]["user"]["default_group"];
            $client = $app->db->queryOneRecord("SELECT client.client_id, limit_web_domain, default_webserver FROM sys_group, client WHERE sys_group.client_id = client.client_id and sys_group.groupid = $client_group_id");
            // Set the webserver to the default server of the client
            $tmp = $app->db->queryOneRecord("SELECT server_name FROM server WHERE server_id = $client[default_webserver]");
            $app->tpl->setVar("server_id","<option value='$client[default_webserver]'>$tmp[server_name]</option>");
            unset($tmp);
            // Fill the client select field
            $sql = "SELECT groupid, name FROM sys_group, client WHERE sys_group.client_id = client.client_id AND client.parent_client_id = ".$client['client_id'];
            $clients = $app->db->queryAllRecords($sql);
            $client_select = '';
            if(is_array($clients)) {
                foreach( $clients as $client) {
                    $selected = @($client["groupid"] == $this->dataRecord["sys_groupid"])?'SELECTED':'';
                    $client_select .= "<option value='$client[groupid]' $selected>$client[name]</option>\r\n";
        }
            }
            $app->tpl->setVar("client_group_id",$client_select);
        }
        
        // Get the spamfilter policys for the user
        $tmp_user = $app->db->queryOneRecord("SELECT policy_id FROM spamfilter_users WHERE email = '@".$this->dataRecord["domain"]."'");
interface/web/sites/database_edit.php
@@ -91,15 +91,15 @@
            // Get the limits of the client
            $client_group_id = $_SESSION["s"]["user"]["default_group"];
            $client = $app->db->queryOneRecord("SELECT client_id, default_dbserver FROM sys_group, client WHERE sys_group.client_id = client.client_id and sys_group.groupid = $client_group_id");
            $client = $app->db->queryOneRecord("SELECT client.client_id, limit_web_domain, default_webserver FROM sys_group, client WHERE sys_group.client_id = client.client_id and sys_group.groupid = $client_group_id");
            // Set the webserver to the default server of the client
            $tmp = $app->db->queryOneRecord("SELECT server_name FROM server WHERE server_id = $client[default_dbserver]");
            $app->tpl->setVar("server_id","<option value='$client[default_dbserver]'>$tmp[server_name]</option>");
            $tmp = $app->db->queryOneRecord("SELECT server_name FROM server WHERE server_id = $client[default_webserver]");
            $app->tpl->setVar("server_id","<option value='$client[default_webserver]'>$tmp[server_name]</option>");
            unset($tmp);
            // Fill the client select field
            $sql = "SELECT groupid, name FROM sys_group, client WHERE sys_group.client_id = client.parent_client_id AND client.parent_client_id = ".$client['client_id'];
            $sql = "SELECT groupid, name FROM sys_group, client WHERE sys_group.client_id = client.client_id AND client.parent_client_id = ".$client['client_id'];
            $clients = $app->db->queryAllRecords($sql);
            $client_select = '';
            if(is_array($clients)) {
interface/web/sites/ftp_user_edit.php
@@ -82,7 +82,8 @@
        
        $app->uses('getconf');
        $global_config = $app->getconf->get_global_config('sites');
        $ftpuser_prefix = ($global_config['ftpuser_prefix'] == '')?'':str_replace('[CLIENTNAME]', $this->getClientName(), $global_config['ftpuser_prefix']);
        // $ftpuser_prefix = ($global_config['ftpuser_prefix'] == '')?'':str_replace('[CLIENTNAME]', $this->getClientName(), $global_config['ftpuser_prefix']);
        $ftpuser_prefix = replacePrefix($global_config['ftpuser_prefix'], $this->dataRecord);
        
        if ($this->dataRecord['username'] != ""){
            /* REMOVE the restriction */
@@ -115,7 +116,8 @@
        
        $app->uses('getconf');
        $global_config = $app->getconf->get_global_config('sites');
        $ftpuser_prefix = ($global_config['ftpuser_prefix'] == '')?'':str_replace('[CLIENTNAME]', $this->getClientName(), $global_config['ftpuser_prefix']);
        //$ftpuser_prefix = ($global_config['ftpuser_prefix'] == '')?'':str_replace('[CLIENTNAME]', $this->getClientName(), $global_config['ftpuser_prefix']);
        $ftpuser_prefix = replacePrefix($global_config['ftpuser_prefix'], $this->dataRecord);
        
        if ($app->tform->errorMessage == '') {
            $this->dataRecord['username'] = $ftpuser_prefix . $this->dataRecord['username'];
@@ -151,7 +153,8 @@
        
        $app->uses('getconf');
        $global_config = $app->getconf->get_global_config('sites');
        $ftpuser_prefix = ($global_config['ftpuser_prefix'] == '')?'':str_replace('[CLIENTNAME]', $this->getClientName(), $global_config['ftpuser_prefix']);
        //$ftpuser_prefix = ($global_config['ftpuser_prefix'] == '')?'':str_replace('[CLIENTNAME]', $this->getClientName(), $global_config['ftpuser_prefix']);
        $ftpuser_prefix = replacePrefix($global_config['ftpuser_prefix'], $this->dataRecord);
        
        /* restrict the names */
        if ($app->tform->errorMessage == '') {
interface/web/sites/lib/lang/bg_web_subdomain.lng
@@ -35,4 +35,5 @@
$wb['domain_error_empty'] = 'Не е посочен домейн.';
$wb['domain_error_unique'] = 'Вече съществува такъв домейн.';
$wb['domain_error_regex'] = 'Невалидно име на домейн.';
$wb['host_txt'] = 'Host';
?>
interface/web/sites/lib/lang/de_web_subdomain.lng
@@ -35,4 +35,5 @@
$wb['domain_error_empty'] = 'Domain ist leer.';
$wb['domain_error_unique'] = 'Domain muss eindeutig sein.';
$wb['domain_error_regex'] = 'Domainname ist ungültig.';
$wb['host_txt'] = 'Host';
?>
interface/web/sites/lib/lang/es_web_subdomain.lng
@@ -35,4 +35,5 @@
$wb['domain_error_empty'] = 'Domain is empty.';
$wb['domain_error_unique'] = 'Domain must be unique.';
$wb['domain_error_regex'] = 'Domain name invalid.';
$wb['host_txt'] = 'Host';
?>
interface/web/sites/lib/lang/fi_web_subdomain.lng
@@ -35,4 +35,5 @@
$wb['domain_error_empty'] = 'Verkkotunnus-kenttä on tyhjä.';
$wb['domain_error_unique'] = 'Tämä verkkotunnus on jo olemassa.';
$wb['domain_error_regex'] = 'Verkkotunnus on vääränlainen.';
$wb['host_txt'] = 'Host';
?>
interface/web/sites/lib/lang/fr_web_subdomain.lng
@@ -35,4 +35,5 @@
$wb['domain_error_empty'] = 'Domain is empty.';
$wb['domain_error_unique'] = 'Domain must be unique.';
$wb['domain_error_regex'] = 'Domain name invalid.';
$wb['host_txt'] = 'Host';
?>
interface/web/sites/lib/lang/it_web_subdomain.lng
@@ -35,4 +35,5 @@
$wb['domain_error_empty'] = 'Domain is empty.';
$wb['domain_error_unique'] = 'Domain must be unique.';
$wb['domain_error_regex'] = 'Domain name invalid.';
$wb['host_txt'] = 'Host';
?>
interface/web/sites/lib/lang/nl_web_subdomain.lng
@@ -35,4 +35,5 @@
$wb['domain_error_empty'] = 'Domein is leeg.';
$wb['domain_error_unique'] = 'Domein moet uniek zijn.';
$wb['domain_error_regex'] = 'Domeinnaam ongeldig.';
$wb['host_txt'] = 'Host';
?>
interface/web/sites/lib/lang/ru_web_subdomain.lng
@@ -35,4 +35,5 @@
$wb['domain_error_empty'] = 'Домен пустой.';
$wb['domain_error_unique'] = 'Домен должен быть уникальным.';
$wb['domain_error_regex'] = 'Имя домена неправильно.';
$wb['host_txt'] = 'Host';
?>
interface/web/sites/lib/lang/se_web_subdomain.lng
@@ -35,4 +35,5 @@
$wb['domain_error_empty'] = 'Domain is empty.';
$wb['domain_error_unique'] = 'Domain must be unique.';
$wb['domain_error_regex'] = 'Domain name invalid.';
$wb['host_txt'] = 'Host';
?>
interface/web/sites/shell_user_edit.php
@@ -82,7 +82,8 @@
        
        $app->uses('getconf');
        $global_config = $app->getconf->get_global_config('sites');
        $shelluser_prefix = ($global_config['shelluser_prefix'] == '')?'':str_replace('[CLIENTNAME]', $this->getClientName(), $global_config['shelluser_prefix']);
        //$shelluser_prefix = ($global_config['shelluser_prefix'] == '')?'':str_replace('[CLIENTNAME]', $this->getClientName(), $global_config['shelluser_prefix']);
        $shelluser_prefix = replacePrefix($global_config['shelluser_prefix'], $this->dataRecord);
        
        if ($this->dataRecord['username'] != ""){
            /* REMOVE the restriction */
@@ -136,7 +137,8 @@
            
            $app->uses('getconf');
            $global_config = $app->getconf->get_global_config('sites');
            $shelluser_prefix = ($global_config['shelluser_prefix'] == '')?'':str_replace('[CLIENTNAME]', $this->getClientName(), $global_config['shelluser_prefix']);
            // $shelluser_prefix = ($global_config['shelluser_prefix'] == '')?'':str_replace('[CLIENTNAME]', $this->getClientName(), $global_config['shelluser_prefix']);
            $shelluser_prefix = replacePrefix($global_config['shelluser_prefix'], $this->dataRecord);
            /* restrict the names */
            $this->dataRecord['username'] = $shelluser_prefix . $this->dataRecord['username'];
@@ -182,7 +184,8 @@
            */
            $app->uses('getconf');
            $global_config = $app->getconf->get_global_config('sites');
            $shelluser_prefix = ($global_config['shelluser_prefix'] == '')?'':str_replace('[CLIENTNAME]', $this->getClientName(), $global_config['shelluser_prefix']);
            // $shelluser_prefix = ($global_config['shelluser_prefix'] == '')?'':str_replace('[CLIENTNAME]', $this->getClientName(), $global_config['shelluser_prefix']);
            $shelluser_prefix = replacePrefix($global_config['shelluser_prefix'], $this->dataRecord);
            
            /* restrict the names */
            $this->dataRecord['username'] = $shelluser_prefix . $this->dataRecord['username'];
interface/web/sites/templates/web_domain_advanced.htm
@@ -8,11 +8,13 @@
        <input name="document_root" id="document_root" value="{tmpl_var name='document_root'}" size="30" maxlength="255" type="hidden" class="textInput" />
      <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 formLengthHalf" />
        <label for="system_user">{tmpl_var name='system_user'}</label>
        <input name="system_user" id="system_user" value="{tmpl_var name='system_user'}" type="hidden" />
            </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 formLengthHalf" />
        <label for="system_group">{tmpl_var name='system_group'}</label>
        <input name="system_group" id="system_group" value="{tmpl_var name='system_group'}" type="hidden" />
            </div>
      <div class="ctrlHolder">
          <label for="apache_directives">{tmpl_var name='apache_directives_txt'}</label>
server/conf/index/standard_index.html_en
@@ -50,7 +50,7 @@
        <div id="content">
            <h2>This is the default index page of your website.</h2>
            <p>This file may be deleted or overwritten without any difficulty. This is produced by the file <b>index.html</b> in the <b>web</b> directory.</p>
            <p>For questions or problems please contact the <!--SUPPORT//-->support<!--SUPPORT//-->.</p>
            <p>For questions or problems please contact <!--SUPPORT//-->support<!--SUPPORT//-->.</p>
        </div>
        <div id="footer">
            <p>Powered by <a href="http://www.ispconfig.org">ISPConfig</a></p>
server/cron_daily.php
@@ -48,13 +48,13 @@
$sql = "SELECT mailuser_id,maildir FROM mail_user WHERE server_id = ".$conf["server_id"];
$records = $app->db->queryAllRecords($sql);
foreach($records as $rec) {
    if(@is_file($rec["maildir"].'/.ispconfig_mailsize')) {
    if(@is_file($rec["maildir"].'/ispconfig_mailsize')) {
        
        // rename file
        rename($rec["maildir"].'/.ispconfig_mailsize',$rec["maildir"].'/.ispconfig_mailsize_save');
        rename($rec["maildir"].'/ispconfig_mailsize',$rec["maildir"].'/ispconfig_mailsize_save');
        
        // Read the file
        $lines = file($rec["maildir"].'/.ispconfig_mailsize_save');
        $lines = file($rec["maildir"].'/ispconfig_mailsize_save');
        $mail_traffic = 0;
        foreach($lines as $line) {
            $mail_traffic += intval($line);
@@ -62,7 +62,7 @@
        unset($lines);
        
        // Delete backup file
        if(@is_file($rec["maildir"].'/.ispconfig_mailsize_save')) unlink($rec["maildir"].'/.ispconfig_mailsize_save');
        if(@is_file($rec["maildir"].'/ispconfig_mailsize_save')) unlink($rec["maildir"].'/ispconfig_mailsize_save');
        
        // Save the traffic stats in the sql database
        $tstamp = date("Y-m");
server/plugins-available/shelluser_base_plugin.inc.php
@@ -148,11 +148,14 @@
            // Get the UID of the user
            $userid = intval($app->system->getuid($data['old']['username']));
            if($userid > $this->min_uid) {
                $command = 'userdel -f -r';
                // We delete only non jailkit users, jailkit users will be deleted by the jailkit plugin.
                if ($data['old']['chroot'] != "jailkit") {
                    $command = 'userdel -f';
                $command .= ' '.escapeshellcmd($data['old']['username']);
            
                exec($command);
                $app->log("Deleted shelluser: ".$data['old']['username'],LOGLEVEL_DEBUG);
                }
            
            } else {
                $app->log("UID = $userid for shelluser:".$data['old']['username']." not allowed.",LOGLEVEL_ERROR);