tbrehm
2012-06-07 26c0fc98b880cf148ab348aefef85ac9b087597c
Merged revisions 3100-3175 from stable branch.
2 files added
50 files modified
1111 ■■■■■ changed files
install/dist/lib/opensuse.lib.php 4 ●●●● patch | view | raw | blame | history
install/install.php 4 ●●●● patch | view | raw | blame | history
install/lib/installer_base.lib.php 19 ●●●● patch | view | raw | blame | history
install/sql/ispconfig3.sql 2 ●●● patch | view | raw | blame | history
install/tpl/apache_ispconfig.conf.master 2 ●●● patch | view | raw | blame | history
install/tpl/config.inc.php.master 2 ●●● patch | view | raw | blame | history
install/tpl/sasl_smtpd2.conf.master 10 ●●●●● patch | view | raw | blame | history
install/tpl/server.ini.master 2 ●●● patch | view | raw | blame | history
install/update.php 2 ●●● patch | view | raw | blame | history
interface/lib/classes/functions.inc.php 2 ●●● patch | view | raw | blame | history
interface/lib/classes/listform.inc.php 6 ●●●● patch | view | raw | blame | history
interface/lib/classes/remoting.inc.php 1 ●●●● patch | view | raw | blame | history
interface/lib/classes/remoting_lib.inc.php 16 ●●●●● patch | view | raw | blame | history
interface/lib/classes/tform.inc.php 4 ●●●● patch | view | raw | blame | history
interface/web/admin/form/system_config.tform.php 2 ●●● patch | view | raw | blame | history
interface/web/sites/lib/lang/ar_ftp_user.lng 56 ●●●● patch | view | raw | blame | history
interface/web/sites/lib/lang/ar_shell_user.lng 46 ●●●● patch | view | raw | blame | history
interface/web/sites/lib/lang/ar_webdav_user.lng 30 ●●●● patch | view | raw | blame | history
interface/web/sites/lib/lang/bg_webdav_user.lng 30 ●●●● patch | view | raw | blame | history
interface/web/sites/lib/lang/br_webdav_user.lng 30 ●●●● patch | view | raw | blame | history
interface/web/sites/lib/lang/cz_webdav_user.lng 30 ●●●● patch | view | raw | blame | history
interface/web/sites/lib/lang/en_shell_user.lng 47 ●●●● patch | view | raw | blame | history
interface/web/sites/lib/lang/en_webdav_user.lng 31 ●●●● patch | view | raw | blame | history
interface/web/sites/lib/lang/es_webdav_user.lng 30 ●●●● patch | view | raw | blame | history
interface/web/sites/lib/lang/fi_webdav_user.lng 30 ●●●● patch | view | raw | blame | history
interface/web/sites/lib/lang/hu_webdav_user.lng 30 ●●●● patch | view | raw | blame | history
interface/web/sites/lib/lang/it_ftp_user.lng 56 ●●●● patch | view | raw | blame | history
interface/web/sites/lib/lang/it_shell_user.lng 46 ●●●● patch | view | raw | blame | history
interface/web/sites/lib/lang/it_webdav_user.lng 30 ●●●● patch | view | raw | blame | history
interface/web/sites/lib/lang/ja_webdav_user.lng 30 ●●●● patch | view | raw | blame | history
interface/web/sites/lib/lang/pt_webdav_user.lng 30 ●●●● patch | view | raw | blame | history
interface/web/sites/lib/lang/ro_webdav_user.lng 30 ●●●● patch | view | raw | blame | history
interface/web/sites/lib/lang/ru_webdav_user.lng 30 ●●●● patch | view | raw | blame | history
interface/web/sites/lib/lang/se_ftp_user.lng 56 ●●●● patch | view | raw | blame | history
interface/web/sites/lib/lang/se_shell_user.lng 46 ●●●● patch | view | raw | blame | history
interface/web/sites/lib/lang/se_webdav_user.lng 30 ●●●● patch | view | raw | blame | history
interface/web/sites/lib/lang/sk_webdav_user.lng 30 ●●●● patch | view | raw | blame | history
interface/web/sites/lib/lang/tr_webdav_user.lng 30 ●●●● patch | view | raw | blame | history
interface/web/sites/tools.inc.php 6 ●●●● patch | view | raw | blame | history
interface/web/tools/resync.php 17 ●●●● patch | view | raw | blame | history
interface/web/vm/ajax_get_ip.php 55 ●●●●● patch | view | raw | blame | history
interface/web/vm/form/openvz_vm.tform.php 5 ●●●●● patch | view | raw | blame | history
interface/web/vm/openvz_vm_edit.php 21 ●●●●● patch | view | raw | blame | history
interface/web/vm/templates/openvz_vm_edit.htm 2 ●●● patch | view | raw | blame | history
server/conf/apache_ispconfig.conf.master 2 ●●● patch | view | raw | blame | history
server/conf/sieve_filter.master 1 ●●●● patch | view | raw | blame | history
server/conf/vhost.conf.master 1 ●●●● patch | view | raw | blame | history
server/cron_daily.php 38 ●●●●● patch | view | raw | blame | history
server/plugins-available/apache2_plugin.inc.php 25 ●●●● patch | view | raw | blame | history
server/plugins-available/mail_plugin.inc.php 10 ●●●● patch | view | raw | blame | history
server/plugins-available/mailman_plugin.inc.php 12 ●●●● patch | view | raw | blame | history
server/plugins-available/shelluser_jailkit_plugin.inc.php 4 ●●●● patch | view | raw | blame | history
install/dist/lib/opensuse.lib.php
@@ -542,6 +542,10 @@
        replaceLine('/etc/suphp.conf','umask=0077','umask=0022',0);
        //}
        
        if(!file_exists('/srv/www/cgi-bin/php5') && file_exists('/srv/www/cgi-bin/php')) {
            symlink('/srv/www/cgi-bin/php','/srv/www/cgi-bin/php5');
        }
        // Sites enabled and available dirs
        exec('mkdir -p '.$conf['apache']['vhost_conf_enabled_dir']);
        exec('mkdir -p '.$conf['apache']['vhost_conf_dir']);
install/install.php
@@ -315,7 +315,7 @@
    if($conf['courier']['courier-pop'] != '' && is_executable($conf['init_scripts'].'/'.$conf['courier']['courier-pop']))                 system($conf['init_scripts'].'/'.$conf['courier']['courier-pop'].' restart');
    if($conf['courier']['courier-pop-ssl'] != '' && is_executable($conf['init_scripts'].'/'.$conf['courier']['courier-pop-ssl']))         system($conf['init_scripts'].'/'.$conf['courier']['courier-pop-ssl'].' restart');
    if($conf['dovecot']['init_script'] != '' && is_executable($conf['init_scripts'].'/'.$conf['dovecot']['init_script']))         system($conf['init_scripts'].'/'.$conf['dovecot']['init_script'].' restart');
    if($conf['mailman']['init_script'] != '' && is_executable($conf['init_scripts'].'/'.$conf['mailman']['init_script']))         system($conf['init_scripts'].'/'.$conf['mailman']['init_script'].' restart');
    if($conf['mailman']['init_script'] != '' && is_executable($conf['init_scripts'].'/'.$conf['mailman']['init_script']))         system('nohup '.$conf['init_scripts'].'/'.$conf['mailman']['init_script'].' restart >/dev/null 2>&1 &');
    if($conf['apache']['installed'] == true && $conf['apache']['init_script'] != '' && is_executable($conf['init_scripts'].'/'.$conf['apache']['init_script']))                 system($conf['init_scripts'].'/'.$conf['apache']['init_script'].' restart');
    //* Reload is enough for nginx
    if($conf['nginx']['installed'] == true){
@@ -453,7 +453,7 @@
        if($conf['courier']['courier-pop'] != '' && is_executable($conf['init_scripts'].'/'.$conf['courier']['courier-pop']))                 system($conf['init_scripts'].'/'.$conf['courier']['courier-pop'].' restart');
        if($conf['courier']['courier-pop-ssl'] != '' && is_executable($conf['init_scripts'].'/'.$conf['courier']['courier-pop-ssl']))         system($conf['init_scripts'].'/'.$conf['courier']['courier-pop-ssl'].' restart');
        if($conf['dovecot']['init_script'] != '' && is_executable($conf['init_scripts'].'/'.$conf['dovecot']['init_script']))         system($conf['init_scripts'].'/'.$conf['dovecot']['init_script'].' restart');
        if($conf['mailman']['init_script'] != '' && is_executable($conf['init_scripts'].'/'.$conf['mailman']['init_script']))         system($conf['init_scripts'].'/'.$conf['mailman']['init_script'].' restart');
        if($conf['mailman']['init_script'] != '' && is_executable($conf['init_scripts'].'/'.$conf['mailman']['init_script']))         system('nohup '.$conf['init_scripts'].'/'.$conf['mailman']['init_script'].' restart >/dev/null 2>&1 &');
    }
    
    //** Configure Jailkit
install/lib/installer_base.lib.php
@@ -775,9 +775,22 @@
    public function configure_saslauthd() {
        global $conf;
        //* Get saslsauthd version
        exec('saslauthd -v 2>&1',$out);
        $parts = explode(' ',$out[0]);
        $saslversion = $parts[1];
        unset($parts);
        unset($out);
        $configfile = 'sasl_smtpd.conf';
        if(version_compare($saslversion , '2.1.23') > 0) {
            //* Configfile for saslauthd versions 2.1.24 and newer
            $configfile = 'sasl_smtpd2.conf';
        } else {
            //* Configfile for saslauthd versions up to 2.1.23
            $configfile = 'sasl_smtpd.conf';
        }
        if(is_file($conf['postfix']['config_dir'].'/sasl/smtpd.conf')) copy($conf['postfix']['config_dir'].'/sasl/smtpd.conf',$conf['postfix']['config_dir'].'/sasl/smtpd.conf~');
        if(is_file($conf['postfix']['config_dir'].'/sasl/smtpd.conf~')) chmod($conf['postfix']['config_dir'].'/sasl/smtpd.conf~', 0400);
        $content = rf('tpl/'.$configfile.'.master');
@@ -1417,7 +1430,7 @@
            $content = str_replace('{mysql_server_ispconfig_user}',$conf['mysql']['ispconfig_user'],$content);
            $content = str_replace('{mysql_server_ispconfig_password}',$conf['mysql']['ispconfig_password'], $content);
            $content = str_replace('{mysql_server_database}',$conf['mysql']['database'],$content);
            $content = str_replace('{mysql_server_ip}',$conf['mysql']['host'],$content);
            $content = str_replace('{mysql_server_ip}',$conf['mysql']['ip'],$content);
        }
        wf($conf['vlogger']['config_dir'].'/'.$configfile,$content);
        chmod($conf['vlogger']['config_dir'].'/'.$configfile, 0600);
install/sql/ispconfig3.sql
@@ -2065,6 +2065,6 @@
-- Dumping data for table `sys_config`
--
INSERT INTO sys_config VALUES ('1','db','db_version','3.0.4.4');
INSERT INTO sys_config VALUES ('1','db','db_version','3.0.4.5');
SET FOREIGN_KEY_CHECKS = 1;
install/tpl/apache_ispconfig.conf.master
@@ -5,7 +5,7 @@
################################################
LogFormat "%v %h %l %u %t \"%r\" %>s %B \"%{Referer}i\" \"%{User-Agent}i\"" combined_ispconfig
CustomLog "| /usr/local/ispconfig/server/scripts/vlogger -s access.log -t \"%Y%m%d-access.log\" -d \"/etc/vlogger-dbi.conf\" /var/log/ispconfig/httpd" combined_ispconfig
CustomLog "| /usr/local/ispconfig/server/scripts/vlogger -s access.log -t \"%Y%m%d-access.log\" /var/log/ispconfig/httpd" combined_ispconfig
<Directory /var/www/clients>
    AllowOverride None
