本文整理汇总了PHP中SimplePie::enable_cache方法的典型用法代码示例。如果您正苦于以下问题:PHP SimplePie::enable_cache方法的具体用法?PHP SimplePie::enable_cache怎么用?PHP SimplePie::enable_cache使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类SimplePie
的用法示例。
在下文中一共展示了SimplePie::enable_cache方法的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: generate
/**
* Display a wildcard in the back end
*
* @return string
*/
public function generate()
{
if (TL_MODE == 'BE') {
/** @var \BackendTemplate|object $objTemplate */
$objTemplate = new \BackendTemplate('be_wildcard');
$objTemplate->wildcard = '### ' . utf8_strtoupper($GLOBALS['TL_LANG']['FMD']['rss_reader'][0]) . ' ###';
$objTemplate->title = $this->headline;
$objTemplate->id = $this->id;
$objTemplate->link = $this->name;
$objTemplate->href = '' . $GLOBALS['TL_CONFIG']['backendPath'] . '/main.php?do=themes&table=tl_module&act=edit&id=' . $this->id;
return $objTemplate->parse();
}
$this->objFeed = new \SimplePie();
$arrUrls = trimsplit('[\\n\\t ]', trim($this->rss_feed));
if (count($arrUrls) > 1) {
$this->objFeed->set_feed_url($arrUrls);
} else {
$this->objFeed->set_feed_url($arrUrls[0]);
}
$this->objFeed->set_output_encoding(\Config::get('characterSet'));
$this->objFeed->set_cache_location(TL_ROOT . '/system/tmp');
$this->objFeed->enable_cache(false);
if ($this->rss_cache > 0) {
$this->objFeed->enable_cache(true);
$this->objFeed->set_cache_duration($this->rss_cache);
}
if (!$this->objFeed->init()) {
$this->log('Error importing RSS feed "' . $this->rss_feed . '"', __METHOD__, TL_ERROR);
return '';
}
$this->objFeed->handle_content_type();
return parent::generate();
}
示例2: update
public function update() {
$feed = new SimplePie();
$feed->set_feed_url('http://api.twitter.com/1/statuses/user_timeline.atom?screen_name=' . $this->user);
$feed->enable_cache(false);
$feed->set_stupidly_fast(true);
$feed->init();
foreach ($feed->get_items() as $item) {
$title = substr($item->get_title(), strlen($this->user) + 2);
$title = sprintf('<blockquote>%s</blockquote>', $title);
$data = array(
'id' => $item->get_id(),
'title' => Twitter_Autolink::create($title)
->setTarget(false)
->setExternal(false)
->addLinks(),
'content' => '',
'source' => 'twitter',
'timestamp' => $item->get_date('U')
);
Murray_Entry::create($data);
}
}
示例3: addSystemMessages
public function addSystemMessages()
{
if ($GLOBALS['TL_CONFIG']['be_rss_src'] == '') {
return '';
}
$feed = new \SimplePie();
$feed->set_feed_url(html_entity_decode($GLOBALS['TL_CONFIG']['be_rss_src']));
$feed->set_output_encoding(\Config::get('characterSet'));
$feed->set_cache_location(TL_ROOT . '/system/tmp');
$feed->enable_cache(true);
if (!$feed->init()) {
$this->log('Error importing RSS feed "' . $this->rss_feed . '"', __METHOD__, TL_ERROR);
return '';
}
$items = $feed->get_items(0, $GLOBALS['TL_CONFIG']['be_rss_max'] ? $GLOBALS['TL_CONFIG']['be_rss_max'] : 3);
$output = '';
if ($items) {
$user = \BackendUser::getInstance();
foreach ($items as $item) {
$template = new \BackendTemplate('be_rss_item');
$template->title = $item->get_title();
$template->link = $item->get_link();
$template->content = $item->get_content();
$template->date = $item->get_date($GLOBALS['TL_CONFIG']['datimFormat']);
$template->class = $item->get_date('U') > $user->lastLogin ? 'new' : 'message';
$output .= $template->parse();
}
}
$template = new \BackendTemplate('be_rss');
$template->headline = $GLOBALS['TL_CONFIG']['be_rss_headline'];
$template->items = $output;
return $template->parse();
}
示例4: html
public function html()
{
// Get settings
$settings = $this->config;
// Define Simplepie
$feed = new \SimplePie();
$feed->set_feed_url($settings['feed']);
$feed->enable_cache($settings['enable_cache']);
$feed->set_cache_location(cache_path());
$feed->set_cache_duration(60 * 60 * 12);
$feed->set_output_encoding($settings['charset']);
$feed->init();
$title = $settings['title'];
$data = [];
foreach ($feed->get_items($settings['offset'], $settings['limit']) as $key => $item) {
$data[$key]['title'] = $item->get_title();
$data[$key]['permalink'] = $item->get_permalink();
$data[$key]['date'] = $item->get_date();
$data[$key]['updated_date'] = $item->get_updated_date();
$data[$key]['author'] = $item->get_author();
$data[$key]['category'] = $item->get_category();
$data[$key]['description'] = $item->get_description();
$data[$key]['content'] = $item->get_content();
}
return $this->view('rssfeed', compact('title', 'data'));
}
示例5: update
public function update() {
$feed = new SimplePie();
$feed->set_feed_url('https://github.com/' . $this->user . '.atom');
$feed->enable_cache(false);
$feed->set_stupidly_fast(true);
$feed->init();
foreach ($feed->get_items() as $item) {
$id = $item->get_id();
$title = substr($item->get_title(), strlen($this->user) + 1);
$title = sprintf('<a href="%s">%s</a>', $item->get_permalink(), $title);
$data = array(
'id' => $id,
'title' => $title,
'content' => $item->get_content(),
'source' => 'github',
'timestamp' => $item->get_date('U')
);
/*$type = substr($id, 20, strpos($id, '/'));
switch ($type) {
case 'PushEvent':
case 'IssueCommentEvent':
case 'PullRequestEvent':
case 'IssuesEvent':
default:
// no-op, standard stuff will work fine
break;
}*/
Murray_Entry::create($data);
}
}
示例6: add
function add($render)
{
$url = $_REQUEST['url'];
require_once 'lib/simplepie/simplepie.inc';
$pie = new SimplePie();
$pie->enable_cache(false);
$pie->set_autodiscovery_level(SIMPLEPIE_LOCATOR_ALL);
$pie->set_feed_url($url);
$pie->init();
$feed_url = $pie->feed_url;
$feed_title = $pie->get_title();
// Save feed to insert into session variables for later insertion into db
// only do this if we found items at the given url. This way we won't
// insert broken urls in doadd(). Also prevents inserting a new feed
// that never gets subscribed to in the following page.
if (count($pie->get_items()) > 0) {
$_SESSION['new_feed_url'] = $feed_url;
$_SESSION['new_feed_name'] = $feed_title;
} else {
$_SESSION['new_feed_url'] = NULL;
$_SESSION['new_feed_name'] = NULL;
}
$render->assign('url', $url);
$render->assign('feed_url', $feed_url);
$render->assign('items', array_slice($pie->get_items(), 0, 5));
$render->assign('feed', $pie);
$render->assign('title', 'Adding Feed');
$render->display('feed_search.tpl');
}
示例7: simplepie
public static function simplepie($feed_url = NULL)
{
if (!$feed_url) {
return false;
}
$data = new SimplePie();
//*******************************
// Convert To GeoRSS feed
// To Disable Uncomment these 3 lines
//*******************************
$geocoder = new Geocoder();
$georss_feed = $geocoder->geocode_feed($feed_url);
if ($georss_feed == false or empty($georss_feed)) {
// Our RSS feed pull failed, so let's grab the original RSS feed
$data->set_feed_url($feed_url);
} else {
// Converting our feed to GeoRSS was successful, use that data
$data->set_raw_data($georss_feed);
}
// Uncomment Below to disable geocoding
//$data->set_feed_url( $feed_url );
//*******************************
$data->enable_cache(false);
$data->enable_order_by_date(true);
$data->init();
$data->handle_content_type();
return $data;
}
示例8: getFeedParser
/**
* Get a parsed XML Feed Source
*
* @param string $url Url for feed source.
* @param integer $cache_time Time to cache feed for (using internal cache mechanism).
*
* @return mixed SimplePie parsed object on success, false on failure.
*
* @since 12.2
* @deprecated 4.0 Use JFeedFactory($url) instead.
*
* @note In 3.2 will be proxied to JFeedFactory()
*/
public static function getFeedParser($url, $cache_time = 0)
{
JLog::add(__METHOD__ . ' is deprecated. Use JFeedFactory() or supply Simple Pie instead.', JLog::WARNING, 'deprecated');
$cache = JFactory::getCache('feed_parser', 'callback');
if ($cache_time > 0)
{
$cache->setLifeTime($cache_time);
}
$simplepie = new SimplePie(null, null, 0);
$simplepie->enable_cache(false);
$simplepie->set_feed_url($url);
$simplepie->force_feed(true);
$contents = $cache->get(array($simplepie, 'init'), null, false, false);
if ($contents)
{
return $simplepie;
}
JLog::add(JText::_('JLIB_UTIL_ERROR_LOADING_FEED_DATA'), JLog::WARNING, 'jerror');
return false;
}
示例9: getFeed
/**
* see http://simplepie.org/wiki/reference/start#simplepie_item
*
* @return array SimplePie_Item
*/
static function getFeed($url)
{
$feed = new SimplePie();
$feed->set_feed_url($url);
$feed->enable_cache(false);
$feed->init();
return $feed;
}
示例10: feed
function feed()
{
$feed = new SimplePie();
$feed->set_raw_data($this->data);
$feed->enable_cache(false);
$feed->init();
return $feed;
}
示例11: loadStringIntoSimplePieObject
public function loadStringIntoSimplePieObject($xmldata)
{
// Create a new instance of the SimplePie object
$feed = new SimplePie();
$feed->enable_cache(false);
// $feed->set_feed_url('http://simplepie.org/blog/feed/');
$feed->set_raw_data($xmldata);
$feed->init();
$feed->handle_content_type();
return $feed;
}
示例12: get_news_feed
/**
* Return an array of consumed Tweets from the RSS feed
*
* @access public
* @return array
**/
public function get_news_feed($add_news_to_db = TRUE)
{
// Use SimplePie to get the RSS feed
$feed = new SimplePie();
$feed->set_feed_url(array($this->search_query));
$feed->set_item_limit(50);
$feed->handle_content_type();
$feed->enable_cache(false);
$feed->init();
// Get the feed and create the SimplePie feed object
$this->feed = $feed->get_items();
$post = array();
// Array to hold all the tweet info for returning as an array
$retval = array();
// Set up two counters (1 for use in the return array and 1 for counting the number of inserted posts if applicable)
$n = 0;
$i = 0;
// Array to hold the stored hashtags
$hashes = explode(',', $this->options["hashtags"]);
foreach ($feed->get_items() as $item) {
// Get the Twitter status id from the status href
$twitter_status_id = explode("/", $item->get_id());
// Check to see if the username is in the user profile meta data
$post["user_id"] = (int) $this->options["user"];
$user_id = $this->map_twitter_to_user($twitter_status_id[3]);
if (!$user_id == NULL) {
$post["user_id"] = (int) $user_id;
}
// Add individual Tweet data to array
$post["date"] = date("Y-m-d H:i:", strtotime($item->get_date()));
$post["link"] = $item->get_id();
$post["id"] = $twitter_status_id[count($twitter_status_id) - 1];
$post["description"] = $item->get_description();
$post["description_filtered"] = $this->strip_hashes($item->get_description(), $hashes);
$post["twitter_username"] = $twitter_status_id[3];
$post["twitter_username_link"] = $this->create_twitter_link($twitter_status_id[3]);
$post["post_type"] = "twitter";
// Add the new post to the db?
if ($add_news_to_db) {
if ($this->add_item_as_post($post)) {
$i++;
}
}
// Add the Tweet to the return array
$retval[$n] = $post;
$n++;
}
// Return correct values depending on the $add_news_to_db boolean
if ($add_news_to_db) {
return $i;
} else {
return $retval;
}
}
示例13: register
/**
* Register the service provider.
*
* @return void
*/
public function register()
{
$this->app['feed.parser'] = function ($app) {
$cache = PATH_APP . DS . 'cache';
$cache .= DS . (isset($app['client']->alias) ? $app['client']->alias : $app['client']->name);
include_once PATH_CORE . DS . 'libraries' . DS . 'simplepie' . DS . 'simplepie.php';
$reader = new \SimplePie(null, $cache, $app['config']->get('cachetime', 15));
$reader->enable_cache(false);
$reader->force_feed(true);
return $reader;
};
}
示例14: add
static function add($url)
{
require_once 'lib/simplepie_1.3.compiled.php';
$feed = new SimplePie();
$feed->set_feed_url($_POST['url']);
$feed->enable_cache(false);
$feed->init();
$feed->handle_content_type();
$values = array(':id' => $feed->feed_url, ':site' => $feed->get_link(), ':title' => $feed->get_title());
$result = Feeds::$db->exec("INSERT OR IGNORE INTO feeds " . "(id, site_url, title) VALUES (:id, :site, :title)", $values);
return $result == 0 ? FALSE : TRUE;
}
示例15: checkFromTemplate
/**
* Run a test using a sprintf template and data
*
* @param string $template
*/
protected function checkFromTemplate($template, $data, $expected)
{
if (!is_array($data)) {
$data = array($data);
}
$xml = vsprintf($template, $data);
$feed = new SimplePie();
$feed->set_raw_data($xml);
$feed->enable_cache(false);
$feed->init();
return $feed;
}