getsession to get a new session, setsession to set a current session * @param array $vars An array of variables to pass to the class * @return void * @access public */ public function __construct($method, $vars) { if ( $method == 'getsession' ) { if ( !empty($vars['apiKey']) && !empty($vars['secret']) && !empty($vars['token']) ) { $this->apiKey = $vars['apiKey']; $this->secret = $vars['secret']; $this->token = $vars['token']; $this->getSession(); } else { $this->handleError(91, 'Must send an apiKey, token and a secret in the call for getsession'); return FALSE; } } elseif ( $method == 'gettoken' ) { if ( !empty($vars['apiKey']) && !empty($vars['secret']) ) { $this->apiKey = $vars['apiKey']; $this->secret = $vars['secret']; $this->getToken(); } else { $this->handleError(91, 'Must send an apiKey and a secret in the call for gettoken'); return FALSE; } } elseif ( $method == 'setsession' ) { if ( !empty($vars['apiKey']) ) { $this->apiKey = $vars['apiKey']; if ( !empty($vars['secret']) && !empty($vars['username']) && !empty($vars['sessionKey']) && isset($vars['subscriber']) ) { $this->secret = $vars['secret']; $this->username = $vars['username']; $this->sessionKey = $vars['sessionKey']; $this->subscriber = $vars['subscriber']; } } else { $this->handleError(91, 'Must send an apiKey, secret, usernamne, subcriber and sessionKey in the call for setsession'); return FALSE; } } else { $this->handleError(91, 'Incorrect use of method variable ("getsession" or "setsession")'); return FALSE; } } /** * Internal method uses to get a new session via an api call * @return void * @access private */ private function getSession() { $vars = array( 'method' => 'auth.getsession', 'api_key' => $this->apiKey, 'token' => $this->token ); $sig = $this->apiSig($this->secret, $vars); $vars['api_sig'] = $sig; if ( $call = $this->apiGetCall($vars) ) { $this->username = (string) $call->session->name; $this->sessionKey = (string) $call->session->key; $this->subscriber = (string) $call->session->subscriber; } else { return FALSE; } } /** * Internal method uses to get a new token via an api call * @return void * @access private */ private function getToken() { $vars = array( 'method' => 'auth.gettoken', 'api_key' => $this->apiKey ); $sig = $this->apiSig($this->secret, $vars); $vars['api_sig'] = $sig; if ( $call = $this->apiGetCall($vars) ) { $this->token = (string) $call->token; } else { return FALSE; } } } ?>