install/tpl/config.inc.php.master
@@ -56,7 +56,7 @@
//** Application
define('ISPC_APP_TITLE', 'ISPConfig');
define('ISPC_APP_VERSION', '3.0.4.4');
define('ISPC_APP_VERSION', '3.0.4.5');
define('DEVSYSTEM', 0);
install/tpl/sasl_smtpd2.conf.master
New file
@@ -0,0 +1,10 @@
pwcheck_method: saslauthd
mech_list: plain login
allow_plaintext: true
auxprop_plugin: sql
sql_engine: mysql
sql_hostnames: {mysql_server_ip}
sql_user: {mysql_server_ispconfig_user}
sql_passwd: {mysql_server_ispconfig_password}
sql_database: {mysql_server_database}
sql_select: select password from mail_user where login = '%u@%r' and postfix = 'y'
install/tpl/server.ini.master
@@ -54,7 +54,7 @@
apps_vhost_port=8081
apps_vhost_ip=_default_
apps_vhost_servername=
php_open_basedir=[website_path]/web:[website_path]/tmp:/var/www/[website_domain]/web:/srv/www/[website_domain]/web:/usr/share/php5:/tmp:/usr/share/phpmyadmin:/etc/phpmyadmin:/var/lib/phpmyadmin
php_open_basedir=[website_path]/web:[website_path]/tmp:/var/www/[website_domain]/web:/srv/www/[website_domain]/web:/usr/share/php5:/tmp:/usr/share/phpmyadmin:/etc/phpmyadmin:/var/lib/phpmyadmin:/usr/share/php
htaccess_allow_override=All
awstats_conf_dir=/etc/awstats
awstats_data_dir=/var/lib/awstats
install/update.php
@@ -402,7 +402,7 @@
        if($conf['courier']['courier-pop'] != '' && is_executable($conf['init_scripts'].'/'.$conf['courier']['courier-pop']))                 system($conf['init_scripts'].'/'.$conf['courier']['courier-pop'].' restart');
        if($conf['courier']['courier-pop-ssl'] != '' && is_executable($conf['init_scripts'].'/'.$conf['courier']['courier-pop-ssl']))         system($conf['init_scripts'].'/'.$conf['courier']['courier-pop-ssl'].' restart');
        if($conf['dovecot']['init_script'] != '' && is_executable($conf['init_scripts'].'/'.$conf['dovecot']['init_script']))         system($conf['init_scripts'].'/'.$conf['dovecot']['init_script'].' restart');
        if($conf['mailman']['init_script'] != '' && is_executable($conf['init_scripts'].'/'.$conf['mailman']['init_script']))         system($conf['init_scripts'].'/'.$conf['mailman']['init_script'].' restart');
        if($conf['mailman']['init_script'] != '' && is_executable($conf['init_scripts'].'/'.$conf['mailman']['init_script']))         system('nohup '.$conf['init_scripts'].'/'.$conf['mailman']['init_script'].' restart >/dev/null 2>&1 &');
    }
    if($conf['services']['web']) {
        if($conf['webserver']['server_type'] == 'apache' && $conf['apache']['init_script'] != '' && is_executable($conf['init_scripts'].'/'.$conf['apache']['init_script']))                 system($conf['init_scripts'].'/'.$conf['apache']['init_script'].' restart');
interface/lib/classes/functions.inc.php
@@ -101,7 +101,7 @@
    }
    
    public function get_ispconfig_url() {
        $url = (stristr($_SERVER['SERVER_PROTOCOL'],'HTTPS'))?'https':'http';
        $url = (stristr($_SERVER['SERVER_PROTOCOL'],'HTTPS') || stristr($_SERVER['HTTPS'],'on'))?'https':'http';
        $url .= '://'.$_SERVER['SERVER_NAME'];
        if($_SERVER['SERVER_PORT'] != 80 && $_SERVER['SERVER_PORT'] != 443) {
            $url .= ':'.$_SERVER['SERVER_PORT'];
interface/lib/classes/listform.inc.php
@@ -195,13 +195,13 @@
        
        //* Add Global Limit from selectbox
        if(!empty($_POST['search_limit']) AND intval($_POST['search_limit'])){
      $_SESSION['search']['limit'] = $_POST['search_limit'];
    }
            $_SESSION['search']['limit'] = intval($_POST['search_limit']);
        }
        //* Get Config variables
        $list_name          = $this->listDef['name'];
        $search_prefix      = $this->listDef['search_prefix'];
        $records_per_page   = (empty($_SESSION['search']['limit']) ? $this->listDef['records_per_page'] : $_SESSION['search']['limit']) ;
        $records_per_page   = (empty($_SESSION['search']['limit']) ? intval($this->listDef['records_per_page']) : intval($_SESSION['search']['limit'])) ;
        $table              = $this->listDef['table'];
        //* set PAGE to zero, if in session not set
interface/lib/classes/remoting.inc.php
@@ -2462,6 +2462,7 @@
        
        //* Get the SQL query
        $sql = $app->remoting_lib->getSQL($params,'UPDATE',$primary_id);
        // $this->server->fault('debug', $sql);
        if($app->remoting_lib->errorMessage != '') {
            $this->server->fault('data_processing_error', $app->remoting_lib->errorMessage);
            return false;
interface/lib/classes/remoting_lib.inc.php
@@ -630,17 +630,19 @@
                                                        $sql_insert_val .= "'".$record[$key]."', ";
                                                }
                                        } else {
                                                if($field['formtype'] == 'PASSWORD') {
                                                        if($field['encryption'] == 'CRYPT') {
                                                        if(isset($field['encryption']) && $field['encryption'] == 'CRYPT') {
                                                                $record[$key] = $app->auth->crypt_password(stripslashes($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])."', ";
                                                                $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]);
                                                                $record[$key] = md5(stripslashes($record[$key]));
                                                                $sql_update .= "`$key` = '".$app->db->quote($record[$key])."', ";
                                                        }
                                                        $sql_update .= "`$key` = '".$record[$key]."', ";
                                                } elseif ($field['formtype'] == 'CHECKBOX') {
                                                        if($record[$key] == '') {
                                                            // if a checkbox is not set, we set it to the unchecked value
interface/lib/classes/tform.inc.php
@@ -918,7 +918,7 @@
                $this->action = $action;
                $this->primary_id = $primary_id;
                $record = $this->encode($record,$tab);
                $record = $this->encode($record,$tab,true);
                $sql_insert_key = '';
                $sql_insert_val = '';
                $sql_update = '';
@@ -1041,7 +1041,7 @@
                    //* return a empty string if there is nothing to update
                    if(trim($sql_update) == '') $sql = '';
                }
                return $sql;
        }
interface/web/admin/form/system_config.tform.php
@@ -128,7 +128,7 @@
            'datatype'    => 'VARCHAR',
            'formtype'    => 'TEXT',
            'validators'    => array (     0 => array (    'type'    => 'REGEX',
                                                        'regex' => '/^[0-9a-zA-Z\:\/\-\.]{0,255}$/',
                                                        'regex' => '/^[0-9a-zA-Z\:\/\-\.\[\]]{0,255}$/',
                                                        'errmsg'=> 'phpmyadmin_url_error_regex'),
                                        ),
            'default'    => '',
