/** * 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(); }
/** * 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; }
/** * 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(); } }
/** * 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; }