diff --git a/install/tpl/system.ini.master b/install/tpl/system.ini.master index 27fd08b12f6b59851e862201d518cd7487a32d24..f72bf4d44d3d2a4940a5b2db7edaccc673ce1223 100644 --- a/install/tpl/system.ini.master +++ b/install/tpl/system.ini.master @@ -34,3 +34,4 @@ dashboard_atom_url_admin=http://www.ispconfig.org/atom dashboard_atom_url_reseller=http://www.ispconfig.org/atom dashboard_atom_url_client=http://www.ispconfig.org/atom monitor_key= +maintenance_mode=n diff --git a/interface/lib/classes/remoting.inc.php b/interface/lib/classes/remoting.inc.php index 9f88cfc0fdd1c88a2c6ae7bd62c4a15ce4ddedad..12b9c7e46145376eba7faee0ce7801182340d6a3 100644 --- a/interface/lib/classes/remoting.inc.php +++ b/interface/lib/classes/remoting.inc.php @@ -67,13 +67,21 @@ class remoting { { global $app, $conf, $server; + // Maintenance mode + $app->uses('ini_parser,getconf'); + $server_config_array = $app->getconf->get_global_config('misc'); + if($server_config_array['maintenance_mode'] == 'y'){ + $this->server->fault('maintenance_mode', 'This ISPConfig installation is currently under maintenance. We should be back shortly. Thank you for your patience.'); + return false; + } + if(empty($username)) { - $this->server->fault('login_username_empty', 'The login username is empty'); + $this->server->fault('login_username_empty', 'The login username is empty.'); return false; } if(empty($password)) { - $this->server->fault('login_password_empty', 'The login password is empty'); + $this->server->fault('login_password_empty', 'The login password is empty.'); return false; } diff --git a/interface/web/admin/form/system_config.tform.php b/interface/web/admin/form/system_config.tform.php index f8e0fbb88b68afef76a8625e80a2a9ca124041c0..121bca60102178714f09df50ea242ea867a3e19e 100644 --- a/interface/web/admin/form/system_config.tform.php +++ b/interface/web/admin/form/system_config.tform.php @@ -284,6 +284,12 @@ $form["tabs"]['misc'] = array ( 'default' => '', 'value' => '' ), + 'maintenance_mode' => array ( + 'datatype' => 'VARCHAR', + 'formtype' => 'CHECKBOX', + 'default' => 'n', + 'value' => array(0 => 'n',1 => 'y') + ), ################################## # ENDE Datatable fields ################################## diff --git a/interface/web/admin/lib/lang/de_system_config.lng b/interface/web/admin/lib/lang/de_system_config.lng index b813410ddcca1c950a1ed2695801d82c5c5bf2d5..a0e90505905f6b6c567f4caececa3f3d360c841f 100644 --- a/interface/web/admin/lib/lang/de_system_config.lng +++ b/interface/web/admin/lib/lang/de_system_config.lng @@ -15,16 +15,17 @@ $wb['phpmyadmin_url_txt'] = 'PHPMyAdmin URL'; $wb['dashboard_atom_url_admin_txt'] = 'Dashboard atom feed URL (admin)'; $wb['dashboard_atom_url_reseller_txt'] = 'Dashboard atom feed URL (reseller)'; $wb['dashboard_atom_url_client_txt'] = 'Dashboard atom feed URL (client)'; -$wb['webdavuser_prefix_txt'] = 'Webdav user prefix'; -$wb['webdavuser_prefix_error_regex'] = 'Char not allowed in webdav user prefix.'; -$wb['use_domain_module_txt'] = 'Use the domain-module to add new domains'; -$wb['use_domain_module_hint'] = 'If you use this module, your customers can only select one of the domains the admin creates for them. They cannot free edit the domain-field.You have to re-login after changing this value, to make the changes visible.'; -$wb['new_domain_txt'] = 'HTML to create a new domain'; +$wb['webdavuser_prefix_txt'] = 'Webdav-User-Präfix'; +$wb['webdavuser_prefix_error_regex'] = 'Zeichen nicht zulässig im WebDAV-User-Präfix.'; +$wb['use_domain_module_txt'] = 'Das Domain-Modul benutzen, um neue Domains hinzuzufügen'; +$wb['use_domain_module_hint'] = 'Falls Sie dieses Modul benutzen, können Ihre Kunden nur eine der Domains auswählen, die der Admin für sie angelegt hat. Die Kunden können das Domain-Feld nicht frei editieren. Sie müssen sich neu einloggen, wenn Sie diesen Wert ändern.'; +$wb['new_domain_txt'] = 'HTML zum Anlegen einer neuen Domain'; $wb['webftp_url_txt'] = 'WebFTP URL'; $wb['enable_custom_login_txt'] = 'Abweichenden Login-Namen erlauben'; -$wb['mailmailinglist_link_txt'] = 'Link to mailing list in Mailing list list'; -$wb['mailmailinglist_url_txt'] = 'Mailing list URL'; -$wb['admin_mail_txt'] = 'Administrators e-mail'; -$wb['monitor_key_txt'] = 'Monitor keyword'; -$wb['admin_name_txt'] = 'Administrators name'; +$wb['mailmailinglist_link_txt'] = 'Link zur Mailingliste in der Mailinglisten-Übersicht'; +$wb['mailmailinglist_url_txt'] = 'Mailinglisten-URL'; +$wb['admin_mail_txt'] = 'Administrator Email'; +$wb['monitor_key_txt'] = 'Monitor-Passwort'; +$wb['admin_name_txt'] = 'Name des Administrators'; +$wb['maintenance_mode_txt'] = 'Wartungsmodus'; ?> diff --git a/interface/web/admin/lib/lang/en_system_config.lng b/interface/web/admin/lib/lang/en_system_config.lng index 0e7de26ebb7f3327085c9b3465e3833088445c8d..bf457567612fdc60d7ad926d4488c72c6c409a2f 100644 --- a/interface/web/admin/lib/lang/en_system_config.lng +++ b/interface/web/admin/lib/lang/en_system_config.lng @@ -21,10 +21,11 @@ $wb["mailmailinglist_link_txt"] = 'Link to mailing list in Mailing list list'; $wb["mailmailinglist_url_txt"] = 'Mailing list URL'; $wb["phpmyadmin_url_txt"] = 'PHPMyAdmin URL'; $wb["use_domain_module_txt"] = 'Use the domain-module to add new domains'; -$wb["use_domain_module_hint"] = 'If you use this module, your customers can only select one of the domains the admin creates for them. They cannot free edit the domain-field.You have to re-login after changing this value, to make the changes visible.'; +$wb["use_domain_module_hint"] = 'If you use this module, your customers can only select one of the domains the admin creates for them. They cannot freely edit the domain-field. You have to re-login after changing this value, to make the changes visible.'; $wb["new_domain_txt"] = 'HTML to create a new domain'; $wb["webftp_url_txt"] = 'WebFTP URL'; $wb['admin_mail_txt'] = 'Administrator\'s e-mail'; $wb["monitor_key_txt"] = 'Monitor keyword'; $wb['admin_name_txt'] = 'Administrator\'s name'; +$wb['maintenance_mode_txt'] = 'Maintenance Mode'; ?> diff --git a/interface/web/admin/system_config_edit.php b/interface/web/admin/system_config_edit.php index 22702091da8c7230824a19fa0c09bc7def833062..700b96e35d7cc7b79a1bd574c80c85a8f78ca7d5 100644 --- a/interface/web/admin/system_config_edit.php +++ b/interface/web/admin/system_config_edit.php @@ -108,6 +108,13 @@ class page_action extends tform_actions { "FROM web_domain"; $app->db->query($sql); } + + // Maintenance mode + if($server_config_array['misc']['maintenance_mode'] == 'y'){ + //print_r($_SESSION); + //echo $_SESSION['s']['id']; + $app->db->query("DELETE FROM sys_session WHERE session_id != '".$_SESSION['s']['id']."'"); + } } } diff --git a/interface/web/admin/templates/system_config_misc_edit.htm b/interface/web/admin/templates/system_config_misc_edit.htm index 9f7aea674311a2445db93baae16c6b327993d58b..c325a2cba5a944c450ea107d53ad6f0421bcde36 100644 --- a/interface/web/admin/templates/system_config_misc_edit.htm +++ b/interface/web/admin/templates/system_config_misc_edit.htm @@ -20,6 +20,12 @@ +
{tmpl_var name='maintenance_mode_txt'}
+