From db0a6f29ab7d278aedeae9b4247ff7c204bb4a57 Mon Sep 17 00:00:00 2001
From: tbrehm <t.brehm@ispconfig.org>
Date: Wed, 7 Oct 2009 14:49:14 +0000
Subject: [PATCH] Implemented: FS#872 - Make loglevel configurable from server
 settings

---
 install/tpl/server.ini.master                 |  2 +
 .../web/admin/form/server_config.tform.php    |  8 ++
 .../web/admin/lib/lang/en_server_config.lng   |  1 +
 .../templates/server_config_server_edit.htm   | 96 ++++++++++---------
 server/server.php                             | 25 +++--
 5 files changed, 77 insertions(+), 55 deletions(-)

diff --git a/install/tpl/server.ini.master b/install/tpl/server.ini.master
index 68d7e8e07f..551e2b3f61 100644
--- a/install/tpl/server.ini.master
+++ b/install/tpl/server.ini.master
@@ -3,6 +3,7 @@ webserver=apache
 mailserver=postfix
 dnsserver=mydns
 
+
 [server]
 auto_network_configuration=n
 ip_address=192.168.0.105
@@ -10,6 +11,7 @@ netmask=255.255.255.0
 gateway=192.168.0.1
 hostname=server1.domain.tld
 nameservers=192.168.0.1,192.168.0.2
+loglevel=2
 
 [mail]
 module=postfix_mysql
diff --git a/interface/web/admin/form/server_config.tform.php b/interface/web/admin/form/server_config.tform.php
index 999a1f914a..a522c4cf9c 100644
--- a/interface/web/admin/form/server_config.tform.php
+++ b/interface/web/admin/form/server_config.tform.php
@@ -119,6 +119,14 @@ $form["tabs"]['server'] = array (
 			'width'		=> '40',
 			'maxlength'	=> '255'
 		),
+		'loglevel' => array (
+			'datatype'	=> 'INTEGER',
+			'formtype'	=> 'SELECT',
+			'default'	=> '2',
+			'value'		=> array('0' => 'Debug', '1' => 'Warnings', '2' => 'Errors'),
+			'width'		=> '40',
+			'maxlength'	=> '255'
+		),
 	##################################
 	# ENDE Datatable fields
 	##################################
diff --git a/interface/web/admin/lib/lang/en_server_config.lng b/interface/web/admin/lib/lang/en_server_config.lng
index f586b30be7..ee2df91af0 100644
--- a/interface/web/admin/lib/lang/en_server_config.lng
+++ b/interface/web/admin/lib/lang/en_server_config.lng
@@ -46,4 +46,5 @@ $wb["wget_txt"] = 'Path to wget program';
 $wb["web_user_txt"] = 'Apache user';
 $wb["web_group_txt"] = 'Apache group';
 $wb["security_level_txt"] = 'Security level';
+$wb["loglevel_txt"] = 'Loglevel';
 ?>
