本文整理汇总了PHP中SimplePie::set_item_limit方法的典型用法代码示例。如果您正苦于以下问题:PHP SimplePie::set_item_limit方法的具体用法?PHP SimplePie::set_item_limit怎么用?PHP SimplePie::set_item_limit使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类SimplePie
的用法示例。
在下文中一共展示了SimplePie::set_item_limit方法的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: get_feed
private function get_feed($feed_url)
{
$feed = new SimplePie();
$feed->set_feed_url($feed_url);
$feed->enable_order_by_date(true);
$feed->set_item_limit(3);
$feed->init();
$feed->handle_content_type();
return $feed;
}
示例2: 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;
}
}
示例3: run
/**
* Runs RSS combine
*/
public function run()
{
$feed = new \SimplePie();
$feed->set_feed_url($this->feeds);
$feed->set_cache_location(\Yii::getAlias('@runtime') . '/cache/feed');
$feed->set_item_limit($this->itemLimit);
$success = $feed->init();
if ($success) {
$feed->handle_content_type();
$items = $feed->get_items($this->from, $this->to);
return $this->render('rss', ['items' => $items, 'options' => $this->options]);
}
}
示例4: fetchSite
protected function fetchSite($site)
{
$feed = new \SimplePie();
$feed->force_feed(true);
$feed->set_item_limit(20);
$feed->set_feed_url($site);
$feed->enable_cache(false);
$feed->set_output_encoding('utf-8');
$feed->init();
foreach ($feed->get_items() as $item) {
$this->outputItem(['site' => $site, 'title' => $item->get_title(), 'link' => $item->get_permalink(), 'date' => new \Carbon\Carbon($item->get_date()), 'content' => $item->get_content()]);
}
}
示例5: feed
function feed($feed_type, $id, $init)
{
require_once 'inc/simplepie.inc';
$this->load->model('loader_model');
if ($feed_type == 'label') {
if ($id == 'all_feeds') {
$url = $this->loader_model->get_feeds_all($this->session->userdata('username'));
} else {
$label = $this->loader_model->select_label($this->session->userdata('username'), $id);
$url = $this->loader_model->get_feeds_forLabel($this->session->userdata('username'), $label->label);
}
} else {
$feed = $this->loader_model->select_feed($id);
if ($feed->type == 'site') {
$url = $feed->url;
} else {
if ($feed->type == 'keyword') {
$url = 'feed://news.google.com/news/feeds?gl=us&pz=1&cf=all&ned=us&hl=en&q=' . $feed->url . '&output=rss';
}
}
}
$feed = new SimplePie($url);
$feed->enable_cache(true);
$feed->set_cache_location('cache');
$feed->set_cache_duration(600);
//default: 10 minutes
$feed->set_item_limit(11);
$feed->init();
$feed->handle_content_type();
if ($init == "quantity") {
echo $feed->get_item_quantity();
} else {
if ($init == "discovery") {
if ($feed_type == 'label') {
$data['entries'] = $feed->get_items(0, 20);
} else {
$data['entries'] = $feed->get_items();
}
$this->load->view('loader/discovery_viewer', $data);
} else {
$data['entries'] = $feed->get_items($init, $init + 10);
$this->load->view('loader/feed_viewer', $data);
}
}
}
示例6: index
public function index()
{
// Define Meta
$this->title = "Feedreader";
$this->description = "A Feedreader for Cocktail";
$feed = new SimplePie();
$feed->set_feed_url($this->sources);
$feed->set_cache_location($this->rss_cache);
$feed->set_item_limit(5);
$feed->init();
$feed->handle_content_type();
//Somedata for the page.
$toView["date_format"] = $this->rss_date_format;
$toView["title"] = $feed->get_title();
$toView["items"] = $feed->get_items(0, $this->limit);
/*short cut to load->view("pages/page_name",$content,true)*/
$this->build_content($toView);
$this->render_page();
}
示例7: SimplePie
function sync_feed($url)
{
$ALCHEMY_QUOTA = 30000;
date_default_timezone_set('GMT');
require_once 'inc/simplepie.inc';
// SimplePie for parsing RSS feeds
require_once 'inc/AlchemyAPI.php';
// AlchemyAPI for extracting keywords
$this->load->model('feed_model');
//Fetch the RSS feeds using SimplePie
$feed = new SimplePie($url);
$feed->enable_cache(false);
$feed->set_cache_location('cache');
$feed->set_cache_duration(100);
//default: 10 minutes
$feed->set_item_limit(11);
$feed->init();
$feed->handle_content_type();
// For each articles...
foreach ($feed->get_items() as $item) {
// Parse the data in the article fetched.
$permalink = $item->get_permalink();
if (!$this->feed_model->check_aid($permalink)) {
// Proceed only if we don't have the same article in our database.
$source = $item->get_feed()->get_title();
$title = $item->get_title();
$date = $item->get_date();
$content = $item->get_content();
// Identify the topic of each article using AlchemyAPI, as long as we are under the quota (30000)
if ($this->feed_model->check_meter() < $ALCHEMY_QUOTA) {
$result = $this->extract_keyword($content, $permalink);
// Save the article and the tag associated with the article into our database.
$article_id = $this->feed_model->add_article($permalink, 1, $title, $source, $result['category'], $date, $content);
$this->feed_model->add_tags($result['tags'], $result['category'], $article_id, $source);
}
}
}
return "Sync in progress...";
}
示例8: feed
/**
* returns a simplepie feed object.
*
*/
function feed($feed_url, $limit = 0)
{
if (!file_exists($this->cache)) {
$folder = new Folder();
$folder->mkdir($this->cache);
}
//setup SimplePie
$feed = new SimplePie();
$feed->set_feed_url($feed_url);
$feed->set_cache_location($this->cache);
$feed->set_item_limit($limit);
$feed->strip_htmltags(array('img'));
//retrieve the feed
$feed->init();
//get the feed items
$items = $feed->get_items();
//return
if ($items) {
return $items;
} else {
return false;
}
}
示例9: SimplePie
?>
<div id="block_rss" class="block">
<div class="block_header">
<h4><a href="http://news.bbc.co.uk/">BBC News</a></h4>
</div>
<div class="block_body">
<ul>
<?php
echo "\n";
$feed = new SimplePie();
$feed->set_timeout(30);
$feed->set_feed_url($rss_url);
$feed->enable_cache(TRUE);
$feed->set_cache_location('files/cache');
$feed->set_item_limit($number_of_items);
$feed->set_cache_duration(900);
$feed->init();
$feed->handle_content_type();
$feed_items = $feed->get_items(0, $number_of_items);
if ($show_errors == 'yes' && $feed->error()) {
echo $feed->error();
}
foreach ($feed_items as $item) {
$item_link = $item->get_permalink();
$item_title = $item->get_title();
echo "\t\t\t\t\t\t\t<li><a href=\"{$item_link}\">{$item_title}</a></li>\n";
}
echo "<li style=\"display:none;\"></li>\n";
/* Prevents invalid markup if the list is empty */
?>
示例10: getFeedData
public static function getFeedData($params)
{
$rssurl = str_replace("\n", ",", JString::trim($params->get('rssurl', '')));
$feedTimeout = (int) $params->get('feedTimeout', 10);
$rssdateorder = (int) $params->get('rssdateorder', 1);
$dformat = $params->get('dformat', '%d %b %Y %H:%M %P');
$rssperfeed = (int) $params->get('rssperfeed', 3);
$textfilter = JString::trim($params->get('textfilter', ''));
$pagination = (int) $params->get('pagination', 0);
$totalfeeds = (int) $params->get('rssitems', 5);
$filtermode = (int) $params->get('filtermode', 0);
$showfeedinfo = (int) $params->get('showfeedinfo', 1);
$input_encoding = JString::trim($params->get('inputencoding', ''));
$showimage = (int) $params->get('rssimage', 1);
$cacheTime = (int) $params->get('feedcache', 15) * 60;
//minutes
$orderBy = $params->get('orderby', 'date');
$tmzone = (int) $params->get('tmzone', 0) ? true : false;
$cachePath = JPATH_SITE . DS . 'cache' . DS . 'mod_we_ufeed_display';
$start = $end = 0;
if ($pagination) {
$pagination_items = (int) $params->get('paginationitems', 5);
$current_limit = modFeedShowHelper::getPage($params->get('mid', 0));
$start = ($current_limit - 1) * $pagination_items;
$end = $current_limit * $pagination_items;
}
#Get clean array
$rss_urls = @array_filter(explode(",", $rssurl));
#If only 1 link, use totalfeeds for total limit
if (count($rss_urls) == 1) {
$rssperfeed = $totalfeeds;
}
# Intilize RSS Doc
if (!class_exists('SimplePie')) {
jimport('simplepie.simplepie');
}
//Parser Code
$simplepie = new SimplePie();
$simplepie->set_cache_location($cachePath);
$simplepie->set_cache_duration($cacheTime);
$simplepie->set_stupidly_fast(true);
$simplepie->force_feed(true);
//$simplepie->force_fsockopen(false); //gives priority to CURL if is installed
$simplepie->set_timeout($feedTimeout);
$simplepie->set_item_limit($rssperfeed);
$simplepie->enable_order_by_date(false);
if ($input_encoding) {
$simplepie->set_input_encoding($input_encoding);
$simplepie->set_output_encoding('UTF-8');
}
$simplepie->set_feed_url($rss_urls);
$simplepie->init();
$rssTotalItems = (int) $simplepie->get_item_quantity($totalfeeds);
if ((int) $params->get('debug', 0)) {
echo "<h3>Total RSS Items:" . $rssTotalItems . "</h3>";
echo print_r($simplepie, true);
#debug
}
if (get_class($simplepie) != 'SimplePie' || !$rssTotalItems) {
return array("rsstotalitems" => 0, 'items' => false);
}
$feedItems = array();
#store all feeds items
$counter = 1;
foreach ($simplepie->get_items($start, $end) as $key => $feed) {
#Word Filter
if (!empty($textfilter) && $filtermode != 0) {
$filter = modFeedShowHelper::filterItems($feed, $textfilter);
#Include #Exclude
if ($filtermode == 1 && !$filter || $filtermode == 2 && $filter) {
$rssTotalItems--;
continue;
#Include
}
}
$FeedValues[$key] = new stdClass();
# channel header and link
$channel = $feed->get_feed();
$FeedValues[$key]->FeedTitle = $channel->get_title();
$FeedValues[$key]->FeedLink = $channel->get_link();
if ($showfeedinfo) {
$FeedValues[$key]->FeedFavicon = 'http://g.etfv.co/' . urlencode($FeedValues[$key]->FeedLink);
}
$FeedValues[$key]->FeedDescription = $channel->get_description();
$FeedValues[$key]->FeedLogo = $channel->get_image_url();
#Item
$FeedValues[$key]->ItemTitle = $feed->get_title();
$feeDateUNIX = $feed->get_date('U');
if ($feeDateUNIX < 1) {
$feeDateUNIX = strtotime(trim(str_replace(",", "", $feed->get_date(''))));
}
$FeedValues[$key]->ItemDate = WEJM16 ? JHTML::_('date', $feeDateUNIX, $dformat, $tmzone) : JHtml::date($feeDateUNIX, $dformat, $tmzone);
$FeedValues[$key]->ItemLink = $feed->get_link();
//$feed->get_permalink();
$FeedValues[$key]->ItemText = $feed->get_description();
$FeedValues[$key]->ItemFulltext = $feed->get_content();
$FeedValues[$key]->ItemEnclosure = $feed->get_enclosure();
$FeedValues[$key]->ItemEnclosures = $feed->get_enclosures();
if ($showimage) {
$FeedValues[$key]->ItemImage = "";
//.........这里部分代码省略.........
示例11: date
$max_items = 10;
$feeds = $blogger->getFeeds();
if (!count($feeds)) {
print "no feeds\n";
exit;
}
foreach ($feeds as $feed_id => $feed_data) {
$now = date("Y-m-d H:i:s");
if ($now < date("Y-m-d H:i:s", strtotime("+{$feed_data['frequency']} minutes", strtotime($feed_data['last_checked'])))) {
print "no need to check just yet\t{$feed_data['url']}\n";
continue;
}
$feed = new SimplePie();
$feed->enable_order_by_date(false);
$feed->set_feed_url($feed_data['url']);
$feed->set_item_limit($max_items);
$feed->set_stupidly_fast(true);
$feed->enable_cache(false);
$feed->init();
$feed->handle_content_type();
if ($feed->error()) {
print $feed->error();
} else {
$items = $feed->get_items();
foreach ($items as $key => $item) {
$title = $item->get_title();
$content = $item->get_content();
$permalink = $item->get_permalink();
$categories = $item->get_categories();
$check = $blogger->getPosts(1, 1, array("original_url" => $permalink));
if (!$check || !count($check)) {
示例12: SimplePieWP
/**
* The actual function that can be called on webpages.
*/
function SimplePieWP($feed_url, $options = null)
{
// Quit if the SimplePie class isn't loaded.
if (!class_exists('SimplePie')) {
die('<p style="font-size:16px; line-height:1.5em; background-color:#c00; color:#fff; padding:10px; border:3px solid #f00; text-align:left;"><img src="' . SIMPLEPIE_PLUGINDIR_WEB . '/images/error.png" /> There is a problem with the SimplePie Plugin for WordPress. Check your <a href="' . WP_CPANEL . '" style="color:#ff0; text-decoration:underline;">Installation Status</a> for more information.</p>');
}
if (isset($locale) && !empty($locale) && $locale != 'auto') {
setlocale(LC_TIME, $locale);
}
// Default general settings
$template = get_option('simplepie_template');
$items = get_option('simplepie_items');
$items_per_feed = get_option('simplepie_items_per_feed');
$date_format = get_option('simplepie_date_format');
$enable_cache = get_option('simplepie_enable_cache');
$set_cache_location = get_option('simplepie_set_cache_location');
$set_cache_duration = get_option('simplepie_set_cache_duration');
$enable_order_by_date = get_option('simplepie_enable_order_by_date');
$set_timeout = get_option('simplepie_set_timeout');
// Default text-shortening settings
$truncate_feed_title = get_option('simplepie_truncate_feed_title');
$truncate_feed_description = get_option('simplepie_truncate_feed_description');
$truncate_item_title = get_option('simplepie_truncate_item_title');
$truncate_item_description = get_option('simplepie_truncate_item_description');
// Default advanced settings
$processing = get_option('simplepie_processing');
$locale = get_option('simplepie_locale');
$local_date_format = get_option('simplepie_local_date_format');
$strip_htmltags = get_option('simplepie_strip_htmltags');
$strip_attributes = get_option('simplepie_strip_attributes');
$set_max_checked_feeds = get_option('simplepie_set_max_checked_feeds');
// Overridden settings
if ($options) {
// Fix the template location if one was passed in.
if (isset($options['template']) && !empty($options['template'])) {
$options['template'] = SIMPLEPIE_PLUGINDIR . '/templates/' . strtolower(str_replace(' ', '_', $options['template'])) . '.tmpl';
}
// Fix the processing location if one was passed in.
if (isset($options['processing']) && !empty($options['processing'])) {
$options['processing'] = SIMPLEPIE_PLUGINDIR . '/processing/' . strtolower(str_replace(' ', '_', $options['processing'])) . '.php';
}
extract($options);
}
// Load post-processing file.
if ($processing && $processing != '') {
include_once $processing;
}
// If template doesn't exist, die.
if (!file_exists($template) || !is_readable($template)) {
die('<p style="font-size:16px; line-height:1.5em; background-color:#c00; color:#fff; padding:10px; border:3px solid #f00; text-align:left;"><img src="' . SIMPLEPIE_PLUGINDIR_WEB . '/images/error.png" /> The SimplePie template file is not readable by WordPress. Check the <a href="' . WP_CPANEL . '" style="color:#ff0; text-decoration:underline;">WordPress Control Panel</a> for more information.</p>');
}
// Initialize SimplePie
$feed = new SimplePie();
$feed->set_feed_url($feed_url);
$feed->enable_cache($enable_cache);
$feed->set_item_limit($items_per_feed);
$feed->set_cache_location($set_cache_location);
$feed->set_cache_duration($set_cache_duration);
$feed->enable_order_by_date($enable_order_by_date);
$feed->set_timeout($set_timeout);
$feed->strip_htmltags(explode(' ', $strip_htmltags));
$feed->strip_attributes(explode(' ', $strip_attributes));
$feed->set_max_checked_feeds($set_max_checked_feeds);
$feed->init();
// Load up the selected template file
$handle = fopen($template, 'r');
$tmpl = fread($handle, filesize($template));
fclose($handle);
/**************************************************************************************************************/
// ERRORS
// I'm absolutely sure that there is a better way to do this.
// Define what we're looking for
$error_start_tag = '{IF_ERROR_BEGIN}';
$error_end_tag = '{IF_ERROR_END}';
$error_start_length = strlen($error_start_tag);
$error_end_length = strlen($error_end_tag);
// Find what we're looking for
$error_start_pos = strpos($tmpl, $error_start_tag);
$error_end_pos = strpos($tmpl, $error_end_tag);
$error_length_pos = $error_end_pos - $error_start_pos;
// Grab what we're looking for
$error_string = substr($tmpl, $error_start_pos + $error_start_length, $error_length_pos - $error_start_length);
$replacable_string = $error_start_tag . $error_string . $error_end_tag;
if ($error_message = $feed->error()) {
$tmpl = str_replace($replacable_string, $error_string, $tmpl);
$tmpl = str_replace('{ERROR_MESSAGE}', SimplePie_WordPress::post_process('ERROR_MESSAGE', $error_message), $tmpl);
} elseif ($feed->get_item_quantity() == 0) {
$tmpl = str_replace($replacable_string, $error_string, $tmpl);
$tmpl = str_replace('{ERROR_MESSAGE}', SimplePie_WordPress::post_process('ERROR_MESSAGE', 'There are no items in this feed.'), $tmpl);
} else {
$tmpl = str_replace($replacable_string, '', $tmpl);
}
/**************************************************************************************************************/
// FEED
// FEED_AUTHOR_EMAIL
/* if ($author = $feed->get_author())
{
//.........这里部分代码省略.........
示例13: fetchFeed
/**
* Parses a feed with SimplePie
*
* @param boolean $stupidly_fast Set fast mode. Best for checks
* @param integer $max Limit of items to fetch
* @return SimplePie_Item Feed object
**/
public static function fetchFeed($url, $stupidly_fast = false, $max = 0)
{
# SimplePie
$cfg = get_option(WPeMatico::OPTION_KEY);
if ($cfg['force_mysimplepie']) {
include_once dirname(__FILE__) . '/lib/simplepie.inc.php';
} else {
if (!class_exists('SimplePie')) {
if (is_file(ABSPATH . WPINC . '/class-simplepie.php')) {
include_once ABSPATH . WPINC . '/class-simplepie.php';
} else {
if (is_file(ABSPATH . 'wp-admin/includes/class-simplepie.php')) {
include_once ABSPATH . 'wp-admin/includes/class-simplepie.php';
} else {
include_once dirname(__FILE__) . '/lib/simplepie.inc.php';
}
}
}
}
$feed = new SimplePie();
$feed->enable_order_by_date(false);
$feed->set_feed_url($url);
$feed->feed_url = rawurldecode($feed->feed_url);
$feed->set_item_limit($max);
$feed->set_stupidly_fast($stupidly_fast);
if (!$stupidly_fast) {
if ($cfg['simplepie_strip_htmltags']) {
$strip_htmltags = sanitize_text_field($cfg['strip_htmltags']);
$strip_htmltags = isset($strip_htmltags) && empty($strip_htmltags) ? $strip_htmltags = array() : explode(',', $strip_htmltags);
$strip_htmltags = array_map('trim', $strip_htmltags);
$feed->strip_htmltags($strip_htmltags);
$feed->strip_htmltags = $strip_htmltags;
}
if ($cfg['simplepie_strip_attributes']) {
$feed->strip_attributes($cfg['strip_htmlattr']);
}
}
if (has_filter('wpematico_fetchfeed')) {
$feed = apply_filters('wpematico_fetchfeed', $feed, $url);
}
$feed->enable_cache(false);
$feed->init();
$feed->handle_content_type();
return $feed;
}
示例14: SimplePie
date_default_timezone_set('America/New_York');
include_once 'php/simplepie.inc';
?>
<!DOCTYPE html>
<html lang="en">
<?php
include 'head.php';
?>
<body class="about">
<?php
$newsFeed = new SimplePie();
$newsFeed->set_feed_url("http://blog.chrysellia.com/atom/");
$newsFeed->set_item_limit(4);
$newsFeedSuccess = $newsFeed->init();
$newsFeed->handle_content_type();
?>
<div id="messages"></div>
<div id="navigation">
<div class="container_12">
<div class="grid_12" id="mainNav">
<nav>
<ul>
<li><a href="index.php">Home</a></li>
<li><a href="account.php" class="playNow">Play</a></li>
<li><a href="tops.php">Rankings</a></li>
<li>
<form target="_blank" method="post" action="https://www.paypal.com/cgi-bin/webscr">
示例15: renderVersionStatusReport
function renderVersionStatusReport(&$needsupdate)
{
jimport("joomla.filesystem.folder");
if (JEVHelper::isAdminUser()) {
// get RSS parsed object
$options = array();
$rssUrl = 'https://www.jevents.net/versions30.xml';
$cache_time = 86400;
error_reporting(0);
ini_set('display_errors', 0);
jimport('simplepie.simplepie');
// this caching doesn't work!!!
//$cache = JFactory::getCache('feed_parser', 'callback');
//$cache->setLifeTime($cache_time);
//$cache->setCaching(true);
$rssDoc = new SimplePie(null, null, 0);
$rssDoc->enable_cache(false);
$rssDoc->set_feed_url($rssUrl);
$rssDoc->force_feed(true);
$rssDoc->set_item_limit(999);
//$results = $cache->get(array($rssDoc, 'init'), null, false, false);
$results = $rssDoc->init();
if ($results == false) {
return false;
} else {
$this->generateVersionsFile($rssDoc);
$rows = array();
$items = $rssDoc->get_items();
foreach ($items as $item) {
$apps = array();
if (strpos($item->get_title(), "layout_") === 0) {
$layout = str_replace("layout_", "", $item->get_title());
if (JFolder::exists(JEV_PATH . "views/{$layout}")) {
// club layouts
$xmlfiles1 = JFolder::files(JEV_PATH . "views/{$layout}", "manifest\\.xml", true, true);
if ($xmlfiles1 && count($xmlfiles1) > 0) {
foreach ($xmlfiles1 as $manifest) {
if (realpath($manifest) != $manifest) {
continue;
}
if (!($manifestdata = $this->getValidManifestFile($manifest))) {
continue;
}
$app = new stdClass();
$app->name = $manifestdata["name"];
$app->version = $manifestdata["version"];
$apps["layout_" . basename(dirname($manifest))] = $app;
}
}
}
// package version
if (JFolder::exists(JPATH_ADMINISTRATOR . "/manifests/files")) {
// club layouts
$xmlfiles1 = JFolder::files(JPATH_ADMINISTRATOR . "/manifests/files", "{$layout}\\.xml", true, true);
if (!$xmlfiles1) {
continue;
}
foreach ($xmlfiles1 as $manifest) {
if (realpath($manifest) != $manifest) {
continue;
}
if (!($manifestdata = $this->getValidManifestFile($manifest))) {
continue;
}
$app = new stdClass();
$app->name = $manifestdata["name"];
$app->version = $manifestdata["version"];
$apps["layout_" . basename(dirname($manifest))] = $app;
}
}
} else {
if (strpos($item->get_title(), "module_") === 0) {
$module = str_replace("module_", "", $item->get_title());
// modules
if (JFolder::exists(JPATH_SITE . "/modules/{$module}")) {
$xmlfiles1 = JFolder::files(JPATH_SITE . "/modules/{$module}", "\\.xml", true, true);
if (!$xmlfiles1) {
continue;
}
foreach ($xmlfiles1 as $manifest) {
if (realpath($manifest) != $manifest) {
continue;
}
if (!($manifestdata = $this->getValidManifestFile($manifest))) {
continue;
}
$app = new stdClass();
$app->name = $manifestdata["name"];
$app->version = $manifestdata["version"];
$name = "module_" . str_replace(".xml", "", basename($manifest));
$apps[$name] = $app;
}
}
} else {
if (strpos($item->get_title(), "plugin_") === 0) {
$plugin = explode("_", str_replace("plugin_", "", $item->get_title()), 2);
if (count($plugin) < 2) {
continue;
}
// plugins
//.........这里部分代码省略.........