API "sites_web_domain_set_status" wirkungslos?

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
 

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.
 

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?
 

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.
 

Germanius

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.
 

Werbung

Top