interface/web/sites/lib/lang/ar_ftp_user.lng
@@ -1,30 +1,30 @@
<?php
$wb['uid_txt'] = 'UID';
$wb['gid_txt'] = 'GID';
$wb['dir_txt'] = 'Directory';
$wb['quota_files_txt'] = 'Filequota';
$wb['quota_files_unity_txt'] = 'Files';
$wb['ul_ratio_txt'] = 'Uploadratio';
$wb['dl_ratio_txt'] = 'Downloadratio';
$wb['ul_bandwidth_txt'] = 'Uploadbandwidth';
$wb['dl_bandwidth_txt'] = 'Downloadbandwidth';
$wb['server_id_txt'] = 'Server';
$wb['parent_domain_id_txt'] = 'Website';
$wb['username_txt'] = 'Username';
$wb['password_txt'] = 'Password';
$wb['password_strength_txt'] = 'Password strength';
$wb['quota_size_txt'] = 'Harddisk-Quota';
$wb['active_txt'] = 'Active';
$wb['limit_ftp_user_txt'] = 'The max. number of FTP users for your account is reached.';
$wb['username_error_empty'] = 'Username is empty.';
$wb['username_error_unique'] = 'The username must be unique.';
$wb['username_error_regex'] = 'The username contains charachters that are not allowed.';
$wb['quota_size_error_empty'] = 'Quota is empty.';
$wb['uid_error_empty'] = 'GID empty.';
$wb['directory_error_empty'] = 'Directory empty.';
$wb['directory_error_notinweb'] = 'Directory not inside of web root directory.';
$wb['parent_domain_id_error_empty'] = 'No website selected.';
$wb['quota_size_error_regex'] = 'Quota: enter a -1 for unlimited or a number > 0';
$wb['dir_dot_error'] = 'No .. in path allowed.';
$wb['dir_slashdot_error'] = 'No ./ in path allowed.';
$wb['uid_txt'] = "UID";
$wb['gid_txt'] = "GID";
$wb['dir_txt'] = "Directory";
$wb['quota_files_txt'] = "Filequota";
$wb['quota_files_unity_txt'] = "Files";
$wb['ul_ratio_txt'] = "Uploadratio";
$wb['dl_ratio_txt'] = "Downloadratio";
$wb['ul_bandwidth_txt'] = "Uploadbandwidth";
$wb['dl_bandwidth_txt'] = "Downloadbandwidth";
$wb['server_id_txt'] = "Server";
$wb['parent_domain_id_txt'] = "Website";
$wb['username_txt'] = "Username";
$wb['password_txt'] = "Password";
$wb['password_strength_txt'] = "Password strength";
$wb['quota_size_txt'] = "Harddisk-Quota";
$wb['active_txt'] = "Active";
$wb['limit_ftp_user_txt'] = "The max. number of FTP users for your account is reached.";
$wb['username_error_empty'] = "Username is empty.";
$wb['username_error_unique'] = "The username must be unique.";
$wb['username_error_regex'] = "The username contains characters that are not allowed.";
$wb['quota_size_error_empty'] = "Quota is empty.";
$wb['uid_error_empty'] = "GID empty.";
$wb['directory_error_empty'] = "Directory empty.";
$wb['directory_error_notinweb'] = "Directory not inside of web root directory.";
$wb['parent_domain_id_error_empty'] = "No website selected.";
$wb['quota_size_error_regex'] = "Quota: enter a -1 for unlimited or a number > 0";
$wb['dir_dot_error'] = "No .. in path allowed.";
$wb['dir_slashdot_error'] = "No ./ in path allowed.";
?>
interface/web/sites/lib/lang/ar_shell_user.lng
@@ -1,25 +1,25 @@
<?php
$wb['shell_txt'] = 'Shell';
$wb['dir_txt'] = 'Dir';
$wb['server_id_txt'] = 'Server';
$wb['parent_domain_id_txt'] = 'Site';
$wb['username_txt'] = 'Username';
$wb['password_txt'] = 'Password';
$wb['password_strength_txt'] = 'Password strength';
$wb['chroot_txt'] = 'Chroot Shell';
$wb['quota_size_txt'] = 'Quota';
$wb['active_txt'] = 'Active';
$wb['username_error_empty'] = 'Username is empty.';
$wb['username_error_unique'] = 'The username must be unique.';
$wb['username_error_regex'] = 'The username contains charachters that are not allowed.';
$wb['quota_size_error_empty'] = 'Quota is empty.';
$wb['uid_error_empty'] = 'GID empty.';
$wb['directory_error_empty'] = 'Directory empty.';
$wb['limit_shell_user_txt'] = 'The max number of shell users is reached.';
$wb['parent_domain_id_error_empty'] = 'No website selected.';
$wb['puser_txt'] = 'Web Username';
$wb['pgroup_txt'] = 'Web Group';
$wb['ssh_rsa_txt'] = 'SSH-RSA Public Key (for key-based logins)';
$wb['dir_dot_error'] = 'No .. in path allowed.';
$wb['dir_slashdot_error'] = 'No ./ in path allowed.';
$wb['shell_txt'] = "Shell";
$wb['dir_txt'] = "Dir";
$wb['server_id_txt'] = "Server";
$wb['parent_domain_id_txt'] = "Site";
$wb['username_txt'] = "Username";
$wb['password_txt'] = "Password";
$wb['password_strength_txt'] = "Password strength";
$wb['chroot_txt'] = "Chroot Shell";
$wb['quota_size_txt'] = "Quota";
$wb['active_txt'] = "Active";
$wb['username_error_empty'] = "Username is empty.";
$wb['username_error_unique'] = "The username must be unique.";
$wb['username_error_regex'] = "The username contains characters that are not allowed.";
$wb['quota_size_error_empty'] = "Quota is empty.";
$wb['uid_error_empty'] = "GID empty.";
$wb['directory_error_empty'] = "Directory empty.";
$wb['limit_shell_user_txt'] = "The max number of shell users is reached.";
$wb['parent_domain_id_error_empty'] = "No website selected.";
$wb['puser_txt'] = "Web Username";
$wb['pgroup_txt'] = "Web Group";
$wb['ssh_rsa_txt'] = "SSH-RSA Public Key (for key-based logins)";
$wb['dir_dot_error'] = "No .. in path allowed.";
$wb['dir_slashdot_error'] = "No ./ in path allowed.";
?>
interface/web/sites/lib/lang/ar_webdav_user.lng
@@ -1,17 +1,17 @@
<?php
$wb['dir_txt'] = 'Directory';
$wb['server_id_txt'] = 'Server';
$wb['parent_domain_id_txt'] = 'Website';
$wb['username_txt'] = 'Username';
$wb['password_txt'] = 'Password';
$wb['password_strength_txt'] = 'Password strength';
$wb['active_txt'] = 'Active';
$wb['limit_webdav_user_txt'] = 'The max. number of webdav users for your account is reached.';
$wb['username_error_empty'] = 'Username is empty.';
$wb['username_error_unique'] = 'The username must be unique.';
$wb['username_error_regex'] = 'The username contains charachters that are not allowed.';
$wb['directory_error_empty'] = 'Directory empty.';
$wb['parent_domain_id_error_empty'] = 'No website selected.';
$wb['dir_dot_error'] = 'No .. in path allowed.';
$wb['dir_slashdot_error'] = 'No ./ in path allowed.';
$wb['dir_txt'] = "Directory";
$wb['server_id_txt'] = "Server";
$wb['parent_domain_id_txt'] = "Website";
$wb['username_txt'] = "Username";
$wb['password_txt'] = "Password";
$wb['password_strength_txt'] = "Password strength";
$wb['active_txt'] = "Active";
$wb['limit_webdav_user_txt'] = "The max. number of webdav users for your account is reached.";
$wb['username_error_empty'] = "Username is empty.";
$wb['username_error_unique'] = "The username must be unique.";
$wb['username_error_regex'] = "The username contains characters that are not allowed.";
$wb['directory_error_empty'] = "Directory empty.";
$wb['parent_domain_id_error_empty'] = "No website selected.";
$wb['dir_dot_error'] = "No .. in path allowed.";
$wb['dir_slashdot_error'] = "No ./ in path allowed.";
?>
interface/web/sites/lib/lang/bg_webdav_user.lng
@@ -1,17 +1,17 @@
<?php
$wb['dir_txt'] = 'Directory';
$wb['server_id_txt'] = 'Server';
$wb['parent_domain_id_txt'] = 'Website';
$wb['username_txt'] = 'Username';
$wb['password_txt'] = 'Password';
$wb['password_strength_txt'] = 'Password strength';
$wb['active_txt'] = 'Active';
$wb['limit_webdav_user_txt'] = 'The max. number of webdav users for your account is reached.';
$wb['username_error_empty'] = 'Username is empty.';
$wb['username_error_unique'] = 'The username must be unique.';
$wb['username_error_regex'] = 'The username contains charachters that are not allowed.';
$wb['directory_error_empty'] = 'Directory empty.';
$wb['parent_domain_id_error_empty'] = 'No website selected.';
$wb['dir_dot_error'] = 'No .. in path allowed.';
$wb['dir_slashdot_error'] = 'No ./ in path allowed.';
$wb['dir_txt'] = "Directory";
$wb['server_id_txt'] = "Server";
$wb['parent_domain_id_txt'] = "Website";
$wb['username_txt'] = "Username";
$wb['password_txt'] = "Password";
$wb['password_strength_txt'] = "Password strength";
$wb['active_txt'] = "Active";
$wb['limit_webdav_user_txt'] = "The max. number of webdav users for your account is reached.";
$wb['username_error_empty'] = "Username is empty.";
$wb['username_error_unique'] = "The username must be unique.";
$wb['username_error_regex'] = "The username contains characters that are not allowed.";
$wb['directory_error_empty'] = "Directory empty.";
$wb['parent_domain_id_error_empty'] = "No website selected.";
$wb['dir_dot_error'] = "No .. in path allowed.";
$wb['dir_slashdot_error'] = "No ./ in path allowed.";
?>
interface/web/sites/lib/lang/br_webdav_user.lng
@@ -1,17 +1,17 @@
<?php
$wb['dir_txt'] = 'Directory';
$wb['server_id_txt'] = 'Server';
$wb['parent_domain_id_txt'] = 'Website';
$wb['username_txt'] = 'Username';
$wb['password_txt'] = 'Password';
$wb['password_strength_txt'] = 'Password strength';
$wb['active_txt'] = 'Active';
$wb['limit_webdav_user_txt'] = 'The max. number of webdav users for your account is reached.';
$wb['username_error_empty'] = 'Username is empty.';
$wb['username_error_unique'] = 'The username must be unique.';
$wb['username_error_regex'] = 'The username contains charachters that are not allowed.';
$wb['directory_error_empty'] = 'Directory empty.';
$wb['parent_domain_id_error_empty'] = 'No website selected.';
$wb['dir_dot_error'] = 'No .. in path allowed.';
$wb['dir_slashdot_error'] = 'No ./ in path allowed.';
$wb['dir_txt'] = "Directory";
$wb['server_id_txt'] = "Server";
$wb['parent_domain_id_txt'] = "Website";
$wb['username_txt'] = "Username";
$wb['password_txt'] = "Password";
$wb['password_strength_txt'] = "Password strength";
$wb['active_txt'] = "Active";
$wb['limit_webdav_user_txt'] = "The max. number of webdav users for your account is reached.";
$wb['username_error_empty'] = "Username is empty.";
$wb['username_error_unique'] = "The username must be unique.";
$wb['username_error_regex'] = "The username contains characters that are not allowed.";
$wb['directory_error_empty'] = "Directory empty.";
$wb['parent_domain_id_error_empty'] = "No website selected.";
$wb['dir_dot_error'] = "No .. in path allowed.";
$wb['dir_slashdot_error'] = "No ./ in path allowed.";
?>
interface/web/sites/lib/lang/cz_webdav_user.lng
@@ -1,17 +1,17 @@
<?php
$wb['dir_txt'] = 'Directory';
$wb['server_id_txt'] = 'Server';
$wb['parent_domain_id_txt'] = 'Website';
$wb['username_txt'] = 'Username';
$wb['password_txt'] = 'Password';
$wb['password_strength_txt'] = 'Password strength';
$wb['active_txt'] = 'Active';
$wb['limit_webdav_user_txt'] = 'The max. number of webdav users for your account is reached.';
$wb['username_error_empty'] = 'Username is empty.';
$wb['username_error_unique'] = 'The username must be unique.';
$wb['username_error_regex'] = 'The username contains charachters that are not allowed.';
$wb['directory_error_empty'] = 'Directory empty.';
$wb['parent_domain_id_error_empty'] = 'No website selected.';
$wb['dir_dot_error'] = 'No .. in path allowed.';
$wb['dir_slashdot_error'] = 'No ./ in path allowed.';
$wb['dir_txt'] = "Directory";
$wb['server_id_txt'] = "Server";
$wb['parent_domain_id_txt'] = "Website";
$wb['username_txt'] = "Username";
$wb['password_txt'] = "Password";
$wb['password_strength_txt'] = "Password strength";
$wb['active_txt'] = "Active";
$wb['limit_webdav_user_txt'] = "The max. number of webdav users for your account is reached.";
$wb['username_error_empty'] = "Username is empty.";
$wb['username_error_unique'] = "The username must be unique.";
$wb['username_error_regex'] = "The username contains characters that are not allowed.";
$wb['directory_error_empty'] = "Directory empty.";
$wb['parent_domain_id_error_empty'] = "No website selected.";
$wb['dir_dot_error'] = "No .. in path allowed.";
$wb['dir_slashdot_error'] = "No ./ in path allowed.";
?>
interface/web/sites/lib/lang/en_shell_user.lng
@@ -1,28 +1,27 @@
<?php
$wb["puser_txt"] = 'Web Username';
$wb["pgroup_txt"] = 'Web Group';
$wb["shell_txt"] = 'Shell';
$wb["dir_txt"] = 'Dir';
$wb["server_id_txt"] = 'Server';
$wb["parent_domain_id_txt"] = 'Site';
$wb["username_txt"] = 'Username';
$wb["password_txt"] = 'Password';
$wb["password_strength_txt"] = 'Password strength';
$wb["chroot_txt"] = 'Chroot Shell';
$wb["quota_size_txt"] = 'Quota';
$wb["active_txt"] = 'Active';
$wb["username_error_empty"] = 'Username is empty.';
$wb["username_error_unique"] = 'The username must be unique.';
$wb["username_error_regex"] = 'The username contains charachters that are not allowed.';
$wb["quota_size_error_empty"] = 'Quota is empty.';
$wb["uid_error_empty"] = 'UID empty.';
$wb["uid_error_empty"] = 'GID empty.';
$wb["directory_error_empty"] = 'Directory empty.';
$wb["limit_shell_user_txt"] = 'The max number of shell users is reached.';
$wb["parent_domain_id_error_empty"] = 'No website selected.';
$wb["ssh_rsa_txt"] = 'SSH-RSA Public Key (for key-based logins)';
$wb['dir_dot_error'] = 'No .. in path allowed.';
$wb['dir_slashdot_error'] = 'No ./ in path allowed.';
$wb['puser_txt'] = "Web Username";
$wb['pgroup_txt'] = "Web Group";
$wb['shell_txt'] = "Shell";
$wb['dir_txt'] = "Dir";
$wb['server_id_txt'] = "Server";
$wb['parent_domain_id_txt'] = "Site";
$wb['username_txt'] = "Username";
$wb['password_txt'] = "Password";
$wb['password_strength_txt'] = "Password strength";
$wb['chroot_txt'] = "Chroot Shell";
$wb['quota_size_txt'] = "Quota";
$wb['active_txt'] = "Active";
$wb['username_error_empty'] = "Username is empty.";
$wb['username_error_unique'] = "The username must be unique.";
$wb['username_error_regex'] = "The username contains characters that are not allowed.";
$wb['quota_size_error_empty'] = "Quota is empty.";
$wb['uid_error_empty'] = "GID empty.";
$wb['directory_error_empty'] = "Directory empty.";
$wb['limit_shell_user_txt'] = "The max number of shell users is reached.";
$wb['parent_domain_id_error_empty'] = "No website selected.";
$wb['ssh_rsa_txt'] = "SSH-RSA Public Key (for key-based logins)";
$wb['dir_dot_error'] = "No .. in path allowed.";
$wb['dir_slashdot_error'] = "No ./ in path allowed.";
$wb['generate_password_txt'] = 'Generate Password';
$wb['repeat_password_txt'] = 'Repeat Password';
$wb['password_mismatch_txt'] = 'The passwords do not match.';
interface/web/sites/lib/lang/en_webdav_user.lng
@@ -1,20 +1,19 @@
<?php
$wb["dir_txt"] = 'Directory';
$wb["server_id_txt"] = 'Server';
$wb["parent_domain_id_txt"] = 'Website';
$wb["username_txt"] = 'Username';
$wb["password_txt"] = 'Password';
$wb["password_strength_txt"] = 'Password strength';
$wb["active_txt"] = 'Active';
$wb["limit_webdav_user_txt"] = 'The max. number of webdav users for your account is reached.';
$wb["username_error_empty"] = 'Username is empty.';
$wb["username_error_unique"] = 'The username must be unique.';
$wb["username_error_regex"] = 'The username contains charachters that are not allowed.';
$wb["directory_error_empty"] = 'Directory empty.';
$wb["parent_domain_id_error_empty"] = 'No website selected.';
$wb['password_strength_txt'] = 'Password strength';
$wb['dir_dot_error'] = 'No .. in path allowed.';
$wb['dir_slashdot_error'] = 'No ./ in path allowed.';
$wb['dir_txt'] = "Directory";
$wb['server_id_txt'] = "Server";
$wb['parent_domain_id_txt'] = "Website";
$wb['username_txt'] = "Username";
$wb['password_txt'] = "Password";
$wb['password_strength_txt'] = "Password strength";
$wb['active_txt'] = "Active";
$wb['limit_webdav_user_txt'] = "The max. number of webdav users for your account is reached.";
$wb['username_error_empty'] = "Username is empty.";
$wb['username_error_unique'] = "The username must be unique.";
$wb['username_error_regex'] = "The username contains characters that are not allowed.";
$wb['directory_error_empty'] = "Directory empty.";
$wb['parent_domain_id_error_empty'] = "No website selected.";
$wb['dir_dot_error'] = "No .. in path allowed.";
$wb['dir_slashdot_error'] = "No ./ in path allowed.";
$wb['generate_password_txt'] = 'Generate Password';
$wb['repeat_password_txt'] = 'Repeat Password';
$wb['password_mismatch_txt'] = 'The passwords do not match.';
interface/web/sites/lib/lang/es_webdav_user.lng
@@ -1,17 +1,17 @@
<?php
$wb['dir_txt'] = 'Directory';
$wb['server_id_txt'] = 'Server';
$wb['parent_domain_id_txt'] = 'Website';
$wb['username_txt'] = 'Username';
$wb['password_txt'] = 'Password';
$wb['password_strength_txt'] = 'Password strength';
$wb['active_txt'] = 'Active';
$wb['limit_webdav_user_txt'] = 'The max. number of webdav users for your account is reached.';
$wb['username_error_empty'] = 'Username is empty.';
$wb['username_error_unique'] = 'The username must be unique.';
$wb['username_error_regex'] = 'The username contains charachters that are not allowed.';
$wb['directory_error_empty'] = 'Directory empty.';
$wb['parent_domain_id_error_empty'] = 'No website selected.';
$wb['dir_dot_error'] = 'No .. in path allowed.';
$wb['dir_slashdot_error'] = 'No ./ in path allowed.';
$wb['dir_txt'] = "Directory";
$wb['server_id_txt'] = "Server";
$wb['parent_domain_id_txt'] = "Website";
$wb['username_txt'] = "Username";
$wb['password_txt'] = "Password";
$wb['password_strength_txt'] = "Password strength";
$wb['active_txt'] = "Active";
$wb['limit_webdav_user_txt'] = "The max. number of webdav users for your account is reached.";
$wb['username_error_empty'] = "Username is empty.";
$wb['username_error_unique'] = "The username must be unique.";
$wb['username_error_regex'] = "The username contains characters that are not allowed.";
$wb['directory_error_empty'] = "Directory empty.";
$wb['parent_domain_id_error_empty'] = "No website selected.";
$wb['dir_dot_error'] = "No .. in path allowed.";
$wb['dir_slashdot_error'] = "No ./ in path allowed.";
?>
interface/web/sites/lib/lang/fi_webdav_user.lng
@@ -1,17 +1,17 @@
<?php
$wb['dir_txt'] = 'Directory';
$wb['server_id_txt'] = 'Server';
$wb['parent_domain_id_txt'] = 'Website';
$wb['username_txt'] = 'Username';
$wb['password_txt'] = 'Password';
$wb['password_strength_txt'] = 'Password strength';
$wb['active_txt'] = 'Active';
$wb['limit_webdav_user_txt'] = 'The max. number of webdav users for your account is reached.';
$wb['username_error_empty'] = 'Username is empty.';
$wb['username_error_unique'] = 'The username must be unique.';
$wb['username_error_regex'] = 'The username contains charachters that are not allowed.';
$wb['directory_error_empty'] = 'Directory empty.';
$wb['parent_domain_id_error_empty'] = 'No website selected.';
$wb['dir_dot_error'] = 'No .. in path allowed.';
$wb['dir_slashdot_error'] = 'No ./ in path allowed.';
$wb['dir_txt'] = "Directory";
$wb['server_id_txt'] = "Server";
$wb['parent_domain_id_txt'] = "Website";
$wb['username_txt'] = "Username";
$wb['password_txt'] = "Password";
$wb['password_strength_txt'] = "Password strength";
$wb['active_txt'] = "Active";
$wb['limit_webdav_user_txt'] = "The max. number of webdav users for your account is reached.";
$wb['username_error_empty'] = "Username is empty.";
$wb['username_error_unique'] = "The username must be unique.";
$wb['username_error_regex'] = "The username contains characters that are not allowed.";
$wb['directory_error_empty'] = "Directory empty.";
$wb['parent_domain_id_error_empty'] = "No website selected.";
$wb['dir_dot_error'] = "No .. in path allowed.";
$wb['dir_slashdot_error'] = "No ./ in path allowed.";
?>
interface/web/sites/lib/lang/hu_webdav_user.lng
@@ -1,17 +1,17 @@
<?php
$wb['dir_txt'] = 'Könyvtár';
$wb['server_id_txt'] = 'Szerver';
$wb['parent_domain_id_txt'] = 'Webhely';
$wb['username_txt'] = 'Felhasználónév';
$wb['password_txt'] = 'Jelszó';
$wb['password_strength_txt'] = 'Jelszó erÅ‘sségee';
$wb['active_txt'] = 'Aktív';
$wb['limit_webdav_user_txt'] = 'The max. number of webdav users for your account is reached.';
$wb['username_error_empty'] = 'A Felhasználónév Ã¼res.';
$wb['username_error_unique'] = 'The username must be unique.';
$wb['username_error_regex'] = 'The username contains charachters that are not allowed.';
$wb['directory_error_empty'] = 'Directory empty.';
$wb['parent_domain_id_error_empty'] = 'No website selected.';
$wb['dir_dot_error'] = 'No .. in path allowed.';
$wb['dir_slashdot_error'] = 'No ./ in path allowed.';
$wb['dir_txt'] = "Könyvtár";
$wb['server_id_txt'] = "Szerver";
$wb['parent_domain_id_txt'] = "Webhely";
$wb['username_txt'] = "Felhasználónév";
$wb['password_txt'] = "Jelszó";
$wb['password_strength_txt'] = "Jelszó erÅ‘sségee";
$wb['active_txt'] = "Aktív";
$wb['limit_webdav_user_txt'] = "The max. number of webdav users for your account is reached.";
$wb['username_error_empty'] = "A Felhasználónév Ã¼res.";
$wb['username_error_unique'] = "The username must be unique.";
$wb['username_error_regex'] = "The username contains characters that are not allowed.";
$wb['directory_error_empty'] = "Directory empty.";
$wb['parent_domain_id_error_empty'] = "No website selected.";
$wb['dir_dot_error'] = "No .. in path allowed.";
$wb['dir_slashdot_error'] = "No ./ in path allowed.";
?>
interface/web/sites/lib/lang/it_ftp_user.lng
@@ -1,30 +1,30 @@
<?php
$wb['uid_txt'] = 'UID';
$wb['gid_txt'] = 'GID';
$wb['dir_txt'] = 'Cartella';
$wb['quota_files_txt'] = 'Filequota';
$wb['ul_ratio_txt'] = 'Uploadratio';
$wb['dl_ratio_txt'] = 'Downloadratio';
$wb['ul_bandwidth_txt'] = 'Banda Upload';
$wb['dl_bandwidth_txt'] = 'Banda Download';
$wb['server_id_txt'] = 'Server';
$wb['parent_domain_id_txt'] = 'Sito';
$wb['username_txt'] = 'Username';
$wb['password_txt'] = 'Password';
$wb['password_strength_txt'] = 'Password strength';
$wb['quota_size_txt'] = 'Harddisk-Quota';
$wb['active_txt'] = 'Attivo';
$wb['limit_ftp_user_txt'] = 'The max. number of FTP users for your account is reached.';
$wb['username_error_empty'] = 'Username is empty.';
$wb['username_error_unique'] = 'The username must be unique.';
$wb['username_error_regex'] = 'The username contains charachters that are not allowed.';
$wb['quota_size_error_empty'] = 'Quota is empty.';
$wb['uid_error_empty'] = 'GID empty.';
$wb['directory_error_empty'] = 'Directory empty.';
$wb['quota_files_unity_txt'] = 'Files';
$wb['directory_error_notinweb'] = 'Directory not inside of web root directory.';
$wb['parent_domain_id_error_empty'] = 'No website selected.';
$wb['quota_size_error_regex'] = 'Quota: enter a -1 for unlimited or a number > 0';
$wb['dir_dot_error'] = 'No .. in path allowed.';
$wb['dir_slashdot_error'] = 'No ./ in path allowed.';
$wb['uid_txt'] = "UID";
$wb['gid_txt'] = "GID";
$wb['dir_txt'] = "Cartella";
$wb['quota_files_txt'] = "Filequota";
$wb['ul_ratio_txt'] = "Uploadratio";
$wb['dl_ratio_txt'] = "Downloadratio";
$wb['ul_bandwidth_txt'] = "Banda Upload";
$wb['dl_bandwidth_txt'] = "Banda Download";
$wb['server_id_txt'] = "Server";
$wb['parent_domain_id_txt'] = "Sito";
$wb['username_txt'] = "Username";
$wb['password_txt'] = "Password";
$wb['password_strength_txt'] = "Password strength";
$wb['quota_size_txt'] = "Harddisk-Quota";
$wb['active_txt'] = "Attivo";
$wb['limit_ftp_user_txt'] = "The max. number of FTP users for your account is reached.";
$wb['username_error_empty'] = "Username is empty.";
$wb['username_error_unique'] = "The username must be unique.";
$wb['username_error_regex'] = "The username contains characters that are not allowed.";
$wb['quota_size_error_empty'] = "Quota is empty.";
$wb['uid_error_empty'] = "GID empty.";
$wb['directory_error_empty'] = "Directory empty.";
$wb['quota_files_unity_txt'] = "Files";
$wb['directory_error_notinweb'] = "Directory not inside of web root directory.";
$wb['parent_domain_id_error_empty'] = "No website selected.";
$wb['quota_size_error_regex'] = "Quota: enter a -1 for unlimited or a number > 0";
$wb['dir_dot_error'] = "No .. in path allowed.";
$wb['dir_slashdot_error'] = "No ./ in path allowed.";
?>
interface/web/sites/lib/lang/it_shell_user.lng
@@ -1,25 +1,25 @@
<?php
$wb['shell_txt'] = 'Shell';
$wb['dir_txt'] = 'Dir';
$wb['server_id_txt'] = 'Server';
$wb['parent_domain_id_txt'] = 'Site';
$wb['username_txt'] = 'Username';
$wb['password_txt'] = 'Password';
$wb['password_strength_txt'] = 'Password strength';
$wb['chroot_txt'] = 'Chroot Shell';
$wb['quota_size_txt'] = 'Quota';
$wb['active_txt'] = 'Active';
$wb['username_error_empty'] = 'Username is empty.';
$wb['username_error_unique'] = 'The username must be unique.';
$wb['username_error_regex'] = 'The username contains charachters that are not allowed.';
$wb['quota_size_error_empty'] = 'Quota is empty.';
$wb['uid_error_empty'] = 'GID empty.';
$wb['directory_error_empty'] = 'Directory empty.';
$wb['limit_shell_user_txt'] = 'The max number of shell users is reached.';
$wb['parent_domain_id_error_empty'] = 'No website selected.';
$wb['puser_txt'] = 'Web Username';
$wb['pgroup_txt'] = 'Web Group';
$wb['ssh_rsa_txt'] = 'SSH-RSA Public Key (for key-based logins)';
$wb['dir_dot_error'] = 'No .. in path allowed.';
$wb['dir_slashdot_error'] = 'No ./ in path allowed.';
$wb['shell_txt'] = "Shell";
$wb['dir_txt'] = "Dir";
$wb['server_id_txt'] = "Server";
$wb['parent_domain_id_txt'] = "Site";
$wb['username_txt'] = "Username";
$wb['password_txt'] = "Password";
$wb['password_strength_txt'] = "Password strength";
$wb['chroot_txt'] = "Chroot Shell";
$wb['quota_size_txt'] = "Quota";
$wb['active_txt'] = "Active";
$wb['username_error_empty'] = "Username is empty.";
$wb['username_error_unique'] = "The username must be unique.";
$wb['username_error_regex'] = "The username contains characters that are not allowed.";
$wb['quota_size_error_empty'] = "Quota is empty.";
$wb['uid_error_empty'] = "GID empty.";
$wb['directory_error_empty'] = "Directory empty.";
$wb['limit_shell_user_txt'] = "The max number of shell users is reached.";
$wb['parent_domain_id_error_empty'] = "No website selected.";
$wb['puser_txt'] = "Web Username";
$wb['pgroup_txt'] = "Web Group";
$wb['ssh_rsa_txt'] = "SSH-RSA Public Key (for key-based logins)";
$wb['dir_dot_error'] = "No .. in path allowed.";
$wb['dir_slashdot_error'] = "No ./ in path allowed.";
?>
interface/web/sites/lib/lang/it_webdav_user.lng
@@ -1,17 +1,17 @@
<?php
$wb['dir_txt'] = 'Directory';
$wb['server_id_txt'] = 'Server';
$wb['parent_domain_id_txt'] = 'Website';
$wb['username_txt'] = 'Username';
$wb['password_txt'] = 'Password';
$wb['password_strength_txt'] = 'Password strength';
$wb['active_txt'] = 'Active';
$wb['limit_webdav_user_txt'] = 'The max. number of webdav users for your account is reached.';
$wb['username_error_empty'] = 'Username is empty.';
$wb['username_error_unique'] = 'The username must be unique.';
$wb['username_error_regex'] = 'The username contains charachters that are not allowed.';
$wb['directory_error_empty'] = 'Directory empty.';
$wb['parent_domain_id_error_empty'] = 'No website selected.';
$wb['dir_dot_error'] = 'No .. in path allowed.';
$wb['dir_slashdot_error'] = 'No ./ in path allowed.';
$wb['dir_txt'] = "Directory";
$wb['server_id_txt'] = "Server";
$wb['parent_domain_id_txt'] = "Website";
$wb['username_txt'] = "Username";
$wb['password_txt'] = "Password";
$wb['password_strength_txt'] = "Password strength";
$wb['active_txt'] = "Active";
$wb['limit_webdav_user_txt'] = "The max. number of webdav users for your account is reached.";
$wb['username_error_empty'] = "Username is empty.";
$wb['username_error_unique'] = "The username must be unique.";
$wb['username_error_regex'] = "The username contains characters that are not allowed.";
$wb['directory_error_empty'] = "Directory empty.";
$wb['parent_domain_id_error_empty'] = "No website selected.";
$wb['dir_dot_error'] = "No .. in path allowed.";
$wb['dir_slashdot_error'] = "No ./ in path allowed.";
?>
interface/web/sites/lib/lang/ja_webdav_user.lng
@@ -1,17 +1,17 @@
<?php
$wb['dir_txt'] = 'Directory';
$wb['server_id_txt'] = 'Server';
$wb['parent_domain_id_txt'] = 'Website';
$wb['username_txt'] = 'Username';
$wb['password_txt'] = 'Password';
$wb['password_strength_txt'] = 'Password strength';
$wb['active_txt'] = 'Active';
$wb['limit_webdav_user_txt'] = 'The max. number of webdav users for your account is reached.';
$wb['username_error_empty'] = 'Username is empty.';
$wb['username_error_unique'] = 'The username must be unique.';
$wb['username_error_regex'] = 'The username contains charachters that are not allowed.';
$wb['directory_error_empty'] = 'Directory empty.';
$wb['parent_domain_id_error_empty'] = 'No website selected.';
$wb['dir_dot_error'] = 'No .. in path allowed.';
$wb['dir_slashdot_error'] = 'No ./ in path allowed.';
$wb['dir_txt'] = "Directory";
$wb['server_id_txt'] = "Server";
$wb['parent_domain_id_txt'] = "Website";
$wb['username_txt'] = "Username";
$wb['password_txt'] = "Password";
$wb['password_strength_txt'] = "Password strength";
$wb['active_txt'] = "Active";
$wb['limit_webdav_user_txt'] = "The max. number of webdav users for your account is reached.";
$wb['username_error_empty'] = "Username is empty.";
$wb['username_error_unique'] = "The username must be unique.";
$wb['username_error_regex'] = "The username contains characters that are not allowed.";
$wb['directory_error_empty'] = "Directory empty.";
$wb['parent_domain_id_error_empty'] = "No website selected.";
$wb['dir_dot_error'] = "No .. in path allowed.";
$wb['dir_slashdot_error'] = "No ./ in path allowed.";
?>
interface/web/sites/lib/lang/pt_webdav_user.lng
@@ -1,17 +1,17 @@
<?php
$wb['dir_txt'] = 'Directory';
$wb['server_id_txt'] = 'Server';
$wb['parent_domain_id_txt'] = 'Website';
$wb['username_txt'] = 'Username';
$wb['password_txt'] = 'Password';
$wb['password_strength_txt'] = 'Password strength';
$wb['active_txt'] = 'Active';
$wb['limit_webdav_user_txt'] = 'The max. number of webdav users for your account is reached.';
$wb['username_error_empty'] = 'Username is empty.';
$wb['username_error_unique'] = 'The username must be unique.';
$wb['username_error_regex'] = 'The username contains charachters that are not allowed.';
$wb['directory_error_empty'] = 'Directory empty.';
$wb['parent_domain_id_error_empty'] = 'No website selected.';
$wb['dir_dot_error'] = 'No .. in path allowed.';
$wb['dir_slashdot_error'] = 'No ./ in path allowed.';
$wb['dir_txt'] = "Directory";
$wb['server_id_txt'] = "Server";
$wb['parent_domain_id_txt'] = "Website";
$wb['username_txt'] = "Username";
$wb['password_txt'] = "Password";
$wb['password_strength_txt'] = "Password strength";
$wb['active_txt'] = "Active";
$wb['limit_webdav_user_txt'] = "The max. number of webdav users for your account is reached.";
$wb['username_error_empty'] = "Username is empty.";
$wb['username_error_unique'] = "The username must be unique.";
$wb['username_error_regex'] = "The username contains characters that are not allowed.";
$wb['directory_error_empty'] = "Directory empty.";
$wb['parent_domain_id_error_empty'] = "No website selected.";
$wb['dir_dot_error'] = "No .. in path allowed.";
$wb['dir_slashdot_error'] = "No ./ in path allowed.";
?>
interface/web/sites/lib/lang/ro_webdav_user.lng
@@ -1,17 +1,17 @@
<?php
$wb['dir_txt'] = 'Directory';
$wb['server_id_txt'] = 'Server';
$wb['parent_domain_id_txt'] = 'Website';
$wb['username_txt'] = 'Username';
$wb['password_txt'] = 'Password';
$wb['password_strength_txt'] = 'Password strength';
$wb['active_txt'] = 'Active';
$wb['limit_webdav_user_txt'] = 'The max. number of webdav users for your account is reached.';
$wb['username_error_empty'] = 'Username is empty.';
$wb['username_error_unique'] = 'The username must be unique.';
$wb['username_error_regex'] = 'The username contains charachters that are not allowed.';
$wb['directory_error_empty'] = 'Directory empty.';
$wb['parent_domain_id_error_empty'] = 'No website selected.';
$wb['dir_dot_error'] = 'No .. in path allowed.';
$wb['dir_slashdot_error'] = 'No ./ in path allowed.';
$wb['dir_txt'] = "Directory";
$wb['server_id_txt'] = "Server";
$wb['parent_domain_id_txt'] = "Website";
$wb['username_txt'] = "Username";
$wb['password_txt'] = "Password";
$wb['password_strength_txt'] = "Password strength";
$wb['active_txt'] = "Active";
$wb['limit_webdav_user_txt'] = "The max. number of webdav users for your account is reached.";
$wb['username_error_empty'] = "Username is empty.";
$wb['username_error_unique'] = "The username must be unique.";
$wb['username_error_regex'] = "The username contains characters that are not allowed.";
$wb['directory_error_empty'] = "Directory empty.";
$wb['parent_domain_id_error_empty'] = "No website selected.";
$wb['dir_dot_error'] = "No .. in path allowed.";
$wb['dir_slashdot_error'] = "No ./ in path allowed.";
?>
interface/web/sites/lib/lang/ru_webdav_user.lng
@@ -1,17 +1,17 @@
<?php
$wb['dir_txt'] = 'Directory';
$wb['server_id_txt'] = 'Server';
$wb['parent_domain_id_txt'] = 'Website';
$wb['username_txt'] = 'Username';
$wb['password_txt'] = 'Password';
$wb['password_strength_txt'] = 'Password strength';
$wb['active_txt'] = 'Active';
$wb['limit_webdav_user_txt'] = 'The max. number of webdav users for your account is reached.';
$wb['username_error_empty'] = 'Username is empty.';
$wb['username_error_unique'] = 'The username must be unique.';
$wb['username_error_regex'] = 'The username contains charachters that are not allowed.';
$wb['directory_error_empty'] = 'Directory empty.';
$wb['parent_domain_id_error_empty'] = 'No website selected.';
$wb['dir_dot_error'] = 'No .. in path allowed.';
$wb['dir_slashdot_error'] = 'No ./ in path allowed.';
$wb['dir_txt'] = "Directory";
$wb['server_id_txt'] = "Server";
$wb['parent_domain_id_txt'] = "Website";
$wb['username_txt'] = "Username";
$wb['password_txt'] = "Password";
$wb['password_strength_txt'] = "Password strength";
$wb['active_txt'] = "Active";
$wb['limit_webdav_user_txt'] = "The max. number of webdav users for your account is reached.";
$wb['username_error_empty'] = "Username is empty.";
$wb['username_error_unique'] = "The username must be unique.";
$wb['username_error_regex'] = "The username contains characters that are not allowed.";
$wb['directory_error_empty'] = "Directory empty.";
$wb['parent_domain_id_error_empty'] = "No website selected.";
$wb['dir_dot_error'] = "No .. in path allowed.";
$wb['dir_slashdot_error'] = "No ./ in path allowed.";
?>
interface/web/sites/lib/lang/se_ftp_user.lng
@@ -1,30 +1,30 @@
<?php
$wb['uid_txt'] = 'UID';
$wb['gid_txt'] = 'GID';
$wb['dir_txt'] = 'Directory';
$wb['quota_files_txt'] = 'Filequota';
$wb['ul_ratio_txt'] = 'Uploadratio';
$wb['dl_ratio_txt'] = 'Downloadratio';
$wb['ul_bandwidth_txt'] = 'Uploadbandwidth';
$wb['dl_bandwidth_txt'] = 'Downloadbandwidth';
$wb['server_id_txt'] = 'Server';
$wb['parent_domain_id_txt'] = 'Website';
$wb['username_txt'] = 'Username';
$wb['password_txt'] = 'Password';
$wb['password_strength_txt'] = 'Password strength';
$wb['quota_size_txt'] = 'Harddisk-Quota';
$wb['active_txt'] = 'Active';
$wb['limit_ftp_user_txt'] = 'The max. number of FTP users for your account is reached.';
$wb['username_error_empty'] = 'Username is empty.';
$wb['username_error_unique'] = 'The username must be unique.';
$wb['username_error_regex'] = 'The username contains charachters that are not allowed.';
$wb['quota_size_error_empty'] = 'Quota is empty.';
$wb['uid_error_empty'] = 'GID empty.';
$wb['directory_error_empty'] = 'Directory empty.';
$wb['quota_files_unity_txt'] = 'Files';
$wb['directory_error_notinweb'] = 'Directory not inside of web root directory.';
$wb['parent_domain_id_error_empty'] = 'No website selected.';
$wb['quota_size_error_regex'] = 'Quota: enter a -1 for unlimited or a number > 0';
$wb['dir_dot_error'] = 'No .. in path allowed.';
$wb['dir_slashdot_error'] = 'No ./ in path allowed.';
$wb['uid_txt'] = "UID";
$wb['gid_txt'] = "GID";
$wb['dir_txt'] = "Directory";
$wb['quota_files_txt'] = "Filequota";
$wb['ul_ratio_txt'] = "Uploadratio";
$wb['dl_ratio_txt'] = "Downloadratio";
$wb['ul_bandwidth_txt'] = "Uploadbandwidth";
$wb['dl_bandwidth_txt'] = "Downloadbandwidth";
$wb['server_id_txt'] = "Server";
$wb['parent_domain_id_txt'] = "Website";
$wb['username_txt'] = "Username";
$wb['password_txt'] = "Password";
$wb['password_strength_txt'] = "Password strength";
$wb['quota_size_txt'] = "Harddisk-Quota";
$wb['active_txt'] = "Active";
$wb['limit_ftp_user_txt'] = "The max. number of FTP users for your account is reached.";
$wb['username_error_empty'] = "Username is empty.";
$wb['username_error_unique'] = "The username must be unique.";
$wb['username_error_regex'] = "The username contains characters that are not allowed.";
$wb['quota_size_error_empty'] = "Quota is empty.";
$wb['uid_error_empty'] = "GID empty.";
$wb['directory_error_empty'] = "Directory empty.";
$wb['quota_files_unity_txt'] = "Files";
$wb['directory_error_notinweb'] = "Directory not inside of web root directory.";
$wb['parent_domain_id_error_empty'] = "No website selected.";
$wb['quota_size_error_regex'] = "Quota: enter a -1 for unlimited or a number > 0";
$wb['dir_dot_error'] = "No .. in path allowed.";
$wb['dir_slashdot_error'] = "No ./ in path allowed.";
?>
interface/web/sites/lib/lang/se_shell_user.lng
@@ -1,25 +1,25 @@
<?php
$wb['shell_txt'] = 'Shell';
$wb['dir_txt'] = 'Dir';
$wb['server_id_txt'] = 'Server';
$wb['parent_domain_id_txt'] = 'Site';
$wb['username_txt'] = 'Username';
$wb['password_txt'] = 'Password';
$wb['password_strength_txt'] = 'Password strength';
$wb['chroot_txt'] = 'Chroot Shell';
$wb['quota_size_txt'] = 'Quota';
$wb['active_txt'] = 'Active';
$wb['username_error_empty'] = 'Username is empty.';
$wb['username_error_unique'] = 'The username must be unique.';
$wb['username_error_regex'] = 'The username contains charachters that are not allowed.';
$wb['quota_size_error_empty'] = 'Quota is empty.';
$wb['uid_error_empty'] = 'GID empty.';
$wb['directory_error_empty'] = 'Directory empty.';
$wb['limit_shell_user_txt'] = 'The max number of shell users is reached.';
$wb['parent_domain_id_error_empty'] = 'No website selected.';
$wb['puser_txt'] = 'Web Username';
$wb['pgroup_txt'] = 'Web Group';
$wb['ssh_rsa_txt'] = 'SSH-RSA Public Key (for key-based logins)';
$wb['dir_dot_error'] = 'No .. in path allowed.';
$wb['dir_slashdot_error'] = 'No ./ in path allowed.';
$wb['shell_txt'] = "Shell";
$wb['dir_txt'] = "Dir";
$wb['server_id_txt'] = "Server";
$wb['parent_domain_id_txt'] = "Site";
$wb['username_txt'] = "Username";
$wb['password_txt'] = "Password";
$wb['password_strength_txt'] = "Password strength";
$wb['chroot_txt'] = "Chroot Shell";
$wb['quota_size_txt'] = "Quota";
$wb['active_txt'] = "Active";
$wb['username_error_empty'] = "Username is empty.";
$wb['username_error_unique'] = "The username must be unique.";
$wb['username_error_regex'] = "The username contains characters that are not allowed.";
$wb['quota_size_error_empty'] = "Quota is empty.";
$wb['uid_error_empty'] = "GID empty.";
$wb['directory_error_empty'] = "Directory empty.";
$wb['limit_shell_user_txt'] = "The max number of shell users is reached.";
$wb['parent_domain_id_error_empty'] = "No website selected.";
$wb['puser_txt'] = "Web Username";
$wb['pgroup_txt'] = "Web Group";
$wb['ssh_rsa_txt'] = "SSH-RSA Public Key (for key-based logins)";
$wb['dir_dot_error'] = "No .. in path allowed.";
$wb['dir_slashdot_error'] = "No ./ in path allowed.";
?>
interface/web/sites/lib/lang/se_webdav_user.lng
@@ -1,17 +1,17 @@
<?php
$wb['dir_txt'] = 'Directory';
$wb['server_id_txt'] = 'Server';
$wb['parent_domain_id_txt'] = 'Website';
$wb['username_txt'] = 'Username';
$wb['password_txt'] = 'Password';
$wb['password_strength_txt'] = 'Password strength';
$wb['active_txt'] = 'Active';
$wb['limit_webdav_user_txt'] = 'The max. number of webdav users for your account is reached.';
$wb['username_error_empty'] = 'Username is empty.';
$wb['username_error_unique'] = 'The username must be unique.';
$wb['username_error_regex'] = 'The username contains charachters that are not allowed.';
$wb['directory_error_empty'] = 'Directory empty.';
$wb['parent_domain_id_error_empty'] = 'No website selected.';
$wb['dir_dot_error'] = 'No .. in path allowed.';
$wb['dir_slashdot_error'] = 'No ./ in path allowed.';
$wb['dir_txt'] = "Directory";
$wb['server_id_txt'] = "Server";
$wb['parent_domain_id_txt'] = "Website";
$wb['username_txt'] = "Username";
$wb['password_txt'] = "Password";
$wb['password_strength_txt'] = "Password strength";
$wb['active_txt'] = "Active";
$wb['limit_webdav_user_txt'] = "The max. number of webdav users for your account is reached.";
$wb['username_error_empty'] = "Username is empty.";
$wb['username_error_unique'] = "The username must be unique.";
$wb['username_error_regex'] = "The username contains characters that are not allowed.";
$wb['directory_error_empty'] = "Directory empty.";
$wb['parent_domain_id_error_empty'] = "No website selected.";
$wb['dir_dot_error'] = "No .. in path allowed.";
$wb['dir_slashdot_error'] = "No ./ in path allowed.";
?>
interface/web/sites/lib/lang/sk_webdav_user.lng
@@ -1,17 +1,17 @@
<?php
$wb['dir_txt'] = 'Directory';
$wb['server_id_txt'] = 'Server';
$wb['parent_domain_id_txt'] = 'Website';
$wb['username_txt'] = 'Username';
$wb['password_txt'] = 'Password';
$wb['password_strength_txt'] = 'Password strength';
$wb['active_txt'] = 'Active';
$wb['limit_webdav_user_txt'] = 'The max. number of webdav users for your account is reached.';
$wb['username_error_empty'] = 'Username is empty.';
$wb['username_error_unique'] = 'The username must be unique.';
$wb['username_error_regex'] = 'The username contains charachters that are not allowed.';
$wb['directory_error_empty'] = 'Directory empty.';
$wb['parent_domain_id_error_empty'] = 'No website selected.';
$wb['dir_dot_error'] = 'No .. in path allowed.';
$wb['dir_slashdot_error'] = 'No ./ in path allowed.';
$wb['dir_txt'] = "Directory";
$wb['server_id_txt'] = "Server";
$wb['parent_domain_id_txt'] = "Website";
$wb['username_txt'] = "Username";
$wb['password_txt'] = "Password";
$wb['password_strength_txt'] = "Password strength";
$wb['active_txt'] = "Active";
$wb['limit_webdav_user_txt'] = "The max. number of webdav users for your account is reached.";
$wb['username_error_empty'] = "Username is empty.";
$wb['username_error_unique'] = "The username must be unique.";
$wb['username_error_regex'] = "The username contains characters that are not allowed.";
$wb['directory_error_empty'] = "Directory empty.";
$wb['parent_domain_id_error_empty'] = "No website selected.";
$wb['dir_dot_error'] = "No .. in path allowed.";
$wb['dir_slashdot_error'] = "No ./ in path allowed.";
?>
interface/web/sites/lib/lang/tr_webdav_user.lng
@@ -1,17 +1,17 @@
<?php
$wb['dir_txt'] = 'Directory';
$wb['server_id_txt'] = 'Server';
$wb['parent_domain_id_txt'] = 'Website';
$wb['username_txt'] = 'Username';
$wb['password_txt'] = 'Password';
$wb['password_strength_txt'] = 'Password strength';
$wb['active_txt'] = 'Active';
$wb['limit_webdav_user_txt'] = 'The max. number of webdav users for your account is reached.';
$wb['username_error_empty'] = 'Username is empty.';
$wb['username_error_unique'] = 'The username must be unique.';
$wb['username_error_regex'] = 'The username contains charachters that are not allowed.';
$wb['directory_error_empty'] = 'Directory empty.';
$wb['parent_domain_id_error_empty'] = 'No website selected.';
$wb['dir_dot_error'] = 'No .. in path allowed.';
$wb['dir_slashdot_error'] = 'No ./ in path allowed.';
$wb['dir_txt'] = "Directory";
$wb['server_id_txt'] = "Server";
$wb['parent_domain_id_txt'] = "Website";
$wb['username_txt'] = "Username";
$wb['password_txt'] = "Password";
$wb['password_strength_txt'] = "Password strength";
$wb['active_txt'] = "Active";
$wb['limit_webdav_user_txt'] = "The max. number of webdav users for your account is reached.";
$wb['username_error_empty'] = "Username is empty.";
$wb['username_error_unique'] = "The username must be unique.";
$wb['username_error_regex'] = "The username contains characters that are not allowed.";
$wb['directory_error_empty'] = "Directory empty.";
$wb['parent_domain_id_error_empty'] = "No website selected.";
$wb['dir_dot_error'] = "No .. in path allowed.";
$wb['dir_slashdot_error'] = "No ./ in path allowed.";
?>
interface/web/sites/tools.inc.php
@@ -55,8 +55,8 @@
function getClientName($dataRecord) {
    global $app, $conf;
    if($_SESSION["s"]["user"]["typ"] != 'admin' || $app->auth->has_clients($_SESSION['s']['user']['userid'])) {
        // Get the group-id of the user
    if($_SESSION["s"]["user"]["typ"] != 'admin' && !$app->auth->has_clients($_SESSION['s']['user']['userid'])) {
        // Get the group-id of the user if the logged in user is neither admin nor reseller
        $client_group_id = $_SESSION["s"]["user"]["default_group"];
    } else {
        // Get the group-id from the data itself
@@ -83,7 +83,7 @@
function getClientID($dataRecord) {
    global $app, $conf;
    if($_SESSION["s"]["user"]["typ"] != 'admin' || $app->auth->has_clients($_SESSION['s']['user']['userid'])) {
    if($_SESSION["s"]["user"]["typ"] != 'admin' && !$app->auth->has_clients($_SESSION['s']['user']['userid'])) {
        // Get the group-id of the user
        $client_group_id = $_SESSION["s"]["user"]["default_group"];
    } else {
interface/web/tools/resync.php
@@ -118,11 +118,25 @@
    }
}
//* Resyncing Mailbox Domains
if(isset($_POST['resync_mailbox']) && $_POST['resync_mailbox'] == 1) {
    $db_table = 'mail_domain';
    $index_field = 'domain_id';
    $sql = "SELECT * FROM ".$db_table." WHERE active = 'y'";
    $records = $app->db->queryAllRecords($sql);
    if(is_array($records)) {
        foreach($records as $rec) {
            $app->db->datalogUpdate($db_table, $rec, $index_field, $rec[$index_field], true);
            $msg .= "Resynced Mail Domain: ".$rec['domain'].'<br />';
        }
    }
}
//* Resyncing Mailboxes
if(isset($_POST['resync_mailbox']) && $_POST['resync_mailbox'] == 1) {
    $db_table = 'mail_user';
    $index_field = 'mailuser_id';
    $sql = "SELECT * FROM ".$db_table." WHERE active = 'y'";
    $sql = "SELECT * FROM ".$db_table;
    $records = $app->db->queryAllRecords($sql);
    if(is_array($records)) {
        foreach($records as $rec) {
@@ -131,7 +145,6 @@
        }
    }
}
//* Resyncing dns zones
if(isset($_POST['resync_dns']) && $_POST['resync_dns'] == 1) {
interface/web/vm/ajax_get_ip.php
New file
@@ -0,0 +1,55 @@
<?php
/*
Copyright (c) 2012, Till Brehm, ISPConfig UG
All rights reserved.
Redistribution and use in source and binary forms, with or without modification,
are permitted provided that the following conditions are met:
    * Redistributions of source code must retain the above copyright notice,
      this list of conditions and the following disclaimer.
    * Redistributions in binary form must reproduce the above copyright notice,
      this list of conditions and the following disclaimer in the documentation
      and/or other materials provided with the distribution.
    * Neither the name of ISPConfig nor the names of its contributors
      may be used to endorse or promote products derived from this software without
      specific prior written permission.
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT,
INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,
EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/
require_once('../../lib/config.inc.php');
require_once('../../lib/app.inc.php');
//* Check permissions for module
$app->auth->check_module_permissions('vm');
$server_id = intval($_GET["server_id"]);
if($_SESSION["s"]["user"]["typ"] == 'admin' or $app->auth->has_clients($_SESSION['s']['user']['userid'])) {
    $sql = "SELECT ip_address FROM openvz_ip WHERE reserved = 'n' AND server_id = $server_id";
    $ips = $app->db->queryAllRecords($sql);
        $ip_select = "";
    if(is_array($ips)) {
        foreach( $ips as $ip) {
            //$selected = ($ip["ip_address"] == $this->dataRecord["ip_address"])?'SELECTED':'';
            $ip_select .= "$ip[ip_address]#";
        }
    }
    unset($tmp);
    unset($ips);
}
$ip_select = substr($ip_select,0,-1);
echo $ip_select;
?>
interface/web/vm/form/openvz_vm.tform.php
@@ -105,13 +105,14 @@
                                                        'errmsg'=> 'ip_address_error_empty'),
                                    ),
            'default'    => '',
            /*
            'datasource'    => array (     'type'    => 'SQL',
                                        'querystring' => "SELECT ip_address FROM openvz_ip WHERE reserved = 'n' AND (vm_id = 0 or vm_id = '{RECORDID}') ORDER BY ip_address",
                                        'keyfield'=> 'ip_address',
                                        'valuefield'=> 'ip_address'
                                     ),
            'value'        => '',
            'searchable' => 2
            */
            'value'        => ''
        ),
        'hostname' => array (
            'datatype'    => 'VARCHAR',
interface/web/vm/openvz_vm_edit.php
@@ -158,6 +158,27 @@
        }
        
        //* Fill the IPv4 select field with the IP addresses that are allowed for this client
        //$sql = "SELECT ip_address FROM server_ip WHERE server_id = ".$client['default_webserver']." AND ip_type = 'IPv4' AND (client_id = 0 OR client_id=".$_SESSION['s']['user']['client_id'].")";
        if(isset($this->dataRecord["server_id"])) {
            $vm_server_id = intval($this->dataRecord["server_id"]);
        } else {
            $tmp = $app->db->queryOneRecord('SELECT server_id FROM server WHERE vserver_server = 1 AND mirror_server_id = 0 ORDER BY server_name LIMIT 0,1');
            $vm_server_id = $tmp['server_id'];
        }
        $sql = "SELECT ip_address FROM openvz_ip WHERE reserved = 'n' AND (vm_id = 0 or vm_id = '".$this->id."') AND server_id = ".$vm_server_id." ORDER BY ip_address";
        $ips = $app->db->queryAllRecords($sql);
        $ip_select = "";
        if(is_array($ips)) {
            foreach( $ips as $ip) {
                $selected = ($ip["ip_address"] == $this->dataRecord["ip_address"])?'SELECTED':'';
                $ip_select .= "<option value='$ip[ip_address]' $selected>$ip[ip_address]</option>\r\n";
            }
        }
        $app->tpl->setVar("ip_address",$ip_select);
        unset($tmp);
        unset($ips);
        if($this->id > 0) {
            //* we are editing a existing record
            $app->tpl->setVar("edit_disabled", 1);
interface/web/vm/templates/openvz_vm_edit.htm
@@ -15,7 +15,7 @@
        <input type="hidden" name="server_id" value="{tmpl_var name='server_id_value'}" />
        <tmpl_else>
        <label for="server_id">{tmpl_var name='server_id_txt'}</label>
        <select name="server_id" id="server_id" class="selectInput" onChange="loadOptionInto('ip_address','sites/ajax_get_ip.php?server_id='+document.getElementById('server_id').value)">
        <select name="server_id" id="server_id" class="selectInput" onChange="loadOptionInto('ip_address','vm/ajax_get_ip.php?server_id='+document.getElementById('server_id').value)">
          {tmpl_var name='server_id'}
        </select>
        </tmpl_if>
server/conf/apache_ispconfig.conf.master
@@ -4,7 +4,7 @@
################################################
LogFormat "%v %h %l %u %t \"%r\" %>s %B \"%{Referer}i\" \"%{User-Agent}i\"" combined_ispconfig
CustomLog "| /usr/local/ispconfig/server/scripts/vlogger -s access.log -t \"%Y%m%d-access.log\" -d \"/etc/vlogger-dbi.conf\" /var/log/ispconfig/httpd" combined_ispconfig
CustomLog "| /usr/local/ispconfig/server/scripts/vlogger -s access.log -t \"%Y%m%d-access.log\" /var/log/ispconfig/httpd" combined_ispconfig
<Directory /var/www/clients>
    AllowOverride None
server/conf/sieve_filter.master
@@ -32,5 +32,6 @@
vacation  :days 1
  :subject "Out of office reply"
  # :addresses ["test@test.int", "till@test.int"]
  <tmpl_var name='addresses'>
  "<tmpl_var name='autoresponder_text'>";
</tmpl_if>
server/conf/vhost.conf.master
@@ -240,6 +240,7 @@
</tmpl_if>
<tmpl_loop name="redirects">
    RewriteCond %{HTTP_HOST}   <tmpl_var name='rewrite_domain'>$ [NC]
    RewriteCond %{REQUEST_URI} !^/webdav/
    RewriteRule   ^/(.*)$ <tmpl_var name='rewrite_target'>$1  <tmpl_var name='rewrite_type'>
</tmpl_loop>
</tmpl_if>
server/cron_daily.php
@@ -260,14 +260,46 @@
exec('chmod +r /var/log/ispconfig/httpd/*');
#######################################################################################################
// Manage and compress web logfiles
// Manage and compress web logfiles and create traffic statistics
#######################################################################################################
$sql = "SELECT domain_id, domain, document_root FROM web_domain WHERE server_id = ".$conf['server_id'];
$records = $app->db->queryAllRecords($sql);
foreach($records as $rec) {
    $yesterday = date('Ymd',time() - 86400*2);
    $logfile = escapeshellcmd($rec['document_root'].'/log/'.$yesterday.'-access.log');
    //* create traffic statistics based on yesterdays access log file
    $yesterday = date('Ymd',time() - 86400);
    $logfile = $rec['document_root'].'/log/'.$yesterday.'-access.log';
    $total_bytes = 0;
    $handle = @fopen($logfile, "r");
    if ($handle) {
        while (($line = fgets($handle, 4096)) !== false) {
            if (preg_match('/^\S+ \S+ \S+ \[.*?\] "\S+.*?" \d+ (\d+) ".*?" ".*?"/', $line, $m)) {
                $total_bytes += intval($m[1]);
            }
        }
        //* Insert / update traffic in master database
        $traffic_date = date('Y-m-d',time() - 86400);
        $tmp = $app->dbmaster->queryOneRecord("select hostname from web_traffic where hostname='".$rec['domain']."' and traffic_date='".$traffic_date."'");
        if(is_array($tmp) && count($tmp) > 0) {
            $sql = "update web_traffic set traffic_bytes=traffic_bytes+"
                  . $total_bytes
                  . " where hostname='" . $rec['domain']
                  . "' and traffic_date='" . $traffic_date . "'";
        } else {
            $sql = "insert into web_traffic (hostname, traffic_date, traffic_bytes) values ('".$rec['domain']."', '".$traffic_date."', '".$total_bytes."')";
        }
        $app->dbmaster->query($sql);
        fclose($handle);
    }
    $yesterday2 = date('Ymd',time() - 86400*2);
    $logfile = escapeshellcmd($rec['document_root'].'/log/'.$yesterday2.'-access.log');
    //* Compress logfile
    if(@is_file($logfile)) {
        // Compress yesterdays logfile
        exec("gzip -c $logfile > $logfile.gz");
server/plugins-available/apache2_plugin.inc.php
@@ -85,6 +85,8 @@
        $app->plugins->registerEvent('web_folder_update',$this->plugin_name,'web_folder_update');
        $app->plugins->registerEvent('web_folder_delete',$this->plugin_name,'web_folder_delete');
        
        $app->plugins->registerEvent('ftp_user_delete',$this->plugin_name,'ftp_user_delete');
    }
    // Handle the creation of SSL certificates
@@ -642,9 +644,10 @@
                * website root has to be owned by the root user and we have to chmod it to 755 then
                */
                //* Check if there is a jailkit user for this site
                //* Check if there is a jailkit user or cronjob for this site
                $tmp = $app->db->queryOneRecord('SELECT count(shell_user_id) as number FROM shell_user WHERE parent_domain_id = '.$data['new']['domain_id']." AND chroot = 'jailkit'");
                if($tmp['number'] > 0) {
                $tmp2 = $app->db->queryOneRecord('SELECT count(id) as number FROM cron WHERE parent_domain_id = '.$data['new']['domain_id']." AND `type` = 'chrooted'");
                if($tmp['number'] > 0 || $tmp2['number'] > 0) {
                    $this->_exec('chmod 755 '.escapeshellcmd($data['new']['document_root']));
                    $this->_exec('chown root:root '.escapeshellcmd($data['new']['document_root']));
                }
@@ -676,9 +679,15 @@
        $this->_exec('chown '.$username.':'.$groupname.' '.escapeshellcmd($data['new']['document_root']).'/log/error.log');
        //* Write the custom php.ini file, if custom_php_ini filed is not empty
        //* Write the custom php.ini file, if custom_php_ini fieled is not empty
        $custom_php_ini_dir = $web_config['website_basedir'].'/conf/'.$data['new']['system_user'];
        if(!is_dir($web_config['website_basedir'].'/conf')) mkdir($web_config['website_basedir'].'/conf');
        //* add open_basedir restriction to custom php.ini content, required for suphp only
        if(!stristr($data['new']['custom_php_ini'],'open_basedir') && $data['new']['php'] == 'suphp') {
            $data['new']['custom_php_ini'] .= "\nopen_basedir = '".$data['new']['php_open_basedir']."'\n";
        }
        //* Create custom php.ini
        if(trim($data['new']['custom_php_ini']) != '') {
            $has_custom_php_ini = true;
            if(!is_dir($custom_php_ini_dir)) mkdir($custom_php_ini_dir);
@@ -1644,6 +1653,16 @@
        
        
    }
    public function ftp_user_delete($event_name,$data) {
        global $app, $conf;
        $ftpquota_file = $data['old']['dir'].'/.ftpquota';
        if(file_exists($ftpquota_file)) unlink($ftpquota_file);
    }
    /**
     * This function is called when a Webdav-User is inserted, updated or deleted.
server/plugins-available/mail_plugin.inc.php
@@ -312,8 +312,12 @@
    function user_delete($event_name,$data) {
        global $app, $conf;
        
        // get the config
        $app->uses("getconf");
        $mail_config = $app->getconf->get_server_config($conf['server_id'], 'mail');
        $old_maildir_path = escapeshellcmd($data['old']['maildir']);
        if(!stristr($old_maildir_path,'..') && !stristr($old_maildir_path,'*') && strlen($old_maildir_path) >= 10) {
        if($old_maildir_path != $mail_config['homedir_path'] && strlen($old_maildir_path) > strlen($mail_config['homedir_path']) && !stristr($old_maildir_path,'..') && !stristr($old_maildir_path,'*') && strlen($old_maildir_path) >= 10) {
            exec('rm -rf '.escapeshellcmd($old_maildir_path));
            $app->log('Deleted the Maildir: '.$data['old']['maildir'],LOGLEVEL_DEBUG);
        } else {
@@ -330,7 +334,7 @@
        
        //* Delete maildomain path
        $old_maildomain_path = escapeshellcmd($mail_config['homedir_path'].'/'.$data['old']['domain']);
        if(!stristr($old_maildomain_path,'//') && !stristr($old_maildomain_path,'..') && !stristr($old_maildomain_path,'*') && !stristr($old_maildomain_path,'&') && strlen($old_maildomain_path) >= 10) {
        if($old_maildomain_path != $mail_config['homedir_path'] && !stristr($old_maildomain_path,'//') && !stristr($old_maildomain_path,'..') && !stristr($old_maildomain_path,'*') && !stristr($old_maildomain_path,'&') && strlen($old_maildomain_path) >= 10) {
            exec('rm -rf '.escapeshellcmd($old_maildomain_path));
            $app->log('Deleted the mail domain directory: '.$old_maildomain_path,LOGLEVEL_DEBUG);
        } else {
@@ -339,7 +343,7 @@
        
        //* Delete mailfilter path
        $old_maildomain_path = escapeshellcmd($mail_config['homedir_path'].'/mailfilters/'.$data['old']['domain']);
        if(!stristr($old_maildomain_path,'//') && !stristr($old_maildomain_path,'..') && !stristr($old_maildomain_path,'*') && !stristr($old_maildomain_path,'&') && strlen($old_maildomain_path) >= 10) {
        if($old_maildomain_path != $mail_config['homedir_path'].'/mailfilters/' && !stristr($old_maildomain_path,'//') && !stristr($old_maildomain_path,'..') && !stristr($old_maildomain_path,'*') && !stristr($old_maildomain_path,'&') && strlen($old_maildomain_path) >= 10) {
            exec('rm -rf '.escapeshellcmd($old_maildomain_path));
            $app->log('Deleted the mail domain mailfilter directory: '.$old_maildomain_path,LOGLEVEL_DEBUG);
        } else {
server/plugins-available/mailman_plugin.inc.php
@@ -73,9 +73,9 @@
        
        $this->update_config();
        
        exec("/usr/lib/mailman/bin/newlist -u ".escapeshellcmd($data["new"]["domain"])." -e ".escapeshellcmd($data["new"]["domain"])." ".escapeshellcmd($data["new"]["listname"])." ".escapeshellcmd($data["new"]["email"])." ".escapeshellcmd($data["new"]["password"])."");
        exec("nohup /usr/lib/mailman/bin/newlist -u ".escapeshellcmd($data["new"]["domain"])." -e ".escapeshellcmd($data["new"]["domain"])." ".escapeshellcmd($data["new"]["listname"])." ".escapeshellcmd($data["new"]["email"])." ".escapeshellcmd($data["new"]["password"])." >/dev/null 2>&1 &");
        
        exec($conf['init_scripts'] . '/' . 'mailman reload &> /dev/null');
        exec('nohup '.$conf['init_scripts'] . '/' . 'mailman reload >/dev/null 2>&1 &');
        
        $app->db->query("UPDATE mail_mailinglist SET password = '' WHERE mailinglist_id = ".$app->db->quote($data["new"]['mailinglist_id']));
        
@@ -86,8 +86,8 @@
        global $app, $conf;
        
        if($data["new"]["password"] != $data["old"]["password"] && $data["new"]["password"] != '') {
            exec("/usr/lib/mailman/bin/change_pw -l ".escapeshellcmd($data["new"]["listname"])." -p ".escapeshellcmd($data["new"]["password"])."");
            exec($conf['init_scripts'] . '/' . 'mailman reload &> /dev/null');
            exec("nohup /usr/lib/mailman/bin/change_pw -l ".escapeshellcmd($data["new"]["listname"])." -p ".escapeshellcmd($data["new"]["password"])." >/dev/null 2>&1 &");
            exec('nohup '.$conf['init_scripts'] . '/' . 'mailman reload >/dev/null 2>&1 &');
            $app->db->query("UPDATE mail_mailinglist SET password = '' WHERE mailinglist_id = ".$app->db->quote($data["new"]['mailinglist_id']));
        }
    }
@@ -97,9 +97,9 @@
        
        $this->update_config();
        
        exec("/usr/lib/mailman/bin/rmlist -a ".escapeshellcmd($data["old"]["listname"]));
        exec("nohup /usr/lib/mailman/bin/rmlist -a ".escapeshellcmd($data["old"]["listname"])." >/dev/null 2>&1 &");
        
        exec($conf['init_scripts'] . '/' . 'mailman reload &> /dev/null');
        exec('nohup '.$conf['init_scripts'] . '/' . 'mailman reload >/dev/null 2>&1 &');
        
    }
    
server/plugins-available/shelluser_jailkit_plugin.inc.php
@@ -376,9 +376,9 @@
            if(is_file('/root/.ssh/authorized_keys')) file_put_contents($sshkeys, file_get_contents('/root/.ssh/authorized_keys'));
        
            // Remove duplicate keys
            $existing_keys = file($sshkeys);
            $existing_keys = @file($sshkeys);
            $new_keys = explode("\n", $userkey);
            $final_keys_arr = array_merge($existing_keys, $new_keys);
            $final_keys_arr = @array_merge($existing_keys, $new_keys);
            $new_final_keys_arr = array();
            if(is_array($final_keys_arr) && !empty($final_keys_arr)){
                foreach($final_keys_arr as $key => $val){