From b2cee83e8894e89fd3e0793c84fb92a8cf928613 Mon Sep 17 00:00:00 2001
From: Marius Burkard <m.burkard@pixcept.de>
Date: Tue, 19 Apr 2016 14:17:54 -0400
Subject: [PATCH] - fixed problem on select boxes with hidden options

---
 interface/lib/classes/getconf.inc.php |   59 ++++++++++++++++++++++++++++++++++++++---------------------
 1 files changed, 38 insertions(+), 21 deletions(-)

diff --git a/interface/lib/classes/getconf.inc.php b/interface/lib/classes/getconf.inc.php
index fd0c088..ef9e070 100644
--- a/interface/lib/classes/getconf.inc.php
+++ b/interface/lib/classes/getconf.inc.php
@@ -1,7 +1,7 @@
 <?php
 
 /*
-Copyright (c) 2006, Till Brehm, projektfarm Gmbh
+Copyright (c) 2007, Till Brehm, projektfarm Gmbh
 All rights reserved.
 
 Redistribution and use in source and binary forms, with or without modification,
@@ -30,31 +30,48 @@
 
 class getconf {
 
-	var $config;
+	private $config;
+	private $security_config;
+
+	public function get_server_config($server_id, $section = '') {
+		global $app;
+
+		if(!isset($this->config[$server_id])) {
+			$app->uses('ini_parser');
+			$server_id = $app->functions->intval($server_id);
+			$server = $app->db->queryOneRecord('SELECT config FROM server WHERE server_id = ?', $server_id);
+			$this->config[$server_id] = $app->ini_parser->parse_ini_string(stripslashes($server['config']));
+		}
+		return ($section == '') ? $this->config[$server_id] : $this->config[$server_id][$section];
+	}
+
+	public function get_global_config($section = '') {
+		global $app;
+
+		if(!isset($this->config['global'])) {
+			$app->uses('ini_parser');
+			$tmp = $app->db->queryOneRecord('SELECT config FROM sys_ini WHERE sysini_id = 1');
+			$this->config['global'] = $app->ini_parser->parse_ini_string(stripslashes($tmp['config']));
+		}
+		return ($section == '') ? $this->config['global'] : $this->config['global'][$section];
+	}
 	
-	function get_server_config($server_id, $section = '') {
+	// Function has been moved to $app->get_security_config($section)
+	public function get_security_config($section = '') {
 		global $app;
 		
-		if(!is_array($this->config[$server_id])) {
-			$app->uses('ini_parser');
-			$server_id = intval($server_id);
-			$server = $app->db->queryOneRecord("SELECT config FROM server WHERE server_id = $server_id");
-			$this->config[$server_id] = $app->ini_parser->parse_ini_string(stripslashes($server["config"]));
-		}
-		
-		if($section == '') {
-			return $this->config[$server_id];
+		if(is_array($this->security_config)) {
+			return ($section == '') ? $this->security_config : $this->security_config[$section];
 		} else {
-			return $this->config[$server_id][$section];
+			$app->uses('ini_parser');
+			$security_config_path = '/usr/local/ispconfig/security/security_settings.ini';
+			if(!is_file($security_config_path)) $security_config_path = realpath(ISPC_ROOT_PATH.'/../security/security_settings.ini');
+			$this->security_config = $app->ini_parser->parse_ini_string(file_get_contents($security_config_path));
+
+			return ($section == '') ? $this->security_config : $this->security_config[$section];
 		}
 	}
-	
-	function get_global_config() {
-		
-		die("not yet implemented");
-		
-	}
-	
+
 }
 
-?>
\ No newline at end of file
+?>

--
Gitblit v1.9.1