102 lines
No EOL
5.7 KiB
PHP
Executable file
102 lines
No EOL
5.7 KiB
PHP
Executable file
<?php
|
|
/** no direct access **/
|
|
defined('MECEXEC') or die();
|
|
|
|
/** @var MEC_feature_feed $this */
|
|
|
|
header('Content-Type: '.feed_content_type('rss2').'; charset='.get_option('blog_charset'), true);
|
|
$more = 1;
|
|
|
|
echo '<?xml version="1.0" encoding="'.get_option('blog_charset').'"?'.'>';
|
|
do_action('rss_tag_pre', 'rss2');
|
|
?>
|
|
<rss version="2.0"
|
|
xmlns:content="http://purl.org/rss/1.0/modules/content/"
|
|
xmlns:wfw="http://wellformedweb.org/CommentAPI/"
|
|
xmlns:dc="http://purl.org/dc/elements/1.1/"
|
|
xmlns:atom="http://www.w3.org/2005/Atom"
|
|
xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
|
|
xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
|
|
xmlns:mec="http://webnus.net/rss/mec/"
|
|
xmlns:media="http://search.yahoo.com/mrss/"
|
|
<?php do_action('rss2_ns'); ?>
|
|
<?php do_action('mec_rss2_ns'); ?>>
|
|
<channel>
|
|
<title><?php wp_title_rss(); ?></title>
|
|
<atom:link href="<?php self_link(); ?>" rel="self" type="application/rss+xml" />
|
|
<link><?php bloginfo_rss('url'); ?></link>
|
|
<description><?php bloginfo_rss("description"); ?></description>
|
|
<lastBuildDate><?php echo esc_html($this->main->mysql2date('D, d M Y H:i:s O', get_lastpostmodified('GMT'), wp_timezone())); ?></lastBuildDate>
|
|
<language><?php bloginfo_rss('language'); ?></language>
|
|
<sy:updatePeriod><?php echo apply_filters('rss_update_period', 'hourly'); ?></sy:updatePeriod>
|
|
<sy:updateFrequency><?php echo apply_filters('rss_update_frequency', 1); ?></sy:updateFrequency>
|
|
<?php do_action('rss2_head'); ?>
|
|
|
|
<?php foreach($this->events as $date=>$events): foreach($events as $event): $GLOBALS['post'] = get_post($event->ID) ?>
|
|
<?php
|
|
$timezone = $this->main->get_timezone($event);
|
|
$tz = ($timezone ? new DateTimeZone($timezone) : NULL);
|
|
|
|
$cost = (isset($event->data->meta) and isset($event->data->meta['mec_cost']) and trim($event->data->meta['mec_cost'])) ? $event->data->meta['mec_cost'] : '';
|
|
if(isset($event->date) and isset($event->date['start']) and isset($event->date['start']['timestamp'])) $cost = MEC_feature_occurrences::param($event->ID, $event->date['start']['timestamp'], 'cost', $cost);
|
|
|
|
$location_id = $this->main->get_master_location_id($event);
|
|
?>
|
|
<item>
|
|
<title><?php echo esc_html($this->feed->title($event->ID)); ?></title>
|
|
<link><?php echo esc_url($this->main->get_event_date_permalink($event, $event->date['start']['date'])); ?></link>
|
|
|
|
<?php if(get_comments_number($event->ID) or comments_open($event->ID)): ?>
|
|
<comments><?php $this->feed->comments_link_feed($event->ID); ?></comments>
|
|
<?php endif; ?>
|
|
|
|
<pubDate><?php echo esc_html($this->main->mysql2date('D, d M Y H:i:s O', $event->date['start']['date'].' '.$event->data->time['start'], $tz)); ?></pubDate>
|
|
<dc:creator><![CDATA[<?php echo esc_html($this->feed->author($event->data->post->post_author)); ?>]]></dc:creator>
|
|
|
|
<guid isPermaLink="false"><?php the_guid($event->ID); ?></guid>
|
|
|
|
<description><![CDATA[<?php echo MEC_kses::element($this->feed->excerpt($event->ID)); ?>]]></description>
|
|
|
|
<?php if(!get_option('rss_use_excerpt')): $content = $this->feed->content($event->ID, 'rss2'); ?>
|
|
<content:encoded><![CDATA[<?php echo MEC_kses::element($content); ?>]]></content:encoded>
|
|
<?php endif; ?>
|
|
|
|
<?php if(get_comments_number($event->ID) or comments_open($event->ID)): ?>
|
|
<wfw:commentRss><?php echo esc_url(get_post_comments_feed_link($event->ID, 'rss2')); ?></wfw:commentRss>
|
|
<slash:comments><?php echo get_comments_number($event->ID); ?></slash:comments>
|
|
<?php endif; ?>
|
|
|
|
<?php if(has_post_thumbnail($event->ID) and (!isset($this->settings['include_image_in_feed']) or (isset($this->settings['include_image_in_feed']) and !$this->settings['include_image_in_feed']))): $thumbnail_ID = get_post_thumbnail_id($event->ID); $thumbnail = wp_get_attachment_image_src($thumbnail_ID, 'large'); ?>
|
|
<media:content medium="image" url="<?php echo esc_url($thumbnail[0]); ?>" width="<?php echo esc_attr($thumbnail[1]); ?>" height="<?php echo esc_attr($thumbnail[2]); ?>" />
|
|
<?php endif; ?>
|
|
|
|
<mec:startDate><?php echo esc_html($date); ?></mec:startDate>
|
|
<?php if(isset($event->data) and isset($event->data->time) and isset($event->data->time['start'])): ?>
|
|
<mec:startHour><?php echo esc_html($event->data->time['start']); ?></mec:startHour>
|
|
<?php endif; ?>
|
|
|
|
<mec:endDate><?php echo esc_html($this->main->get_end_date_by_occurrence($event->ID, $date)); ?></mec:endDate>
|
|
<?php if(isset($event->data) and isset($event->data->time) and isset($event->data->time['end'])): ?>
|
|
<mec:endHour><?php echo esc_html($event->data->time['end']); ?></mec:endHour>
|
|
<?php endif; ?>
|
|
|
|
<?php if($location_id and $location = $this->main->get_location_data($location_id) and count($location)): ?>
|
|
<mec:location><?php echo esc_html($location['name'] ?: $location['address']); ?></mec:location>
|
|
<?php endif; ?>
|
|
|
|
<?php if($cost): ?>
|
|
<mec:cost><?php echo (is_numeric($cost) ? $this->main->render_price($cost, $event->ID) : $cost); ?></mec:cost>
|
|
<?php endif; ?>
|
|
|
|
<?php if(isset($event->data->categories) and is_array($event->data->categories) and count($event->data->categories)): ?>
|
|
<mec:category><?php $categories = ''; foreach($event->data->categories as $category) $categories .= $category['name'].', '; echo trim($categories, ', ') ?></mec:category>
|
|
<?php endif; ?>
|
|
|
|
<?php $this->feed->enclosure_rss($event->ID); ?>
|
|
<?php do_action('rss2_item'); ?>
|
|
<?php do_action('mec_rss2_item'); ?>
|
|
</item>
|
|
<?php endforeach; endforeach; ?>
|
|
|
|
</channel>
|
|
</rss>
|