Skip to content
......@@ -61,7 +61,7 @@ class page_action extends tform_actions {
$client_group_id = $app->functions->intval($_SESSION["s"]["user"]["default_group"]);
$client = $app->db->queryOneRecord("SELECT limit_client FROM sys_group, client WHERE sys_group.client_id = client.client_id and sys_group.groupid = ?", $client_group_id);
// Check if the user may add another website.
// Check if the user may add another.
if($client["limit_client"] >= 0) {
$tmp = $app->db->queryOneRecord("SELECT count(client_id) as number FROM client WHERE sys_groupid = ?", $client_group_id);
if($tmp["number"] >= $client["limit_client"]) {
......@@ -84,7 +84,7 @@ class page_action extends tform_actions {
$client_group_id = $_SESSION["s"]["user"]["default_group"];
$client = $app->db->queryOneRecord("SELECT limit_client FROM sys_group, client WHERE sys_group.client_id = client.client_id and sys_group.groupid = ?", $client_group_id);
// Check if the user may add another website.
// Check if the user may add another.
if($client["limit_client"] >= 0) {
$tmp = $app->db->queryOneRecord("SELECT count(client_id) as number FROM client WHERE sys_groupid = ?", $client_group_id);
if($tmp["number"] >= $client["limit_client"]) {
......@@ -119,7 +119,7 @@ class page_action extends tform_actions {
$this->oldTemplatesAssigned = array();
}
$this->_template_additional = explode('/', $this->dataRecord['template_additional']);
$this->_template_additional = (isset($this->dataRecord['template_additional']) && $this->dataRecord['template_additional'] != '')?explode('/', $this->dataRecord['template_additional']):array();
$this->dataRecord['template_additional'] = '';
parent::onSubmit();
......@@ -169,7 +169,7 @@ class page_action extends tform_actions {
// old style
$sql = "SELECT template_additional FROM client WHERE client_id = ?";
$result = $app->db->queryOneRecord($sql, $this->id);
$tplAdd = explode("/", $result['template_additional']);
$tplAdd = (isset($result['template_additional']) && $result['template_additional'] != '')?explode("/", $result['template_additional']):array();
$text = '';
foreach($tplAdd as $item){
if (trim($item) != ''){
......@@ -293,7 +293,7 @@ class page_action extends tform_actions {
$app->auth->add_group_to_user($_SESSION['s']['user']['userid'], $groupid);
$app->db->query("UPDATE client SET parent_client_id = ? WHERE client_id = ?", $_SESSION['s']['user']['client_id'], $this->id);
} else {
if($this->dataRecord['parent_client_id'] > 0) {
if(isset($this->dataRecord['parent_client_id']) && $this->dataRecord['parent_client_id'] > 0) {
//* get userid of the reseller and add it to the group of the client
$tmp = $app->db->queryOneRecord("SELECT sys_user.userid FROM sys_user,sys_group WHERE sys_user.default_group = sys_group.groupid AND sys_group.client_id = ?", $this->dataRecord['parent_client_id']);
$app->auth->add_group_to_user($tmp['userid'], $groupid);
......@@ -304,14 +304,14 @@ class page_action extends tform_actions {
//* Set the default servers
$tmp = $app->getconf->get_global_config('mail');
$default_mailserver = $app->functions->intval($tmp['default_mailserver']);
$default_mailserver = (isset($tmp['default_mailserver']))?$app->functions->intval($tmp['default_mailserver']):0;
if (!$default_mailserver) {
$tmp = $app->db->queryOneRecord('SELECT server_id FROM server WHERE mail_server = 1 AND mirror_server_id = 0 LIMIT 0,1');
$default_mailserver = $app->functions->intval($tmp['server_id']);
}
$tmp = $app->getconf->get_global_config('sites');
$default_webserver = $app->functions->intval($tmp['default_webserver']);
$default_dbserver = $app->functions->intval($tmp['default_dbserver']);
$default_webserver = (isset($tmp['default_webserver']))?$app->functions->intval($tmp['default_webserver']):0;
$default_dbserver = (isset($tmp['default_dbserver']))?$app->functions->intval($tmp['default_dbserver']):0;
if (!$default_webserver) {
$tmp = $app->db->queryOneRecord('SELECT server_id FROM server WHERE web_server = 1 AND mirror_server_id = 0 LIMIT 0,1');
$default_webserver = $app->functions->intval($tmp['server_id']);
......@@ -321,7 +321,7 @@ class page_action extends tform_actions {
$default_dbserver = $app->functions->intval($tmp['server_id']);
}
$tmp = $app->getconf->get_global_config('dns');
$default_dnsserver = $app->functions->intval($tmp['default_dnsserver']);
$default_dnsserver = (isset($tmp['default_dnsserver']))?$app->functions->intval($tmp['default_dnsserver']):0;
if (!$default_dnsserver) {
$tmp = $app->db->queryOneRecord('SELECT server_id FROM server WHERE dns_server = 1 AND mirror_server_id = 0 LIMIT 0,1');
$default_dnsserver = $app->functions->intval($tmp['server_id']);
......
......@@ -318,7 +318,7 @@ $form["tabs"]['address'] = array (
'country' => array (
'datatype' => 'VARCHAR',
'formtype' => 'SELECT',
'default' => (isset($conf['language']) ? strtoupper($conf['language']) : ''),
'default' => (isset($conf['default_country'])) ? strtoupper($conf['default_country']) : ((isset($conf['language'])) ? strtoupper($conf['language']) : ''),
'datasource' => array ( 'type' => 'SQL',
'querystring' => 'SELECT iso,printable_name FROM country ORDER BY printable_name ASC',
'keyfield' => 'iso',
......
......@@ -151,7 +151,7 @@ $wb['aps_limits_txt'] = 'APS Installationsassistent Limits';
$wb['limit_aps_txt'] = 'Max. Anzahl an APS-Instanzen';
$wb['limit_aps_error_notint'] = 'Das APS Instanzen Limit muss eine Zahl sein.';
$wb['default_slave_dnsserver_txt'] = 'Standard Secondary DNS Server';
$wb['locked_txt'] = 'Locked (disables everything except DNS)';
$wb['locked_txt'] = 'Gesperrt (deaktiviert alles außer DNS)';
$wb['canceled_txt'] = 'Gekündigt (verhindert Kundenlogin)';
$wb['gender_txt'] = 'Anrede';
$wb['gender_m_txt'] = 'Herr';
......@@ -172,8 +172,8 @@ $wb['mail_servers_txt'] = 'Mailserver';
$wb['mail_servers_placeholder'] = 'Mailserver wählen';
$wb['no_mail_server_error'] = 'Bitte wählen Sie mind. einen Mailserver aus.';
$wb['mail_servers_used'] = 'Der Server, den Sie entfernen möchten, wird als Mailserver verwendet. Bitte stellen Sie sicher, daß dieser Server nicht von diesem Kunden benutzt wird, bevor Sie ihn entfernen.';
$wb['added_by_txt'] = 'Added by';
$wb['added_date_txt'] = 'Added date';
$wb['added_by_txt'] = 'Hinzugefügt durch';
$wb['added_date_txt'] = 'Hinzugefügt am';
$wb['parent_client_id_txt'] = 'Kunde von Reseller';
$wb['none_txt'] = 'keiner';
$wb['limit_database_quota_txt'] = 'Datenbank-Quota';
......
......@@ -159,8 +159,8 @@ $wb['customer_no_template_txt'] = 'Customer No. template';
$wb['customer_no_template_error_regex_txt'] = 'The customer No. template contains invalid characters';
$wb['customer_no_start_txt'] = 'Customer No. start value';
$wb['customer_no_counter_txt'] = 'Customer No. counter';
$wb['added_by_txt'] = 'Added by';
$wb['added_date_txt'] = 'Added date';
$wb['added_by_txt'] = 'Hinzugefügt durch';
$wb['added_date_txt'] = 'Hinzugefügt am';
$wb['limit_domainmodule_error_notint'] = 'Domainmodule limit must be a number.';
$wb['limit_domainmodule_txt'] = 'Domainmodule Limit';
$wb['client_limits_txt'] = 'Client Limits';
......
......@@ -63,7 +63,7 @@ class page_action extends tform_actions {
$client_group_id = $app->functions->intval($_SESSION["s"]["user"]["default_group"]);
$client = $app->db->queryOneRecord("SELECT limit_client FROM sys_group, client WHERE sys_group.client_id = client.client_id and sys_group.groupid = ?", $client_group_id);
// Check if the user may add another website.
// Check if the user may add another.
if($client["limit_client"] >= 0) {
$tmp = $app->db->queryOneRecord("SELECT count(client_id) as number FROM client WHERE sys_groupid = ?", $client_group_id);
if($tmp["number"] >= $client["limit_client"]) {
......@@ -86,7 +86,7 @@ class page_action extends tform_actions {
$client_group_id = $app->functions->intval($_SESSION["s"]["user"]["default_group"]);
$client = $app->db->queryOneRecord("SELECT limit_client FROM sys_group, client WHERE sys_group.client_id = client.client_id and sys_group.groupid = ?", $client_group_id);
// Check if the user may add another website.
// Check if the user may add another.
if($client["limit_client"] >= 0) {
$tmp = $app->db->queryOneRecord("SELECT count(client_id) as number FROM client WHERE sys_groupid = ?", $client_group_id);
if($tmp["number"] >= $client["limit_client"]) {
......
<div class='page-header'><h1><tmpl_var name="list_head_txt"></h1></div>
<div class='page-header'><h1><tmpl_var name="list_head_txt"> <tmpl_var name="contactname"></h1></div>
<tmpl_if name='number_records'>
<tmpl_var name="delete_explanation">:<br /><br />
<div class="table-wrapper marginTop15">
......
......@@ -169,13 +169,13 @@ class dashlet_limits
}
if ($value != 0 || $value == $wb['unlimited_txt']) {
$value_formatted = ($value == '-1')?$wb['unlimited_txt']:$value;
if ($limit['q_type']!='') {
if (isset($limit['q_type']) && $limit['q_type'] != '') {
$usage = $this->_get_assigned_quota($limit) . " MB";
$value_formatted = ($value == '-1')?$wb['unlimited_txt']:$value . " MB";
} else {
$usage = $this->_get_limit_usage($limit);
}
$percentage = ($value == '-1' || $value == 0 ? -1 : round(100 * $usage / $value));
$percentage = ($value == '-1' || intval($value) == 0 || trim($value) == '' ? -1 : round(100 * (int)$usage / (int)$value));
$progressbar = $percentage > 100 ? 100 : $percentage;
$rows[] = array('field' => $field,
'field_txt' => $wb[$field.'_txt'],
......
......@@ -14,7 +14,7 @@
<td>{tmpl_var name='database_name'}</td>
<td>{tmpl_var name='used'}</td>
<td>{tmpl_var name='database_quota'}</td>
{tmpl_if name="quota_raw" op="!=" value="0"}<td>
{tmpl_if name="quota_raw" op="!=" value="-1"}<td>
<div class='progress'>
<div class='progress-bar-striped progress-bar progress-bar-{tmpl_if name="used_percentage" op="<" value="50"}success{tmpl_elseif name="used_percentage" op="<" value="75"}warning{tmpl_else}danger{/tmpl_if}' role='progressbar' aria-valuemin='0' aria-valuemax='100' aria-valuenow='{tmpl_var name="used_percentage"}' style='width: {tmpl_var name="used_percentage"}%'><span>{tmpl_var name="used_percentage"}%</span>
<span class='sr-only'>{tmpl_var name='used'} {tmpl_var name='of_txt'} {tmpl_var name='database_quota'}</span>
......
......@@ -27,8 +27,8 @@ $wb['limit_client_txt'] = 'Anzahl der Kunden';
$wb['limit_database_txt'] = 'Anzahl der Datenbanken';
$wb['limit_mailmailinglist_txt'] = 'Anzahl der Mailinglisten';
$wb['limit_domain_txt'] = 'Anzahl der Domains';
$wb['limit_mailquota_txt'] = 'Assigned mailbox quota';
$wb['limit_web_quota_txt'] = 'Assigned web quota';
$wb['limit_database_quota_txt'] = 'Assigned database quota';
$wb['limit_mail_wblist_txt'] = 'Number of email white / blacklist entries';
?>
$wb['limit_mailquota_txt'] = 'Zugewiesenes Postfach-Speicherkontingent';
$wb['limit_web_quota_txt'] = 'Zugewiesenes Webspace-Speicherkontingent';
$wb['limit_database_quota_txt'] = 'Zugewiesenes Datenbank-Speicherkontingent';
$wb['limit_mail_wblist_txt'] = 'Anzahl der Email white / blacklist Einträge';
......@@ -41,6 +41,10 @@ $app->load('tform_actions');
class dns_page_action extends tform_actions {
protected function checkDuplicate() {
global $app;
// If a CNAME RR is present at a node, no other data should be present
$tmp = $app->db->queryOneRecord("SELECT count(dns_rr.id) as number FROM dns_rr LEFT JOIN dns_soa ON dns_rr.zone = dns_soa.id WHERE (type = 'CNAME' AND ( name = replace(?, concat('.', dns_soa.origin), '') or name = ? or name = concat(?,'.',dns_soa.origin) ) AND zone = ? and dns_rr.id != ?)", $this->dataRecord["name"], $this->dataRecord["name"], $this->dataRecord["name"], $this->dataRecord["zone"], $this->id);
if($tmp['number'] > 0) return true;
return false;
}
......
......@@ -79,6 +79,16 @@ class page_action extends tform_actions {
parent::onShowNew();
}
function onShowEdit() {
global $app, $conf;
parent::onShowEdit();
if(isset($this->dataRecord)) {
$app->tform->formDef['title'] = $app->lng('DNS Zone') . ' ' . $this->dataRecord['origin'];
}
}
function onShowEnd() {
global $app, $conf;
......
......@@ -170,7 +170,7 @@ $form["tabs"]['dns'] = array (
)
);
if($_SESSION["s"]["user"]["typ"] == 'admin') {
if($app->auth->is_admin()) {
unset($form["tabs"]['dns']['fields']['data']['validators']);
$form["tabs"]['dns']['fields']['data']['validators'][0]['type'] = 'NOTEMPTY';
$form["tabs"]['dns']['fields']['data']['validators'][0]['errmsg'] = 'data_error_empty';
......
......@@ -3,7 +3,7 @@ $wb['server_id_txt'] = 'Server';
$wb['origin_txt'] = 'DNS Zone';
$wb['ns_txt'] = 'NS';
$wb['active_txt'] = 'Actief';
$wb['limit_dns_slave_zone_txt'] = 'Het max. aan secundary DNS records voor uw account is bereikt.';
$wb['limit_dns_slave_zone_txt'] = 'Het max. aan secundary DNS zones voor uw account is bereikt.';
$wb['client_txt'] = 'Klant';
$wb['xfer_txt'] = 'Sta zone transfers toe naar <br />deze IPs (komma gescheiden waarden)';
$wb['server_id_error_empty'] = 'Geen server geselecteerd';
......@@ -11,7 +11,7 @@ $wb['origin_error_empty'] = 'Zone is niet ingvuld.';
$wb['origin_error_unique'] = 'Er is al een record for deze zone.';
$wb['origin_error_regex'] = 'Zone heeft een ongeldig formaat.';
$wb['ns_error_regex'] = 'NS heeft een ongeldig formaat.';
$wb['eg_domain_tld'] = 'e.g. domain.tld.';
$wb['ipv4_form_txt'] = 'Separate multiple IPs with commas';
$wb['eg_domain_tld'] = 'bijvoorbeeld domein.tld.';
$wb['ipv4_form_txt'] = 'Scheid meerdere IPs met een komma';
$wb['secondary_zone_txt'] = 'Secondary DNS Zone';
?>
......@@ -53,7 +53,9 @@
<div class="clear"><div class="right">
<button class="btn btn-default formbutton-success" type="button" value="{tmpl_var name='btn_save_txt'}" data-submit-form="pageForm" data-form-action="dns/dns_spf_edit.php">{tmpl_var name='btn_save_txt'}</button>
<tmpl_if name="is_admin">
<button class="btn btn-default formbutton-default" type="button" value="{tmpl_var name='btn_edit_as_txt_record_txt'}" data-load-content="dns/dns_txt_edit.php?id={tmpl_var name='id'}&zone={tmpl_var name='zone'}&edit_raw=1">{tmpl_var name='btn_edit_as_txt_record_txt'}</button>
</tmpl_if>
<button class="btn btn-default formbutton-default" type="button" value="{tmpl_var name='btn_cancel_txt'}" data-load-content="dns/dns_soa_edit.php?id={tmpl_var name='zone'}&next_tab=dns_records">{tmpl_var name='btn_cancel_txt'}</button>
</div></div>
......@@ -140,7 +140,7 @@ function process_login_request(app $app, &$error, $conf, $module)
} else {
//* Do 2FA authentication
if($user['otp_type'] != 'none') {
if(isset($user['otp_type']) && $user['otp_type'] != 'none') {
//* Save session in pending state and destroy original session
$_SESSION['s_pending'] = $_SESSION['s'];
......
......@@ -27,18 +27,18 @@ $wb['error_maintenance_mode'] = 'Diese ISPConfig Installation wird gerade gewart
$wb['theme_not_compatible'] = 'Das gewählte Design ist mit dieser ISPConfig Version nicht kompatibel. Bitte prüfen Sie, ob ein Update des Themes verfügbar ist.<br />Es wurde nun automatisch das Standard Design aktiviert.';
$wb['back_txt'] = 'Zur&uuml;ck';
$wb['stay_logged_in_txt'] = 'Dauerhaft eingeloggt bleiben';
$wb['email_error'] = 'Email contains unallowed characters or has a invalid format.';
$wb['email_error'] = 'Die E-Mail-Adresse enthält unzulässige Zeichen oder hat ein ungültiges Format.';
$wb['lost_password_function_disabled_txt'] = 'Die Passwort vergessen Funktion steht für diesen Benutzer nicht zur Verfügung.';
$wb['lost_password_function_wait_txt'] = 'Sie können im Moment kein neues Passwort anfordern. Bitte warten Sie einige Minuten.';
$wb['lost_password_function_expired_txt'] = 'Der Passwortlink ist abgelaufen. Bitte fordern Sie einen neuen an.';
$wb['lost_password_function_denied_txt'] = 'Dieser Passwortlink ist ungültig.';
$wb['otp_code_txt'] = 'Two Factor Authentication';
$wb['otp_code_desc_txt'] = 'Enter the code you got from your authenticator app or via email.';
$wb['otp_code_placeholder_txt'] = 'OTP code';
$wb['otp_code_email_sent_txt'] = 'An email was sent to';
$wb['otp_code_email_subject_txt'] = 'ISPConfig Login authentication';
$wb['otp_code_email_template_txt'] = 'Your One time login code is %s' . PHP_EOL . 'This code is valid for 10 minutes.' . PHP_EOL;
$wb['otp_code_resend_txt'] = 'Request new code';
$wb['otp_code_email_sent_failed_txt'] = 'Failed sending an email to %s';
$wb['otp_code_email_sent_wait_txt'] = 'Please wait, re-sending the code is only possible after %s seconds.';
?>
$wb['otp_code_txt'] = 'Zwei-Faktor-Authentifizierung';
$wb['otp_code_desc_txt'] = 'Geben Sie den Code ein, den Sie von Ihrer Authentifizierungs-App oder per E-Mail erhalten haben.';
$wb['otp_code_placeholder_txt'] = 'OTP Code';
$wb['otp_code_email_sent_txt'] = 'Eine E-Mail wurde versandt an';
$wb['otp_code_email_subject_txt'] = 'ISPConfig Login Authentifizierung';
$wb['otp_code_email_template_txt'] = 'Ihr einmaliger Anmeldecode lautet %s' . PHP_EOL . 'Dieser Code ist 10 Minuten lang gültig.' . PHP_EOL;
$wb['otp_code_resend_txt'] = 'Neuen Code anfordern';
$wb['otp_code_email_sent_failed_txt'] = 'Senden einer E-Mail an %s fehlgeschlagen';
$wb['otp_code_email_sent_wait_txt'] = 'Bitte warten Sie, das erneute Senden des Codes ist erst nach %s Sekunden möglich';
......@@ -7,7 +7,7 @@ $wb['pass_reset_txt'] = 'Een nieuw wachtwoord zal worden gegenereerd en per e-ma
$wb['pw_reset'] = 'Het wachtwoord is gereset en is verzonden naar uw e-mailadres.';
$wb['pw_error'] = 'Gebruikersnaam of e-mailadres komt niet overeen.';
$wb['pw_error_noinput'] = 'Voer a.u.b. een e-mailadres en gebruikersnaam in.';
$wb['pw_reset_error_smtp_connection'] = 'There was a connection problem when trying to send an email pertaining to your password reset request.';
$wb['pw_reset_error_smtp_connection'] = 'Het versturen van een email met uw nieuwe wachtwoord is mislukt.';
$wb['pw_reset_mail_msg'] = 'Het wachtwoord dat toegang biedt tot uw ISPConfig 3 control panel account is gereset. Het nieuwe wachtwoord is: ';
$wb['pw_reset_mail_title'] = 'ISPConfig 3 Control panel wachtwoord is gereset.';
$wb['user_regex_error'] = 'Gebruikersnaam bevat karakters die niet zijn toegestaan of is langer dan 64 karakters.';
......@@ -21,17 +21,17 @@ $wb['login_txt'] = 'Inloggen';
$wb['pw_reset_txt'] = 'Wachtwoord herstellen';
$wb['pw_button_txt'] = 'Wachtwoord versturen';
$wb['email_txt'] = 'Email';
$wb['theme_not_compatible'] = 'The chosen theme is not compatible with the current ISPConfig version. Please check for a new version of the theme.<br />The default theme as been activated automatically.';
$wb['back_txt'] = 'Back';
$wb['email_error'] = 'Email contains unallowed characters or has a invalid format.';
$wb['stay_logged_in_txt'] = 'Keep me logged in';
$wb['lost_password_function_disabled_txt'] = 'The lost password function is not available for this user.';
$wb['pw_reset_act'] = 'You have been sent an activation link. Please visit the link to confirm your password request.';
$wb['pw_reset_act_mail_title'] = 'Confirm ISPConfig 3 Control panel password reset';
$wb['pw_reset_act_mail_msg'] = 'Please confirm that your want to reset your ISPConfig 3 control panel account password by visiting the following activation link: ';
$wb['lost_password_function_wait_txt'] = 'You cannot request a new password, yet. Please wait a few minutes.';
$wb['lost_password_function_expired_txt'] = 'This activation link has expired. Please request a new one.';
$wb['lost_password_function_denied_txt'] = 'This activation link is not valid.';
$wb['theme_not_compatible'] = 'De gekozen vormgeving is niet geschikt voor de huidige ISPConfig versie. Controleer of er een update beschikbaar is.<br />De standaard vormgeving is automatisch geactiveerd.';
$wb['back_txt'] = 'Terug';
$wb['email_error'] = 'Email bevat ongeldige tekens of heeft een vereerde opbouw.';
$wb['stay_logged_in_txt'] = 'Blijf ingelogd';
$wb['lost_password_function_disabled_txt'] = 'De Wachtwoord vergeten functie is niet beschikbaar voor deze gebruiker.';
$wb['pw_reset_act'] = 'Er is een wachtwoord reset link verstuurd. Volg de link in die mail om uw verzoek te bevestigen.';
$wb['pw_reset_act_mail_title'] = 'ISPConfig 3 Control panel wachtwoord herstel';
$wb['pw_reset_act_mail_msg'] = 'Er is een nieuw wachtwoord aangevraag voor uw account. Bevestig via de volgende link dat dit de bedoeling is. Als u dit niet was kunt u dit beter niet doen. ';
$wb['lost_password_function_wait_txt'] = 'U kunt op dit moment geen nieuw wachtwoord aanvragen, probeer het later nog eens.';
$wb['lost_password_function_expired_txt'] = 'De wachtwoordherstel link is verlopen. U kunt een nieuwe aanvragen.';
$wb['lost_password_function_denied_txt'] = 'Deze link is niet (meer) geldig.';
$wb['otp_code_txt'] = 'Twee-factor authenticatie';
$wb['otp_code_desc_txt'] = 'Enter the code you got from your authenticator app or via email.';
$wb['otp_code_placeholder_txt'] = 'OTP code';
......@@ -41,4 +41,5 @@ $wb['otp_code_email_template_txt'] = 'Uw eenmalige login code is %s' . PHP_EOL .
$wb['otp_code_resend_txt'] = 'Aanvragen nieuwe code';
$wb['otp_code_email_sent_failed_txt'] = 'Verzenden van email naar %s is mislukt.';
$wb['otp_code_email_sent_wait_txt'] = 'Please wait, re-sending the code is only possible after %s seconds.';
?>
......@@ -157,13 +157,22 @@ if($_SESSION['otp']['type'] == 'email') {
$app->ispcmail->setOptions($mail_config);
}
$clientuser = $app->db->queryOneRecord('SELECT email FROM sys_user u LEFT JOIN client c ON (u.client_id=c.client_id) WHERE u.userid = ?', $_SESSION['s_pending']['user']['userid']);
if (!empty($clientuser['email'])) {
$email_to = $clientuser['email'];
$sys_user = $app->db->queryOneRecord('SELECT otp_data FROM sys_user WHERE userid = ?', $_SESSION['s_pending']['user']['userid']);
$data = json_decode($sys_user['otp_data'], TRUE);
if (!empty($data['otp_email_override'] )) {
// Handle otp_email_override.
$email_to = $data['otp_email_override'];
}
else {
// Admin users are not related to a client, thus use the globally configured email address.
$email_to = $mail_config['admin_mail'];
$clientuser = $app->db->queryOneRecord('SELECT email FROM sys_user u LEFT JOIN client c ON (u.client_id=c.client_id) WHERE u.userid = ?', $_SESSION['s_pending']['user']['userid']);
if (!empty($clientuser['email'])) {
$email_to = $clientuser['email'];
}
else {
// Admin users are not related to a client, thus use the globally configured email address.
$email_to = $mail_config['admin_mail'];
}
}
$app->ispcmail->setSender($mail_config['admin_mail'], $mail_config['admin_name']);
......
......@@ -103,6 +103,10 @@ $form["tabs"]['mailinglist'] = array (
'errmsg'=> 'listname_error_empty'),
1 => array ( 'type' => 'UNIQUE',
'errmsg'=> 'listname_error_unique'),
2 => array (
'type' => 'REGEX',
'regex' => '/^[_a-z0-9][\w\.\-_\+@]{1,255}$/',
'errmsg'=> 'listname_error_regex'),
),
'filters' => array(
0 => array( 'event' => 'SAVE',
......
......@@ -166,7 +166,7 @@ $form["tabs"]['mailuser'] = array(
'regex' => '/^([0-9]{1,})$/',
'errmsg'=> 'quota_error_value'),
),
'default' => '-1',
'default' => '0',
'value' => '',
'width' => '30',
'maxlength' => '255'
......