PHP File Manager
Editing File: Social.php
<?php /* * Copyright (C) Wayne Purton-Smith - All Rights Reserved * Unauthorized copying of this file or removing this paragraph, via any medium is strictly prohibited * Proprietary and confidential * Written by Wayne Purton-Smith <waynepurtonsmith@hotmail.co.uk> February 2014 */ class Social extends CI_Model { public $twitter_username; private $twitter_consumer_key; private $twitter_consumer_secret; private $twitter_access_token; private $twitter_token_secret; public $facebook_username; public $latest_tweets; function __construct() { $this->setTwitterData(array ( 'consumer_key' => $this->config->item('twitter_consumer_key'), 'consumer_secret' => $this->config->item('twitter_consumer_secret'), 'access_token' => $this->config->item('twitter_access_token'), 'token_secret' => $this->config->item('twitter_token_secret') )); $this->extractTwitterUsername(); $this->extractFacebookUsername(); } public function setTwitterData($key_name = '', $key_value = '') { if(is_array($key_name)) { foreach($key_name as $arg_1 => $arg_2) { $this->setTwitterData($arg_1, $arg_2); } } else { if(property_exists($this, 'twitter_' . $key_name)) { $this->{'twitter_' . $key_name} = $key_value; } } return $this; } public function setFacebookData($key_name = '', $key_value = '') { if(is_array($key_name)) { foreach($key_name as $arg_1 => $arg_2) { $this->setTwitterData($arg_1, $arg_2); } } else { if(property_exists($this, 'facebook_' . $key_name)) { $this->{'facebook_' . $key_name} = $key_value; } } return $this; } private function extractFacebookUsername() { if(preg_match('/facebook\.com\/(\w+)$/i', $this->config->item('facebook_link'), $matches) && isset($matches[1])) { $this->facebook_username = $matches[1]; } } private function extractTwitterUsername() { if(preg_match('/twitter\.com\/(\w+)$/i', $this->config->item('twitter_link'), $matches) && isset($matches[1])) { $this->twitter_username = $matches[1]; } } public function getFacebookPosts($limit = 10) { } public function getTwitterPosts($limit = 10) { $cache_key = 'cached_' . $limit . '_tweets'; if(($cached_tweets = $this->cache->get($cache_key)) !== false) { $this->latest_tweets = $cached_tweets; return $cached_tweets; } else { require_once(APPPATH . 'third_party/twitteroauth/twitteroauth.php'); $connection = new TwitterOAuth($this->twitter_consumer_key, $this->twitter_consumer_secret, $this->twitter_access_token, $this->twitter_token_secret); $tweets = $connection->get('https://api.twitter.com/1.1/statuses/user_timeline.json?screen_name=' . $this->twitter_username . '&count=' . $limit . '&trim_user=true&exclude_replies=false&include_rts=true&contributor_details=false'); $this->cache->save($cache_key, $tweets, 300); $this->latest_tweets = $tweets; return $tweets; } } public function linkifyTweet($text = '') { $text = preg_replace("/([\w]+\:\/\/[\w-?&;#~=\.\/\@]+[\w\/])/", "<a href=\"$1\" target=\"_blank\" rel=\"nofollow\">$1</a>", $text); $text = preg_replace("/#([A-Za-z0-9\/\.]*)/", "<a href=\"https://twitter.com/hashtag/$1\" target=\"_blank\" rel=\"nofollow\">#$1</a>", $text); $text = preg_replace("/@([A-Za-z0-9\/\.]*)/", "<a href=\"https://twitter.com/$1\" target=\"_blank\" rel=\"nofollow\">@$1</a>", $text); return $text; } }
Cancel