cvs: php-master-web /scripts pregen_news update-backend
| From: | Hannes Magnusson | Date: | Sat, 29 Dec 2007 14:44:08 +0000 |
| Subject: | cvs: php-master-web /scripts pregen_news update-backend | ||
| Groups: | php.webmaster | ||
| Request: | Send a blank email to php-webmaster+get-751@lists.php.net to get a copy of this message | ||
bjori Sat Dec 29 14:44:08 2007 UTC
Modified files:
/php-master-web/scripts update-backend pregen_news
Log:
Add support for new years :)
http://cvs.php.net/viewvc.cgi/php-master-web/scripts/update-backend?r1=1.31&r2=1.32&diff_format=u
Index: php-master-web/scripts/update-backend
diff -u php-master-web/scripts/update-backend:1.31 php-master-web/scripts/update-backend:1.32
--- php-master-web/scripts/update-backend:1.31 Thu Nov 22 18:13:36 2007
+++ php-master-web/scripts/update-backend Sat Dec 29 14:44:08 2007
@@ -40,7 +40,7 @@
fetch_ip_to_country($root);
include "pregen_news";
-pregen_atom("$root/archive/2007.xml", "$root/feed.atom",
"$root/include/pregen-news.inc");
+pregen_atom("$root/archive/", "$root/feed.atom",
"$root/include/pregen-news.inc");
include "rss_parser";
legacy_rss("$root/feed.atom", "$root/news.rss",
"$root/conferences/news.rss");
@@ -114,3 +114,4 @@
// Replace real file with temporary file
return rename("$file~", $file);
}
+
http://cvs.php.net/viewvc.cgi/php-master-web/scripts/pregen_news?r1=1.1&r2=1.2&diff_format=u
Index: php-master-web/scripts/pregen_news
diff -u php-master-web/scripts/pregen_news:1.1
php-master-web/scripts/pregen_news:1.2
--- php-master-web/scripts/pregen_news:1.1 Thu Jun 7 13:01:35 2007
+++ php-master-web/scripts/pregen_news Sat Dec 29 14:44:08 2007
@@ -7,12 +7,40 @@
$dom->preserveWhiteSpace = false;
$options = $GLOBALS["XML_OPTIONS"];
- $dom->load($feed, $options);
- $dom->save($feedDest, $options);
+ $y = date("Y");
+ if (file_exists($feed .$y. ".xml")) {
+ $dom->load($feed .$y. ".xml", $options);
+ } elseif (file_exists($feed .(--$y). ".xml")) {
+ $dom->load($feed .$y. ".xml");
+ } else {
+ trigger_error("Can't find news feed", E_USER_WARNING);
+ return;
+ }
+
$entrys = $dom->getElementsByTagNameNS("http://www.w3.org/2005/Atom", "entry");
+ if(!$entrys || $entrys->length < 10) {
+ $fragment = $dom->createDocumentFragment();
+ $tmp = new DOMDocument("1.0", "UTF-8");
+ $tmp->formatOutput = true;
+ $tmp->preserveWhiteSpace = false;
+
+ $tmp->load($feed .($y-1). ".xml", $options);
+ $e = $tmp->getElementsByTagNameNS("http://www.w3.org/2005/Atom", "entry");
+ foreach($e as $n) {
+ $n->setAttribute("xmlns", "http://www.w3.org/2005/Atom");
+ $n->setAttribute("xmlns:php", "http://php.net/ns/news");
+ $fragment->appendXML($tmp->saveXML($n));
+ }
+ $child = $dom->documentElement->appendChild($fragment);
+ $child->removeAttributeNS("http://www.w3.org/1999/xhtml",
"default");
+ }
+ $dom->save($feedDest, $options);
+ //$dom->normalizeDocument(); # For whatever reason this doesn't seem to work :(
+ $dom->load($feedDest);
$NEWS = array();
+
foreach($entrys as $entry) {
$fragment = "";
$c = array();
@@ -52,6 +80,7 @@
"title" => $title,
"content" => $content,
"image" => $image,
+ "date" => $date,
);
$categories = $entry->getElementsByTagName("category");
for ($i=0; $i<$categories->length; $i++) {