Esempio n. 1
0
<?php

/**
 * Run this script and publish any message to the "ch1" channel via
 * Pubnub Console: http://www.pubnub.com/console/
 *
 * This message should be received in channelGroupSubscribe callback.
 */
require_once "../composer/lib/autoloader.php";
$pubnub = new Pubnub\Pubnub("demo", "demo");
$pubnub->channelGroupAddChannel("php_manual_test", ["ch1"]);
$channels = $pubnub->channelGroupListChannels("blah");
$pubnub->channelGroupSubscribe("php_manual_test", function ($message) {
    echo "Channel group message:\n";
    print_r($message);
});
$response = $pubnub->pamGrantChannelGroup(1, 0, $group);
validateResponse($response);
## To current instance
$response = $pubnub->pamGrantChannelGroup(0, 1, $group, $bootstrap_auth);
validateResponse($response);
## To chat
$response = $pubnub->grant(1, 1, $chat);
validateResponse($response);
## To history
$response = $pubnub->grant(1, 0, $history);
validateResponse($response);
## To stock tickers
$response = $pubnub->grant(0, 1, join(",", $channels), $auth_key);
validateResponse($response);
## ---------------------------------------------------------------------------
## Cleanup channel group and add current channels to it
## ---------------------------------------------------------------------------
$response = $pubnub->channelGroupRemoveGroup($group);
validateResponse($response);
$response = $pubnub->channelGroupAddChannel($group, $channels);
validateResponse($response);
echo "\n";
## ---------------------------------------------------------------------------
## Helpers
## ---------------------------------------------------------------------------
function validateResponse($res)
{
    if (is_array($res) && in_array("error", $res) && $res["error"] == 1) {
        echo $res["service"] . " response code " . $res["status"] . ": " . $res["message"] . "\n";
    }
}