phpDocumentor koliportal
[ class tree: koliportal ] [ index: koliportal ] [ all elements ]

Source for file forum_rss.php

Documentation is available at forum_rss.php

  1. <?php
  2. /** Fórum RSS generátor
  3. * @package koliportal
  4. * @author Karakó Miklós <palacsint_X_freemail.hu>
  5. * @copyright Copyright &copy; 2005, Karakó Miklós
  6. */
  7. ob_start();
  8. /** initszkriptek beszúrása */
  9. (dirname(__FILE__) . "/../init.inc.php");
  10.  
  11. $dataArray = array();
  12. $sql_q = "
  13. SELECT DISTINCT t1.title, t1.tid, p1.dt AS lastmsg, p1.uid AS lastuid,
  14. t1.ct AS ct, t1.cuid AS cuid,
  15. (SELECT count(*) FROM posts AS p4temp WHERE p4temp.tid = t1.tid) AS msgcount,
  16. CASE WHEN p1.dt is NULL THEN t1.ct ELSE p1.dt END AS ord_lastmsg
  17.  
  18. FROM topics AS t1
  19. LEFT OUTER JOIN posts AS p1
  20. ON (p1.tid = t1.tid
  21. AND p1.postid = (SELECT max(p3temp.postid) FROM posts AS p3temp WHERE p3temp.tid = t1.tid)
  22. )
  23. ORDER BY ord_lastmsg DESC
  24. ";
  25. $sql_res = mysql_query($sql_q, $database);
  26.  
  27. /** Hibaüzenet generálása RSS elemként
  28. *
  29. * Az RSS csatornába ágyazott hibaüzenet küldésére szolgál.
  30. *
  31. * @param string $t A hibaüzenet szövege
  32. */
  33. function error_feed($t)
  34. {
  35. $r = array();
  36. $r["title"] = $t;
  37. $r["url"] = sprintf("http://%s%s", SERVER_ROOT, $_SERVER["REQUEST_URI"]);
  38. return $r;
  39. }
  40. if ((false === $sql_res))
  41. {
  42. $dataArray[] = error_feed("Belső hiba");
  43. mylog(sprintf("forum_rss - get: %s", mysql_error()));
  44. $errc++;
  45. }
  46. if (0 === $errc)
  47. {
  48. while ($arr = mysql_fetch_assoc($sql_res))
  49. {
  50. $n = array();
  51. $n["title"] = sprintf("%s - %s", $arr["lastmsg"], $arr["title"]);
  52. $n["link"] = sprintf("http://%s?page=forum&amp;tid=%d",
  53. SERVER_ROOT, $arr["tid"]);
  54. $dataArray[] = $n;
  55. }
  56. }
  57.  
  58. ob_end_clean();
  59.  
  60. echo "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n\n";
  61. echo "<!DOCTYPE rss PUBLIC \"-//Netscape Communications//DTD RSS 0.91//EN\"\n";
  62. echo " \"http://my.netscape.com/publish/formats/rss-0.91.dtd\">\n\n";
  63. echo "<rss version=\"0.91\">\n\n";
  64. echo "<channel>\n";
  65. echo "<title>" . RSS_TITLE . "</title>\n";
  66. echo "<link>" . RSS_NUKEURL . "</link>\n";
  67. echo "<description>" . RSS_DESCRIPTION . "</description>\n";
  68. echo "<language>" . RSS_BACKEND_LANGUAGE . "</language>\n\n";
  69.  
  70. if (count($dataArray) > 0)
  71. {
  72. foreach($dataArray as $value) {
  73. printf("<item>\n
  74. <title>%s</title>\n
  75. <link>%s</link>\n
  76. </item>\n", $value["title"], $value["link"]);
  77. }
  78. }
  79.  
  80. echo "</channel>\n";
  81. echo "</rss>";
  82.  
  83. ?>

Documentation generated on Wed, 18 May 2005 19:24:18 +0200 by phpDocumentor 1.3.0RC3