API "sites_web_domain_set_status" wirkungslos?

Dieses Thema im Forum "Installation und Konfiguration" wurde erstellt von osterhase, 9. Juni 2012.

  1. osterhase

    osterhase New Member

    Hallo!

    Ich habe auf einer Seite einen Button integriert, mit dem der Benutzer seine Webseite offline schalten kann. Also von aktiv -> inaktiv. Dafür bin ich an die "sites_web_domain_set_status"-API gegangen:

    Code:
    $soap_user = 'xxx';
    $soap_pass = 'xxx';
    $soap_url = 'https://localhost:8005/remote/';
    $soap_location = 'https://localhost:8005/remote/index.php';
    
    
    $client = new SoapClient(null, array('location' => $soap_location,
                'uri' => $soap_url));
                
    try {
        $session_id = $client->login($soap_user, $soap_pass);
        $client->sites_web_domain_set_status($session_id, 87, 'inactive');
        $client->logout($session_id);
    }
    
    catch (SoapFault $e) {
            echo $e->getMessage();
        }
    Funktioniert auch alles soweit. Die Seite wird im ISPConfig-Interface als "inaktiv" angezeigt. Allerdings ist die Seite weiterhin aufrufbar (ja - auch mit geleertem Cache ;-)). Wenn ich die Seite in ISPConfig auf "offline" schalte, dann ist sie allerdings nicht mehr aufrufbar.

    Jemand eine Idee? Bin für Hilfe dankbar.

    Viele Grüße
    osterhase
     
  2. Till

    Till Administrator

    Hast Du lange genug gewartet, es dauert ca. 1 Minute bis ein job ausgeführt wird und wenn man darauf wartet dann ist eine Minute sehr lange :) Schau mal in ispconfig monitor, dort siehst Du wenn ein job ausgeführt wurde.
     
  3. osterhase

    osterhase New Member

    ^^ - Na - die Minute habe ich mir schon genommen, bevor ich ins Forum geschrieben habe. Aber leider ohne Erfolg. Ich werd nochmal mit dem Debug-Log-Level in die Logs schauen. Ansonsten wäre mein nächster Schritt jetzt den API-Code mit dem aus dem web-Interface zu vergleichen, ob da irgendwas läuft, was im API nicht drinnen steht. Custom Coding finde ich allerdings immer ein bißchen doof - v.a. wenn man den Code nicht kennt. Vielleicht noch eine Idee?
     
  4. Till

    Till Administrator

    Ich würde das deaktivieren der Seite auch anders über die API lösen, die Funktion sites_web_domain_set_status wird sowieso ab 3.0.5 als deprecated markiert werden da die Funktionalität bereits in einer anderen allgemeineren Funktion abgedeckt ist.

    Code:
    $domain_record = $client->sites_web_domain_get($session_id, $domain_id);
    $domain_record['active'] = 'n';
    $affected_rows = $client->sites_web_domain_update($session_id, $client_id, $domain_id, $domain_record);
    Custom code brauchst Du da keinen, eine Menge ISP's steuern ISPConfig über das API, sollte also auch bei Dir gehen.
     
  5. Germanius

    Germanius New Member

    @osterhase: Ja, sites_web_domain_set_status funktioniert nicht richtig, das habe ich auch schon feststellen müssen.
    Habe es dann genauso gemacht, wie Till beschrieben hat. So funktioniert es auf alle Fälle.
     
  6. osterhase

    osterhase New Member

    Danke schön! Das war's. Vielleicht kann man die API ganz raus schmeissen, wenn sie eh nicht funkt...
     

Diese Seite empfehlen