diff --git a/interface/lib/classes/remoting.inc.php b/interface/lib/classes/remoting.inc.php index ccb70e708131face7033ec0bb24c62c7f6a1bd79..2f9dc6e8231d6fecf9f7ec2fec86a9ea1e7f78c7 100644 --- a/interface/lib/classes/remoting.inc.php +++ b/interface/lib/classes/remoting.inc.php @@ -136,20 +136,54 @@ class remoting { @param int session id @param int server id @param string section of the config field in the server table. Could be 'web', 'dns', 'mail', 'dns', 'cron', etc - @author Julio Montoya BeezNest 2010 + @author Julio Montoya BeezNest 2010, extended by M. Cramer 2014 */ - public function server_get($session_id, $server_id, $section ='') { + public function server_get($session_id, $server_id = null, $section ='') { global $app; if(!$this->checkPerm($session_id, 'server_get')) { $this->server->fault('permission_denied', 'You do not have the permissions to access this function.'); return false; } - if (!empty($session_id) && !empty($server_id)) { - $app->uses('remoting_lib , getconf'); - $section_config = $app->getconf->get_server_config($server_id, $section); - return $section_config; + if (!empty($session_id)) { + if(!empty($server_id)) { + $app->uses('remoting_lib , getconf'); + $section_config = $app->getconf->get_server_config($server_id, $section); + return $section_config; + } else { + $servers = array(); + $sql = "SELECT server_id FROM server WHERE 1"; + $all = $app->db->queryAllRecords($sql); + foreach($all as $s) { + $servers[$s['server_id']] = $app->getconf->get_server_config($s['server_id'], $section); + } + unset($all); + unset($s); + return $servers; + } + } else { + return false; + } + } + + /** + Gets a list of all servers + @param int session_id + @param int server_name + @author Marius Cramer 2014 + */ + public function server_get_all($session_id) + { + global $app; + if(!$this->checkPerm($session_id, 'server_get')) { + $this->server->fault('permission_denied', 'You do not have the permissions to access this function.'); + return false; + } + if (!empty($session_id)) { + $sql = "SELECT server_id, server_name FROM server WHERE 1"; + $servers = $app->db->queryAllRecords($sql); + return $servers; } else { return false; }