Example #1
0
 public static function factory($config = array())
 {
     $default = array('host' => 'api.trak.io/v1', 'https' => true);
     $config = array_merge($config, $default);
     $required = array('token', 'host', 'https');
     self::validate($required, $config);
     $config = Collection::fromConfig($config, $default, $required);
     $client = new self(($config->get('https') ? 'https://' : 'http://') . $config->get('host'), $config);
     $client->setDefaultOption('headers/X-Token', $config->get('token'));
     $config->hasKey('distinct_id') ? $client->distinct_id($config->get('distinct_id')) : null;
     $config->hasKey('channel') ? $client->channel($config->get('channel')) : null;
     $client->setDescription(ServiceDescription::factory(__DIR__ . '/Resources/config/client.json'));
     return $client;
 }
Example #2
0
 public static function parse_list($response)
 {
     $result = array();
     $res = Text::parse_json($response);
     if (!empty($res)) {
         foreach ($res as $re) {
             $obj = new self();
             $obj->user(WassrUser::parse($re["user"]));
             unset($re["user"]);
             $obj->channel(WassrChannel::parse($re["channel"]));
             unset($re["channel"]);
             $result[] = $obj->cp($re);
         }
     }
     return $result;
 }