home *** CD-ROM | disk | FTP | other *** search
/ PC World 2005 April / PCWorld_2005-04_cd.bin / akce / web / unitednuke / unitednuke.exe / html / admin / modules / polls.php < prev    next >
PHP Script  |  2004-01-10  |  16KB  |  385 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", $_SERVER['PHP_SELF'])) { die ("Access Denied"); }
  16. global $prefix, $db;
  17. $aid = substr(trim($aid), 0,25);
  18. $row = $db->sql_fetchrow($db->sql_query("SELECT radminsurvey, radminsuper FROM ".$prefix."_authors WHERE aid='$aid'"));
  19. if (($row['radminsurvey'] == 1) OR ($row['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, $db;
  54.     $selcat = $db->sql_query("SELECT catid, title from ".$prefix."_stories_cat order by title");
  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 ($row = $db->sql_fetchrow($selcat)) {
  65.     $catid = intval($row['catid']);
  66.         $title = stripslashes($row['title']);
  67.     if ($catid == $cat) {
  68.         $sel = "selected";
  69.     } else {
  70.         $sel = "";
  71.     }
  72.     echo "<option name=\"catid\" value=\"$catid\" $sel>$title</option>";
  73.     $a++;
  74.     }
  75.     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> ]";
  76. }
  77.  
  78. function poll_createPoll() {
  79.     global $language, $admin, $multilingual, $prefix, $db;
  80.     include ('header.php');
  81.     GraphicAdmin();
  82.     OpenTable();
  83.     echo "<center><font class=\"title\"><b>"._POLLSADMIN."</b></font></center>";
  84.     CloseTable();
  85.     echo "<br>";
  86.     OpenTable();
  87.     echo "<center><font class=\"option\"><b>"._CREATEPOLL."</b></font><br><br>"
  88.     ."[ <a href=\"admin.php?op=remove\">"._DELETEPOLLS."</a> | <a href=\"admin.php?op=polledit_select\">"._EDITPOLL."</a> ]</center><br><br>"
  89.     ."<form action=\"admin.php\" method=\"post\">"
  90.     .""._POLLTITLE.": <input type=\"text\" name=\"pollTitle\" size=\"50\" maxlength=\"100\"><br><br>";
  91.     if ($multilingual == 1) {
  92.     echo "<br>"._LANGUAGE.": "
  93.         ."<select name=\"planguage\">";
  94.     $handle=opendir('language');
  95.     while ($file = readdir($handle)) {
  96.         if (preg_match("/^lang\-(.+)\.php/", $file, $matches)) {
  97.             $langFound = $matches[1];
  98.             $languageslist .= "$langFound ";
  99.         }
  100.     }
  101.     closedir($handle);
  102.     $languageslist = explode(" ", $languageslist);
  103.     sort($languageslist);
  104.     for ($h=0; $h < sizeof($languageslist); $h++) {
  105.         if($languageslist[$h]!="") {
  106.             echo "<option value=\"$languageslist[$h]\" ";
  107.         if($languageslist[$h]==$language) echo "selected";
  108.         echo ">".ucfirst($languageslist[$h])."</option>\n";
  109.         }
  110.     }
  111.     echo "</select><br><br>";
  112.     } else {
  113.     echo "<input type=\"hidden\" name=\"planguage\" value=\"$language\"><br><br>";
  114.     }
  115.     echo "<font class=\"content\">"._POLLEACHFIELD."</font><br>"
  116.     ."<table border=\"0\">";
  117.     for($i = 1; $i <= 12; $i++)    {
  118.     echo "<tr>"
  119.         ."<td>"._OPTION." $i:</td><td><input type=\"text\" name=\"optionText[$i]\" size=\"50\" maxlength=\"50\"></td>"
  120.         ."</tr>";
  121.     }
  122.     echo "</table>"
  123.     ."<br><br><center><hr size=\"1\" noshade><font class=\"option\"><b>"._ANNOUNCEPOLL."</b></font><br>"
  124.     ."<font class=\"tiny\">"._LEAVEBLANK."</font></center>"
  125.     ."<br><br><b>"._TITLE.":</b><br>"
  126.     ."<input type=\"text\" name=\"title\" size=\"40\"><br><br>";
  127.     $cat = 0;
  128.     $ihome = 0;
  129.     $acomm = 0;
  130.     SelectCategory($cat);
  131.     echo "<br>";
  132.     puthome($ihome, $acomm);
  133.     echo "<b>"._TOPIC."</b> <select name=\"topic\">";
  134.     $toplist = $db->sql_query("SELECT topicid, topictext from ".$prefix."_topics order by topictext");
  135.     echo "<option value=\"\">"._SELECTTOPIC."</option>\n";
  136.     while ($row = $db->sql_fetchrow($toplist)) {
  137.     $topicid = intval($row['topicid']);
  138.         $topics = $row['topictext'];
  139.         echo "<option value=\"$topicid\">$topics</option>\n";
  140.     }
  141.     echo "</select>";
  142.     echo "<br><br><b>"._STORYTEXT."</b><br>"
  143.     ."<textarea wrap=\"virtual\" cols=\"50\" rows=\"7\" name=\"hometext\">$story</textarea><br><br>"
  144.     ."<b>"._EXTENDEDTEXT."</b><br>"
  145.     ."<textarea wrap=\"virtual\" cols=\"50\" rows=\"8\" name=\"bodytext\"></textarea><BR>"
  146.     ."<br><br>"
  147.     ."<input type=\"hidden\" name=\"op\" value=\"createPosted\">"
  148.     ."<input type=\"submit\" value=\""._CREATEPOLLBUT."\">"
  149.     ."</form>";
  150.     CloseTable();
  151.     include ('footer.php');
  152. }
  153.  
  154. function old_poll_createPosted() {
  155.     global $pollTitle, $optionText, $prefix, $db, $planguage;
  156.     $timeStamp = time();
  157.     $res = $db->sql_query("INSERT INTO ".$prefix."_poll_desc VALUES (NULL, '$pollTitle', '$timeStamp', '$planguage', '0')");
  158.     if (!$res)    {
  159.     return;
  160.     }
  161.     /* create option records in data table */
  162.     for($i = 1; $i <= 12; $i++) {
  163.     if($optionText[$i] != "") {
  164.         $result = $db->sql_query("INSERT INTO ".$prefix."_poll_data VALUES ('$id', '$optionText[$i]', '0', '$i')");
  165.     }
  166.     if (!result) {
  167.         return;
  168.     }
  169.     }
  170.     Header("Location: admin.php?op=adminMain");
  171. }
  172.  
  173. function poll_createPosted($pollTitle, $optionText, $planguage, $title, $hometext, $topic, $bodytext, $catid, $ihome, $acomm) {
  174.     global $prefix, $dbi, $aid, $db;
  175.     $timeStamp = time();
  176.     $pollTitle = FixQuotes($pollTitle);
  177.     if(!$db->sql_query("INSERT INTO ".$prefix."_poll_desc VALUES (NULL, '$pollTitle', '$timeStamp', '0', '$planguage', '0')")) {
  178.     return;
  179.     }
  180.     $object = sql_fetch_object(sql_query("SELECT pollID FROM ".$prefix."_poll_desc WHERE pollTitle='$pollTitle'", $dbi), $dbi);
  181.     $id = $object->pollID;
  182.     $id = intval($id);
  183.     for($i = 1; $i <= sizeof($optionText); $i++) {
  184.     if($optionText[$i] != "") {
  185.         $optionText[$i] = FixQuotes($optionText[$i]);
  186.     }
  187.     if(!$db->sql_query("INSERT INTO ".$prefix."_poll_data (pollID, optionText, optionCount, voteID) VALUES ('$id', '$optionText[$i]', '0', '$i')")) {
  188.         return;
  189.     }
  190.     }
  191.     if (($title != "") AND ($hometext != "")) {
  192.     $title = stripslashes(FixQuotes($title));
  193.     $hometext = stripslashes(FixQuotes($hometext));
  194.     $bodytext = stripslashes(FixQuotes($bodytext));
  195.     $result = $db->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')");
  196.     }
  197.     Header("Location: admin.php?op=adminMain");
  198. }
  199.  
  200. function poll_removePoll() {
  201.     global $prefix, $dbi;
  202.     include ('header.php');
  203.     GraphicAdmin();
  204.     OpenTable();
  205.     echo "<center><font class=\"title\"><b>"._POLLSADMIN."</b></font></center>";
  206.     CloseTable();
  207.     echo "<br>";
  208.     OpenTable();
  209.     echo "<center><font class=\"option\"><b>"._REMOVEEXISTING."</b></font><br><br>"
  210.     .""._POLLDELWARNING."</center><br><br>"
  211.     .""._CHOOSEPOLL."<br>"
  212.     ."<form action=\"admin.php\" method=\"post\">"
  213.     ."<input type=\"hidden\" name=\"op\" value=\"removePosted\">"
  214.     ."<table border=\"0\">";
  215.     $result = sql_query("SELECT pollID, pollTitle, timeStamp, planguage FROM ".$prefix."_poll_desc ORDER BY timeStamp", $dbi);
  216.     if(!$result) {
  217.     return;
  218.     }
  219.     /* cycle through the descriptions until everyone has been fetched */
  220.     while($object = sql_fetch_object($result, $dbi)) {
  221.     $pollID = $object->pollID;
  222.         $pollID = intval($pollID);
  223.     echo "<tr><td><input type=\"radio\" name=\"id\" value=\"".$object->pollID."\">".$object->pollTitle." - (".$object->planguage.")</td></tr>";
  224.     }
  225.     echo "</table>";
  226.     echo "<input type=\"submit\" value=\""._DELETE."\">";
  227.     echo "</form>";
  228.     CloseTable();
  229.     include ('footer.php');
  230. }
  231.  
  232. function poll_removePosted() {
  233.     global $id, $prefix, $db;
  234.     $id = intval($id);
  235.     $db->sql_query("DELETE FROM ".$prefix."_poll_desc WHERE pollID='$id'");
  236.     $db->sql_query("DELETE FROM ".$prefix."_poll_data WHERE pollID='$id'");
  237.     Header("Location: admin.php?op=adminMain");
  238. }
  239.  
  240. function polledit_select() {
  241.     global $prefix, $dbi;
  242.     
  243.     include ('header.php');
  244.     GraphicAdmin();
  245.     OpenTable();
  246.     echo "<center><font class=\"title\"><b>"._POLLSADMIN."</b></font></center>";
  247.     CloseTable();
  248.     echo "<br>";
  249.     OpenTable();
  250.     echo "<center><font class=\"option\"><b>"._EDITPOLL."</b></font></center><br><br>"
  251.     .""._CHOOSEPOLLEDIT."<br>"
  252.     ."<form action=\"admin.php\" method=\"post\">"
  253.     ."<input type=\"hidden\" name=\"op\" value=\"polledit\">"
  254.     ."<table border=\"0\">";
  255.     $result = sql_query("SELECT pollID, pollTitle, timeStamp, planguage FROM ".$prefix."_poll_desc ORDER BY timeStamp", $dbi);
  256.     if(!$result) {
  257.     return;
  258.     }
  259.     /* cycle through the descriptions until everyone has been fetched */
  260.     while($object = sql_fetch_object($result, $dbi)) {
  261.     $pollID = $object->pollID;
  262.     echo "<tr><td><input type=\"radio\" name=\"pollID\" value=\"".$object->pollID."\">".$object->pollTitle." - (".$object->planguage.")</td></tr>";
  263.     }
  264.     echo "</table>";
  265.     echo "<input type=\"submit\" value=\""._EDIT."\">";
  266.     echo "</form>";
  267.     CloseTable();
  268.     include ('footer.php');
  269. }
  270.  
  271. function polledit($pollID) {
  272.     global $prefix, $db, $multilingual;
  273.     include ('header.php');
  274.     GraphicAdmin();
  275.     OpenTable();
  276.     echo "<center><font class=\"title\"><b>"._POLLSADMIN."</b></font></center>";
  277.     $pollID = intval($pollID);
  278.     $row = $db->sql_fetchrow($db->sql_query("SELECT pollTitle, planguage from ".$prefix."_poll_desc where pollID='$pollID'"));
  279.     $pollTitle = $row['pollTitle'];
  280.     $planguage = $row['planguage'];
  281.     CloseTable();
  282.     echo "<br>";
  283.     OpenTable();
  284.     echo "<center><b>"._POLLEDIT." $pollTitle</b></center><br><br>";
  285.     echo "<form action=\"admin.php\" method=\"post\">";
  286.     echo "<table border=\"0\" align=\"center\"><tr><td align=\"right\">";
  287.     echo "<b>"._TITLE.":</b></td><td colspan=\"2\"><input type=\"text\" name=\"pollTitle\" value=\"$pollTitle\" size=\"40\" maxlength=\"100\"></td></tr>";
  288.     if ($multilingual == 1) {
  289.     echo "<tr><td><b>"._LANGUAGE.":</b></td><td>"
  290.         ."<select name=\"planguage\">";
  291.     $handle=opendir('language');
  292.     while ($file = readdir($handle)) {
  293.         if (preg_match("/^lang\-(.+)\.php/", $file, $matches)) {
  294.             $langFound = $matches[1];
  295.             $languageslist .= "$langFound ";
  296.         }
  297.     }
  298.     closedir($handle);
  299.     $languageslist = explode(" ", $languageslist);
  300.     sort($languageslist);
  301.     for ($h=0; $h < sizeof($languageslist); $h++) {
  302.         if($languageslist[$h]!="") {
  303.             echo "<option value=\"$languageslist[$h]\" ";
  304.         if($languageslist[$h]==$planguage) echo "selected";
  305.         echo ">".ucfirst($languageslist[$h])."</option>\n";
  306.         }
  307.     }
  308.     echo "</select><br><br>";
  309.     echo "</td></tr>";
  310.     } else {
  311.     echo "<input type=\"hidden\" name=\"planguage\" value=\"$planguage\"><br><br>";
  312.     }
  313.     $result = $db->sql_query("SELECT optionText, optionCount, voteID from ".$prefix."_poll_data where pollID='$pollID' order by voteID");
  314.     while ($row2 = $db->sql_fetchrow($result)) {
  315.     $optionText = $row2['optionText'];
  316.     $optionCount = intval($row2['optionCount']);
  317.     $voteID = intval($row2['voteID']);
  318.     echo "<tr><td align=\"right\"><b>"._OPTION." $voteID:</b></td><td><input type=\"text\" name=\"optiontext$voteID\" value=\"$optionText\" size=\"40\" maxlength=\"50\"></td><td align=\"right\">$optionCount "._VOTES."</td></tr>";
  319.     }
  320.     echo "</table><input type=\"hidden\" name=\"pollID\" value=\"$pollID\"><input type=\"hidden\" name=\"op\" value=\"savepoll\">"
  321.     ."<br><br><center><input type=\"submit\" value=\""._SAVECHANGES."\"><br>"._GOBACK."</center><br><br></form>";
  322.     CloseTable();
  323.     include("footer.php");    
  324. }
  325.  
  326. function savepoll($pollID, $pollTitle, $planguage, $optiontext1, $optiontext2, $optiontext3, $optiontext4, $optiontext5, $optiontext6, $optiontext7, $optiontext8, $optiontext9, $optiontext10, $optiontext11, $optiontext12) {
  327.     global $prefix, $db;
  328.     $pollID = intval($pollID);
  329.     $result = $db->sql_query("update ".$prefix."_poll_desc set pollTitle='$pollTitle', planguage='$planguage' where pollID='$pollID'");
  330.     $result = $db->sql_query("update ".$prefix."_poll_data set optionText='$optiontext1' where voteID='1' AND pollID='$pollID'");
  331.     $result = $db->sql_query("update ".$prefix."_poll_data set optionText='$optiontext2' where voteID='2' AND pollID='$pollID'");
  332.     $result = $db->sql_query("update ".$prefix."_poll_data set optionText='$optiontext3' where voteID='3' AND pollID='$pollID'");
  333.     $result = $db->sql_query("update ".$prefix."_poll_data set optionText='$optiontext4' where voteID='4' AND pollID='$pollID'");
  334.     $result = $db->sql_query("update ".$prefix."_poll_data set optionText='$optiontext5' where voteID='5' AND pollID='$pollID'");
  335.     $result = $db->sql_query("update ".$prefix."_poll_data set optionText='$optiontext6' where voteID='6' AND pollID='$pollID'");
  336.     $result = $db->sql_query("update ".$prefix."_poll_data set optionText='$optiontext7' where voteID='7' AND pollID='$pollID'");
  337.     $result = $db->sql_query("update ".$prefix."_poll_data set optionText='$optiontext8' where voteID='8' AND pollID='$pollID'");
  338.     $result = $db->sql_query("update ".$prefix."_poll_data set optionText='$optiontext9' where voteID='9' AND pollID='$pollID'");
  339.     $result = $db->sql_query("update ".$prefix."_poll_data set optionText='$optiontext10' where voteID='10' AND pollID='$pollID'");
  340.     $result = $db->sql_query("update ".$prefix."_poll_data set optionText='$optiontext11' where voteID='11' AND pollID='$pollID'");
  341.     $result = $db->sql_query("update ".$prefix."_poll_data set optionText='$optiontext12' where voteID='12' AND pollID='$pollID'");
  342.     Header("Location: admin.php");
  343. }
  344.  
  345. switch($op) {
  346.  
  347.     case "create":
  348.     poll_createPoll();
  349.     break;
  350.  
  351.     case "createPosted":
  352.     poll_createPosted($pollTitle, $optionText, $planguage, $title, $hometext, $topic, $bodytext, $catid, $ihome, $acomm);
  353.     break;
  354.  
  355.     case "ChangePoll":
  356.     ChangePoll($pollID, $pollTitle, $optionText, $voteID);
  357.     break;
  358.  
  359.     case "remove":
  360.     poll_removePoll();
  361.     break;
  362.  
  363.     case "removePosted":
  364.     poll_removePosted();
  365.     break;
  366.  
  367.     case "polledit":
  368.     polledit($pollID);
  369.     break;
  370.  
  371.     case "savepoll":
  372.     savepoll($pollID, $pollTitle, $planguage, $optiontext1, $optiontext2, $optiontext3, $optiontext4, $optiontext5, $optiontext6, $optiontext7, $optiontext8, $optiontext9, $optiontext10, $optiontext11, $optiontext12);
  373.     break;
  374.  
  375.     case "polledit_select":
  376.     polledit_select();
  377.     break;
  378.  
  379. }
  380.  
  381. } else {
  382.     echo "Access Denied";
  383. }
  384.  
  385. ?>