Benutzer anlegen mit der API

#1
Hallo zusammen...
ich habe ein kleines Problem mit dem Anlegen eines Users über die API.
Dabei nutze ich ein vordefinertes Template.
Ich habe hier dieses kleine Script was auch funktioniert
PHP:
<?php
$fullurl ="https://ispconfig-dev.fritz.box:8080/remote/";
$uri = "https://ispconfig-dev.fritz.box:8080/remote/";
$username="testuser";
$passwort="testuser";

$client = new SoapClient(null, array('location' =>  $fullurl,
                                     'uri'      => $uri));


try {
    //* Login to the remote server
    if($session_id = $client->login($username,$passwort)) 
        echo 'Logged into remote server sucessfully. The SessionID is '.$session_id.'<br />';
    echo "<br />";

    $params_contact_add = array(
    'contact_name' => 'test mit api',
    'username' => 'meintest',
    'password' => 'jhdsjhgkgkdf',
    'template_master' => '1'
    );


echo "<br />";
echo $client->client_add($session_id, '2', $params_contact_add);

//* Logout
    if($client->logout($session_id)) {
        echo "Logout erfolgreich";
    }
    
} catch (SoapFault $e) {
    die('SOAP Error: '.$e->getMessage());
    echo "Please contact the server administator";
}
?>
Eigentlich sollte das ohne Probleme den User anlegen. Leider erhalte ich aber eine Fehlermeldung von der API
SOAP Error: web_php_options_notempty
ssh_chroot_notempty
Da ich ja ein Template nutze sollte diese Fehlermeldung nicht erscheinen, da ich dort die Optionen aktiviert habe. Füge ich in den Parametern meines Scripts die Zeilen:
'web_php_options' => 'cgi',
'ssh_chroot' => 'jailkit',
hinzu wird der Benutzer angelegt und die API nutzt das Template...
Soweit ich weiss hat das vorher mal funktioniert ohne die 2 Parameter hinzuzufügen.

Mach ich was falsch oder handelt es sich evtl doch um einen Bug?

Gruß
Sascha
 

Till

Administrator
#2
Die API unterstützt die templates nicht direkt, du musst zumindest im Moment das komplette $params array mit allen Feldern der client_add Funktion übergeben.
 
#3
Perfekt... Jetzt klappt es... Danke Dir... Darauf wäre ich jetzt echt nicht gekommen...

Eine letzte Frage habe ich noch...
Wenn ich den Benutzer anlegen lasse wird der immer mit der Sprache "pt" angelegt...
In den Parametern habe ich schon diese 2 Values eingefügt
Code:
'country' =>  'de',
'language' => 'de',
aber der Benutzer hat immer pt..
Gruß
Sascha
 

Werbung