本文整理汇总了PHP中SimplePie::set_cache_duration方法的典型用法代码示例。如果您正苦于以下问题:PHP SimplePie::set_cache_duration方法的具体用法?PHP SimplePie::set_cache_duration怎么用?PHP SimplePie::set_cache_duration使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类SimplePie
的用法示例。
在下文中一共展示了SimplePie::set_cache_duration方法的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: 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'));
}
示例3: respond
public function respond()
{
$url = trim($this->matches[1]);
$index = 0;
if (isset($this->matches[2])) {
$index = intval(trim($this->matches[2]));
$index = $index - 1;
$index = max(0, $index);
}
$error_level = error_reporting();
error_reporting($error_level ^ E_USER_NOTICE);
$feed = new \SimplePie();
if ($this->cacheEnabled()) {
$feed->set_cache_location($this->config['cache_directory']);
$feed->set_cache_duration(600);
}
$feed->set_feed_url($url);
$feed->init();
$feed->handle_content_type();
if ($index > $feed->get_item_quantity() - 1) {
$index = $feed->get_item_quantity() - 1;
}
$item = $feed->get_item($index);
$result = null;
if ($item) {
$title = html_entity_decode($item->get_title());
$link = $item->get_permalink();
$date = $item->get_date();
$i = $index + 1;
$result = "[{$i}] {$date} - {$title} - {$link}";
}
error_reporting($error_level);
return $result;
}
示例4: SimplePie
function fetch_feed2($url)
{
require_once ABSPATH . WPINC . '/class-feed.php';
$feed = new SimplePie();
$feed->set_sanitize_class('WP_SimplePie_Sanitize_KSES');
// We must manually overwrite $feed->sanitize because SimplePie's
// constructor sets it before we have a chance to set the sanitization class
$feed->sanitize = new WP_SimplePie_Sanitize_KSES();
$feed->set_cache_class('WP_Feed_Cache');
$feed->set_file_class('WP_SimplePie_File');
$feed->set_feed_url($url);
$feed->force_feed(true);
/** This filter is documented in wp-includes/class-feed.php */
$feed->set_cache_duration(apply_filters('wp_feed_cache_transient_lifetime', 12 * HOUR_IN_SECONDS, $url));
/**
* Fires just before processing the SimplePie feed object.
*
* @since 3.0.0
*
* @param object &$feed SimplePie feed object, passed by reference.
* @param mixed $url URL of feed to retrieve. If an array of URLs, the feeds are merged.
*/
do_action_ref_array('wp_feed_options', array(&$feed, $url));
$feed->init();
$feed->handle_content_type();
if ($feed->error()) {
return new WP_Error('simplepie-error', $feed->error());
}
return $feed;
}
示例5: showBlogLastArticles
function showBlogLastArticles()
{
$content = '';
$feed = new SimplePie();
$feed->set_feed_url(array('http://bilboplanet.com/feed/'));
$feed->set_cache_duration(600);
# $feed->enable_xml_dump(isset($_GET['xmldump']) ? true : false);
$success = $feed->init();
$feed->handle_content_type();
if ($success) {
$content .= '<div class="box-dashboard"><div class="top-box-dashboard">' . T_('BilboPlanet news - Official Website :') . '</div>';
$content .= '<ul>';
$itemlimit = 0;
foreach ($feed->get_items() as $item) {
if ($itemlimit == 4) {
break;
}
$content .= '<li>' . $item->get_date('j/m/y') . ' : ';
$content .= '<a class="tips" rel="' . $item->get_title() . '" href="' . $item->get_permalink() . '" target="_blank">' . $item->get_title() . '</a>';
$content .= '</li>';
$itemlimit = $itemlimit + 1;
}
$content .= '</ul></div>';
}
return $content;
}
示例6: show_news
function show_news($newsfeed, $newsitems, $newsprefiximage, $newssuffiximage)
{
$rss = new SimplePie($newsfeed, dirname(__FILE__) . '/cache');
$rss->force_feed(true);
// MAKE IT WORK
$rss->set_cache_duration(60 * 5);
$rss->init();
$rss->handle_content_type();
// if ($rss->error()) {
// echo htmlentities($rss->error());
// return;
// }
foreach ($rss->get_items(0, $newsitems) as $item) {
$title = $item->get_title();
$url = $item->get_permalink();
if ($newsprefiximage != '') {
echo "<img src='{$newsprefiximage}'>";
}
echo "<a href={$url}>{$title}</a>";
if ($newssuffiximage != '') {
echo "<img src='{$newssuffiximage}'>";
}
echo "<br />";
}
}
示例7: import
public function import($forceResync)
{
if (get_option('goodreads_user_id')) {
if (!class_exists('SimplePie')) {
require_once ABSPATH . WPINC . '/class-feed.php';
}
$rss_source = sprintf(self::$apiurl, get_option('goodreads_user_id'));
/* Create the SimplePie object */
$feed = new SimplePie();
/* Set the URL of the feed you're retrieving */
$feed->set_feed_url($rss_source);
/* Tell SimplePie to cache the feed using WordPress' cache class */
$feed->set_cache_class('WP_Feed_Cache');
/* Tell SimplePie to use the WordPress class for retrieving feed files */
$feed->set_file_class('WP_SimplePie_File');
/* Tell SimplePie how long to cache the feed data in the WordPress database */
$feed->set_cache_duration(apply_filters('wp_feed_cache_transient_lifetime', get_option('reclaim_update_interval'), $rss_source));
/* Run any other functions or filters that WordPress normally runs on feeds */
do_action_ref_array('wp_feed_options', array(&$feed, $rss_source));
/* Initiate the SimplePie instance */
$feed->init();
/* Tell SimplePie to send the feed MIME headers */
$feed->handle_content_type();
if ($feed->error()) {
parent::log(sprintf(__('no %s data', 'reclaim'), $this->shortname));
parent::log($feed->error());
} else {
$data = self::map_data($feed);
parent::insert_posts($data);
update_option('reclaim_' . $this->shortname . '_last_update', current_time('timestamp'));
}
} else {
parent::log(sprintf(__('%s user data missing. No import was done', 'reclaim'), $this->shortname));
}
}
示例8: getFeedItems
/**
* Fetches and parses an RSS or Atom feed, and returns its items.
*
* Each element in the returned array will have the following keys:
*
* - **authors** – An array of the item’s authors, where each sub-element has the following keys:
* - **name** – The author’s name
* - **url** – The author’s URL
* - **email** – The author’s email
* - **categories** – An array of the item’s categories, where each sub-element has the following keys:
* - **term** – The category’s term
* - **scheme** – The category’s scheme
* - **label** – The category’s label
* - **content** – The item’s main content.
* - **contributors** – An array of the item’s contributors, where each sub-element has the following keys:
* - **name** – The contributor’s name
* - **url** – The contributor’s URL
* - **email** – The contributor’s email
* - **date** – A {@link DateTime} object representing the item’s date.
* - **dateUpdated** – A {@link DateTime} object representing the item’s last updated date.
* - **permalink** – The item’s URL.
* - **summary** – The item’s summary content.
* - **title** – The item’s title.
*
* @param string $url The feed’s URL.
* @param int $limit The maximum number of items to return. Default is 0 (no limit).
* @param int $offset The number of items to skip. Defaults to 0.
* @param string $cacheDuration Any valid [PHP time format](http://www.php.net/manual/en/datetime.formats.time.php).
*
* @return array|string The list of feed items.
*/
public function getFeedItems($url, $limit = 0, $offset = 0, $cacheDuration = null)
{
$items = array();
if (!extension_loaded('dom')) {
Craft::log('Craft needs the PHP DOM extension (http://www.php.net/manual/en/book.dom.php) enabled to parse feeds.', LogLevel::Warning);
return $items;
}
if (!$cacheDuration) {
$cacheDuration = craft()->config->getCacheDuration();
} else {
$cacheDuration = DateTimeHelper::timeFormatToSeconds($cacheDuration);
}
$feed = new \SimplePie();
$feed->set_feed_url($url);
$feed->set_cache_location(craft()->path->getCachePath());
$feed->set_cache_duration($cacheDuration);
$feed->init();
// Something went wrong.
if ($feed->error()) {
Craft:
log('There was a problem parsing the feed: ' . $feed->error(), LogLevel::Warning);
return array();
}
foreach ($feed->get_items($offset, $limit) as $item) {
$date = $item->get_date('U');
$dateUpdated = $item->get_updated_date('U');
$items[] = array('authors' => $this->_getItemAuthors($item->get_authors()), 'categories' => $this->_getItemCategories($item->get_categories()), 'content' => $item->get_content(true), 'contributors' => $this->_getItemAuthors($item->get_contributors()), 'date' => $date ? new DateTime('@' . $date) : null, 'dateUpdated' => $dateUpdated ? new DateTime('@' . $dateUpdated) : null, 'permalink' => $item->get_permalink(), 'summary' => $item->get_description(true), 'title' => $item->get_title(), 'enclosures' => $this->_getEnclosures($item->get_enclosures()));
}
return $items;
}
示例9: fetch_rss
protected function fetch_rss()
{
include_once ABSPATH . WPINC . '/class-simplepie.php';
$feed = new SimplePie();
$feed->set_feed_url($this->feed_url);
$feed->enable_cache(true);
$feed->set_cache_location($this->cache_directory);
$feed->set_cache_duration($this->cache_duration);
$feed->init();
$this->feed = $feed;
return $this;
}
示例10: displayfeed
public function displayfeed()
{
$this->load->library('simplepie');
$simplepie = new SimplePie();
$simplepie->set_cache_location(APPPATH . '/cache');
$simplepie->set_cache_duration(7200);
$simplepie->set_feed_url('http://feeds.feedburner.com/the99percent/DPIn');
$simplepie->init();
// echo $simplepie->get_title();
//$simplepie->handle_content_type();
$data['feed'] = $simplepie;
$this->load->view("/feed/listing.php", $data);
}
示例11: create
public static function create($cacheEnabled, $cacheDir, $cacheDuration)
{
$feed = new \SimplePie();
$feed->enable_cache($cacheEnabled);
$feed->set_cache_duration($cacheDuration);
$feed->set_cache_location($cacheDir);
// Create dir if not exists
if ($cacheEnabled && !is_dir($cacheDir)) {
$fileSystem = new Filesystem();
$fileSystem->mkdir($cacheDir);
}
return $feed;
}
示例12: make
/**
* Render a newsletter
* @return string the newsletter.
*/
public function make()
{
$module = Yii::app()->controller->module;
require_once 'protected/vendors/simplepie/autoloader.php';
require_once 'protected/vendors/simplepie/idn/idna_convert.class.php';
$timeLimit = KeyValue::model()->findByPk('newsletter_execution_time')->value;
$simplePie = new SimplePie();
$simplePie->set_cache_location('./protected/cache/simplepie');
$simplePie->set_cache_duration(1);
// 1 seconde
// This makes sure that the content is sent to the browser as
// text/html and the UTF-8 character set (since we didn't change it).
$simplePie->handle_content_type();
if ($module->multiLang) {
if (isset($this->language)) {
$feeds = $module->feeds[$this->language];
$renderLanguage = $this->language;
} else {
$feeds = $module->feeds[Yii::app()->language];
$renderLanguage = Yii::app()->language;
}
} else {
$feeds = $module->feeds;
$renderLanguage = Yii::app()->language;
}
$atLeastOne = false;
for ($i = 0; $i < count($feeds); $i++) {
if (isset($feeds[$i]['expression'])) {
$feeds[$i]['content'] = $this->evaluateExpression($feeds[$i]['expression'], array('timeLimit' => $timeLimit, 'language' => $renderLanguage));
if ($feeds[$i]['content'] != '') {
$atLeastOne = true;
}
} else {
$simplePie->set_feed_url($feeds[$i]['url']);
$simplePie->init();
$feeds[$i]['link'] = $simplePie->get_permalink();
$feeds[$i]['items'] = array();
foreach ($simplePie->get_items(0, $feeds[$i]['limit']) as $item) {
if ($item->get_date('U') > strtotime($timeLimit)) {
$feeds[$i]['items'][] = $item;
$atLeastOne = true;
}
}
}
}
if ($atLeastOne) {
return Yii::app()->controller->renderPartial('newsletter.components.views.newsletter', array('feeds' => $feeds, 'language' => $renderLanguage), true);
} else {
return false;
}
}
示例13: read
static function read($feed)
{
$parser = new SimplePie();
$parser->set_feed_url($feed);
$parser->set_cache_location(storage_path() . '/cache');
$parser->set_cache_duration(100);
$success = $parser->init();
$parser->handle_content_type();
if ($parser->error() || !$success) {
return null;
} else {
return $parser->get_items();
}
}
示例14: loadPath
public function loadPath($str, $duration)
{
// declare the namespaces
require_once 'simplepie-master/autoloader.php';
$cache = dirname(__FILE__);
$cache .= $this->cache;
$feed = new SimplePie();
$feed->set_feed_url($str);
$feed->set_cache_location($cache);
$feed->set_cache_duration($duration);
$feed->init();
$feed->handle_content_type();
return $feed;
}
示例15: newSimplePie
/**
* Includes the SimplePie RSS file and sets the cache
*
* @param string $feed
* @param bool $cache
* @param int $cache_duration
*
* @return object|false $sp
*/
public function newSimplePie($feed = '', $cache = RSS_CACHE, $cache_duration = RSS_CACHE_DURATION)
{
include_once EXTENSIONS . "SimplePie/simplepie.inc";
if ($feed != '') {
$sp = new \SimplePie();
$sp->set_feed_url($feed);
$sp->set_cache_location(CACHE . "rss_cache/");
$sp->set_cache_duration($cache_duration);
$sp->enable_cache($cache === 'true');
$sp->handle_content_type();
return $sp;
}
return FALSE;
}