API => ISPConfig Version abfragen

TheCry

New Member
Hallo zusammen,
gibt es über die API die Möglichkeit die ISPConfig Version abzufragen?
Ich habe in der Dokumentation nichts gefunden.

Gruß
Sascha
 

ZooL

Member
Hi,

das kann ich dir nach besten wissen schreiben,
eine versions abfrage gibt es nicht.
Kannst du dir nicht einige Funktionen schreiben oder ist deine auf der api basierende Entwicklung nicht privat ?
 

TheCry

New Member
Sicherlich könnte ich mir eine Funktion schreiben.
Ich programmiere gerade ein Plugin für JoomISP. Damit kann man aus der Bestellung direkt den Webspace über die API einrichten.
Nur muss ich halt einige Dinge sicherstellen. Mit dem letzten Update hat das Plugin nicht mehr funktioniert und somit muss ich vorher prüfen welche Version auf dem Server läuft, damit ich sicher gehen kann das dieses Plugin auch funktioniert.
 

Till

Administrator
Du kannst ja einen Feature Request für eine solche Funktion im Bugtracker machen, wenn Du sie benötigst. Gerne auch mit dem Code, dann geht es schneller bis sie eingebaut wird.
 

TheCry

New Member
Die API ist wirklich einfach zu erweitern... Mein lieber man.. Hut ab...
Also...
Ich habe nun 3 Funktionen in die Datei "remoting.inc.php" eingetragen:
Code:
public function server_get_app_version($session_id)
    {
        global $app;
        if(!$this->checkPerm($session_id, 'server_get_app_version')) {
            $this->server->fault('permission_denied', 'You do not have the permissions to access this function.');
            return false;
        }
        if (!empty($session_id)) { 
            $ispc_app_version = array('ispc_app_version' => ISPC_APP_VERSION);
            return $ispc_app_version;
        } else {
            return false;
        }
    }

public function server_get_serverid_by_server_name($session_id, $server_name)
    {
        global $app;
        if(!$this->checkPerm($session_id, 'server_get_serverid_by_server_name')) {
            $this->server->fault('permission_denied', 'You do not have the permissions to access this function.');
            return false;
        }
        if (!empty($session_id) && !empty($server_name)) {
            $sql = "SELECT server_id FROM server WHERE server_name  = '$server_name' LIMIT 1 ";
            $all = $app->db->queryAllRecords($sql);
            return $all;
        } else {
            return false;
        }
    }
    
    public function server_get_functions($session_id, $server_id)
    {
        global $app;
        if(!$this->checkPerm($session_id, 'server_get_functions')) {
            $this->server->fault('permission_denied', 'You do not have the permissions to access this function.');
            return false;
        }
        if (!empty($session_id) && !empty($server_id)) { 
            $sql = "SELECT mail_server, web_server, dns_server, file_server, db_server, vserver_server, proxy_server, firewall_server FROM server WHERE server_id  = '$server_id' LIMIT 1 ";
            $all = $app->db->queryAllRecords($sql);
            return $all;
        } else {
            return false;
        }
    }
Anschließend habe ich noch die Datei "web/admin/lib/remote.conf.php" mit den beiden neuen Funktionen (server_get_serverid_by_server_name, server_get_functions) erweitert und den Remoteuser die Rechte für die Serverfunktionen neu zugewiesen
Code:
<?php

$function_list['server_get,get_function_list,client_templates_get_all,server_get_app_version,server_get_functions,server_get_serverid_by_server_name,server_get_serverid_by_ip,server_ip_add,server_ip_update,server_ip_delete'] = 'Server functions';

?>
Jetzt kommt genau das raus was ich mir gewünscht habe:
Code:
Array (     [ispc_app_version] => 3.0.5.1 ) 

Array (     [0] => Array         (             [server_id] => 1         )  ) 

Array (     [0] => Array         (             [mail_server] => 1             [web_server] => 1             [dns_server] => 1             [file_server] => 1             [db_server] => 1             [vserver_server] => 0             [proxy_server] => 0             [firewall_server] => 1         )  )
@Till
Für den Bugtracker braucht Ihr einen Patch oder langt es wenn ich das so in den Bugtracker schreibe?

Gruß
Sascha

Edit: Ich habe nun die Version auch noch hinzugefügt
 
Zuletzt bearbeitet:

ZooL

Member
wenn du das wie hier im bugtracker reinhackts reicht es.... patch ist nicht pflicht... bisher da der code eh geprüft und getestet wird bevor er einfliesst..

"denke ich mir jetzt.."

greetz und thx
 

TheCry

New Member
Ok... Ich habe einen Feature Request im Bugtracker aufgemacht.
Dann hoffe ich mal das das was wird.. :)

Danke Euch.

Gruß
Sascha
 

Werbung

Top