| Current Path : /var/www/iplanru/data/old/www/i-plan.ru/administrator/components/com_zoo/helpers/ | 
| Current File : /var/www/iplanru/data/old/www/i-plan.ru/administrator/components/com_zoo/helpers/twitter.php | 
<?php
/**
* @package   ZOO
* @author    YOOtheme http://www.yootheme.com
* @copyright Copyright (C) YOOtheme GmbH
* @license   http://www.gnu.org/licenses/gpl.html GNU/GPL
*/
/**
 * Twitter helper class.
 *
 * @package Component.Helpers
 * @since 2.0
 */
class TwitterHelper extends AppHelper {
	/**
	 * Get Twitter Client.
	 *
	 * @param Application The application to get params from
	 *
	 * @return Twitter|null The Twitter client
	 * @since 2.0
	 */
	public function client($application = null) {
		// get application
		if (!$application) {
			$application = $this->app->zoo->getApplication();
		}
		// get comment params
		$params = $this->app->parameter->create()->loadArray($application ? $application->getParams()->get('global.comments.') : array());
		if (!function_exists('curl_init')) {
			return null;
		}
		// load twitter classes
		$this->app->loader->register('TwitterOAuth', 'libraries:twitter/twitteroauth.php');
		$oauth_token = null;
		$oauth_token_secret = null;
		if (isset($_SESSION['twitter_oauth_token']) && isset($_SESSION['twitter_oauth_token_secret'])) {
			$oauth_token = $_SESSION['twitter_oauth_token'];
			$oauth_token_secret = $_SESSION['twitter_oauth_token_secret'];
		}
		// Build TwitterOAuth object with client credentials.
		return new TwitterOAuth($params->get('twitter_consumer_key'), $params->get('twitter_consumer_secret'), $oauth_token, $oauth_token_secret);
	}
	/**
	 * Get Twitter Fields.
	 *
	 * @param string $t_uid Twitter user id
	 * @param array $fields Fields to acquire
	 * @param Application The application to get params from
	 *
	 * @return array The fields
	 * @since 2.0
	 */
	public function fields($t_uid, $fields = null, $application = null) {
		try {
			$connection = $this->client($application);
			if ($connection) {
				$infos = $connection->get('users/show.json?user_id='.$t_uid.'&include_entities=true');
				if (is_object($infos)) {
					if (is_array($fields)) {
						return array_intersect_key((array) $infos, array_flip($fields));
					} else {
						return (array) $infos;
					}
				}
			}
		} catch (Exception $e) {}
	}
	/**
	 * Logout from Twitter.
	 *
	 * @return self
	 * @since 2.0
	 */
	public function logout() {
		// remove access token from session
		$_SESSION['twitter_oauth_token'] = null;
		$_SESSION['twitter_oauth_token_secret'] = null;
		return $this;
	}
}