attributes = $childText; break; default: foreach($childText as $childNodeName => $childNodeText){ $nodes[$node_count]->insertChildNode(getNewNode($childNodeName,$childNodeText)); } } }else{ switch($nodeName){ case 'guid': $nodes[$node_count]->attributes=array('isPermaLink' => 'false'); break; } $nodes[$node_count]->insertChildText(htmlspecialchars($childText)); } return $nodes[$node_count]; } $rssNode = new TreeNode('rss'); $rssNode->attributes = array( 'version' => '2.0', 'xmlns:atom' => "http://www.w3.org/2005/Atom", 'xmlns:dc' => 'http://purl.org/dc/elements/1.1/' ); $channelNode = new TreeNode('channel'); $atomLink = getNewNode('atom:link'); $atomLink->attributes = array('href' => "http://" . $_SERVER['HTTP_HOST'] . "/export/rss/puzzle-du-jour.xml", 'rel' => "self", 'type' => "application/rss+xml"); $channelNode->insertChildNode($atomLink); $nodesDefinition=array( 'title' => 'Jeu-de-puzzle.net : Puzzle du jour', 'link' => 'http://www.jeu-de-puzzle.net/', 'image' => array( 'url' => 'http://www.jeu-de-puzzle.net/images/bouton_88x31.gif', 'link' => 'http://www.jeu-de-puzzle.net/', 'width' => '88', 'height' => '31', 'title' => 'Jeu-de-puzzle.net : Puzzle du jour', ), 'description' => '', 'language' => 'fr', 'copyright' => 'Copyright 2000-'.date("Y").' Jeu-de-puzzle.net', 'webMaster' => 'webmaster@jeu-de-puzzle.net (Lal)', 'pubDate' => date("r",mktime(0,0,0,date("m"),date("d"),date("Y"))), 'lastBuildDate' => date("r",mktime(0,0,0,date("m"),date("d"),date("Y"))), 'category' => 'Puzzles gratuits en ligne', 'generator' => 'PHP '.phpversion().' / xml2tree 0.2', 'ttl' => '60', ); foreach($nodesDefinition as $nodeName => $childText){ $channelNode->insertChildNode(getNewNode($nodeName,$childText)); } $db=dbconnect_jpuzzles(); $sql="select * from jpuzzles.puzzles where (sequence<=$today) and isnull(partner) order by sequence desc limit 0,1"; $res=dbquery($sql,$db); if(mysql_num_rows($res)!=0){ $puzzle_set=mysql_fetch_object($res); $itemNodes=array( 'title' => $puzzle_set->title, 'link' => 'http://www.jeu-de-puzzle.net/jpuzzles/jeu-'.$puzzle_set->puzz_id.'.html', 'enclosure' => array( 'url' => 'http://www.jeu-de-puzzle.net/jpuzzles/miniatures/'.$puzzle_set->filename.'.jpg', 'length' => filesize('../../jpuzzles/miniatures/'.$puzzle_set->filename.'.jpg'), 'type' => 'image/jpeg', ), 'description' => '', 'guid' => $guidPrefix.$puzzle_set->puzz_id, 'category' => $puzzle_set->disposition, ); if(strlen($puzzle_set->credit)>0){ $itemNodes['comments']=$puzzle_set->credit; } $channelNode->insertChildNode(getNewNode('item',$itemNodes)); } dbdisconnect($db); $rssNode->insertChildNode($channelNode); $xml_tree="\n"; $xml_tree.="\n"; $rssNode->printOut($xml_tree); header('Content-Type: application/xml'); echo $xml_tree; ?>