cvs: php-master-web /scripts pregen_news update-backend

From: 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++) {

« previous php.webmaster (#751) next »