diff --git a/.htaccess b/.htaccess index 1915f7476..2d14222ab 100644 --- a/.htaccess +++ b/.htaccess @@ -25,6 +25,9 @@ RewriteRule ^([a-zA-Z0-9_]+)/([[:digit:]]+)page$ ./index.php?mid=$1&page=$2 [L] RewriteRule ^rss/([[:digit:]]+){0,14}/([[:digit:]]+){0,14}/([[:digit:]]+)$ ./index.php?module=rss&act=rss&start_date=$1&end_date=$2&page=$3 [L] RewriteRule ^rss/([[:digit:]]+)$ ./index.php?module=rss&act=rss&page=$1 [L] RewriteRule ^rss$ ./index.php?module=rss&act=rss [L] +RewriteRule ^atom/([[:digit:]]+){0,14}/([[:digit:]]+){0,14}/([[:digit:]]+)$ ./index.php?module=rss&act=rss&format=atom&start_date=$1&end_date=$2&page=$3 [L] +RewriteRule ^atom/([[:digit:]]+)$ ./index.php?module=rss&act=rss&format=atom&page=$1 [L] +RewriteRule ^atom$ ./index.php?module=rss&act=rss&format=atom [L] # administrator page RewriteRule ^admin$ ./index.php?module=admin [L] diff --git a/modules/rss/rss.view.php b/modules/rss/rss.view.php index f053341f7..8e6dc0761 100644 --- a/modules/rss/rss.view.php +++ b/modules/rss/rss.view.php @@ -104,7 +104,21 @@ $path = $this->module_path.'tpl/'; //if($args->start_date || $args->end_date) $file = 'xe_rss'; //else $file = 'rss20'; - $file = 'rss20'; + switch (Context::get('format')) { + case 'xe': + $file = 'xe_rss'; + break; + case 'atom': + $file = 'atom10'; + break; + case 'rss1.0': + $file = 'rss10'; + break; + default: + $file = 'rss20'; + break; + } + $oTemplate = new TemplateHandler(); $oContext = &Context::getInstance(); diff --git a/modules/rss/tpl/atom10.html b/modules/rss/tpl/atom10.html new file mode 100644 index 000000000..312a0b524 --- /dev/null +++ b/modules/rss/tpl/atom10.html @@ -0,0 +1,33 @@ +{''} + + + {$info->title} + {str_replace('\'', ''', htmlspecialchars($info->description))} + {$info->date} + {getUrl('','mid',$mid,'module','rss','act','rss','format','atom1.0','page',Context::get('page'),'start_date',Context::get('start_date'),'end_date',Context::get('end_date'))} + + + XpressEngine + + {str_replace('\'', ''',$oDocument->getTitle())} + {$oDocument->getPermanentUrl()} + {$oDocument->getRegdate('Y-m-d\TH:i:sP')} + {zdate($oDocument->get('last_update'),'Y-m-d\TH:i:sP')} + + + {str_replace('\'', ''',$oDocument->getNickName())} + + {$oDocument->getHomepageUrl()} + + + + {str_replace('\'', ''', htmlspecialchars($oDocument->getContent(false,false,true)))} + + {str_replace('\'', ''', htmlspecialchars($oDocument->getContentText(100)))} + + + + + + + diff --git a/modules/rss/tpl/rss10.html b/modules/rss/tpl/rss10.html index d4cc8bf5f..6dc12c267 100644 --- a/modules/rss/tpl/rss10.html +++ b/modules/rss/tpl/rss10.html @@ -1,27 +1,27 @@ {''} - - <![CDATA[{$info->title}]]> - link}]]> - description}]]> + + {$info->title} + {$info->link} + {str_replace('\'', ''', htmlspecialchars($info->description))} - - + + {$info->date} {$info->language} {$info->total_count} - - - - <![CDATA[{$item->title}]]> - link}]]> - description}]]> - {$item->date} + + + + {str_replace('\'', ''',$oDocument->getTitle())} + {$oDocument->getPermanentUrl()} + {str_replace('\'', ''', htmlspecialchars($oDocument->getContentText(200)))} + {$oDocument->getRegdateGM()} diff --git a/modules/rss/tpl/xe_rss.html b/modules/rss/tpl/xe_rss.html index 0671ec817..6de4abeae 100644 --- a/modules/rss/tpl/xe_rss.html +++ b/modules/rss/tpl/xe_rss.html @@ -2,24 +2,24 @@ - <![CDATA[{$info->title}]]> - link}]]> - description}]]> + {$info->title} + {$info->link} + {str_replace('\'', ''', htmlspecialchars($info->description))} {$info->language} {$info->date} {$info->total_count} {$info->total_page} - <![CDATA[{$oDocument->getTitleText()}]]> - getNickName()}]]> - getPermanentUrl()}]]> + {str_replace('\'', ''',$oDocument->getTitle())} + {str_replace('\'', ''',$oDocument->getNickName())} + {$oDocument->getPermanentUrl()} - getContent(false)}]]> + {str_replace('\'', ''', htmlspecialchars($oDocument->getContent(false)))} - getContentText(100)}]]> + {str_replace('\'', ''', htmlspecialchars($oDocument->getContentText(100)))} - get('tags')}]]> + {str_replace('\'', ''', htmlspecialchars($oDocument->get('tags')))} {$oDocument->getCommentCount()} {$oDocument->getTrackbackCount()} {$oDocument->getRegdateGM()}