aboutsummaryrefslogtreecommitdiffstats
path: root/wip/atom.php
diff options
context:
space:
mode:
Diffstat (limited to 'wip/atom.php')
-rw-r--r--wip/atom.php440
1 files changed, 0 insertions, 440 deletions
diff --git a/wip/atom.php b/wip/atom.php
deleted file mode 100644
index 5e1c6662e..000000000
--- a/wip/atom.php
+++ /dev/null
@@ -1,440 +0,0 @@
-<?php
-
-$month = 0;
-$year = 0;
-$sort='';
-$category='';
-$category_id = 0;
-$author = '';
-$dest = '';
-$rums = false;
-$blgs = false;
-
-$q = '';
-$glbs = false;
-
-$pagenum = 1;
-$articles_page = 20;
-$startrecord = 0;
-
- $query_saved = substr($_SERVER['QUERY_STRING'],2); // strip '?=', save
-
-
-
-
-
-
- $query_original = substr($query_saved,4); // strip 'atom'
-
- $query_original = trim($query_original,'/');
-
- ereg("[/]?page=([0-9]*)",$query_original,$va);
-
- if(((count($va)) > 1) && ($va[1] > 0)) {
- $pagenum = $va[1];
- $query_original = ereg_replace("([/]?page=[0-9]*)","",$query_original);
- $startrecord = ($pagenum * $articles_page) - $articles_page;
- }
-
-
- if(substr($query_original,-4,4) == 'text') {
- $type = 'text';
- $query_original = substr($query_original,0,-4);
- }
-
- $query_original = trim($query_original,'/');
-
- if(substr($query_original,0,5) == 'forum') {
- $rums = true;
- $query_original = substr($query_original,5);
- }
-
- $query_original = trim($query_original,'/');
-
- $cmd = explode('/',$query_original);
-
- if($rums) {
- if($cmd[0] == 'category') {
- $category = $cmd[1];
- }
- else
- $dest = $cmd[0];
- }
- else {
- switch (count($cmd)) {
- case 2:
- if($cmd[0] == 'share') {
- $share = $cmd[1];
- break;
- }
- if(strlen($cmd[1])) {
- $blgs = true;
- $category = $cmd[1];
- }
-
- $author = $cmd[0];
- break;
-
- case 1:
- if(strlen($cmd[0])) {
- $blgs = true;
- $author = $cmd[0];
- }
- break;
-
- default:
- break;
-
- }
- }
-
-// build the return link
-
-$href = $SITE_URL;
-if($blgs)
- $href .= preg_replace("@^atom@","/weblog",$query_saved);
-else
- $href .= preg_replace("@^atom@","",$query_saved);
-$href = preg_replace("@/text$@","",$href);
-$href = preg_replace("@/share/@","/view/",$href);
-
-session_start();
-session_write_close();
-
-if((xint($SITE_RESTRICTED)) && (! xint($_SESSION['authenticated'])))
- exit;
-
-if($type == "text")
- header("Content-type: text/plain");
-else
- header("Content-type: application/atom+xml");
-echo '<?xml version="1.0" encoding="utf-8" ?>'."\r\n";
-
-include("globs.php");
-include("sql.php");
-
-$sitesubs = get_default_subs();
-
-// system defaults
-$blog_url = $SITE_URL;
-$blog_title = xmlificator($SITE_TITLE);
-$blog_desc = xmlificator($BLOG_DESC);
-$blog_author = xmlificator($BLOG_AUTHOR);
-$blog_email = xmlificator($BLOG_EMAIL);
-$blog_logo = $BLOG_LOGO;
-if((strlen($blog_logo)) && (! strstr($blog_logo,"://")))
- $blog_logo = $SITE_URL.'/'.$blog_logo;
-
-$category = dbesc($category);
-$author = dbesc($author);
-$dest = dbesc($dest);
-
-if(strlen($category) && (! ($category_id = category::get_cat_id($category,$author))))
- $category = '';
-
-if(strlen($author)) {
- $author_info = get_author($author);
- if(count($author_info)) {
- $blog_url = xmlificator($SITE_URL.'/weblog/'.$author);
- if(strlen($author_info[0]['blogname']))
- $blog_title = xmlificator($author_info[0]['blogname']);
- if(strlen($author_info[0]['blogdesc']))
- $blog_desc = xmlificator($author_info[0]['blogdesc']);
- if(strlen($author_info[0]['fullname']))
- $blog_author = xmlificator($author_info[0]['fullname']);
- if(strlen($author_info[0]['email']))
- $blog_email = xmlificator($author_info[0]['email']);
- if(strlen($author_info[0]['bloglogo'])) {
- $blog_logo = xmlificator($author_info[0]['bloglogo']);
- if((strlen($blog_logo)) && (! strstr($blog_logo,"://")))
- $blog_logo = $SITE_URL.'/'.$blog_logo;
- }
- }
-}
-
-if(strlen($share)) {
- $x = get_user($share);
- if(count($x)
- && ($x[0]['share'])
- && (! $x[0]['lurker'])
- && (! $x[0]['sharecensor'])
- && (! $x[0]['sharemutual'])) {
-
- if(xstr($x[0]['sitetitle']))
- $blog_title = $x[0]['sitetitle'];
- if(xstr($x[0]['sitedesc']))
- $blog_desc = $x[0]['sitedesc'];
- if(xstr($x[0]['sitelogo']))
- $blog_logo = $x[0]['sitelogo'];
-
- $newsubs = get_subs($x[0]['name']);
- $groups = groupsinit();
- unset($sitesubs);
- $sitesubs = array();
- foreach($newsubs as $sub) {
- $p = fetch_permissions('forum',$sub);
- if(check_access($_SESSION['username'], $groups, '',$p))
- $sitesubs[] = $sub;
- }
-
- }
-
-}
-
-
-$media = getmediamap();
-$build_date = gmdate('c');
-$copyright = 'Copyright '.date('Y').' '.$blog_author;
-$canonical = $SITE_URL;
-if(substr($canonical,0,-1) != '/')
- $canonical .= '/';
-
-$self = $canonical;
-if(substr($query_saved,0,1) == '/')
- $self .= substr($query_saved,1);
-else
- $self .= $query_saved;
-
-$subtitle = '';
-if(strlen($blog_desc))
- $subtitle = "<subtitle>$blog_desc</subtitle>";
-
-echo <<< EOT
-<feed xmlns="http://www.w3.org/2005/Atom"
- xmlns:thr="http://purl.org/syndication/thread/1.0" >
-
- <id>$canonical</id>
- <title>$blog_title</title>
- <link rel="alternate" href="$href" />
- <updated>$build_date</updated>
- $subtitle
-
-EOT;
-
-if(strlen($blog_logo)) {
-echo <<< EOT
- <logo>$blog_logo</logo>
-
-EOT;
-}
-
- $article_id_list = array();
-
- $ss = array();
-
- $ss['tolerance'] = 0;
-
- if($category_id)
- $ss['category_id'] = $category_id;
-
- if($blgs) {
- $ss['type'] = 'weblog';
- $ss['author'] = $author;
- }
-
- if($rums) {
- $ss['type'] = 'forum';
- $ss['forum'] = $dest;
- }
-
-
- $ss['countonly'] = true;
-
- $rt = article_query($ss);
- $totalarticles = $rt[0]['total'];
-
- echo " <link rel=\"self\" href=\"$self\" />\r\n";
-
- $self = ereg_replace("([/]?page=[0-9]*)","",$self);
-
- if($totalarticles > $articles_page) {
-
- if($pagenum != 1) {
- $ppage = $pagenum - 1;
- echo " <link rel=\"previous\" href=\"$self/page=$ppage\" />\r\n";
- }
- echo " <link rel=\"first\" href=\"$self/".'page=1'."\" />\r\n";
-
- $numpages = $totalarticles / $articles_page;
-
- $lastpage = (($numpages > intval($numpages))
- ? intval($numpages)+1
- : $numpages);
-
- echo " <link rel=\"last\" href=\"$self/page=$lastpage\" />\r\n";
-
- if(($totalarticles - ($articles_page * $pagenum)) > 0) {
- $npage = $pagenum + 1;
- echo " <link rel=\"next\" href=\"$self/page=$npage\" />\r\n";
- }
- }
-
-
- unset($ss['countonly']);
-
- $ss['startat'] = $startrecord;
- $ss['articles_page'] = $articles_page;
-
- $r = article_query($ss);
-
- if(count($r)) {
- foreach($r as $rr) {
- $article_id_list[] = "'".$rr['id']."'";
- }
- }
-
- if(count($article_id_list)) {
- $rcc = fetch_comments_by_list($article_id_list,'article');
- $ratt = fetch_attachments_by_list($article_id_list);
- }
-
- foreach($r as $rr) {
-
- $link = "{$SITE_URL}/article/{$rr['guid']}";
- $datestr = $rr['created'];
- $pubdate = gmdate('c',strtotime($datestr.' +0000'));
- $datestr = $rr['edited'];
- $editdate = gmdate('c',strtotime($datestr.' +0000'));
- if(strstr($rr['type'],'news')) {
- if(strlen($rr['ext_author']))
- $authorstr = "<author><name>{$rr['ext_author']}</name></author>\r\n";
- else
- $authorstr = "<author><name>External Author</name></author>\r\n";
-
- }
- else {
- if(strlen($rr['fullname']))
- $authorstr = "<author><name>{$rr['fullname']}</name></author>\r\n";
- else
- $authorstr = "<author><name>{$rr['author']}</name></author>\r\n";
- }
- $guid = "urn:uuid:{$rr[guid]}";
- $comments = "{$SITE_URL}/comments/{$rr['guid']}";
-
- $contents = $rr['body'];
-
- if((! $rr['approved']) && (! strstr($rr['type'], 'news')))
- $contents = filter_images($contents);
-
- $contents = macro_youtube($contents);
- $contents = reltoabs($contents,$SITE_URL.'/');
-
- $title = xmlificator($rr['title']);
- if(! strlen($title)) {
- $title = xmlificator(substr($datestr,0,11));
-
- // Use the first 28 chars of text for the title-summary. Watch that
- // we don't end up with a _partial_ escape sequence at the end.
-
- $stripped = xmlificator(strip_tags($contents));
-
- $len = 28;
- $ok = 0;
- while(! $ok) {
- $summary=substr($stripped,0,$len);
- if(($teststr = strrchr($summary,"&")) && (! strchr($teststr,";"))) {
- $len --;
- }
- else {
- $ok = 1;
- break;
- }
- }
-
- // Chopped off words don't look pretty in an RSS title
-
- if(strrpos($summary,' ') > 10)
- $title .= ' '.substr($summary,0,(strrpos($summary,' ')));
- }
-
- $contents .= feed_attachments($ratt,$rr['id']);
- $contents .= feed_comments($rcc,$rr['id'],$rr['guid'],$rr['rank']);
-
- $contents = reltoabs($contents,$SITE_URL.'/');
-
- $contents = xmlificator($contents);
-
- // output the item
-
-echo <<< EOT
-
-<entry>
- <id>$guid</id>
- <title type="html">$title</title>
- <published>$pubdate</published>
- <updated>$editdate</updated>
- <link rel="alternate" href="$link" />
- <content type="html">$contents</content>
- $authorstr
-
-EOT;
-
- $rc = category::categories_by_article($rr['id']);
- if(count($rc))
- for($x = 0; $x < count($rc); $x ++)
- echo ' <category term="'.xmlificator($rc[$x]).'"/>'."\r\n";
-
- $rat = attachments_fetch($rr['id']);
- if(count($rat)) {
- foreach($rat as $att) {
- $filename = $att['filename'];
- $ext = substr($filename,strrpos($filename,'.'));
- $type = 'application/octet-stream';
- foreach($media as $m) {
- if($m[0] != $ext)
- continue;
- $type = $m[2];
- break;
- }
- echo ' <link rel="enclosure" href="'.$SITE_URL.'/'.xmlificator($filename).'" length="'.$att['size'].'" type="'.$type.'" />'."\r\n";
-
- }
- }
- echo "</entry>\r\n\r\n";
-
-// if(($ALLOW_COMMENTS == "1") && (count($rcc))) {
-// foreach($rcc as $c) {
-// if($c['tid'] != $rr['id'])
-// continue;
-// $cguid = "urn:uuid:{$c['guid']}";
-// $datestr = $c['created'];
-// $cpubdate = date(c,strtotime($datestr));
-//
-// $ccontents = format_avatar($c['avatar'],$c['author'],$c['userid'],
-// $c['censored'],0,'',64).'<br />';
-// $ccontents .= $c['body'];
-//
-// $ccontents = filter_images($ccontents);
-// $ccontents = reltoabs($ccontents,$SITE_URL.'/');
-// $ccontents = xmlificator($ccontents);
-// if(strlen($c['fullname']))
-// $cauthor = xmlificator($c['fullname']);
-// else
-// $cauthor = xmlificator($c['author']);
-// $cauthorstr = '<author><name>'.$cauthor.'</name>';
-// if(strlen($c['url']))
-// $cauthorstr .= '<uri>'.xmlificator($c['url']).'</uri>';
-// $cauthorstr .= '</author>';
-//
-//echo <<< EOT
-//<entry>
-//<thr:in-reply-to ref="$guid" />
-//<id>$cguid</id>
-//<title type="html">Re: $title</title>
-//<link rel="related" href="$link" />
-//<published>$cpubdate</published>
-//<updated>$cpubdate</updated>
-//<content type="html">$ccontents</content>
-//$cauthorstr
-//</entry>
-//
-//EOT;
-//}
-//}
-
-
- }
-
- echo "</feed>\r\n";
-
-?>