Commit 650935ef authored by Michael Seevogel's avatar Michael Seevogel
Browse files

Merge branch 'develop' of https://git.ispconfig.org/ispconfig/ispconfig3 into 6373-el9x-support

parents a48f1e78 46620461
......@@ -43,6 +43,7 @@ $conf['init_scripts'] = '/etc/init.d';
$conf['runlevel'] = '/etc';
$conf['shells'] = '/etc/shells';
$conf['pam'] = '/etc/pam.d';
$conf['default_php'] = "5.4";
//* Services provided by this server, this selection will be overridden by the expert mode
$conf['services']['mail'] = true;
......
......@@ -43,6 +43,7 @@ $conf['init_scripts'] = '/etc/init.d';
$conf['runlevel'] = '/etc';
$conf['shells'] = '/etc/shells';
$conf['pam'] = '/etc/pam.d';
$conf['default_php'] = "5.4";
//* Services provided by this server, this selection will be overridden by the expert mode
$conf['services']['mail'] = true;
......
......@@ -43,6 +43,7 @@ $conf['init_scripts'] = '/etc/init.d';
$conf['runlevel'] = '/etc';
$conf['shells'] = '/etc/shells';
$conf['pam'] = '/etc/pam.d';
$conf['default_php'] = "7.2";
//* Services provided by this server, this selection will be overridden by the expert mode
$conf['services']['mail'] = true;
......
......@@ -43,6 +43,7 @@ $conf['init_scripts'] = '/etc/init.d';
$conf['runlevel'] = '/etc';
$conf['shells'] = '/etc/shells';
$conf['pam'] = '/etc/pam.d';
$conf['default_php'] = "7.3";
//* Services provided by this server, this selection will be overridden by the expert mode
$conf['services']['mail'] = true;
......
......@@ -43,6 +43,7 @@ $conf['init_scripts'] = '/etc/init.d';
$conf['runlevel'] = '/etc';
$conf['shells'] = '/etc/shells';
$conf['pam'] = '/etc/pam.d';
$conf['default_php'] = "7.4";
//* Services provided by this server, this selection will be overridden by the expert mode
$conf['services']['mail'] = true;
......
......@@ -43,6 +43,7 @@ $conf['init_scripts'] = '/etc/init.d';
$conf['runlevel'] = '/etc';
$conf['shells'] = '/etc/shells';
$conf['pam'] = '/etc/pam.d';
$conf['default_php'] = "7.0";
//* Services provided by this server, this selection will be overridden by the expert mode
$conf['services']['mail'] = true;
......
......@@ -32,7 +32,7 @@ EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
//* Main
$conf['language'] = 'en';
$conf['distname'] = 'debian110';
$conf['distname'] = 'debian120';
$conf['hostname'] = 'server1.domain.tld'; // Full hostname
$conf['ispconfig_install_dir'] = '/usr/local/ispconfig';
$conf['ispconfig_config_dir'] = '/usr/local/ispconfig';
......@@ -43,6 +43,7 @@ $conf['init_scripts'] = '/etc/init.d';
$conf['runlevel'] = '/etc';
$conf['shells'] = '/etc/shells';
$conf['pam'] = '/etc/pam.d';
$conf['default_php'] = "8.1";
//* Services provided by this server, this selection will be overridden by the expert mode
$conf['services']['mail'] = true;
......
......@@ -43,6 +43,7 @@ $conf['init_scripts'] = '/etc/init.d';
$conf['runlevel'] = '/etc';
$conf['shells'] = '/etc/shells';
$conf['pam'] = '/etc/pam.d';
$conf['default_php'] = "7.0";
//* Services provided by this server, this selection will be overridden by the expert mode
$conf['services']['mail'] = true;
......
......@@ -43,6 +43,7 @@ $conf['init_scripts'] = '/etc/init.d';
$conf['runlevel'] = '/etc';
$conf['shells'] = '/etc/shells';
$conf['pam'] = '/etc/pam.d';
$conf['default_php'] = "7.2";
//* Services provided by this server, this selection will be overridden by the expert mode
$conf['services']['mail'] = true;
......
......@@ -43,6 +43,7 @@ $conf['init_scripts'] = '/etc/init.d';
$conf['runlevel'] = '/etc';
$conf['shells'] = '/etc/shells';
$conf['pam'] = '/etc/pam.d';
$conf['default_php'] = "7.4";
//* Services provided by this server, this selection will be overridden by the expert mode
$conf['services']['mail'] = true;
......
......@@ -246,10 +246,15 @@ class installer_base {
//** Check prerequisites
public function check_prerequisites() {
global $conf;
$msg = '';
if(version_compare(phpversion(), '5.4', '<')) $msg .= "PHP Version 5.4 or newer is required. The currently used PHP version is ".phpversion().".\n";
if(version_compare(phpversion(), '8.2', '>=')) $msg .= "PHP Version 8.2+ is not supported yet. Change PHP version back to the default version of the OS. The currently used PHP version is ".phpversion().".\n";
if ($conf['default_php'] != '') {
if(version_compare(phpversion('tidy'), $conf['default_php'], '==')) $msg .= "Your PHP version is not the OS default. Change the PHP version back to the default version of the OS. The currently used PHP version is " . phpversion() . "The default version for your OS is PHP " . $conf['default_php'] . ".\n";
}
if(version_compare(phpversion(), '5.4', '<')) $msg .= "PHP Version 5.4 or newer is required. The currently used PHP version is " . phpversion() . ".\n";
//if(version_compare(phpversion(), '8.2', '>=')) $msg .= "PHP Version 8.2+ is not supported yet. Change the PHP version back to the default version of the OS. The currently used PHP version is " . phpversion() . ".\n";
if(!function_exists('curl_init')) $msg .= "PHP Curl Module is missing.\n";
if(!function_exists('mysqli_connect')) $msg .= "PHP MySQLi Module is nmissing.\n";
if(!function_exists('mb_detect_encoding')) $msg .= "PHP Multibyte Module (MB) is missing.\n";
......@@ -1068,6 +1073,14 @@ class installer_base {
return true;
}
public function get_postfix_version() {
//* Get postfix version
exec('postconf -d mail_version 2>&1', $out);
$postfix_version = preg_replace('/.*=\s*/', '', $out[0]);
unset($out);
return $postfix_version;
}
public function configure_postfix($options = '') {
global $conf,$autoinstall;
$cf = $conf['postfix'];
......@@ -1077,10 +1090,7 @@ class installer_base {
$this->error("The postfix configuration directory '$config_dir' does not exist.");
}
//* Get postfix version
exec('postconf -d mail_version 2>&1', $out);
$postfix_version = preg_replace('/.*=\s*/', '', $out[0]);
unset($out);
$postfix_version = $this->get_postfix_version();
//* Install virtual mappings
foreach (glob('tpl/mysql-virtual_*.master') as $filename) {
......@@ -1479,8 +1489,7 @@ class installer_base {
$config_dir = $conf['postfix']['config_dir'];
$quoted_config_dir = preg_quote($config_dir, '|');
$postfix_version = `postconf -d mail_version 2>/dev/null`;
$postfix_version = preg_replace( '/mail_version\s*=\s*(.*)\s*/', '$1', $postfix_version );
$postfix_version = $this->get_postfix_version();
//* Configure master.cf and add a line for deliver
if(!$this->get_postfix_service('dovecot', 'unix')) {
......@@ -1722,6 +1731,7 @@ class installer_base {
break;
}
}
$postfix_version = $this->get_postfix_version();
# postfix < 3.3 needs this when using reject_unverified_recipient:
if(version_compare($postfix_version, 3.3, '<')) {
$postconf_commands[] = "enable_original_recipient = yes";
......
......@@ -369,7 +369,7 @@ $conf['services']['db'] = check_service_config_state('db_server', true); /* Will
unset($current_svc_config);
//** Write new decisions into DB
$sql = "UPDATE ?? SET mail_server = '{$conf['services']['mail']}', web_server = '{$conf['services']['web']}', dns_server = '{$conf['services']['dns']}', file_server = '{$conf['services']['file']}', db_server = '{$conf['services']['db']}', vserver_server = '{$conf['services']['vserver']}', proxy_server = '{$conf['services']['proxy']}', firewall_server = '$firewall_server_enabled', xmpp_server = '$xmpp_server_enabled' WHERE server_id = ?";
$sql = "UPDATE ?? SET mail_server = '{$conf['services']['mail']}', web_server = '{$conf['services']['web']}', dns_server = '{$conf['services']['dns']}', file_server = '{$conf['services']['file']}', db_server = '{$conf['services']['db']}', vserver_server = '{$conf['services']['vserver']}', proxy_server = '{$conf['services']['proxy']}', firewall_server = '{$conf['services']['firewall']}', xmpp_server = '{$conf['services']['xmpp']}' WHERE server_id = ?";
$inst->db->query($sql, $conf['mysql']['database'].'.server', $conf['server_id']);
if($conf['mysql']['master_slave_setup'] == 'y') {
$inst->dbmaster->query($sql, $conf['mysql']['master_database'].'.server', $conf['server_id']);
......
......@@ -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"]) {
......
......@@ -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"]) {
......
......@@ -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;
......
......@@ -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';
?>
......@@ -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.';
?>
......@@ -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',
......
......@@ -2,6 +2,7 @@
$wb['limit_mailmailinglist_txt'] = 'Limit reached';
$wb['domain_error_empty'] = 'Domain is empty.';
$wb['listname_error_empty'] = 'Listname is empty.';
$wb['listname_error_regex'] = 'The list name is invalid. The minimum length is 2 characters (allowed are: [a-z 1-9 - _]).';
$wb['domain_error_regex'] = 'Invalid domain name.';
$wb['email_in_use_txt'] = 'Email is in use';
$wb['no_domain_perm'] = 'You have no permission for this domain.';
......
Supports Markdown
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment