Skip to content
Snippets Groups Projects
Commit 0494b461 authored by Marius Burkard's avatar Marius Burkard
Browse files

- added remote function for getting system config

parent 4733cfe7
No related branches found
No related tags found
No related merge requests found
...@@ -106,31 +106,55 @@ class remoting_admin extends remoting { ...@@ -106,31 +106,55 @@ class remoting_admin extends remoting {
/** /**
Set a value in the system configuration Set a value in the system configuration
@param int session id @param int session id
@param int server id @param string section of the config field in the table. Could be 'web', 'dns', 'mail', 'dns', 'cron', etc
@param string section of the config field in the server table. Could be 'web', 'dns', 'mail', 'dns', 'cron', etc
@param string key of the option that you want to set @param string key of the option that you want to set
@param string option value that you want to set @param string option value that you want to set
*/ */
public function system_config_set($session_id, $section, $key, $value) { public function system_config_set($session_id, $section, $key, $value) {
global $app; global $app;
if(!$this->checkPerm($session_id, 'system_config_set')) { if(!$this->checkPerm($session_id, 'system_config_set')) {
throw new SoapFault('permission_denied', 'You do not have the permissions to access this function.'); throw new SoapFault('permission_denied', 'You do not have the permissions to access this function.');
return false; return false;
} }
if ($section != '' && $key != '') { if ($section != '' && $key != '') {
$app->uses('remoting_lib,getconf,ini_parser'); $app->uses('remoting_lib,getconf,ini_parser');
$system_config_array = $app->getconf->get_global_config(); $system_config_array = $app->getconf->get_global_config();
$system_config_array[$section][$key] = $value; $system_config_array[$section][$key] = $value;
$system_config_str = $app->ini_parser->get_ini_string($system_config_array); $system_config_str = $app->ini_parser->get_ini_string($system_config_array);
$app->db->datalogUpdate('sys_ini', array("config" => $system_config_str), 'sysini_id', 1); $app->db->datalogUpdate('sys_ini', array("config" => $system_config_str), 'sysini_id', 1);
} else { } else {
throw new SoapFault('invalid_function_parameter', 'Invalid function parameter.'); throw new SoapFault('invalid_function_parameter', 'Invalid function parameter.');
return false; return false;
} }
} }
/**
Get the values of the system configuration
@param int session id
@param string section of the config field in the table. Could be 'web', 'dns', 'mail', 'dns', 'cron', etc
@param string key of the option that you want to set
@param string option value that you want to set
*/
public function system_config_get($session_id, $section, $key) {
global $app;
if(!$this->checkPerm($session_id, 'system_config_get')) {
throw new SoapFault('permission_denied', 'You do not have the permissions to access this function.');
return false;
}
if ($section != '') {
$app->uses('remoting_lib,getconf,ini_parser');
$system_config_array = $app->getconf->get_global_config();
if($key != '') {
if(isset($system_config_array[$section][$key])) return $system_config_array[$section][$key];
else return false;
} else {
if(isset($system_config_array[$section])) return $system_config_array[$section];
else return false;
} else {
throw new SoapFault('invalid_function_parameter', 'Invalid function parameter.');
return false;
}
}
} }
......
<?php <?php
$function_list['server_get,server_config_set,get_function_list,client_templates_get_all,server_get_serverid_by_ip,server_ip_get,server_ip_add,server_ip_update,server_ip_delete,system_config_set'] = 'Server functions'; $function_list['server_get,server_config_set,get_function_list,client_templates_get_all,server_get_serverid_by_ip,server_ip_get,server_ip_add,server_ip_update,server_ip_delete,system_config_set,system_config_get'] = 'Server functions';
$function_list['admin_record_permissions'] = 'Record permission changes'; $function_list['admin_record_permissions'] = 'Record permission changes';
?> ?>
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment