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 / index.php < prev    next >
PHP Script  |  2004-08-21  |  9KB  |  208 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.  
  23. $index = 1;
  24. require_once("mainfile.php");
  25. $module_name = basename(dirname(__FILE__));
  26. get_lang($module_name);
  27.  
  28. function theindex($new_topic=0) {
  29.     global $db, $storyhome, $topicname, $topicimage, $topictext, $datetime, $user, $cookie, $nukeurl, $prefix, $multilingual, $currentlang, $articlecomm, $sitename, $user_news;
  30.     if ($multilingual == 1) {
  31.     $querylang = "AND (alanguage='$currentlang' OR alanguage='')";
  32.     } else {
  33.     $querylang = "";
  34.     }
  35.     include("header.php");
  36.     automated_news();
  37.     if (isset($cookie[3]) AND $user_news == 1) {
  38.     $storynum = $cookie[3];
  39.     } else {
  40.     $storynum = $storyhome;
  41.     }
  42.     if ($new_topic == 0) {
  43.     $qdb = "WHERE (ihome='0' OR catid='0')";
  44.     $home_msg = "";
  45.     } else {
  46.     $qdb = "WHERE topic='$new_topic'";
  47.     $result_a = $db->sql_query("SELECT topictext FROM ".$prefix."_topics WHERE topicid='$new_topic'");
  48.     $row_a = $db->sql_fetchrow($result_a);    
  49.     $numrows_a = $db->sql_numrows($result_a);
  50.     $topic_title = stripslashes(check_html($row_a['topictext'], "nohtml"));
  51.     OpenTable();
  52.     if ($numrows_a == 0) {
  53.         echo "<center><font class=\"title\">$sitename</font><br><br>"._NOINFO4TOPIC."<br><br>[ <a href=\"modules.php?name=News\">"._GOTONEWSINDEX."</a> | <a href=\"modules.php?name=Topics\">"._SELECTNEWTOPIC."</a> ]</center>";
  54.     } else {
  55.         echo "<center><font class=\"title\">$sitename: $topic_title</font><br><br>"
  56.         ."<form action=\"modules.php?name=Search\" method=\"post\">"
  57.         ."<input type=\"hidden\" name=\"topic\" value=\"$new_topic\">"
  58.         .""._SEARCHONTOPIC.": <input type=\"name\" name=\"query\" size=\"30\">  "
  59.         ."<input type=\"submit\" value=\""._SEARCH."\">"
  60.         ."</form>"
  61.         ."[ <a href=\"index.php\">"._GOTOHOME."</a> | <a href=\"modules.php?name=Topics\">"._SELECTNEWTOPIC."</a> ]</center>";
  62.     }
  63.     CloseTable();
  64.     echo "<br>";
  65.     }
  66.     $result = $db->sql_query("SELECT sid, catid, aid, title, time, hometext, bodytext, comments, counter, topic, informant, notes, acomm, score, ratings FROM ".$prefix."_stories $qdb $querylang ORDER BY sid DESC limit $storynum");
  67.     while ($row = $db->sql_fetchrow($result)) {
  68.     $s_sid = intval($row['sid']);
  69.     $catid = intval($row['catid']);
  70.     $aid = stripslashes($row['aid']);
  71.     $title = stripslashes(check_html($row['title'], "nohtml"));
  72.     $time = $row['time'];
  73.     $hometext = stripslashes($row['hometext']);
  74.     $bodytext = stripslashes($row['bodytext']);
  75.     $comments = stripslashes($row['comments']);
  76.     $counter = intval($row['counter']);
  77.     $topic = intval($row['topic']);
  78.     $informant = stripslashes($row['informant']);
  79.     $notes = stripslashes($row['notes']);
  80.     $acomm = intval($row['acomm']);
  81.     $score = intval($row['score']);
  82.     $ratings = intval($row['ratings']);
  83.     if ($catid > 0) {
  84.         $row2 = $db->sql_fetchrow($db->sql_query("SELECT title FROM ".$prefix."_stories_cat WHERE catid='$catid'"));
  85.         $cattitle = stripslashes(check_html($row2['title'], "nohtml"));
  86.     }
  87.     getTopics($s_sid);
  88.     formatTimestamp($time);
  89.     $subject = stripslashes(check_html($subject, "nohtml"));
  90.     $introcount = strlen($hometext);
  91.     $fullcount = strlen($bodytext);
  92.     $totalcount = $introcount + $fullcount;
  93.     $c_count = $comments;
  94.     $r_options = "";
  95.       if (isset($cookie[4])) { $r_options .= "&mode=$cookie[4]"; }
  96.       if (isset($cookie[5])) { $r_options .= "&order=$cookie[5]"; }
  97.       if (isset($cookie[6])) { $r_options .= "&thold=$cookie[6]"; }
  98.     $story_link = "<a href=\"modules.php?name=News&file=article&sid=$s_sid$r_options\">";
  99.     $morelink = "(";
  100.     if ($fullcount > 0 OR $c_count > 0 OR $articlecomm == 0 OR $acomm == 1) {
  101.         $morelink .= "$story_link<b>"._READMORE."</b></a> | ";
  102.     } else {
  103.         $morelink .= "";
  104.     }
  105.     if ($fullcount > 0) { $morelink .= "$totalcount "._BYTESMORE." | "; }
  106.     if ($articlecomm == 1 AND $acomm == 0) {
  107.         if ($c_count == 0) { $morelink .= "$story_link"._COMMENTSQ."</a>"; } elseif ($c_count == 1) { $morelink .= "$story_link$c_count "._COMMENT."</a>"; } elseif ($c_count > 1) { $morelink .= "$story_link$c_count "._COMMENTS."</a>"; }
  108.     }
  109.     $sid = intval($s_sid);
  110.     if ($catid != 0) {
  111.         $row3 = $db->sql_fetchrow($db->sql_query("SELECT title FROM ".$prefix."_stories_cat WHERE catid='$catid'"));
  112.         $title1 = stripslashes(check_html($row3['title'], "nohtml"));
  113.         $title = "<a href=\"modules.php?name=News&file=categories&op=newindex&catid=$catid\"><font class=\"storycat\">$title1</font></a>: $title";
  114.         $morelink .= " | <a href=\"modules.php?name=News&file=categories&op=newindex&catid=$catid\">$title1</a>";
  115.     }
  116.     if ($score != 0) {
  117.         $rated = substr($score / $ratings, 0, 4);
  118.     } else {
  119.         $rated = 0;
  120.     }
  121.     $morelink .= " | "._SCORE." $rated";
  122.     $morelink .= ")";
  123.     $morelink = str_replace(" |  | ", " | ", $morelink);
  124.     themeindex($aid, $informant, $datetime, $title, $counter, $topic, $hometext, $notes, $morelink, $topicname, $topicimage, $topictext);
  125.     }
  126.     include("footer.php");
  127. }
  128.  
  129. function rate_article($sid, $score) {
  130.     global $prefix, $db, $ratecookie, $sitename, $r_options;
  131.     $score = intval($score);
  132.     $sid = intval($sid);
  133.     if ($score) {
  134.     if ($score > 5) { $score = 5; }
  135.     if ($score < 1) { $score = 1; }
  136.     if ($score != 1 AND $score != 2 AND $score != 3 AND $score != 4 AND $score != 5) {
  137.         Header("Location: index.php");
  138.         die();
  139.     }
  140.     if (isset($ratecookie)) {
  141.         $rcookie = base64_decode($ratecookie);
  142.         $rcookie = addslashes($rcookie);
  143.         $r_cookie = explode(":", $rcookie);
  144.     }
  145.     for ($i=0; $i < sizeof($r_cookie); $i++) {
  146.         if ($r_cookie[$i] == $sid) {
  147.         $a = 1;
  148.         }
  149.     }
  150.     if ($a == 1) {
  151.         Header("Location: modules.php?name=News&op=rate_complete&sid=$sid&rated=1");
  152.     } else {
  153.         $result = $db->sql_query("update ".$prefix."_stories set score=score+$score, ratings=ratings+1 where sid='$sid'");
  154.         $info = base64_encode("$rcookie$sid:");
  155.         setcookie("ratecookie","$info",time()+3600);
  156.         update_points(7);
  157.         Header("Location: modules.php?name=News&op=rate_complete&sid=$sid$r_options");
  158.     }
  159.     } else {
  160.     include("header.php");
  161.     title("$sitename: "._ARTICLERATING."");
  162.     OpenTable();
  163.     echo "<center>"._DIDNTRATE."<br><br>"
  164.         .""._GOBACK."</center>";
  165.     CloseTable();
  166.     include("footer.php");
  167.     }
  168. }
  169.  
  170. function rate_complete($sid, $rated=0) {
  171.     global $sitename, $user, $cookie;
  172.     $r_options = "";
  173.     if (is_user($user)) {
  174.     if (isset($cookie[4])) { $r_options .= "&mode=$cookie[4]"; }
  175.     if (isset($cookie[5])) { $r_options .= "&order=$cookie[5]"; }
  176.         if (isset($cookie[6])) { $r_options .= "&thold=$cookie[6]"; }
  177.     }
  178.     include("header.php");
  179.     title("$sitename: "._ARTICLERATING."");
  180.     OpenTable();
  181.     if ($rated == 0) {
  182.     echo "<center>"._THANKSVOTEARTICLE."<br><br>"
  183.         ."[ <a href=\"modules.php?name=News&file=article&sid=$sid$r_options\">"._BACKTOARTICLEPAGE."</a> ]</center>";
  184.     } elseif ($rated == 1) {
  185.     echo "<center>"._ALREADYVOTEDARTICLE."<br><br>"
  186.         ."[ <a href=\"modules.php?name=News&file=article&sid=$sid$r_options\">"._BACKTOARTICLEPAGE."</a> ]</center>";
  187.     }
  188.     CloseTable();
  189.     include("footer.php");
  190. }
  191.  
  192. switch ($op) {
  193.  
  194.     default:
  195.     theindex($new_topic);
  196.     break;
  197.  
  198.     case "rate_article":
  199.     rate_article($sid, $score);
  200.     break;
  201.  
  202.     case "rate_complete":
  203.     rate_complete($sid, $rated);
  204.     break;
  205.  
  206. }
  207.  
  208. ?>