瀏覽代碼

RSS validates better, escapes links better

teo greenwood 10 年之前
父節點
當前提交
6c7c4b0c19
共有 2 個文件被更改,包括 17 次插入5 次删除
  1. 7 1
      sys/rss/blog.php
  2. 10 4
      sys/rss/microblog.php

+ 7 - 1
sys/rss/blog.php

@@ -1,9 +1,15 @@
 <?php
+  header('Content-Type: application/rss+xml'); 
+  if (!empty($_SERVER["HTTPS"])) {
+    $protocol = "http";
+  } else {
+    $protocol = "https";
+  }
 	extract(json_decode(file_get_contents('../admin/config/main.json'),true));
     echo "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n";
 	echo "<rss version=\"2.0\" xmlns:atom=\"http://www.w3.org/2005/Atom\">\n";
 	echo "<channel>\n";
-    $atomlink = "http://".$_SERVER["SERVER_NAME"]."/".$basedir.$rssdir."blog.php";
+    $atomlink = "$protocol://".$_SERVER["SERVER_NAME"]."/".$basedir.$rssdir."blog.php";
 	echo "<atom:link href=\"".$atomlink."\" rel=\"self\" type=\"application/rss+xml\" />";
 	echo "\t<title>".$htmltitle."</title>\n";
 	echo "\t<description>".$blogtitle."</description>\n";

+ 10 - 4
sys/rss/microblog.php

@@ -1,11 +1,17 @@
-<?php 
+<?php
+  header('Content-Type: application/rss+xml'); 
+  if (!empty($_SERVER["HTTPS"])) {
+    $protocol = "http";
+  } else {
+    $protocol = "https";
+  }
   //Import your config, set some stuff up, then construct the mining laser
   extract(json_decode(file_get_contents('../admin/config/main.json'),true));
   $tcmsUsers = json_decode(file_get_contents('../admin/config/users.json'),true);
   date_default_timezone_set($timezone);
   $tiem = date(DATE_RSS);
   $today = date("m.d.y");
-  $atomlink = "http://".$_SERVER["SERVER_NAME"]."/".$basedir.$rssdir."microblog.php";
+  $atomlink = "$protocol://".$_SERVER["SERVER_NAME"]."/".$basedir.$rssdir."microblog.php";
   $newsdir = $_SERVER["DOCUMENT_ROOT"]."/".$basedir.$microblogdir;
   $files = glob($newsdir.$today."/*");
   $slen = count($files);
@@ -46,7 +52,7 @@
       $feed .= '<item>
                  <title>'.$storyTitle.'</title>
                  <description><![CDATA['.$storyText.']]></description>
-                 <link>'.$storyLink.'</link>
+                 <link>'.preg_replace('/&/', '&#038;', $storyLink).'</link>
                  <guid isPermaLink="false">'.basename($shitpost).'-'.$_SERVER["SERVER_NAME"].'</guid>
                  <pubDate>'.$storyPubDate.'</pubDate>
                  <author>'.$email.' ('.$author.')</author>
@@ -59,7 +65,7 @@
         $feed .= '<item>
                    <title>'.$json->title.'</title>
                    <description><![CDATA['.$json->comment.']]></description>
-                   <link>'.$json->url.'</link>
+                   <link>'.preg_replace('/&/', '&#038;', $json->url).'</link>
                    <guid isPermaLink="false">'.basename($shitpost).'-'.$_SERVER["SERVER_NAME"].'</guid>
                    <pubDate>'.$storyPubDate.'</pubDate>
                    <author>'.$email.' ('.$author.')</author>