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 / Encyclopedia / index.php < prev    next >
PHP Script  |  2004-08-21  |  11KB  |  275 lines

  1. <?php
  2.  
  3. ######################################################################
  4. # PHP-NUKE: Web Portal System
  5. # ===========================
  6. #
  7. # Copyright (c) 2002 by Francisco Burzi (fbc@mandrakesoft.com)
  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. #
  15. # Additional security checking code 2003 by 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. require_once("mainfile.php");
  24. $module_name = basename(dirname(__FILE__));
  25. get_lang($module_name);
  26.  
  27. $pagetitle = "- "._ENCYCLOPEDIA."";
  28.  
  29. function encysearch($eid) {
  30.     global $module_name;
  31.     echo "<center><form action=\"modules.php?name=$module_name&file=search\" method=\"post\">"
  32.     ."<input type=\"text\" size=\"20\" name=\"query\">  "
  33.     ."<input type=\"hidden\" name=\"eid\" value=\"$eid\">"
  34.     ."<input type=\"submit\" value=\""._SEARCH."\">"
  35.     ."</form>"
  36.     ."</center>";
  37. }
  38.  
  39. function alpha($eid) {
  40.     global $module_name, $prefix, $db;
  41.     echo "<center>"._ENCYSELECTLETTER."</center><br><br>";
  42.     $alphabet = array ("A","B","C","D","E","F","G","H","I","J","K","L","M",
  43.                        "N","O","P","Q","R","S","T","U","V","W","X","Y","Z");
  44.     $num = count($alphabet) - 1;
  45.     echo "<center>[ ";
  46.     $counter = 0;
  47.     $eid = intval($eid);
  48.     while (list(, $ltr) = each($alphabet)) {
  49.         $ltr = substr("$ltr", 0,1);
  50.         $numrows = $db->sql_numrows($db->sql_query("SELECT * FROM ".$prefix."_encyclopedia_text WHERE eid='$eid' AND UPPER(title) LIKE '$ltr%'"));
  51.     if ($numrows > 0) {
  52.         echo "<a href=\"modules.php?name=$module_name&op=terms&eid=$eid&ltr=$ltr\">$ltr</a>";
  53.     } else {
  54.         echo "$ltr";
  55.     }
  56.         if ( $counter == round($num/2) ) {
  57.             echo " ]\n<br>\n[ ";
  58.         } elseif ( $counter != $num ) {
  59.             echo " | \n";
  60.         }
  61.         $counter++;
  62.     }
  63.     echo " ]</center><br><br>\n\n\n";
  64.     encysearch($eid);
  65.     echo "<center>"._GOBACK."</center>";
  66. }
  67.  
  68. function list_content($eid) {
  69.     global $module_name, $prefix, $sitename, $db;
  70.     $eid = intval($eid);
  71.     $row = $db->sql_fetchrow($db->sql_query("SELECT title, description FROM ".$prefix."_encyclopedia WHERE eid='$eid'"));
  72.     $title = stripslashes(check_html($row['title'], "nohtml"));
  73.     $description = stripslashes($row['description']);
  74.     include("header.php");
  75.     title("$title");
  76.     OpenTable();
  77.     echo "<center><b>$title</b></center><br>"
  78.     ."<p align=\"justify\">$description</p>";
  79.     CloseTable();
  80.     echo "<br>";
  81.     OpenTable();
  82.     alpha($eid);
  83.     CloseTable();
  84.     echo "<br>";
  85.     OpenTable();
  86.     echo "<center><font class=\"tiny\">"._COPYRIGHT." © "._BY." $sitename</font></center>";
  87.     CloseTable();
  88.     include("footer.php");
  89. }
  90.  
  91. function terms($eid, $ltr) {
  92.     global $module_name, $prefix, $sitename, $db, $admin;
  93.     $eid = intval($eid);
  94.     $row = $db->sql_fetchrow($db->sql_query("SELECT active FROM ".$prefix."_encyclopedia WHERE eid='$eid'"));
  95.     $active = intval($row['active']);
  96.     $row2 = $db->sql_fetchrow($db->sql_query("SELECT title FROM ".$prefix."_encyclopedia WHERE eid='$eid'"));
  97.     $title = stripslashes(check_html($row2['title'], "nohtml"));
  98.     include("header.php");
  99.     title("$title");
  100.     OpenTable();
  101.     if (($active == 1) OR (is_admin($admin))) {
  102.     if (($active != 1) AND (is_admin($admin))) {
  103.         echo "<center>"._YOURADMINENCY."</center><br><br>";
  104.     }
  105.     echo "<center>Please select one term from the following list:</center><br><br>"
  106.         ."<table border=\"0\" align=\"center\">";
  107.     $result3 = $db->sql_query("SELECT tid, title FROM ".$prefix."_encyclopedia_text WHERE UPPER(title) LIKE '$ltr%' AND eid='$eid'");
  108.     $numrows = $db->sql_numrows($result3);
  109.     if ($numrows == 0) {
  110.         echo "<center><i>"._NOCONTENTFORLETTER." $ltr.</i></center>";
  111.     }
  112.     while ($row3 = $db->sql_fetchrow($result3)) {
  113.         $tid = intval($row3['tid']);
  114.         $title = stripslashes(check_html($row3['title'], "nohtml"));
  115.         echo "<tr><td><a href=\"modules.php?name=$module_name&op=content&tid=$tid\">$title</a></td></tr>";
  116.     }
  117.     echo "</table><br><br>";
  118.     alpha($eid);
  119.     } else {
  120.     echo "<center>"._ENCYNOTACTIVE."<br><br>"
  121.         .""._GOBACK."</center>";
  122.     }
  123.     CloseTable();
  124.     include("footer.php");
  125. }
  126.  
  127. function content($tid, $ltr, $page=0, $query="") {
  128.     global $prefix, $db, $sitename, $admin, $module_name;
  129.     $tid = intval($tid);
  130.     include("header.php");
  131.     OpenTable();
  132.     $ency = $db->sql_fetchrow($db->sql_query("SELECT * FROM ".$prefix."_encyclopedia_text WHERE tid='$tid'"));
  133.     $etid = intval($ency['tid']);
  134.     $eeid = intval($ency['eid']);
  135.     $etitle = $ency['title'];
  136.     $etext = $ency['text'];
  137.     $ecounter = intval($ency['counter']);
  138.     $row = $db->sql_fetchrow($db->sql_query("SELECT active FROM ".$prefix."_encyclopedia WHERE eid='$eeid'"));
  139.     $active = intval($row['active']);
  140.     if (($active == 1) OR ($active == 0 AND is_admin($admin))) {
  141.     $db->sql_query("UPDATE ".$prefix."_encyclopedia_text SET counter=counter+1 WHERE tid='$tid'");
  142.     $row2 = $db->sql_fetchrow($db->sql_query("SELECT title FROM ".$prefix."_encyclopedia WHERE eid='$eeid'"));
  143.     $enc_title = $row2['title'];
  144.     echo "<font class=\"title\">$etitle</font><br><br><br>";
  145.     $contentpages = explode( "<!--pagebreak-->", $etext );
  146.     $pageno = count($contentpages);
  147.     if ( $page=="" || $page < 1 )
  148.         $page = 1;
  149.     if ( $page > $pageno )
  150.         $page = $pageno;
  151.     $arrayelement = (int)$page;
  152.     $arrayelement --;
  153.     if ($pageno > 1) {
  154.         echo ""._PAGE.": $page/$pageno<br>";
  155.     }
  156.     if (isset($query)) {
  157.         $contentpages[$arrayelement] = eregi_replace($query,"<b>$query</b>",$contentpages[$arrayelement]);
  158.         $fromsearch = "&query=$query";
  159.     } else {
  160.         $fromsearch = "";
  161.     }
  162.     echo "<p align=\"justify\">".nl2br($contentpages[$arrayelement])."</p>";
  163.     if($page >= $pageno) {
  164.         $next_page = "";
  165.     } else {
  166.         $next_pagenumber = $page + 1;
  167.         if ($page != 1) {
  168.         $next_page .= "- ";
  169.         }
  170.         $next_page .= "<a href=\"modules.php?name=$module_name&op=content&tid=$tid&page=$next_pagenumber$fromsearch\">"._NEXT." ($next_pagenumber/$pageno)</a> <a href=\"modules.php?name=$module_name&op=content&tid=$tid&page=$next_pagenumber\"><img src=\"images/right.gif\" border=\"0\" alt=\""._NEXT."\" title=\""._NEXT."\"></a>";
  171.     }
  172.     if($page <= 1) {
  173.         $previous_page = "";
  174.     } else {
  175.         $previous_pagenumber = $page - 1;
  176.         $previous_page = "<a href=\"modules.php?name=$module_name&op=content&tid=$tid&page=$previous_pagenumber$fromsearch\"><img src=\"images/left.gif\" border=\"0\" alt=\""._PREVIOUS."\" title=\""._PREVIOUS."\"></a> <a href=\"modules.php?name=$module_name&op=content&tid=$tid&page=$previous_pagenumber$fromsearch\">"._PREVIOUS." ($previous_pagenumber/$pageno)</a>";
  177.     }
  178.     echo "<br><br><br><center>$previous_page $next_page<br><br>"
  179.         .""._GOBACK."</center><br>";
  180.     if (is_admin($admin)) {
  181.         echo "<p align=\"right\">[ <a href=\"admin.php?op=encyclopedia_text_edit&tid=$etid\">"._EDIT."</a> ]</p>";
  182.     }
  183.     echo "<p align=\"right\"><a href=\"modules.php?name=$module_name&op=list_content&eid=$eeid\">$enc_title</a></p>";
  184.     if ($page == $pageno) {
  185.         echo "<p align=\"right\">"._COPYRIGHT." © "._BY." $sitename - ($ecounter "._READS.")</font></p>";
  186.     }
  187.     } else {
  188.     echo "Sorry, This page isn't active...";
  189.     }
  190.     CloseTable();
  191.     include("footer.php");
  192. }
  193.  
  194. function list_themes() {
  195.     global $prefix, $db, $sitename, $admin, $multilingual, $module_name;
  196.     include("header.php");
  197.     title("$sitename: "._ENCYCLOPEDIA."");
  198.     OpenTable();
  199.     echo "<center><font class=\"content\">"._AVAILABLEENCYLIST." $sitename:</center><br><br>";
  200.     $result = $db->sql_query("SELECT eid, title, description, elanguage FROM ".$prefix."_encyclopedia WHERE active='1'");
  201.     echo "<blockquote>";
  202.     while ($row = $db->sql_fetchrow($result)) {
  203.     $eid = intval($row['eid']);
  204.     $title = stripslashes(check_html($row['title'], "nohtml"));
  205.     $description = stripslashes($row['description']);
  206.     $elanguage = $row['elanguage'];
  207.     if ($multilingual == 1) {
  208.         $the_lang = "<img src=\"images/language/flag-$elanguage.png\" hspace=\"3\" border=\"0\" height=\"10\" width=\"20\">";
  209.     } else {
  210.         $the_lang = "";
  211.     }
  212.         if ($subtitle != "") {
  213.         $subtitle = "<br>($description)<br><br>";
  214.     } else {
  215.             $subtitle = "";
  216.     }
  217.     if (is_admin($admin)) {
  218.         echo "<strong><big>·</big></strong> $the_lang <a href=\"modules.php?name=$module_name&op=list_content&eid=$eid\">$title</a><br>$description<br>[ <a href=\"admin.php?op=encyclopedia_edit&eid=$eid\">"._EDIT."</a> | <a href=\"admin.php?op=encyclopedia_change_status&eid=$eid&active=1\">"._DEACTIVATE."</a> | <a href=\"admin.php?op=encyclopedia_delete&eid=$eid\">"._DELETE."</a> ]<br><br>";
  219.     } else {
  220.         echo "<strong><big>·</big></strong> $the_lang <a href=\"modules.php?name=$module_name&op=list_content&eid=$eid\">$title</a><br> $description<br><br>";
  221.     }
  222.     }
  223.     echo "</blockquote>";
  224.     if (is_admin($admin)) {
  225.     $result2 = $db->sql_query("SELECT eid, title, description, elanguage FROM ".$prefix."_encyclopedia WHERE active='0'");
  226.     echo "<br><br><center><b>"._YOURADMININACTIVELIST."</b></center><br><br>";
  227.     echo "<blockquote>";
  228.     while ($row2 = $db->sql_fetchrow($result2)) {
  229.         $eid = intval($row2['eid']);
  230.         $title = stripslashes(check_html($row2['title'], "nohtml"));
  231.         $description = stripslashes($row2['description']);
  232.         $elanguage = $row2['elanguage'];
  233.         if ($multilingual == 1) {
  234.         $the_lang = "<img src=\"images/language/flag-$elanguage.png\" hspace=\"3\" border=\"0\" height=\"10\" width=\"20\">";
  235.         } else {
  236.         $the_lang = "";
  237.         }
  238.             if ($subtitle != "") {
  239.             $subtitle = " ($subtitle) ";
  240.         } else {
  241.                 $subtitle = " ";
  242.         }
  243.         echo "<strong><big>·</big></strong> $the_lang <a href=\"modules.php?name=$module_name&op=list_content&eid=$eid\">$title</a><br>$description<br>[ <a href=\"admin.php?op=encyclopedia_edit&eid=$eid\">"._EDIT."</a> | <a href=\"admin.php?op=encyclopedia_change_status&eid=$eid&active=0\">"._ACTIVATE."</a> | <a href=\"admin.php?op=encyclopedia_delete&eid=$eid\">"._DELETE."</a> ]<br><br>";
  244.     }
  245.     echo "</blockquote>";
  246.     }
  247.     CloseTable();
  248.     include("footer.php");
  249. }
  250.  
  251. switch($op) {
  252.  
  253.     case "content":
  254.     content($tid, $ltr, $page, $query);
  255.     break;
  256.  
  257.     case "list_content":
  258.     list_content($eid);
  259.     break;
  260.  
  261.     case "terms":
  262.     terms($eid, $ltr);
  263.     break;
  264.  
  265.     case "search":
  266.     search($query, $eid);
  267.     break;
  268.  
  269.     default:
  270.     list_themes();
  271.     break;
  272.  
  273. }
  274.  
  275. ?>