\ No newline at end of file
diff --git a/interface/web/admin/templates/server_config_server_edit.htm b/interface/web/admin/templates/server_config_server_edit.htm
index bda14cd81b..96204c7c10 100644
--- a/interface/web/admin/templates/server_config_server_edit.htm
+++ b/interface/web/admin/templates/server_config_server_edit.htm
@@ -1,45 +1,51 @@
-<h2><tmpl_var name="list_head_txt"></h2>
-<p><tmpl_var name="list_desc_txt"></p>
-
-<div class="panel panel_server_config">
-  
-  <div class="pnl_formsarea">
-    <fieldset class="inlineLabels">
-      <div class="ctrlHolder">
-				<p class="label">{tmpl_var name='auto_network_configuration_txt'}</p>
-					<div class="multiField">
-						{tmpl_var name='auto_network_configuration'}
-					</div>
-			</div>
-      <div class="ctrlHolder">
-      	<label for="ip_address">{tmpl_var name='ip_address_txt'}</label>
-        <input name="ip_address" id="ip_address" value="{tmpl_var name='ip_address'}" size="15" maxlength="255" type="text" class="textInput formLengthIPv4" />
-			</div>
-      <div class="ctrlHolder">
-      	<label for="netmask">{tmpl_var name='netmask_txt'}</label>
-        <input name="netmask" id="netmask" value="{tmpl_var name='netmask'}" size="15" maxlength="255" type="text" class="textInput formLengthIPv4" />
-			</div>
-      <div class="ctrlHolder">
-      	<label for="gateway">{tmpl_var name='gateway_txt'}</label>
-        <input name="gateway" id="gateway" value="{tmpl_var name='gateway'}" size="15" maxlength="255" type="text" class="textInput formLengthIPv4" />
-			</div>
-      <div class="ctrlHolder">
-      	<label for="hostname">{tmpl_var name='hostname_txt'}</label>
-        <input name="hostname" id="hostname" value="{tmpl_var name='hostname'}" size="40" maxlength="255" type="text" class="textInput" />
-			</div>
-      <div class="ctrlHolder">
-      	<label for="nameservers">{tmpl_var name='nameservers_txt'}</label>
-        <input name="nameservers" id="nameservers" value="{tmpl_var name='nameservers'}" size="40" maxlength="255" type="text" class="textInput" />
-				<p class="formHint">{tmpl_var name='nameservers_hint_txt'}</p>
-			</div>
-    </fieldset>
-
-    <input type="hidden" name="id" value="{tmpl_var name='id'}">
-
-    <div class="buttonHolder buttons">
-      <button class="positive iconstxt icoPositive" type="button" value="{tmpl_var name='btn_save_txt'}" onClick="submitForm('pageForm','admin/server_config_edit.php');"><span>{tmpl_var name='btn_save_txt'}</span></button>
-      <button class="negative iconstxt icoNegative" type="button" value="{tmpl_var name='btn_cancel_txt'}" onClick="loadContent('admin/server_config_list.php');"><span>{tmpl_var name='btn_cancel_txt'}</span></button>
-    </div>
-  </div>
-  
-</div>
+<h2><tmpl_var name="list_head_txt"></h2>
+<p><tmpl_var name="list_desc_txt"></p>
+
+<div class="panel panel_server_config">
+  
+  <div class="pnl_formsarea">
+    <fieldset class="inlineLabels">
+      <div class="ctrlHolder">
+				<p class="label">{tmpl_var name='auto_network_configuration_txt'}</p>
+					<div class="multiField">
+						{tmpl_var name='auto_network_configuration'}
+					</div>
+			</div>
+      <div class="ctrlHolder">
+      	<label for="ip_address">{tmpl_var name='ip_address_txt'}</label>
+        <input name="ip_address" id="ip_address" value="{tmpl_var name='ip_address'}" size="15" maxlength="255" type="text" class="textInput formLengthIPv4" />
+			</div>
+      <div class="ctrlHolder">
+      	<label for="netmask">{tmpl_var name='netmask_txt'}</label>
+        <input name="netmask" id="netmask" value="{tmpl_var name='netmask'}" size="15" maxlength="255" type="text" class="textInput formLengthIPv4" />
+			</div>
+      <div class="ctrlHolder">
+      	<label for="gateway">{tmpl_var name='gateway_txt'}</label>
+        <input name="gateway" id="gateway" value="{tmpl_var name='gateway'}" size="15" maxlength="255" type="text" class="textInput formLengthIPv4" />
+			</div>
+      <div class="ctrlHolder">
+      	<label for="hostname">{tmpl_var name='hostname_txt'}</label>
+        <input name="hostname" id="hostname" value="{tmpl_var name='hostname'}" size="40" maxlength="255" type="text" class="textInput" />
+			</div>
+      <div class="ctrlHolder">
+      	<label for="nameservers">{tmpl_var name='nameservers_txt'}</label>
+        <input name="nameservers" id="nameservers" value="{tmpl_var name='nameservers'}" size="40" maxlength="255" type="text" class="textInput" />
+				<p class="formHint">{tmpl_var name='nameservers_hint_txt'}</p>
+			</div>
+	  <div class="ctrlHolder">
+      	<label for="loglevel">{tmpl_var name='loglevel_txt'}</label>
+        <select name="loglevel" id="loglevel" class="selectInput">
+					{tmpl_var name='loglevel'}
+				</select>
+      </div>
+    </fieldset>
+
+    <input type="hidden" name="id" value="{tmpl_var name='id'}">
+
+    <div class="buttonHolder buttons">
+      <button class="positive iconstxt icoPositive" type="button" value="{tmpl_var name='btn_save_txt'}" onClick="submitForm('pageForm','admin/server_config_edit.php');"><span>{tmpl_var name='btn_save_txt'}</span></button>
+      <button class="negative iconstxt icoNegative" type="button" value="{tmpl_var name='btn_cancel_txt'}" onClick="loadContent('admin/server_config_list.php');"><span>{tmpl_var name='btn_cancel_txt'}</span></button>
+    </div>
+  </div>
+  
+</div>
diff --git a/server/server.php b/server/server.php
index 93e4c21844..97604e28b8 100644
--- a/server/server.php
+++ b/server/server.php
@@ -50,6 +50,19 @@ if($server_db_record == false) {
 }
 */
 
