2016-04-20 7 views
4

ich Problem bin vor, wenn ich Benutzer RestApiOpenfire: Fügen Sie Benutzer mit Abonnement-Status als „beide“

include "vendor/autoload.php"; 
$api = new Gidkom\OpenFireRestApi\OpenFireRestApi; 
$api->secret = "mySecretKey"; 
$api->host = "HostName"; 
$api->port = "9090"; 
$api->useSSL = false; 
$api->plugin = "/plugins/restapi/v1"; // plugin 

Benutzer für das Hinzufügen Roster folgenden ich verwende Code

$jid="[email protected]"; 
//Add to roster 
$data=$api->addToRoster("abc", $jid); 

, die Punkte mit hinzufügen zu OpenFireRestApi.php welche Funktion addToRoster

/** 
    * Adds to this OpenFire user's roster 
    * 
    * @param string   $username  Username 
    * @param string   $jid   JID 
    * @param string|false $name   Name   (Optional) 
    * @param int|false  $subscription Subscription (Optional) 
    * @return json|false      Json with data or error, or False when something went fully wrong 
    */ 
    public function addToRoster($username, $jid, $name=false, $subscription=false) 
    { 
     $endpoint = '/users/'.$username.'/roster'; 
     return $this->doRequest('post', $endpoint, compact('jid','name','subscription')); 
    } 

genannt haben Also habe ich

$data=$api->addToRoster("abc", $jid,"DummyName",3); 

verwendet Wo 3 Abonnementtyp als beide = 3 ist die mentioned. ist

Aber wenn ich Benutzer hinzufügen, zeigt Abonnementtyp als keine nur.

UPDATE

Ich kam also über subscription plugin

Ich habe installiert Plugin konfigurieren enter image description here

Plugin selbst sagt, dass es automatisch sowohl Art und Weise zeichnen wissen.

Danach habe ich wieder versucht, mit

$data=$api->addToRoster("abc", $jid); 

Welche Aspekte zu arbeiten, aber auch hier Abonnements ist keine nur.

Jede Hilfe wäre willkommen. Ich habe folgende Zeile in /src/Gidkom/OpenFireRestApi/OpenFireRestApi.php Datei

public function addToRoster($username, $jid, $name=false, $subscription=false) 
    { 
     $nickname=$name; 
     $subscriptionType=$subscription; 
     $endpoint = '/users/'.$username.'/roster'; 
     return $this->doRequest('post', $endpoint, compact('jid','nickname','subscriptionType')); 
    } 

Hier

//Add to roster 
$username = "username in which you want to add roster"; 
$jid = "another users JID"; 
$nickname= "nick name of another user"; 
$subscription ="3"; 
$result = $api->addToRoster($username, $jid,$nickname,$subscription); 

und ändern:

Antwort

1

ist es ein Problem mit php-openfire-restapi Klassen

benötigen folgende Änderungen Namen von Parametern zu ändern, so zu tun änderte Parameternamen.

Viel Glück.

+0

Bravo! Arbeiten! (Y) –