Skip to content

Commit df0048b

Browse files
author
Marius Burkard
committed
Merge branch 'stable-3.1'
2 parents 4edb433 + a632b0b commit df0048b

File tree

22 files changed

+131
-97
lines changed

22 files changed

+131
-97
lines changed

install/lib/installer_base.lib.php

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -186,7 +186,7 @@ public function find_installed_apps() {
186186
$conf['vlogger']['installed'] = true;
187187
if(is_installed('cron') || is_installed('anacron')) $conf['cron']['installed'] = true;
188188

189-
if ($conf['services']['web'] && (($conf['apache']['installed'] && is_file($conf['apache']["vhost_conf_enabled_dir"]."/000-ispconfig.vhost")) || ($conf['nginx']['installed'] && is_file($conf['nginx']["vhost_conf_enabled_dir"]."/000-ispconfig.vhost")))) $this->ispconfig_interface_installed = true;
189+
if (($conf['apache']['installed'] && is_file($conf['apache']["vhost_conf_enabled_dir"]."/000-ispconfig.vhost")) || ($conf['nginx']['installed'] && is_file($conf['nginx']["vhost_conf_enabled_dir"]."/000-ispconfig.vhost"))) $this->ispconfig_interface_installed = true;
190190
}
191191

192192
public function force_configure_app($service, $enable_force=true) {
@@ -2418,9 +2418,9 @@ public function install_ispconfig() {
24182418
$vserver_server_enabled = ($conf['openvz']['installed'])?1:0;
24192419
$proxy_server_enabled = ($conf['services']['proxy'])?1:0;
24202420
$firewall_server_enabled = ($conf['services']['firewall'])?1:0;
2421-
$xmpp_server_enabled = ($conf['services']['xmpp'])?1:0;
2421+
$xmpp_server_enabled = ($conf['services']['xmpp'])?1:0;
24222422

2423-
$sql = "UPDATE `server` SET mail_server = '$mail_server_enabled', web_server = '$web_server_enabled', dns_server = '$dns_server_enabled', file_server = '$file_server_enabled', db_server = '$db_server_enabled', vserver_server = '$vserver_server_enabled', proxy_server = '$proxy_server_enabled', firewall_server = '$firewall_server_enabled', xmpp_server = '.$xmpp_server_enabled.' WHERE server_id = ?";
2423+
$sql = "UPDATE `server` SET mail_server = '$mail_server_enabled', web_server = '$web_server_enabled', dns_server = '$dns_server_enabled', file_server = '$file_server_enabled', db_server = '$db_server_enabled', vserver_server = '$vserver_server_enabled', proxy_server = '$proxy_server_enabled', firewall_server = '$firewall_server_enabled', xmpp_server = '$xmpp_server_enabled' WHERE server_id = ?";
24242424

24252425
$this->db->query($sql, $conf['server_id']);
24262426
if($conf['mysql']['master_slave_setup'] == 'y') {

install/lib/update.lib.php

Lines changed: 9 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -429,10 +429,17 @@ function check_service_config_state($servicename, $detected_value) {
429429

430430
if ($current_svc_config[$servicename] == 1) $current_state = 1;
431431
else $current_state = 0;
432+
433+
if ($detected_value) $detected_value = 1;
434+
else $detected_value = 0;
432435

433436
if ($detected_value != $current_state) {
434-
if ($inst->simple_query('Service \''.$servicename.'\' '.($detected_value ? 'has been' : 'has not been').' detected ('.($current_state ? 'strongly recommended, currently enabled' : 'currently disabled').') do you want to '.($detected_value ? 'enable and configure' : 'disable').' it? ', array('yes', 'no'), ($current_state ? 'yes' : 'no'), 'svc_detect_change_'.$servicename) == 'yes') return $detected_value;
435-
else return $current_state;
437+
$answer = $inst->simple_query('Service \''.$servicename.'\' '.($detected_value ? 'has been' : 'has not been').' detected ('.($current_state ? 'strongly recommended, currently enabled' : 'currently disabled').') do you want to '.($detected_value ? 'enable and configure' : 'disable').' it? ', array('yes', 'no'), ($current_state ? 'yes' : 'no'), 'svc_detect_change_'.$servicename);
438+
if ($answer == 'yes') return $detected_value;
439+
else {
440+
if ($servicename == 'web_server') echo "\033[0;33mWARNING: If ISPConfig-Interface (Webfrontend) is installed on this Server we will configure the Web Server anyways but will not enable it in ISPConfig.\033[0m\n\n";
441+
return $current_state;
442+
}
436443
} else return $current_state;
437444
}
438445

install/update.php

Lines changed: 36 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -287,6 +287,11 @@
287287
*/
288288
updateDbAndIni();
289289

290+
//** read server config from db into $conf['server_config']
291+
$tmp = $inst->db->queryOneRecord("SELECT config FROM ?? WHERE server_id = ?", $conf["mysql"]["database"] . '.server', $conf['server_id']);
292+
$conf['server_config'] = ini_to_array(stripslashes($tmp['config']));
293+
unset($tmp);
294+
290295
/*
291296
* Reconfigure the permisson if needed
292297
* (if this is done at client side, only this client is updated.
@@ -307,16 +312,29 @@
307312
//** Check for current service config state and compare to our results
308313
if ($conf['mysql']['master_slave_setup'] == 'y') $current_svc_config = $inst->dbmaster->queryOneRecord("SELECT mail_server,web_server,dns_server,xmpp_server,firewall_server,vserver_server,db_server FROM ?? WHERE server_id=?", $conf['mysql']['master_database'] . '.server', $conf['server_id']);
309314
else $current_svc_config = $inst->db->queryOneRecord("SELECT mail_server,web_server,dns_server,xmpp_server,firewall_server,vserver_server,db_server FROM ?? WHERE server_id=?", $conf["mysql"]["database"] . '.server', $conf['server_id']);
310-
$conf['postfix']['installed'] = check_service_config_state('mail_server', $conf['postfix']['installed']);
315+
$conf['services']['mail'] = check_service_config_state('mail_server', $conf['postfix']['installed']);
311316
$conf['services']['dns'] = check_service_config_state('dns_server', ($conf['powerdns']['installed'] || $conf['bind']['installed'] || $conf['mydns']['installed']));
312317
$conf['services']['web'] = check_service_config_state('web_server', ($conf['apache']['installed'] || $conf['nginx']['installed']));
313318
$conf['services']['xmpp'] = check_service_config_state('xmpp_server', $conf['xmpp']['installed']);
314319
$conf['services']['firewall'] = check_service_config_state('firewall_server', ($conf['ufw']['installed'] || $conf['firewall']['installed']));
315320
$conf['services']['vserver'] = check_service_config_state('vserver_server', $conf['services']['vserver']);
316-
//** vv is this intended??? If you want to check adapt the lines above... vv
317-
$conf['services']['db'] = true;
321+
$conf['services']['db'] = check_service_config_state('db_server', true); /* Will always offer as MySQL is of course installed on this host as it's a requirement for ISPC to work... */
318322
unset($current_svc_config);
319323

324+
//** Write new decisions into DB
325+
$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 = ?";
326+
$inst->db->query($sql, $conf['mysql']['database'].'.server', $conf['server_id']);
327+
if($conf['mysql']['master_slave_setup'] == 'y') {
328+
$inst->dbmaster->query($sql, $conf['mysql']['master_database'].'.server', $conf['server_id']);
329+
}
330+
331+
//** Is the ISPConfg Panel installed on this host? This might partially override user's preferences later.
332+
if($conf['apache']['installed'] == true){
333+
if(!is_file($conf['apache']['vhost_conf_dir'].'/ispconfig.vhost')) $inst->install_ispconfig_interface = false;
334+
}
335+
if($conf['nginx']['installed'] == true){
336+
if(!is_file($conf['nginx']['vhost_conf_dir'].'/ispconfig.vhost')) $inst->install_ispconfig_interface = false;
337+
}
320338

321339
//** Shall the services be reconfigured during update
322340
$reconfigure_services_answer = $inst->simple_query('Reconfigure Services?', array('yes', 'no', 'selected'), 'yes','reconfigure_services');
@@ -398,7 +416,7 @@
398416
}
399417
}
400418

401-
if($conf['services']['web']) {
419+
if($conf['services']['web'] || $inst->install_ispconfig_interface) {
402420

403421
if($conf['pureftpd']['installed'] == true && $inst->reconfigure_app('Pureftpd', $reconfigure_services_answer)) {
404422
//** Configure Pureftpd
@@ -421,19 +439,21 @@
421439
$inst->configure_nginx();
422440
}
423441

424-
//** Configure apps vhost
425-
swriteln('Configuring Apps vhost');
426-
$inst->configure_apps_vhost();
427-
}
442+
if ($conf['server_config']['web']['apps_vhost_enabled'] == 'y') {
443+
//** Configure apps vhost
444+
swriteln('Configuring Apps vhost');
445+
$inst->configure_apps_vhost();
446+
} else swriteln('Skipping config of Apps vhost');
447+
}
428448

429-
//* Configure Jailkit
430-
if($inst->reconfigure_app('Jailkit', $reconfigure_services_answer)) {
431-
swriteln('Configuring Jailkit');
432-
$inst->configure_jailkit();
433-
}
434-
449+
//* Configure Jailkit
450+
if($inst->reconfigure_app('Jailkit', $reconfigure_services_answer)) {
451+
swriteln('Configuring Jailkit');
452+
$inst->configure_jailkit();
435453
}
436454

455+
}
456+
437457
if($conf['services']['xmpp'] && $inst->reconfigure_app('XMPP', $reconfigure_services_answer)) {
438458
//** Configure Metronome XMPP
439459
$inst->configure_xmpp('dont-create-certs');
@@ -469,14 +489,8 @@
469489

470490
//** Configure ISPConfig
471491
swriteln('Updating ISPConfig');
472-
if($conf['apache']['installed'] == true){
473-
if(!is_file($conf['apache']['vhost_conf_dir'].'/ispconfig.vhost')) $inst->install_ispconfig_interface = false;
474-
}
475-
if($conf['nginx']['installed'] == true){
476-
if(!is_file($conf['nginx']['vhost_conf_dir'].'/ispconfig.vhost')) $inst->install_ispconfig_interface = false;
477-
}
478492

479-
if ($conf['services']['web'] && $inst->install_ispconfig_interface) {
493+
if ($inst->install_ispconfig_interface) {
480494
//** Customise the port ISPConfig runs on
481495
$ispconfig_port_number = get_ispconfig_port_number();
482496
if($autoupdate['ispconfig_port'] == 'default') $autoupdate['ispconfig_port'] = $ispconfig_port_number;
@@ -524,7 +538,7 @@
524538
if($conf['dovecot']['installed'] == true && $conf['dovecot']['init_script'] != '') system($inst->getinitcommand($conf['dovecot']['init_script'], 'restart'));
525539
if($conf['mailman']['installed'] == true && $conf['mailman']['init_script'] != '') system('nohup '.$inst->getinitcommand($conf['mailman']['init_script'], 'restart').' >/dev/null 2>&1 &');
526540
}
527-
if($conf['services']['web']) {
541+
if($conf['services']['web'] || $inst->install_ispconfig_interface) {
528542
if($conf['webserver']['server_type'] == 'apache' && $conf['apache']['init_script'] != '') system($inst->getinitcommand($conf['apache']['init_script'], 'restart'));
529543
//* Reload is enough for nginx
530544
if($conf['webserver']['server_type'] == 'nginx'){

interface/lib/classes/system.inc.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -37,7 +37,7 @@ public function has_service($userid, $service) {
3737

3838
if(!preg_match('/^[a-z]+$/', $service)) $app->error('Invalid service '.$service);
3939

40-
if($userid == 1) return true; //* We do not check admin-users
40+
if(isset($_SESSION['s']['user']) && $_SESSION['s']['user']['typ'] == 'admin') return true; //* We do not check admin-users
4141

4242
// simple query cache
4343
if($this->client_service===null)

interface/lib/classes/tools_monitor.inc.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -146,7 +146,7 @@ function showDatabaseSize () {
146146
$line['client'] = $tmp['username'];
147147

148148
//* get the domain
149-
$tmp = $app->db->queryOneRecord("SELECT domain FROM web_domain WHERE domain_id=(SELECT parent_domain_id FROM web_database WHERE database_name=?", $line['database_name']);
149+
$tmp = $app->db->queryOneRecord("SELECT domain FROM web_domain WHERE domain_id=(SELECT parent_domain_id FROM web_database WHERE database_name=?)", $line['database_name']);
150150
$line['domain'] = $tmp['domain'];
151151

152152
//* remove the sys_groupid from output

interface/web/admin/form/server_php.tform.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -89,7 +89,7 @@
8989
'formtype' => 'SELECT',
9090
'default' => '',
9191
'datasource' => array ( 'type' => 'SQL',
92-
'querystring' => 'SELECT server_id,server_name FROM server WHERE {AUTHSQL} ORDER BY server_name',
92+
'querystring' => 'SELECT server_id,server_name FROM server WHERE mirror_server_id = 0 AND {AUTHSQL} ORDER BY server_name',
9393
'keyfield'=> 'server_id',
9494
'valuefield'=> 'server_name'
9595
),

interface/web/admin/templates/server_config_web_edit.htm

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -179,10 +179,10 @@ <h4 class="panel-title">
179179
</div>
180180
<div class="form-group">
181181
<label for="CA_path" class="col-sm-3 control-label">{tmpl_var name='CA_path_txt'}</label>
182-
<div class="col-sm-9"><input type="text" name="CA_path" id="CA_path" value="{tmpl_var name='CA_path'}" autocomplete="off" class="form-control" /></div></div>
182+
<div class="col-sm-9"><input type="text" name="CA_path" id="CA_path" value="{tmpl_var name='CA_path'}" autocomplete="new-password" class="form-control" /></div></div>
183183
<div class="form-group">
184184
<label for="CA_pass" class="col-sm-3 control-label">{tmpl_var name='CA_pass_txt'}</label>
185-
<div class="col-sm-9"><input type="password" name="CA_pass" id="CA_pass" value="{tmpl_var name='CA_pass'}" autocomplete="off" class="form-control" /></div></div>
185+
<div class="col-sm-9"><input type="password" name="CA_pass" id="CA_pass" value="{tmpl_var name='CA_pass'}" autocomplete="new-password" class="form-control" /></div></div>
186186
<!-- End content -->
187187
</div>
188188
</div>

interface/web/client/client_edit.php

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -204,9 +204,12 @@ function onShowEnd() {
204204
$reseller = $app->db->queryOneRecord("SELECT client.client_id, client.customer_no_template, client.customer_no_counter, client.customer_no_start FROM sys_group,client WHERE client.client_id = sys_group.client_id and sys_group.groupid = ?", $client_group_id);
205205

206206
if($reseller['customer_no_template'] != '') {
207-
//* Set customer no default
208-
$customer_no = $app->functions->intval($reseller['customer_no_start']+$reseller['customer_no_counter']);
209-
$customer_no_string = str_replace(array('[CUSTOMER_NO]','[CLIENTID]'),array($customer_no, $reseller['client_id']),$reseller['customer_no_template']);
207+
if(isset($this->dataRecord['customer_no'])&& $this->dataRecord['customer_no']!='') $customer_no_string = $this->dataRecord['customer_no'];
208+
else {
209+
//* Set customer no default
210+
$customer_no = $app->functions->intval($reseller['customer_no_start']+$reseller['customer_no_counter']);
211+
$customer_no_string = str_replace(array('[CUSTOMER_NO]','[CLIENTID]'),array($customer_no, $reseller['client_id']),$reseller['customer_no_template']);
212+
}
210213
$app->tpl->setVar('customer_no',$customer_no_string);
211214
}
212215
}

interface/web/client/domain_edit.php

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -85,10 +85,10 @@ function onShowEnd() {
8585
$clients = $app->db->queryAllRecords($sql);
8686
$client_select = '';
8787
if($_SESSION["s"]["user"]["typ"] == 'admin') $client_select .= "<option value='0'></option>";
88-
$tmp_data_record = $app->tform->getDataRecord($this->id);
88+
if($this->id > 0) $tmp_data_record = $app->tform->getDataRecord($this->id); else $tmp_data_record = $this->dataRecord;
8989
if(is_array($clients)) {
9090
foreach( $clients as $client) {
91-
$selected = ($client["groupid"] == $tmp_data_record["sys_groupid"])?'SELECTED':'';
91+
$selected = ($client["groupid"] == $tmp_data_record["sys_groupid"] || $client["groupid"] == $tmp_data_record["client_group_id"])?'SELECTED':'';
9292
$client_select .= "<option value='$client[groupid]' $selected>$client[contactname]</option>\r\n";
9393
}
9494
}

interface/web/dns/templates/dns_dmarc_edit.htm

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -49,7 +49,7 @@ <h1><tmpl_var name="list_head_txt"></h1>
4949
</div>
5050
</div>
5151
<div class="form-group">
52-
<label class="col-sm-2 control-label"></label>
52+
<label class="col-sm-2 control-label control-label-plain"></label>
5353
<div class="col-sm-1">
5454
<input type="checkbox" value="1" id="dmarc_fo0" name="dmarc_fo0" {tmpl_var name='dmarc_fo1'}/>
5555
</div>
@@ -58,7 +58,7 @@ <h1><tmpl_var name="list_head_txt"></h1>
5858
</div>
5959
</div>
6060
<div class="form-group">
61-
<label class="col-sm-2 control-label"></label>
61+
<label class="col-sm-2 control-label control-label-plain"></label>
6262
<div class="col-sm-1">
6363
<input type="checkbox" value="1" id="dmarc_fod" name="dmarc_fod" {tmpl_var name='dmarc_fod'}/>
6464
</div>
@@ -67,7 +67,7 @@ <h1><tmpl_var name="list_head_txt"></h1>
6767
</div>
6868
</div>
6969
<div class="form-group">
70-
<label class="col-sm-2 control-label"></label>
70+
<label class="col-sm-2 control-label control-label-plain"></label>
7171
<div class="col-sm-1">
7272
<input type="checkbox" value="1" id="dmarc_fos" name="dmarc_fos" {tmpl_var name='dmarc_fos'}/>
7373
</div>
@@ -104,7 +104,7 @@ <h1><tmpl_var name="list_head_txt"></h1>
104104
</div>
105105
</div>
106106
<div class="form-group">
107-
<label class="col-sm-2 control-label">{tmpl_var name='dmarc_rf_iodef'}</label>
107+
<label class="col-sm-2 control-label control-label-plain">{tmpl_var name='dmarc_rf_iodef'}</label>
108108
<div class="col-sm-1">
109109
<input type="checkbox" value="1" id="dmarc_rf_iodef" name="dmarc_rf_iodef" {tmpl_var name='dmarc_rf_iodef'}/>
110110
</div>

0 commit comments

Comments
 (0)