diff --git a/interface/lib/classes/remote.d/server.inc.php b/interface/lib/classes/remote.d/server.inc.php index a150ec3d5d24e95e68f040e00173c384b0fc0257..7b56228b9c150c9daca80441855b5be7ad6c62fa 100644 --- a/interface/lib/classes/remote.d/server.inc.php +++ b/interface/lib/classes/remote.d/server.inc.php @@ -222,6 +222,38 @@ class remoting_server extends remoting { return false; } } + + public function server_get_php_versions($session_id, $server_id, $php) + { + global $app; + if(!$this->checkPerm($session_id, 'server_get')) { + throw new SoapFault('permission_denied', 'You do not have the permissions to access this function.'); + } + if (!empty($session_id) && !empty($server_id) && !empty($php)) { + $php_versions = array(); + + $web_config[$server_id] = $app->getconf->get_server_config($server_id, 'web'); + $server_type = !empty($web_config[$server_id]['server_type']) ? $web_config[$server_id]['server_type'] : 'apache'; + + if ($php === 'php-fpm' || ($php === 'hhvm' && $server_type === 'nginx')) { + $php_records = $app->db->queryAllRecords("SELECT * FROM server_php WHERE php_fpm_init_script != '' AND php_fpm_ini_dir != '' AND php_fpm_pool_dir != '' AND server_id = ? AND (client_id = 0)", $server_id); + foreach ($php_records as $php_record) { + $php_version = $php_record['name'].':'.$php_record['php_fpm_init_script'].':'.$php_record['php_fpm_ini_dir'].':'.$php_record['php_fpm_pool_dir']; + $php_versions[] = $php_version; + } + } + if ($php === 'fast-cgi') { + $php_records = $app->db->queryAllRecords("SELECT * FROM server_php WHERE php_fastcgi_binary != '' AND php_fastcgi_ini_dir != '' AND server_id = ? AND (client_id = 0)", $server_id); + foreach ($php_records as $php_record) { + $php_version = $php_record['name'].':'.$php_record['php_fastcgi_binary'].':'.$php_record['php_fastcgi_ini_dir']; + $php_versions[] = $php_version; + } + } + return $php_versions; + } else { + return false; + } + } } ?> diff --git a/remoting_client/API-docs/navigation.html b/remoting_client/API-docs/navigation.html index 917c6ba44581454c96d50cd3830c1561cc5996a3..a9d32f7598f5b9169fbfb25e9ebef8a2cbf4af31 100644 --- a/remoting_client/API-docs/navigation.html +++ b/remoting_client/API-docs/navigation.html @@ -197,6 +197,7 @@

openvz_vm_update

S

server_get

+

server_get_php_versions

server_get_serverid_by_ip

sites_aps_available_packages_list

sites_aps_get_package_details

diff --git a/remoting_client/API-docs/server_get_php_versions.html b/remoting_client/API-docs/server_get_php_versions.html new file mode 100644 index 0000000000000000000000000000000000000000..daa52a5ead63ddee3b2a9fd03b55759a49b7435c --- /dev/null +++ b/remoting_client/API-docs/server_get_php_versions.html @@ -0,0 +1,25 @@ + +ISPCOnfig 3 remote API documentation + + + + + + + + + + +
+

server_get_php_versions($session_id, $server_id, $php);

+
+Description: +

Returns the available PHP versions of the given server.


+Input Variables: +

$session_id, $server_id, $php

+Output: +

Returns an array with the available PHP versions.

+
+ +