+//* Load the server configuration
+if($app->dbmaster->connect()) {
+	// get the dalaog_id of the last performed record
+	$server_db_record = $app->dbmaster->queryOneRecord("SELECT updated, config FROM server WHERE server_id = ".$conf["server_id"]);
+	$conf['last_datalog_id'] = (int)$server_db_record['updated'];
+	// Load the ini_parser
+	$app->uses('ini_parser');
+	// Get server configuration
+	$conf["serverconfig"] = $app->ini_parser->parse_ini_string(stripslashes($server_db_record["config"]));
+	// Set the loglevel
+	$conf["log_priority"] = intval($conf["serverconfig"]["server"]["loglevel"]);
+}
+
 
 // Check if another process is running
 if(is_file($conf["temppath"].$conf["fs_div"].".ispconfig_lock")){
@@ -75,10 +88,6 @@ $app->log("Set Lock: ".$conf["temppath"].$conf["fs_div"].".ispconfig_lock", LOGL
 
 if($app->db->connect() && $app->dbmaster->connect()) {
 
-	// get the dalaog_id of the last performed record
-	$server_db_record = $app->dbmaster->queryOneRecord("SELECT updated, config FROM server WHERE server_id = ".$conf["server_id"]);
-	$conf['last_datalog_id'] = (int)$server_db_record['updated'];
-
 	// Check if there is anything to update
 	$tmp_rec = $app->dbmaster->queryOneRecord("SELECT count(server_id) as number from sys_datalog WHERE datalog_id > ".$conf['last_datalog_id']." AND (server_id = ".$conf["server_id"]." OR server_id = 0)");
 	$tmp_num_records = $tmp_rec["number"];
@@ -91,9 +100,7 @@ if($app->db->connect() && $app->dbmaster->connect()) {
 		// Write the Log
 		$app->log("Found $tmp_num_records changes, starting update process.", LOGLEVEL_DEBUG);
 		// Load required base-classes
-		$app->uses('ini_parser,modules,plugins,file,services');
-		// Get server configuration
-		$conf["serverconfig"] = $app->ini_parser->parse_ini_string(stripslashes($server_db_record["config"]));
+		$app->uses('modules,plugins,file,services');
 		// Load the modules that are im the mods-enabled folder
 		$app->modules->loadModules('all');
 		// Load the plugins that are in the plugins-enabled folder
@@ -110,9 +117,7 @@ if($app->db->connect() && $app->dbmaster->connect()) {
 		// Write the log
 		$app->log('No Updated records found, starting only the core.', LOGLEVEL_DEBUG);
 		// Load required base-classes
-		$app->uses('ini_parser,modules,plugins,file,services');
-		// Get server configuration
-		$conf["serverconfig"] = $app->ini_parser->parse_ini_string(stripslashes($server_db_record["config"]));
+		$app->uses('modules,plugins,file,services');
 		// Load the modules that are im the mods-core folder
 		$app->modules->loadModules('core');
 		// Load the plugins that are in the plugins-core folder
-- 
GitLab