Example #1
0
 /**
  * getTwValidation.
  *
  * @return	void
  */
 public function getTwValidation()
 {
     @ob_end_clean();
     header('Content-type: text/plain');
     // No JInputJSON in J2.5
     $raw = file_get_contents('php://input');
     $data = json_decode($raw, true);
     $safeHtmlFilter = JFilterInput::getInstance();
     $token = $data['token'];
     $token = $safeHtmlFilter->clean($token, 'ALNUM');
     $this->input->set($token, 1);
     // CSRF prevention
     if ($this->csrfProtection) {
         $this->_csrfProtection();
     }
     $consumer_key = $data['consumer_key'];
     $consumer_key = $safeHtmlFilter->clean($consumer_key, 'ALNUM');
     $consumer_secret = $data['consumer_secret'];
     $consumer_secret = $safeHtmlFilter->clean($consumer_secret, 'ALNUM');
     $access_token = $data['access_token'];
     $access_token = $safeHtmlFilter->clean($access_token, 'CMD');
     $access_token_secret = $data['access_token_secret'];
     $access_token_secret = $safeHtmlFilter->clean($access_token_secret, 'CMD');
     JLoader::register('TwAppHelper', JPATH_AUTOTWEET_HELPERS . '/channels/twapp.php');
     $status = false;
     $error_message = 'Unknown';
     $user = null;
     $url = null;
     $icon = null;
     try {
         $appHelper = new TwAppHelper($consumer_key, $consumer_secret, $access_token, $access_token_secret);
         if ($result = $appHelper->verify()) {
             $status = $result['status'];
             $error_message = $result['error_message'];
             if ($status) {
                 $error_message = $result['error_message'];
                 $user = $result['user'];
                 $url = $result['url'];
                 $icon = F0FModel::getTmpInstance('Channeltypes', 'AutoTweetModel')->getIcon(AutotweetModelChanneltypes::TYPE_TW_CHANNEL);
             }
         } else {
             $error_message = 'Twitter Login Failed!';
         }
     } catch (Exception $e) {
         $error_message = $e->getMessage();
     }
     $message = json_encode(array('status' => $status, 'error_message' => $error_message, 'user' => $user, 'icon' => $icon, 'url' => $url));
     echo EJSON_START . $message . EJSON_END;
     flush();
     JFactory::getApplication()->close();
 }
Example #2
0
 /**
  * getTimeline
  *
  * @param   string  $consumer_key         Param
  * @param   string  $consumer_secret      Param
  * @param   string  $access_token         Param
  * @param   string  $access_token_secret  Param
  * @param   string  $twUsername           Param
  * @param   int     $twMaxTweets          Param
  *
  * @return	void
  */
 public static function getTimeline($consumer_key, $consumer_secret, $access_token, $access_token_secret, $twUsername, $twMaxTweets)
 {
     $channel = array();
     $appHelper = new TwAppHelper($consumer_key, $consumer_secret, $access_token, $access_token_secret);
     $response = $appHelper->getUserTimeline($twUsername, $twMaxTweets);
     // Iif response is false or empty, twitter is not available or the profile is protected
     if ($response && !empty($response)) {
         $first_status = $response[0];
         // Initialize array for channel data
         $channel = array('screen_name' => $first_status->user->screen_name, 'profile_image_url' => $first_status->user->profile_image_url, 'tweets' => array());
         // Get and save entrys
         foreach ($response as $tweet) {
             $text = null != $tweet->text ? $tweet->text : '';
             $created_at = null != $tweet->created_at ? $tweet->created_at : '';
             $channel['tweets'][] = array('text' => (string) $text, 'created_at' => (string) $created_at);
         }
     }
     return $channel;
 }
Example #3
0
 /**
  * getSystemInfo
  *
  * @return	array
  */
 public static function getSystemInfo()
 {
     try {
         $sysinfo = array();
         // PHP Version
         // Check for PHP4
         if (defined('PHP_VERSION')) {
             $version = PHP_VERSION;
         } elseif (function_exists('phpversion')) {
             $version = phpversion();
         } else {
             // No version info. I'll lie and hope for the best.
             $version = '5.0.0';
         }
         $db = JFactory::getDBO();
         $sysinfo[self::SYSINFO_PHP] = version_compare($version, '5.3.0', '>=');
         $mysql_version = $db->getVersion();
         if (preg_match("/([0-9]+\\.[0-9]+\\.[0-9]+)/", $mysql_version, $matches) && count($matches)) {
             $mysql_version = $matches[0];
         }
         $sysinfo[self::SYSINFO_MYSQL] = version_compare($mysql_version, '5.5.0', '>=');
         $sysinfo[self::SYSINFO_CURL] = function_exists('curl_init');
         $sysinfo[self::SYSINFO_SSL] = function_exists('openssl_get_publickey');
         $sysinfo[self::SYSINFO_JSON] = function_exists('json_encode');
         $sysinfo[self::SYSINFO_HMAC] = function_exists('hash_hmac');
         $sysinfo[self::SYSINFO_TIDY] = function_exists('tidy_parse_string');
         $sysinfo[self::SYSINFO_TIMESTAMP] = TwAppHelper::checkTimestamp();
         return $sysinfo;
     } catch (Exception $e) {
         return $e->getMessage();
     }
 }
Example #4
0
 /**
  * checkTimestamp.
  *
  * @return	boolean
  */
 public static function checkTimestamp()
 {
     // Get component parameter - Offline mode
     $version_check = EParameter::getComponentParam(CAUTOTWEETNG, 'version_check', 1);
     if (!$version_check) {
         return '998 Offline';
     }
     $appHelper = new TwAppHelper('TOCHECK', 'TOCHECK', 'TOCHECK', 'TOCHECK');
     $result = $appHelper->verify();
     $api = $appHelper->getApi();
     $dateCompare = '999 Unable to check';
     if (array_key_exists('headers', $api->response)) {
         $headers = $api->response['headers'];
         $twitterDate = $headers['date'];
         $twistamp = strtotime($twitterDate);
         $srvstamp = time();
         $dateCompare = abs($srvstamp - $twistamp);
     }
     return $dateCompare;
 }