本文整理汇总了PHP中FeedItem::set_enclosure方法的典型用法代码示例。如果您正苦于以下问题:PHP FeedItem::set_enclosure方法的具体用法?PHP FeedItem::set_enclosure怎么用?PHP FeedItem::set_enclosure使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类FeedItem
的用法示例。
在下文中一共展示了FeedItem::set_enclosure方法的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: load_file
/**
* @desc Loads a feed by its url
* @param string $url the feed url
*/
public function load_file($url)
{
if (($file = @file_get_contents($url)) !== false) {
$this->data = new FeedData();
if (preg_match('`<entry>(.*)</entry>`is', $file)) {
$expParsed = explode('<entry>', $file);
$nbItems = count($expParsed) - 1 > $nbItems ? $nbItems : count($expParsed) - 1;
$this->data->set_date(preg_match('`<updated>(.*)</updated>`is', $expParsed[0], $var) ? $var[1] : '');
$this->data->set_title(preg_match('`<title>(.*)</title>`is', $expParsed[0], $var) ? $var[1] : '');
$this->data->set_link(preg_match('`<link href="(.*)"/>`is', $expParsed[0], $var) ? $var[1] : '');
$this->data->set_host(preg_match('`<link href="(.*)"/>`is', $expParsed[0], $var) ? $var[1] : '');
for ($i = 1; $i <= $nbItems; $i++) {
$item = new FeedItem();
$item->set_title(preg_match('`<title>(.*)</title>`is', $expParsed[$i], $title) ? $title[1] : '');
$item->set_link(preg_match('`<link href="(.*)"/>`is', $expParsed[$i], $url) ? $url[1] : '');
$item->set_guid(preg_match('`<id>(.*)</id>`is', $expParsed[$i], $guid) ? $guid[1] : '');
$item->set_desc(preg_match('`<summary>(.*)</summary>`is', $expParsed[$i], $desc) ? $desc[1] : '');
$item->set_date(preg_match('`<updated>(.*)</updated>`is', $expParsed[$i], $date) ? new Date(strtotime($date[1]), Timezone::SERVER_TIMEZONE) : null);
$enclosure = preg_match('`<enclosure rel="enclosure" url="(.*)" length="(.*)" type="(.*)" />`is', $expParsed[$i]);
if ($enclosure) {
$enclosure_item = new FeedItemEnclosure();
$enclosure_item->set_lenght($enclosure[2]);
$enclosure_item->set_type($enclosure[3]);
$enclosure_item->set_url($enclosure[1]);
$item->set_enclosure($enclosure_item);
}
$this->data->add_item($item);
}
return true;
}
return false;
}
return false;
}
示例2: FeedData
function get_feed_data_struct($idcat = 0, $name = '')
{
if (MediaService::get_categories_manager()->get_categories_cache()->category_exists($idcat)) {
require_once PATH_TO_ROOT . '/media/media_constant.php';
$category = MediaService::get_categories_manager()->get_categories_cache()->get_category($idcat);
$site_name = GeneralConfig::load()->get_site_name();
$site_name = $idcat != Category::ROOT_CATEGORY ? $site_name . ' : ' . $category->get_name() : $site_name;
$feed_module_name = LangLoader::get_message('module_title', 'common', 'media');
$data = new FeedData();
$data->set_title($feed_module_name . ' - ' . $site_name);
$data->set_date(new Date());
$data->set_link(SyndicationUrlBuilder::rss('media', $idcat));
$data->set_host(HOST);
$data->set_desc($feed_module_name . ' - ' . $site_name);
$data->set_lang(LangLoader::get_message('xml_lang', 'main'));
$data->set_auth_bit(Category::READ_AUTHORIZATIONS);
$categories = MediaService::get_categories_manager()->get_childrens($idcat, new SearchCategoryChildrensOptions(), true);
$ids_categories = array_keys($categories);
$results = PersistenceContext::get_querier()->select('SELECT media.*, cat.image
FROM ' . MediaSetup::$media_table . ' media
LEFT JOIN ' . MediaSetup::$media_cats_table . ' cat ON cat.id = media.idcat
WHERE media.idcat IN :ids_categories
AND infos = :status_approved
ORDER BY timestamp DESC', array('ids_categories' => $ids_categories, 'status_approved' => MEDIA_STATUS_APROBED));
foreach ($results as $row) {
// Rewriting
$link = new Url('/media/media' . url('.php?id=' . $row['id'], '-' . $row['id'] . '+' . Url::encode_rewrite($row['name']) . '.php'));
$item = new FeedItem();
$item->set_title($row['name']);
$item->set_link($link);
$item->set_guid($link);
$item->set_desc(FormatingHelper::second_parse($row['contents']));
$item->set_date(new Date($row['timestamp'], Timezone::SERVER_TIMEZONE));
$item->set_image_url($row['image']);
$item->set_auth(MediaService::get_categories_manager()->get_heritated_authorizations($row['idcat'], Category::READ_AUTHORIZATIONS, Authorizations::AUTH_PARENT_PRIORITY));
$enclosure = new FeedItemEnclosure();
$enclosure->set_lenght(@filesize($row['url']));
$enclosure->set_type($row['mime_type']);
$enclosure->set_url($row['url']);
$item->set_enclosure($enclosure);
$data->add_item($item);
}
$results->dispose();
return $data;
}
}
示例3: load_file
/**
* @desc Loads a feed by its url
* @param string $url the feed url
*/
public function load_file($url)
{
if (($file = @file_get_contents($url)) !== false) {
$this->data = new FeedData();
if (preg_match('`<item>(.*)</item>`is', $file)) {
$expParsed = explode('<item>', $file);
$nbItems = count($expParsed) - 1 > $nbItems ? $nbItems : count($expParsed) - 1;
$this->data->set_date(preg_match('`<!-- RSS generated by PHPBoost on (.*) -->`is', $expParsed[0], $var) ? $var[1] : '');
$this->data->set_title(preg_match('`<title>(.*)</title>`is', $expParsed[0], $var) ? $var[1] : '');
$this->data->set_link(preg_match('`<atom:link href="(.*)" rel="self" type="application/rss+xml" />`is', $expParsed[0], $var) ? $var[1] : '');
$this->data->set_host(preg_match('`<link>(.*)</link>`is', $expParsed[0], $var) ? $var[1] : '');
$this->data->set_desc(preg_match('`<description>(.*)</description>`is', $expParsed[0], $var) ? $var[1] : '');
$this->data->set_lang(preg_match('`<language>(.*)</language>`is', $expParsed[0], $var) ? $var[1] : '');
for ($i = 1; $i <= $nbItems; $i++) {
$pubDate = strtotime($date[1]);
$item = new FeedItem();
$item->set_title(preg_match('`<title>(.*)</title>`is', $expParsed[$i], $title) ? $title[1] : '');
$item->set_link(preg_match('`<link>(.*)</link>`is', $expParsed[$i], $url) ? $url[1] : '');
$item->set_guid(preg_match('`<guid>(.*)</guid>`is', $expParsed[$i], $guid) ? $guid[1] : '');
$item->set_desc(preg_match('`<desc>(.*)</desc>`is', $expParsed[$i], $desc) ? $desc[1] : '');
$item->set_date(preg_match('`<pubDate>(.*)</pubDate>`is', $expParsed[$i], $date) ? new Date(strtotime($date[1]), Timezone::SERVER_TIMEZONE) : null);
$enclosure = preg_match('`<enclosure url="(.*)" length="(.*)" type="(.*)" />`is', $expParsed[$i]);
if ($enclosure) {
$enclosure_item = new FeedItemEnclosure();
$enclosure_item->set_lenght($enclosure[2]);
$enclosure_item->set_type($enclosure[3]);
$enclosure_item->set_url($enclosure[1]);
$item->set_enclosure($enclosure_item);
}
$this->data->add_item($item);
}
return true;
}
return false;
}
return false;
}