Merged revisions 1134-1147 from trunk.
| | |
| | | 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 |
| | | |
| | |
| | | $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);
|
| | |
|
| | |
| | | |
| | | </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> |
| | | |
| | |
| | | } |
| | | |
| | | # 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` |
| | | |
| | | |
| | | # |
| | |
| | | //** 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"); |
| | | } |
| | | |
| | | |
| | |
| | | //** 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 |
| | |
| | | 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])) {
|
| | |
| | | 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 \r\n"; |
| | | }
|
| | | }
|
| | | $new_record[$key] = $out;
|
| | |
| | | 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 \r\n"; |
| | | }
|
| | | }
|
| | | $new_record[$key] = $out;
|
| | |
| | | $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.'; |
| | | ?>
|
| | |
| | | $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.'; |
| | | ?> |
| | |
| | | $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.'; |
| | | ?> |
| | |
| | | $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.'; |
| | | ?> |
| | |
| | | $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.'; |
| | | ?> |
| | |
| | | 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"; |
| | |
| | | } |
| | | } |
| | | $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"]."'"); |
| | |
| | | |
| | | // 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)) { |
| | |
| | | |
| | | $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 */ |
| | |
| | | |
| | | $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']; |
| | |
| | | |
| | | $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 == '') { |
| | |
| | | $wb['domain_error_empty'] = 'Не е посочен домейн.'; |
| | | $wb['domain_error_unique'] = 'Вече съществува такъв домейн.'; |
| | | $wb['domain_error_regex'] = 'Невалидно име на домейн.'; |
| | | $wb['host_txt'] = 'Host'; |
| | | ?> |
| | |
| | | $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'; |
| | | ?> |
| | |
| | | $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'; |
| | | ?> |
| | |
| | | $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'; |
| | | ?> |
| | |
| | | $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'; |
| | | ?> |
| | |
| | | $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'; |
| | | ?> |
| | |
| | | $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'; |
| | | ?> |
| | |
| | | $wb['domain_error_empty'] = 'Домен пустой.'; |
| | | $wb['domain_error_unique'] = 'Домен должен быть уникальным.'; |
| | | $wb['domain_error_regex'] = 'Имя домена неправильно.'; |
| | | $wb['host_txt'] = 'Host'; |
| | | ?> |
| | |
| | | $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'; |
| | | ?> |
| | |
| | |
|
| | | $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 */
|
| | |
| | |
|
| | | $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'];
|
| | |
| | | */
|
| | | $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'];
|
| | |
| | | <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> |
| | |
| | | <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> |
| | |
| | | $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); |
| | |
| | | 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"); |
| | |
| | | // 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); |