home *** CD-ROM | disk | FTP | other *** search
/ PC World 2001 March / PCWorld_2001-03_cd.bin / KOMUNIK / progweb / progweb.exe / phpnuke / html / admin / polls.php < prev    next >
Encoding:
PHP Script  |  2000-12-05  |  6.4 KB  |  217 lines

  1. <?PHP
  2.  
  3. ######################################################################
  4. # PHP-NUKE: Web Portal System
  5. # ===========================
  6. #
  7. # Copyright (c) 2000 by Francisco Burzi (fburzi@ncc.org.ve)
  8. # http://phpnuke.org
  9. #
  10. # This modules is the main administration part
  11. #
  12. # This program is free software. You can redistribute it and/or modify
  13. # it under the terms of the GNU General Public License as published by
  14. # the Free Software Foundation; either version 2 of the License.
  15. ######################################################################
  16.  
  17. if (!eregi("admin.php", $PHP_SELF)) { die ("Access Denied"); }
  18. $hlpfile = "manual/surveys.html";
  19. $result = mysql_query("select radminsurvey, radminsuper from authors where aid='$aid'");
  20. list($radminsurvey, $radminsuper) = mysql_fetch_row($result);
  21. if (($radminsurvey==1) OR ($radminsuper==1)) {
  22.  
  23. /*********************************************************/
  24. /* Poll/Surveys Functions                                */
  25. /*********************************************************/
  26.  
  27. function poll_createPoll() {
  28.     global $language, $hlpfile, $admin, $maxOptions;
  29.     include ('header.php');
  30.     GraphicAdmin($hlpfile);
  31.     OpenTable();
  32.     ?>
  33.     <font size=4><b><center><?php echo translate("Create new poll"); ?><br></font>
  34.     <font size=2><a href=admin.php?op=remove><?php echo translate("Delete Polls"); ?></a><br><br></font></center>
  35.     <form action="admin.php" method="post">
  36.     <input type="hidden" name="op" value="createPosted">
  37.     <p><?php echo translate("Polltitle"); ?>: <input class=textbox type=text name="pollTitle" size=50 maxlength=100></p>
  38.     <p><?php echo translate("Please enter each available option into a single field"); ?></p>
  39.     <table>
  40.     <?PHP
  41.     for($i = 1; $i <= $maxOptions; $i++)
  42.     {
  43.         echo "<tr>";
  44.         echo "<td>".translate("Option")." $i:</td><td><input class=textbox type=text name=\"optionText[$i]\" size=50 maxlength=50></td>";
  45.         echo "</tr>";
  46.     }
  47.  
  48.     echo "</tr></table>";
  49.     echo "<input type=\"submit\" value=\"".translate("Create")."\">";
  50.     echo "</form></td></tr></table></td></tr></table>";
  51.     include ('footer.php');
  52. }
  53.  
  54. function old_poll_createPosted() {
  55.     global $maxOptions, $pollTitle, $optionText;
  56.     $timeStamp = time();
  57.     $result = mysql_query("INSERT INTO poll_desc VALUES (NULL, '$pollTitle', '$timeStamp')");
  58.     if (!$result)    {
  59.         echo mysql_errno(). ": ".mysql_error(). "<br>";
  60.         return;
  61.     }
  62.     mysql_free_result($result);
  63.  
  64.     // create option records in data table
  65.     for($i = 1; $i <= $maxOptions; $i++) {
  66.         if($optionText[$i] != "")
  67.             $result = mysql_query("INSERT INTO poll_data VALUES ($id, '$optionText[$i]', 0, $i)");
  68.             if (!result) {
  69.                 echo mysql_errno(). ": ".mysql_error(). "<br>";
  70.                 return;
  71.             }
  72.             mysql_free_result($result);
  73.     }
  74.     Header("Location: admin.php?op=adminMain");
  75. }
  76.  
  77. function poll_createPosted() {
  78.     global $maxOptions, $pollTitle, $optionText;
  79.     $timeStamp = time();
  80.     $pollTitle = FixQuotes($pollTitle);
  81.     if(!mysql_query("INSERT INTO poll_desc VALUES (NULL, '$pollTitle', '$timeStamp', 0)")) {
  82.         echo mysql_errno(). ": ".mysql_error(). "<br>";
  83.         return;
  84.     }
  85.     $object = mysql_fetch_object(mysql_query("SELECT pollID FROM poll_desc WHERE pollTitle='$pollTitle'"));
  86.     $id = $object->pollID;
  87.  
  88.     for($i = 1; $i <= sizeof($optionText); $i++) {
  89.         if($optionText[$i] != "")
  90.             $optionText[$i] = FixQuotes($optionText[$i]);
  91.             if(!mysql_query("INSERT INTO poll_data (pollID, optionText, optionCount, voteID) VALUES ($id, '$optionText[$i]', 0, $i)")) {
  92.                 echo mysql_errno(). ": ".mysql_error(). "<br>";
  93.                 return;
  94.             }
  95.     }
  96.     Header("Location: admin.php?op=adminMain");
  97. }
  98.  
  99. function poll_removePoll() {
  100.     global $hlpfile, $admin;
  101.     $hlpfile = "manual/surveys.html";
  102.     include ('header.php');
  103.     GraphicAdmin($hlpfile);
  104.     OpenTable();
  105.     ?>
  106.     <font size=4><b><center><?php echo translate("Remove an existing poll"); ?></b></center><br><br></font>
  107.     <font size=2><center><?php echo translate("WARNING: The chosen poll will be removed IMMEDIATELY from the database!"); ?></center>
  108.     <p><?php echo translate("Please choose a poll from the list below."); ?></p>
  109.     <form action="admin.php" method="post">
  110.     <input type="hidden" name="op" value="removePosted">
  111.     <table>
  112.  
  113.     <?PHP
  114.     $result = mysql_query("SELECT pollID, pollTitle, timeStamp FROM poll_desc ORDER BY timeStamp"); 
  115.     if(!$result) {
  116.         echo mysql_errno(). ": ".mysql_error(). "<br>";
  117.         return;
  118.     }
  119.  
  120.     // cycle through the descriptions until everyone has been fetched
  121.     while($object = mysql_fetch_object($result)) {
  122.         $pollID = $object->pollID;
  123.         echo "<tr><td><input type=\"radio\" name=\"id\" value=\"".$object->pollID."\">".$object->pollTitle."</td></tr>";
  124.     }
  125.  
  126.     echo "</table>";
  127.     echo "<input type=\"submit\" value=\"".translate("Remove")."\">";
  128.     echo "</form></td></tr></table></td></tr></table>";
  129.     include ('footer.php');
  130. }
  131.  
  132. function poll_removePosted() {
  133.     global $id;
  134.     mysql_query("DELETE FROM poll_desc WHERE pollID=$id");
  135.     mysql_query("DELETE FROM poll_data WHERE pollID=$id");
  136.     Header("Location: admin.php?op=adminMain");
  137. }
  138.  
  139. function poll_viewPoll() {
  140.     include ('header.php');
  141.     GraphicAdmin($hlpfile);
  142.     echo "<font size=4>".translate("View poll results")."</font>";
  143.     echo "<p>";
  144.  
  145.     // select all descriptions
  146.     $result = mysql_query("SELECT pollID, pollTitle, timeStamp FROM poll_desc ORDER BY timeStamp"); 
  147.     if(!$result) {
  148.         echo mysql_errno(). ": ".mysql_error(). "<br>";
  149.         return;
  150.     }
  151.  
  152.     echo "<form action=\"".basename($GLOBALS[PHP_SELF])."\" method=\"post\">";
  153.     echo "<input type=\"hidden\" name=\"op\" value=\"viewPosted\">";
  154.     echo "<table>";
  155.  
  156.     // cycle through the descriptions until everyone has been fetched
  157.     while($object = mysql_fetch_object($result)) {
  158.         echo "<tr><td><input type=\"radio\" name=\"id\" value=\"".$object->pollID."\">".$object->pollTitle."</td></tr>";
  159.     }
  160.     echo "</table>";
  161.     echo "<input type=\"submit\" value=\"".translate("View")."\">";
  162.     echo "</form>";
  163.     include ('footer.php');
  164. }
  165.  
  166. function poll_viewPosted() {
  167.     include ('header.php');
  168.     GraphicAdmin($hlpfile);
  169.     global $id;
  170.     echo "<font size=4>".translate("View poll results")."</font><p>";
  171.     pollResults($id);
  172.     include ('footer.php');
  173. }
  174.  
  175.  
  176. switch($op) {
  177.  
  178.         case "create":
  179.             poll_createPoll();
  180.             break;
  181.  
  182.         case "createPosted":
  183.             poll_createPosted();
  184.             break;
  185.  
  186.         case "poll_editPoll":
  187.             poll_editPoll($pollID);
  188.             break;
  189.  
  190.         case "ChangePoll":
  191.             ChangePoll($pollID, $pollTitle, $optionText, $optionCount, $voteID);
  192.             break;
  193.  
  194.         case "remove":
  195.             poll_removePoll();
  196.             break;
  197.  
  198.         case "removePosted":
  199.             poll_removePosted();
  200.             break;
  201.     
  202.         case "view": 
  203.             poll_viewPoll();
  204.             break;
  205.  
  206.         case "viewPosted":
  207.             poll_viewPosted();
  208.             break;
  209.  
  210. }
  211.  
  212. } else {
  213.     echo "Access Denied";
  214. }
  215.  
  216.  
  217. ?>