home *** CD-ROM | disk | FTP | other *** search
/ PC World 2005 April / PCWorld_2005-04_cd.bin / akce / web / phpnuke / PHP-Nuke-7.5.exe / html / modules / News / article.php next >
PHP Script  |  2004-08-21  |  12KB  |  250 lines

  1. <?php
  2.  
  3. /************************************************************************/
  4. /* PHP-NUKE: Web Portal System                                          */
  5. /* ===========================                                          */
  6. /*                                                                      */
  7. /* Copyright (c) 2002 by Francisco Burzi                                */
  8. /* http://phpnuke.org                                                   */
  9. /*                                                                      */
  10. /* This program is free software. You can redistribute it and/or modify */
  11. /* it under the terms of the GNU General Public License as published by */
  12. /* the Free Software Foundation; either version 2 of the License.       */
  13. /************************************************************************/
  14. /*         Additional security & Abstraction layer conversion           */
  15. /*                           2003 chatserv                              */
  16. /*      http://www.nukefixes.com -- http://www.nukeresources.com        */
  17. /************************************************************************/
  18.  
  19. if (!eregi("modules.php", $_SERVER['PHP_SELF'])) {
  20.     die ("You can't access this file directly...");
  21. }
  22. require_once("mainfile.php");
  23. $optionbox = "";
  24. $module_name = basename(dirname(__FILE__));
  25. get_lang($module_name);
  26.  
  27. if (stristr($REQUEST_URI,"mainfile")) {
  28.     Header("Location: modules.php?name=$module_name&file=article&sid=$sid");
  29. } elseif (!isset($sid) && !isset($tid)) {
  30.     Header("Location: index.php");
  31. }
  32.  
  33. if ($save AND is_user($user)) {
  34.     cookiedecode($user);
  35.     $db->sql_query("UPDATE ".$user_prefix."_users SET umode='$mode', uorder='$order', thold='$thold' where uid='$cookie[0]'");
  36.     getusrinfo($user);
  37.     $info = base64_encode("$userinfo[user_id]:$userinfo[username]:$userinfo[user_password]:$userinfo[storynum]:$userinfo[umode]:$userinfo[uorder]:$userinfo[thold]:$userinfo[noscore]");
  38.     setcookie("user","$info",time()+$cookieusrtime);
  39. }
  40.  
  41. if ($op == "Reply") {
  42.     Header("Location: modules.php?name=$module_name&file=comments&op=Reply&pid=0&sid=$sid&mode=$mode&order=$order&thold=$thold");
  43. }
  44.  
  45. $result = $db->sql_query("select catid, aid, time, title, hometext, bodytext, topic, informant, notes, acomm, haspoll, pollID, score, ratings FROM ".$prefix."_stories where sid='$sid'");
  46. if ($numrows = $db->sql_numrows($result) != 1) {
  47.     Header("Location: index.php");
  48.     die();
  49. }
  50. $row = $db->sql_fetchrow($result);
  51. $catid = intval($row['catid']);
  52. $aid = stripslashes($row['aid']);
  53. $time = $row['time'];
  54. $title = stripslashes(check_html($row['title'], "nohtml"));
  55. $hometext = stripslashes($row['hometext']);
  56. $bodytext = stripslashes($row['bodytext']);
  57. $topic = intval($row['topic']);
  58. $informant = stripslashes($row['informant']);
  59. $notes = stripslashes($row['notes']);
  60. $acomm = intval($row['acomm']);
  61. $haspoll = intval($row['haspoll']);
  62. $pollID = intval($row['pollID']);
  63. $score = intval($row['score']);
  64. $ratings = intval($row['ratings']);
  65.  
  66. if ($aid == "") {
  67.     Header("Location: modules.php?name=$module_name");
  68. }
  69.  
  70. $db->sql_query("UPDATE ".$prefix."_stories SET counter=counter+1 where sid='$sid'");
  71.  
  72. $artpage = 1;
  73. $pagetitle = "- $title";
  74. require("header.php");
  75. $artpage = 0;
  76.  
  77. formatTimestamp($time);
  78. $title = stripslashes(check_html($title, "nohtml"));
  79. $hometext = stripslashes($hometext);
  80. $bodytext = stripslashes($bodytext);
  81. $notes = stripslashes($notes);
  82.  
  83. if ($notes != "") {
  84.     $notes = "<br><br><b>"._NOTE."</b> <i>$notes</i>";
  85. } else {
  86.     $notes = "";
  87. }
  88.  
  89. if($bodytext == "") {
  90.     $bodytext = "$hometext$notes";
  91. } else {
  92.     $bodytext = "$hometext<br><br>$bodytext$notes";
  93. }
  94.  
  95. if($informant == "") {
  96.     $informant = $anonymous;
  97. }
  98.  
  99. getTopics($sid);
  100.  
  101. if ($catid != 0) {
  102.     $row2 = $db->sql_fetchrow($db->sql_query("select title from ".$prefix."_stories_cat where catid='$catid'"));
  103.     $title1 = stripslashes(check_html($row2['title'], "nohtml"));
  104.     $title = "<a href=\"modules.php?name=$module_name&file=categories&op=newindex&catid=$catid\"><font class=\"storycat\">$title1</font></a>: $title";
  105. }
  106.  
  107. echo "<table width=\"100%\" border=\"0\"><tr><td valign=\"top\" width=\"100%\">\n";
  108. themearticle($aid, $informant, $datetime, $title, $bodytext, $topic, $topicname, $topicimage, $topictext);
  109. echo "</td><td> </td><td valign=\"top\">\n";
  110.  
  111. if ($multilingual == 1) {
  112.     $querylang = "AND (blanguage='$currentlang' OR blanguage='')";
  113. } else {
  114.     $querylang = "";
  115. }
  116.  
  117. /* Determine if the article has attached a poll */
  118. if ($haspoll == 1) {
  119.     $url = sprintf("modules.php?name=Surveys&op=results&pollID=%d", $pollID);
  120.     $boxContent = "<form action=\"modules.php?name=Surveys\" method=\"post\">";
  121.     $boxContent .= "<input type=\"hidden\" name=\"pollID\" value=\"".$pollID."\">";
  122.     $boxContent .= "<input type=\"hidden\" name=\"forwarder\" value=\"".$url."\">";
  123.     $row3 = $db->sql_fetchrow($db->sql_query("SELECT pollTitle, voters FROM ".$prefix."_poll_desc WHERE pollID='$pollID'"));
  124.     $pollTitle = stripslashes(check_html($row3['pollTitle'], "nohtml"));
  125.     $voters = $row3['voters'];
  126.     $boxTitle = _ARTICLEPOLL;
  127.     $boxContent .= "<font class=\"content\"><b>$pollTitle</b></font><br><br>\n";
  128.     $boxContent .= "<table border=\"0\" width=\"100%\">";
  129.     for($i = 1; $i <= 12; $i++) {
  130.     $result4 = $db->sql_query("SELECT pollID, optionText, optionCount, voteID FROM ".$prefix."_poll_data WHERE (pollID='$pollID') AND (voteID='$i')");
  131.     $row4 = $db->sql_fetchrow($result4);
  132.     $numrows = $db->sql_numrows($result4);
  133.     if($numrows != 0) {
  134.         $optionText = $row4['optionText'];
  135.         if($optionText != "") {
  136.         $boxContent .= "<tr><td valign=\"top\"><input type=\"radio\" name=\"voteID\" value=\"".$i."\"></td><td width=\"100%\"><font class=\"content\">$optionText</font></td></tr>\n";
  137.         }
  138.     }
  139.     }
  140.     $boxContent .= "</table><br><center><font class=\"content\"><input type=\"submit\" value=\""._VOTE."\"></font><br>";
  141.     if (is_user($user)) {
  142.         cookiedecode($user);
  143.     }
  144.     for($i = 0; $i < 12; $i++) {
  145.     $row5 = $db->sql_fetchrow($db->sql_query("SELECT optionCount FROM ".$prefix."_poll_data WHERE (pollID='$pollID') AND (voteID='$i')"));
  146.     $optionCount = $row5['optionCount'];
  147.     $sum = (int)$sum+$optionCount;
  148.     }
  149.     $boxContent .= "<font class=\"content\">[ <a href=\"modules.php?name=Surveys&op=results&pollID=$pollID&mode=$cookie[4]&order=$cookie[5]&thold=$cookie[6]\"><b>"._RESULTS."</b></a> | <a href=\"modules.php?name=Surveys\"><b>"._POLLS."</b></a> ]<br>";
  150.  
  151.     if ($pollcomm) {
  152.     $result6 = $db->sql_query("select * from ".$prefix."_pollcomments where pollID='$pollID'");
  153.     $numcom = $db->sql_numrows($result6);
  154.     $boxContent .= "<br>"._VOTES.": <b>$sum</b><br>"._PCOMMENTS." <b>$numcom</b>\n\n";
  155.     } else {
  156.         $boxContent .= "<br>"._VOTES." <b>$sum</b>\n\n";
  157.     }
  158.     $boxContent .= "</font></center></form>\n\n";
  159.     themesidebox($boxTitle, $boxContent);
  160. }
  161.  
  162. $row7 = $db->sql_fetchrow($db->sql_query("select title, content, active, bposition from ".$prefix."_blocks where blockfile='block-Login.php' $querylang"));
  163. $title = stripslashes(check_html($row7['title'], "nohtml"));
  164. $content = stripslashes($row7['content']);
  165. $active = intval($row7['active']);
  166. $position = $row7['bposition'];
  167. $position = substr("$position", 0,1);
  168. if (($active == 1) AND ($position == "r") AND (!is_user($user))) {
  169.     loginbox();
  170. }
  171.  
  172. $boxtitle = ""._RELATED."";
  173. $boxstuff = "<font class=\"content\">";
  174. $result8 = $db->sql_query("select name, url from ".$prefix."_related where tid='$topic'");
  175. while ($row8 = $db->sql_fetchrow($result8)) {
  176.     $name = stripslashes($row8['name']);
  177.     $url = stripslashes($row8['url']);
  178.     $boxstuff .= "<strong><big>·</big></strong> <a href=\"$url\" target=\"new\">$name</a><br>\n";
  179. }
  180.  
  181. $boxstuff .= "<strong><big>·</big></strong> <a href=\"modules.php?name=Search&topic=$topic\">"._MOREABOUT." $topictext</a><br>\n";
  182. $boxstuff .= "<strong><big>·</big></strong> <a href=\"modules.php?name=Search&author=$aid\">"._NEWSBY." $aid</a>\n";
  183.  
  184. $boxstuff .= "</font><br><hr noshade width=\"95%\" size=\"1\"><center><font class=\"content\"><b>"._MOSTREAD." $topictext:</b><br>\n";
  185.  
  186. global $multilingual, $currentlang;
  187.     if ($multilingual == 1) {
  188.     $querylang = "AND (alanguage='$currentlang' OR alanguage='')"; /* the OR is needed to display stories who are posted to ALL languages */
  189.     } else {
  190.     $querylang = "";
  191.     }
  192. $row9 = $db->sql_fetchrow($db->sql_query("select sid, title from ".$prefix."_stories where topic='$topic' $querylang order by counter desc limit 0,1"));
  193. $topstory = intval($row9['sid']);
  194. $ttitle = stripslashes(check_html($row9['title'], "nohtml"));
  195.  
  196. $boxstuff .= "<a href=\"modules.php?name=$module_name&file=article&sid=$topstory\">$ttitle</a></font></center><br>\n";
  197. themesidebox($boxtitle, $boxstuff);
  198.  
  199. if ($ratings != 0) {
  200.     $rate = substr($score / $ratings, 0, 4);
  201.     $r_image = round($rate);
  202.     if ($r_image == 1) {
  203.             $the_image = "<br><br><img src=\"images/articles/stars-1.gif\" border=\"1\"></center><br>";
  204.     } elseif ($r_image == 2) {
  205.             $the_image = "<br><br><img src=\"images/articles/stars-2.gif\" border=\"1\"></center><br>";
  206.     } elseif ($r_image == 3) {
  207.             $the_image = "<br><br><img src=\"images/articles/stars-3.gif\" border=\"1\"></center><br>";
  208.     } elseif ($r_image == 4) {
  209.             $the_image = "<br><br><img src=\"images/articles/stars-4.gif\" border=\"1\"></center><br>";
  210.     } elseif ($r_image == 5) {
  211.             $the_image = "<br><br><img src=\"images/articles/stars-5.gif\" border=\"1\"></center><br>";
  212.     }
  213. } else {
  214.     $rate = 0;
  215.     $the_image = "</center><br>";
  216. }
  217.  
  218. $ratetitle = ""._RATEARTICLE."";
  219. $ratecontent = "<center>"._AVERAGESCORE.": <b>$rate</b><br>"._VOTES.": <b>$ratings</b>$the_image";
  220. $ratecontent .= "<form action=\"modules.php?name=$module_name\" method=\"post\"><center>"._RATETHISARTICLE."</center><br>";
  221. $ratecontent .= "<input type=\"hidden\" name=\"sid\" value=\"$sid\">";
  222. $ratecontent .= "<input type=\"hidden\" name=\"op\" value=\"rate_article\">";
  223. $ratecontent .= "<input type=\"radio\" name=\"score\" value=\"5\"> <img src=\"images/articles/stars-5.gif\" border=\"0\" alt=\""._EXCELLENT."\" title=\""._EXCELLENT."\"><br>";
  224. $ratecontent .= "<input type=\"radio\" name=\"score\" value=\"4\"> <img src=\"images/articles/stars-4.gif\" border=\"0\" alt=\""._VERYGOOD."\" title=\""._VERYGOOD."\"><br>";
  225. $ratecontent .= "<input type=\"radio\" name=\"score\" value=\"3\"> <img src=\"images/articles/stars-3.gif\" border=\"0\" alt=\""._GOOD."\" title=\""._GOOD."\"><br>";
  226. $ratecontent .= "<input type=\"radio\" name=\"score\" value=\"2\"> <img src=\"images/articles/stars-2.gif\" border=\"0\" alt=\""._REGULAR."\" title=\""._REGULAR."\"><br>";
  227. $ratecontent .= "<input type=\"radio\" name=\"score\" value=\"1\"> <img src=\"images/articles/stars-1.gif\" border=\"0\" alt=\""._BAD."\" title=\""._BAD."\"><br><br>";
  228. $ratecontent .= "<center><input type=\"submit\" value=\""._CASTMYVOTE."\"></center></form>";
  229. themesidebox($ratetitle, $ratecontent);
  230.  
  231. $optiontitle = ""._OPTIONS."";
  232. $optionbox = "<br>";
  233. $optionbox .= " <img src='images/print.gif' border='0' alt='"._PRINTER."' title='"._PRINTER."'> <a href=\"modules.php?name=$module_name&file=print&sid=$sid\">"._PRINTER."</a><br><br>";
  234. $optionbox .= " <img src='images/friend.gif' border='0' alt='"._FRIEND."' title='"._FRIEND."'> <a href=\"modules.php?name=$module_name&file=friend&op=FriendSend&sid=$sid\">"._FRIEND."</a><br><br></center>\n";
  235. if (is_admin($admin)) {
  236.     $optionbox .= "<center><b>"._ADMIN."</b><br>[ <a href=\"admin.php?op=adminStory\">"._ADD."</a> | <a href=\"admin.php?op=EditStory&sid=$sid\">"._EDIT."</a> | <a href=\"admin.php?op=RemoveStory&sid=$sid\">"._DELETE."</a> ]<br><br></center>";
  237. }
  238. themesidebox($optiontitle, $optionbox);
  239.  
  240. echo "</td></tr></table>\n";
  241. cookiedecode($user);
  242.  
  243. include("modules/$module_name/associates.php");
  244.  
  245. if ((($mode != "nocomments") OR ($acomm == 0)) OR ($articlecomm == 1)) {
  246.     include("modules/News/comments.php");
  247. }
  248. include ("footer.php");
  249.  
  250. ?>