Frage zur API => server_get_serverid_by_ip

Dieses Thema im Forum "Entwicklerforum" wurde erstellt von TheCry, 21. März 2013.

  1. TheCry

    TheCry New Member

    Hallo zusammen,
    ich programmiere gerade ein Plugin für JoomISP ein Serverplugin von ISPConfig.
    Soweit komme ich mit der Dokumentation sehr gut zurecht.
    Nun möchte ich noch ein Multiserver-Setup unterstützen und dazu muss ich natürlich prüfen ob die IP-Adresse in ISPConfig als Slave eingerichtet ist.

    Ich dachte das "server_get_serverid_by_ip" mir ID wieder gibt, mit der ich dann
    Code:
    print_r($client->server_get($session_id, ServerID));
    nutzen kann.
    Leider erhalte ich nur ein leeres Array.

    Gibt es einen anderen Weg die ServerID zu erfahren?

    Gruß
    Sascha
     
  2. Till

    Till Administrator

    Welche Funktion gibt ein leeres array zurück, server_get_serverid_by_ip oder server_get?
     
  3. TheCry

    TheCry New Member

    Die Funktion "server_get_serverid_by_ip".
    Die IP-Adresse die ich eintrage ist definitiv als Slave eingetragen!
     
  4. ZooL

    ZooL Member

    Hallo Sascha,

    wenn du ein wenig warten kannst checke ich für dich diese function,
    ich hab das über die web_domain realisiert in jeder Domain steht der zugehörige Server "Server_id"
    mit drin.

    greetz
     
  5. TheCry

    TheCry New Member

    Hi Zool,
    für mich ist wichtig das ich eine angegebene IPAdresse in dem Plugin prüfen kann, ob es sich um einen WEB, MAIL, DNS oder DATABASE-Server handelt.
    Mit der Funktion
    Code:
    print_r($client->server_get_serverid_by_ip($session_id, '***.***.***.***'))
    sollte eigentlich ein Array zurückgeliefert werden, wo ich dann die ID erhalte.
    Mit der Funktion
    Code:
    print_r($client->server_get($session_id, ServerID));
    erhalte ich dann alle Informationen über diesen Server und kann dann erkennen ob es sich um die richtige IP handelt die eingetragen wurde.

    Das soll dazu dienen, daß man nicht versehentlich eine IP von einem reinen Mailserver bei DNS-Server eingetragen wird.

    Ich hoffe ich konnte das etwas besser erklären.
    Gruß
    Sascha
     
  6. Till

    Till Administrator

    Diese Funktion fragt die Liste der Additional IP's ab, also die Tabelle server_ip in der Datenbank und nicht Daten aus der Tabelle "server".
     
  7. TheCry

    TheCry New Member

    Ahhh... Danke für diese Info.. Das war mir nicht bewusst das dort die AddionalIP's drin stehen.
    Gibt es denn eine Funktion (evtl. nicht dokumentiert) womit ich die Server per IPAdresse abfragen kann?
    Denn für die Funktion
    Code:
    server_get($session_id, $server_id, $section ='');
    benötigt ja eine ID.

    Danke für die Hilfe.
    Gruß
    Sascha
     
  8. Till

    Till Administrator

    Nein, für den Server gibt es keine. Bei allen anderen Records kannst Du ja wizldcards und arrays als IP verwenden, da beim Server aber die Daten als ini in einem Textfeld stehen, geht das dort nicht.
     
  9. TheCry

    TheCry New Member

    Hallo..
    Die Ausgabe von "server_get()" enthält leider keine Info darüber welche Funktionen der Server hat...
    Wenn ich mir die Tabelle der Server ansehe, findet man dort die Spalten "mail_server, web_server, dns_server, file_server, db_server"... Darüber würde man die Funktionen genau erkennen. Diese werden nur nicht mit "server_get()" ausgegeben. Und in dem Textfeld steht auch nichts über die Funktion.
    Soweit ist die API super... Nur stelle ich mir die Frage wie ich eine ServerID per API erhalte, wenn es keine Möglichkeit gibt diese zu erfragen..
    Dazu kommt halt noch das Problem das die Felder fehlen.

    Gruß
    Sascha
     
  10. ZooL

    ZooL Member

    Ich prüfe das heute mal.
    ich gebe dir hier dann Feedback.
     

Diese Seite empfehlen