API => ISPConfig Version abfragen

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

Gruß
Sascha
 
#2
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 ?
 
#3
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
#4
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.
 
#6
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:
#7
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
 

Werbung