home *** CD-ROM | disk | FTP | other *** search
/ Internet Magazine 2003 May / INTERNET103.ISO / pc / software / windows / building / php_nuke / html / admin / modules / polls.php < prev    next >
Encoding:
PHP Script  |  2002-09-16  |  14.6 KB  |  347 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.  
  15. if (!eregi("admin.php", $PHP_SELF)) { die ("Access Denied"); }
  16.  
  17. $result = sql_query("select radminsurvey, radminsuper from ".$prefix."_authors where aid='$aid'", $dbi);
  18. list($radminsurvey, $radminsuper) = sql_fetch_row($result, $dbi);
  19. if (($radminsurvey==1) OR ($radminsuper==1)) {
  20.  
  21. /*********************************************************/
  22. /* Poll/Surveys Functions                                */
  23. /*********************************************************/
  24.  
  25. function puthome($ihome, $acomm) {
  26.     echo "<br><b>"._PUBLISHINHOME."</b>  ";
  27.     if (($ihome == 0) OR ($ihome == "")) {
  28.     $sel1 = "checked";
  29.     $sel2 = "";
  30.     }
  31.     if ($ihome == 1) {
  32.     $sel1 = "";
  33.     $sel2 = "checked";
  34.     }
  35.     echo "<input type=\"radio\" name=\"ihome\" value=\"0\" $sel1>"._YES." "
  36.     ."<input type=\"radio\" name=\"ihome\" value=\"1\" $sel2>"._NO.""
  37.     ."  <font class=\"content\">[ "._ONLYIFCATSELECTED." ]</font><br>";
  38.     
  39.     echo "<br><b>"._ACTIVATECOMMENTS."</b>  ";
  40.     if (($acomm == 0) OR ($acomm == "")) {
  41.     $sel1 = "checked";
  42.     $sel2 = "";
  43.     }
  44.     if ($acomm == 1) {
  45.     $sel1 = "";
  46.     $sel2 = "checked";    
  47.     }
  48.     echo "<input type=\"radio\" name=\"acomm\" value=\"0\" $sel1>"._YES." "
  49.     ."<input type=\"radio\" name=\"acomm\" value=\"1\" $sel2>"._NO."</font><br><br>";
  50. }
  51.  
  52. function SelectCategory($cat) {
  53.     global $prefix, $dbi;
  54.     $selcat = sql_query("select catid, title from ".$prefix."_stories_cat order by title", $dbi);
  55.     $a = 1;
  56.     echo "<b>"._CATEGORY."</b> ";
  57.     echo "<select name=\"catid\">";
  58.     if ($cat == 0) {
  59.     $sel = "selected";
  60.     } else {
  61.     $sel = "";
  62.     }
  63.     echo "<option name=\"catid\" value=\"0\" $sel>"._ARTICLES."</option>";
  64.     while(list($catid, $title) = sql_fetch_row($selcat, $dbi)) {
  65.     if ($catid == $cat) {
  66.         $sel = "selected";
  67.     } else {
  68.         $sel = "";
  69.     }
  70.     echo "<option name=\"catid\" value=\"$catid\" $sel>$title</option>";
  71.     $a++;
  72.     }
  73.     echo "</select> [ <a href=\"admin.php?op=AddCategory\">"._ADD."</a> | <a href=\"admin.php?op=EditCategory\">"._EDIT."</a> | <a href=\"admin.php?op=DelCategory\">"._DELETE."</a> ]";
  74. }
  75.  
  76. function poll_createPoll() {
  77.     global $language, $admin, $multilingual, $prefix, $dbi;
  78.     include ('header.php');
  79.     GraphicAdmin();
  80.     OpenTable();
  81.     echo "<center><font class=\"title\"><b>"._POLLSADMIN."</b></font></center>";
  82.     CloseTable();
  83.     echo "<br>";
  84.     OpenTable();
  85.     echo "<center><font class=\"option\"><b>"._CREATEPOLL."</b></font><br><br>"
  86.     ."[ <a href=\"admin.php?op=remove\">"._DELETEPOLLS."</a> | <a href=\"admin.php?op=polledit_select\">"._EDITPOLL."</a> ]</center><br><br>"
  87.     ."<form action=\"admin.php\" method=\"post\">"
  88.     .""._POLLTITLE.": <input type=\"text\" name=\"pollTitle\" size=\"50\" maxlength=\"100\"><br><br>";
  89.     if ($multilingual == 1) {
  90.     echo "<br>"._LANGUAGE.": "
  91.         ."<select name=\"planguage\">";
  92.     $handle=opendir('language');
  93.     while ($file = readdir($handle)) {
  94.         if (preg_match("/^lang\-(.+)\.php/", $file, $matches)) {
  95.             $langFound = $matches[1];
  96.             $languageslist .= "$langFound ";
  97.         }
  98.     }
  99.     closedir($handle);
  100.     $languageslist = explode(" ", $languageslist);
  101.     sort($languageslist);
  102.     for ($h=0; $h < sizeof($languageslist); $h++) {
  103.         if($languageslist[$h]!="") {
  104.             echo "<option value=\"$languageslist[$h]\" ";
  105.         if($languageslist[$h]==$language) echo "selected";
  106.         echo ">".ucfirst($languageslist[$h])."</option>\n";
  107.         }
  108.     }
  109.     echo "</select><br><br>";
  110.     } else {
  111.     echo "<input type=\"hidden\" name=\"planguage\" value=\"$language\"><br><br>";
  112.     }
  113.     echo "<font class=\"content\">"._POLLEACHFIELD."</font><br>"
  114.     ."<table border=\"0\">";
  115.     for($i = 1; $i <= 12; $i++)    {
  116.     echo "<tr>"
  117.         ."<td>"._OPTION." $i:</td><td><input type=\"text\" name=\"optionText[$i]\" size=\"50\" maxlength=\"50\"></td>"
  118.         ."</tr>";
  119.     }
  120.     echo "</table>"
  121.     ."<br><br><center><hr size=\"1\" noshade><font class=\"option\"><b>"._ANNOUNCEPOLL."</b></font><br>"
  122.     ."<font class=\"tiny\">"._LEAVEBLANK."</font></center>"
  123.     ."<br><br><b>"._TITLE.":</b><br>"
  124.     ."<input type=\"text\" name=\"title\" size=\"40\"><br><br>";
  125.     $cat = 0;
  126.     $ihome = 0;
  127.     $acomm = 0;
  128.     SelectCategory($cat);
  129.     echo "<br>";
  130.     puthome($ihome, $acomm);
  131.     echo "<b>"._TOPIC."</b> <select name=\"topic\">";
  132.     $toplist = sql_query("select topicid, topictext from ".$prefix."_topics order by topictext", $dbi);
  133.     echo "<option value=\"\">"._SELECTTOPIC."</option>\n";
  134.     while(list($topicid, $topics) = sql_fetch_row($toplist, $dbi)) {
  135.         echo "<option value=\"$topicid\">$topics</option>\n";
  136.     }
  137.     echo "</select>";
  138.     echo "<br><br><b>"._STORYTEXT."</b><br>"
  139.     ."<textarea wrap=\"virtual\" cols=\"50\" rows=\"7\" name=\"hometext\">$story</textarea><br><br>"
  140.     ."<b>"._EXTENDEDTEXT."</b><br>"
  141.     ."<textarea wrap=\"virtual\" cols=\"50\" rows=\"8\" name=\"bodytext\"></textarea><BR>"
  142.     ."<br><br>"
  143.     ."<input type=\"hidden\" name=\"op\" value=\"createPosted\">"
  144.     ."<input type=\"submit\" value=\""._CREATEPOLLBUT."\">"
  145.     ."</form>";
  146.     CloseTable();
  147.     include ('footer.php');
  148. }
  149.  
  150. function old_poll_createPosted() {
  151.     global $pollTitle, $optionText, $prefix, $dbi, $planguage;
  152.     $timeStamp = time();
  153.     $result = sql_query("INSERT INTO ".$prefix."_poll_desc VALUES (NULL, '$pollTitle', '$timeStamp', '$planguage', '0')", $dbi);
  154.     if (!$result)    {
  155.     return;
  156.     }
  157.     /* create option records in data table */
  158.     for($i = 1; $i <= 12; $i++) {
  159.     if($optionText[$i] != "") {
  160.         $result = sql_query("INSERT INTO ".$prefix."_poll_data VALUES ($id, '$optionText[$i]', 0, $i)", $dbi);
  161.     }
  162.     if (!result) {
  163.         return;
  164.     }
  165.     }
  166.     Header("Location: admin.php?op=adminMain");
  167. }
  168.  
  169. function poll_createPosted($pollTitle, $optionText, $planguage, $title, $hometext, $topic, $bodytext, $catid, $ihome, $acomm) {
  170.     global $prefix, $dbi, $aid;
  171.     $timeStamp = time();
  172.     $pollTitle = FixQuotes($pollTitle);
  173.     if(!sql_query("INSERT INTO ".$prefix."_poll_desc VALUES (NULL, '$pollTitle', '$timeStamp', 0, '$planguage', '0')", $dbi)) {
  174.     return;
  175.     }
  176.     $object = sql_fetch_object(sql_query("SELECT pollID FROM ".$prefix."_poll_desc WHERE pollTitle='$pollTitle'", $dbi), $dbi);
  177.     $id = $object->pollID;
  178.     for($i = 1; $i <= sizeof($optionText); $i++) {
  179.     if($optionText[$i] != "") {
  180.         $optionText[$i] = FixQuotes($optionText[$i]);
  181.     }
  182.     if(!sql_query("INSERT INTO ".$prefix."_poll_data (pollID, optionText, optionCount, voteID) VALUES ($id, '$optionText[$i]', 0, $i)", $dbi)) {
  183.         return;
  184.     }
  185.     }
  186.     if (($title != "") AND ($hometext != "")) {
  187.     $title = stripslashes(FixQuotes($title));
  188.     $hometext = stripslashes(FixQuotes($hometext));
  189.     $bodytext = stripslashes(FixQuotes($bodytext));
  190.     $result = sql_query("insert into ".$prefix."_stories values (NULL, '$catid', '$aid', '$title', now(), '$hometext', '$bodytext', '0', '0', '$topic', '$aid', '', '$ihome', '$planguage', '$acomm', '0', '0', '0', '0')", $dbi);
  191.     }
  192.     Header("Location: admin.php?op=adminMain");
  193. }
  194.  
  195. function poll_removePoll() {
  196.     global $prefix, $dbi;
  197.     include ('header.php');
  198.     GraphicAdmin();
  199.     OpenTable();
  200.     echo "<center><font class=\"title\"><b>"._POLLSADMIN."</b></font></center>";
  201.     CloseTable();
  202.     echo "<br>";
  203.     OpenTable();
  204.     echo "<center><font class=\"option\"><b>"._REMOVEEXISTING."</b></font><br><br>"
  205.     .""._POLLDELWARNING."</center><br><br>"
  206.     .""._CHOOSEPOLL."<br>"
  207.     ."<form action=\"admin.php\" method=\"post\">"
  208.     ."<input type=\"hidden\" name=\"op\" value=\"removePosted\">"
  209.     ."<table border=\"0\">";
  210.     $result = sql_query("SELECT pollID, pollTitle, timeStamp, planguage FROM ".$prefix."_poll_desc ORDER BY timeStamp", $dbi);
  211.     if(!$result) {
  212.     return;
  213.     }
  214.     /* cycle through the descriptions until everyone has been fetched */
  215.     while($object = sql_fetch_object($result, $dbi)) {
  216.     $pollID = $object->pollID;
  217.     echo "<tr><td><input type=\"radio\" name=\"id\" value=\"".$object->pollID."\">".$object->pollTitle." - (".$object->planguage.")</td></tr>";
  218.     }
  219.     echo "</table>";
  220.     echo "<input type=\"submit\" value=\""._DELETE."\">";
  221.     echo "</form>";
  222.     CloseTable();
  223.     include ('footer.php');
  224. }
  225.  
  226. function poll_removePosted() {
  227.     global $id, $prefix, $dbi;
  228.     sql_query("DELETE FROM ".$prefix."_poll_desc WHERE pollID=$id", $dbi);
  229.     sql_query("DELETE FROM ".$prefix."_poll_data WHERE pollID=$id", $dbi);
  230.     Header("Location: admin.php?op=adminMain");
  231. }
  232.  
  233. function polledit_select() {
  234.     global $prefix, $dbi;
  235.     
  236.     include ('header.php');
  237.     GraphicAdmin();
  238.     OpenTable();
  239.     echo "<center><font class=\"title\"><b>"._POLLSADMIN."</b></font></center>";
  240.     CloseTable();
  241.     echo "<br>";
  242.     OpenTable();
  243.     echo "<center><font class=\"option\"><b>"._EDITPOLL."</b></font></center><br><br>"
  244.     .""._CHOOSEPOLLEDIT."<br>"
  245.     ."<form action=\"admin.php\" method=\"post\">"
  246.     ."<input type=\"hidden\" name=\"op\" value=\"polledit\">"
  247.     ."<table border=\"0\">";
  248.     $result = sql_query("SELECT pollID, pollTitle, timeStamp, planguage FROM ".$prefix."_poll_desc ORDER BY timeStamp", $dbi);
  249.     if(!$result) {
  250.     return;
  251.     }
  252.     /* cycle through the descriptions until everyone has been fetched */
  253.     while($object = sql_fetch_object($result, $dbi)) {
  254.     $pollID = $object->pollID;
  255.     echo "<tr><td><input type=\"radio\" name=\"pollID\" value=\"".$object->pollID."\">".$object->pollTitle." - (".$object->planguage.")</td></tr>";
  256.     }
  257.     echo "</table>";
  258.     echo "<input type=\"submit\" value=\""._EDIT."\">";
  259.     echo "</form>";
  260.     CloseTable();
  261.     include ('footer.php');
  262. }
  263.  
  264. function polledit($pollID) {
  265.     global $prefix, $dbi;
  266.     include ('header.php');
  267.     GraphicAdmin();
  268.     OpenTable();
  269.     echo "<center><font class=\"title\"><b>"._POLLSADMIN."</b></font></center>";
  270.     $result = sql_query("select pollTitle from ".$prefix."_poll_desc where pollID=$pollID", $dbi);
  271.     list($pollTitle) = sql_fetch_row($result, $dbi);
  272.     CloseTable();
  273.     echo "<br>";
  274.     OpenTable();
  275.     echo "<center><b>"._POLLEDIT." $pollTitle</b></center><br><br>";
  276.     echo "<form action=\"admin.php\" method=\"post\">";
  277.     echo "<table border=\"0\" align=\"center\"><tr><td>";
  278.     echo "<b>"._TITLE.":</b></td><td colspan=\"2\"><input type=\"text\" name=\"pollTitle\" value=\"$pollTitle\" size=\"40\" maxlength=\"100\"><br><br></td></tr>";
  279.     $result = sql_query("select optionText, optionCount, voteID from ".$prefix."_poll_data where pollID=$pollID order by voteID", $dbi);
  280.     while(list($optionText, $optionCount, $voteID) = sql_fetch_row($result, $dbi)) {
  281.     echo "<tr><td align=\"center\"><b>$voteID</b></td><td><input type=\"text\" name=\"optiontext$voteID\" value=\"$optionText\" size=\"40\" maxlength=\"50\"></td><td align=\"right\">$optionCount "._VOTES."</td></tr>";
  282.     }
  283.     echo "</table><input type=\"hidden\" name=\"pollID\" value=\"$pollID\"><input type=\"hidden\" name=\"op\" value=\"savepoll\">"
  284.     ."<br><br><center><input type=\"submit\" value=\""._SAVECHANGES."\"><br>"._GOBACK."</center><br><br></form>";
  285.     CloseTable();
  286.     include("footer.php");    
  287. }
  288.  
  289. function savepoll($pollID, $pollTitle, $optiontext1, $optiontext2, $optiontext3, $optiontext4, $optiontext5, $optiontext6, $optiontext7, $optiontext8, $optiontext9, $optiontext10, $optiontext11, $optiontext12) {
  290.     global $prefix, $dbi;
  291.     $result = sql_query("update ".$prefix."_poll_desc set pollTitle='$pollTitle' where pollID='$pollID'", $dbi);
  292.     $result = sql_query("update ".$prefix."_poll_data set optionText='$optiontext1' where voteID=1 AND pollID='$pollID'", $dbi);
  293.     $result = sql_query("update ".$prefix."_poll_data set optionText='$optiontext2' where voteID=2 AND pollID='$pollID'", $dbi);
  294.     $result = sql_query("update ".$prefix."_poll_data set optionText='$optiontext3' where voteID=3 AND pollID='$pollID'", $dbi);
  295.     $result = sql_query("update ".$prefix."_poll_data set optionText='$optiontext4' where voteID=4 AND pollID='$pollID'", $dbi);
  296.     $result = sql_query("update ".$prefix."_poll_data set optionText='$optiontext5' where voteID=5 AND pollID='$pollID'", $dbi);
  297.     $result = sql_query("update ".$prefix."_poll_data set optionText='$optiontext6' where voteID=6 AND pollID='$pollID'", $dbi);
  298.     $result = sql_query("update ".$prefix."_poll_data set optionText='$optiontext7' where voteID=7 AND pollID='$pollID'", $dbi);
  299.     $result = sql_query("update ".$prefix."_poll_data set optionText='$optiontext8' where voteID=8 AND pollID='$pollID'", $dbi);
  300.     $result = sql_query("update ".$prefix."_poll_data set optionText='$optiontext9' where voteID=9 AND pollID='$pollID'", $dbi);
  301.     $result = sql_query("update ".$prefix."_poll_data set optionText='$optiontext10' where voteID=10 AND pollID='$pollID'", $dbi);
  302.     $result = sql_query("update ".$prefix."_poll_data set optionText='$optiontext11' where voteID=11 AND pollID='$pollID'", $dbi);
  303.     $result = sql_query("update ".$prefix."_poll_data set optionText='$optiontext12' where voteID=12 AND pollID='$pollID'", $dbi);
  304.     Header("Location: admin.php");
  305. }
  306.  
  307. switch($op) {
  308.  
  309.     case "create":
  310.     poll_createPoll();
  311.     break;
  312.  
  313.     case "createPosted":
  314.     poll_createPosted($pollTitle, $optionText, $planguage, $title, $hometext, $topic, $bodytext, $catid, $ihome, $acomm);
  315.     break;
  316.  
  317.     case "ChangePoll":
  318.     ChangePoll($pollID, $pollTitle, $optionText, $voteID);
  319.     break;
  320.  
  321.     case "remove":
  322.     poll_removePoll();
  323.     break;
  324.  
  325.     case "removePosted":
  326.     poll_removePosted();
  327.     break;
  328.  
  329.     case "polledit":
  330.     polledit($pollID);
  331.     break;
  332.  
  333.     case "savepoll":
  334.     savepoll($pollID, $pollTitle, $optiontext1, $optiontext2, $optiontext3, $optiontext4, $optiontext5, $optiontext6, $optiontext7, $optiontext8, $optiontext9, $optiontext10, $optiontext11, $optiontext12);
  335.     break;
  336.  
  337.     case "polledit_select":
  338.     polledit_select();
  339.     break;
  340.  
  341. }
  342.  
  343. } else {
  344.     echo "Access Denied";
  345. }
  346.  
  347. ?>