/** * Get the oatuh adapter using the controller name * * @return ComConnectOauthApiAbstract */ public function getAPI() { if (!isset($this->_api)) { $session = new KConfig(KRequest::get('session.oauth', 'raw', array())); $api = pick($this->getRequest()->server, $session->api); if (!$api) { return null; } //get the api server from the request $this->_api = $this->getService('com://site/connect.oauth.service.' . $api); if (!$this->_consumer) { $name = $this->_api->getName(); $key = get_config_value('com_connect.' . $name . '_key'); $secret = get_config_value('com_connect.' . $name . '_secret'); $query = array('option=com_' . $this->_mixer->getIdentifier()->package, 'view=' . $this->_mixer->getIdentifier()->name, 'server=' . $this->server, 'get=accesstoken'); if ($this->oid) { $query[] = 'oid=' . $this->oid; } $callback = JRoute::_(implode($query, '&'), true); $this->_consumer = new ComConnectOauthConsumer(new KConfig(array('key' => $key, 'secret' => $secret, 'callback_url' => (string) $callback))); } //set the consumer $this->_api->setConsumer($this->_consumer); $this->_api->setToken($session->token); } return $this->_api; }
/** * store user method. * * Method is called after user data is stored in the database * * @param array holds the new user data * @param bool true if a new user is stored * @param bool true if user was succesfully stored in the database * @param string message */ public function onAfterStoreUser($user, $isnew, $succes, $msg) { $this->_createToken($user['username']); $userId = $user['id']; if ($this->_person) { //unblock the user $user = KService::get('repos://site/users')->find($userId); $user->block = false; $user->save(); $user = $this->_api->getUser(); if (KRequest::get('post.import_avatar', 'cmd') && $user->large_avatar) { $this->_person->setPortraitImage(array('url' => $user->large_avatar)); } $this->_person->enabled = true; $this->_person->save(); } }