fix forum surveys

This commit is contained in:
yi12345
2013-09-17 23:16:13 +03:00
parent 4ada9c043b
commit 37f382ccc3
8 changed files with 215 additions and 7 deletions
+16
View File
@@ -368,6 +368,22 @@
}
}
/*****************************************
Function to vote on forum survey
*****************************************/
public function Vote($post) {
global $database, $session;
if($session->access != BANNED){
if($database->checkSurvey($post['tid']) && !$database->checkVote($post['tid'], $session->uid)){
$survey = $database->getSurvey($post['tid']);
$text = ''.$survey['voted'].','.$session->uid.',';
$database->Vote($post['tid'], $post['vote'], $text);
}
header("Location: allianz.php?s=2&fid2=".$post['fid2']."&pid=".$post['pid']."&tid=".$post['tid']);
}else{
header("Location: banned.php");
}
}
/*****************************************
Function to quit from alliance
*****************************************/
private function quitally($post) {
+49
View File
@@ -1059,6 +1059,55 @@ class MYSQL_DB {
return mysql_insert_id($this->connection);
}
function createSurvey($topic, $title, $option1, $option2, $option3, $option4, $option5, $option6, $option7, $option8, $ends) {
$q = "INSERT into " . TB_PREFIX . "forum_survey (topic,title,option1,option2,option3,option4,option5,option6,option7,option8,ends) values ('$topic','$title','$option1','$option2','$option3','$option4','$option5','$option6','$option7','$option8','$ends')";
return mysql_query($q, $this->connection);
}
function getSurvey($topic) {
$q = "SELECT * FROM " . TB_PREFIX . "forum_survey where topic = $topic";
$result = mysql_query($q, $this->connection);
return mysql_fetch_array($result);
}
function checkSurvey($topic) {
$q = "SELECT * FROM " . TB_PREFIX . "forum_survey where topic = $topic";
$result = mysql_query($q, $this->connection);
if(mysql_num_rows($result)) {
return true;
} else {
return false;
}
}
function Vote($topic, $num, $text) {
$q = "UPDATE " . TB_PREFIX . "forum_survey set vote".$num." = vote".$num." + 1, voted = '$text' where topic = ".$topic."";
return mysql_query($q, $this->connection);
}
function checkVote($topic, $uid) {
$q = "SELECT * FROM " . TB_PREFIX . "forum_survey where topic = $topic";
$result = mysql_query($q, $this->connection);
$array = mysql_fetch_array($result);
$text = $array['voted'];
if(preg_match('/,'.$uid.',/',$text)) {
return true;
} else {
return false;
}
}
function getVoteSum($topic) {
$q = "SELECT * FROM " . TB_PREFIX . "forum_survey where topic = $topic";
$result = mysql_query($q, $this->connection);
$array = mysql_fetch_array($result);
$sum = 0;
for($i=1;$i<=8;$i++){
$sum += $array['vote'.$i];
}
return $sum;
}
function CreatPost($post, $tids, $owner, $alliance, $player, $coor, $report) {
$date = time();
$q = "INSERT into " . TB_PREFIX . "forum_post values (0,'$post','$tids','$owner','$date','$alliance','$player','$coor','$report')";
+49
View File
@@ -1062,6 +1062,55 @@ class MYSQLi_DB {
return mysqli_insert_id($this->connection);
}
function createSurvey($topic, $title, $option1, $option2, $option3, $option4, $option5, $option6, $option7, $option8, $ends) {
$q = "INSERT into " . TB_PREFIX . "forum_survey (topic,title,option1,option2,option3,option4,option5,option6,option7,option8,ends) values ('$topic','$title','$option1','$option2','$option3','$option4','$option5','$option6','$option7','$option8','$ends')";
return mysqli_query($this->connection, $q);
}
function getSurvey($topic) {
$q = "SELECT * FROM " . TB_PREFIX . "forum_survey where topic = $topic";
$result = mysql_query($q, $this->connection);
return mysqli_fetch_array($result);
}
function checkSurvey($topic) {
$q = "SELECT * FROM " . TB_PREFIX . "forum_survey where topic = $topic";
$result = mysqli_query($this->connection, $q);
if(mysqli_num_rows($result)) {
return true;
} else {
return false;
}
}
function Vote($topic, $num, $text) {
$q = "UPDATE " . TB_PREFIX . "forum_survey set vote".$num." = vote".$num." + 1, voted = '$text' where topic = ".$topic."";
return mysqli_query($this->connection, $q);
}
function checkVote($topic, $uid) {
$q = "SELECT * FROM " . TB_PREFIX . "forum_survey where topic = $topic";
$result = mysqli_query($this->connection, $q);
$array = mysqli_fetch_array($result);
$text = $array['voted'];
if(preg_match('/,'.$uid.',/',$text)) {
return true;
} else {
return false;
}
}
function getVoteSum($topic) {
$q = "SELECT * FROM " . TB_PREFIX . "forum_survey where topic = $topic";
$result = mysqli_query($this->connection, $q);
$array = mysqli_fetch_array($result);
$sum = 0;
for($i=1;$i<=8;$i++){
$sum += $array['vote'.$i];
}
return $sum;
}
function CreatPost($post, $tids, $owner, $alliance, $player, $coor, $report) {
$date = time();
$q = "INSERT into " . TB_PREFIX . "forum_post values (0,'$post','$tids','$owner','$date','$alliance','$player','$coor','$report')";
+1 -1
View File
@@ -113,7 +113,7 @@ if($session->access!=BANNED){
document.post.meridiem[1].disabled = true;}
}
//-->
</script><select class="dropdown" name="month" disabled="disabled"><option value="1">Jan</option><option value="2">Feb</option><option value="3">Mar</option><option value="4">Apr</option><option value="5">May</option><option value="6">Jun</option><option value="7">Jul</option><option value="8">Aug</option><option value="9" selected="selected">Sep</option><option value="10">Oct</option><option value="11">Nov</option><option value="12">Dec</option></select><select class="dropdown" name="day" disabled="disabled"><option value="1">01</option><option value="2">02</option><option value="3">03</option><option value="4">04</option><option value="5">05</option><option value="6">06</option><option value="7">07</option><option value="8">08</option><option value="9">09</option><option value="10">10</option><option value="11">11</option><option value="12">12</option><option value="13">13</option><option value="14">14</option><option value="15">15</option><option value="16">16</option><option value="17">17</option><option value="18">18</option><option value="19" selected="selected">19</option><option value="20">20</option><option value="21">21</option><option value="22">22</option><option value="23">23</option><option value="24">24</option><option value="25">25</option><option value="26">26</option><option value="27">27</option><option value="28">28</option><option value="29">29</option><option value="30">30</option><option value="31">31</option></select><select class="dropdown" name="year" disabled="disabled"><option value="10" selected="selected">10</option><option value="11">11</option></select>&nbsp;&nbsp;&nbsp;<select class="dropdown" name="hour" disabled="disabled"><option value="0">00</option><option value="1">01</option><option value="2">02</option><option value="3">03</option><option value="4">04</option><option value="5">05</option><option value="6">06</option><option value="7">07</option><option value="8">08</option><option value="9">09</option><option value="10" selected="selected">10</option><option value="11">11</option></select><select class="dropdown" name="minute" disabled="disabled"><option value="0">00</option><option value="1">01</option><option value="2">02</option><option value="3">03</option><option value="4" selected="selected">04</option><option value="5">05</option><option value="6">06</option><option value="7">07</option><option value="8">08</option><option value="9">09</option><option value="10">10</option><option value="11">11</option><option value="12">12</option><option value="13">13</option><option value="14">14</option><option value="15">15</option><option value="16">16</option><option value="17">17</option><option value="18">18</option><option value="19">19</option><option value="20">20</option><option value="21">21</option><option value="22">22</option><option value="23">23</option><option value="24">24</option><option value="25">25</option><option value="26">26</option><option value="27">27</option><option value="28">28</option><option value="29">29</option><option value="30">30</option><option value="31">31</option><option value="32">32</option><option value="33">33</option><option value="34">34</option><option value="35">35</option><option value="36">36</option><option value="37">37</option><option value="38">38</option><option value="39">39</option><option value="40">40</option><option value="41">41</option><option value="42">42</option><option value="43">43</option><option value="44">44</option><option value="45">45</option><option value="46">46</option><option value="47">47</option><option value="48">48</option><option value="49">49</option><option value="50">50</option><option value="51">51</option><option value="52">52</option><option value="53">53</option><option value="54">54</option><option value="55">55</option><option value="56">56</option><option value="57">57</option><option value="58">58</option><option value="59">59</option></select>
</script><select class="dropdown" name="month" disabled="disabled"><option value="01">Jan</option><option value="02">Feb</option><option value="03">Mar</option><option value="04">Apr</option><option value="05">May</option><option value="06">Jun</option><option value="07">Jul</option><option value="08">Aug</option><option value="09" selected="selected">Sep</option><option value="10">Oct</option><option value="11">Nov</option><option value="12">Dec</option></select><select class="dropdown" name="day" disabled="disabled"><option value="01">01</option><option value="02">02</option><option value="03">03</option><option value="04">04</option><option value="05">05</option><option value="06">06</option><option value="07">07</option><option value="08">08</option><option value="09">09</option><option value="10">10</option><option value="11">11</option><option value="12">12</option><option value="13">13</option><option value="14">14</option><option value="15">15</option><option value="16">16</option><option value="17">17</option><option value="18">18</option><option value="19" selected="selected">19</option><option value="20">20</option><option value="21">21</option><option value="22">22</option><option value="23">23</option><option value="24">24</option><option value="25">25</option><option value="26">26</option><option value="27">27</option><option value="28">28</option><option value="29">29</option><option value="30">30</option><option value="31">31</option></select><select class="dropdown" name="year" disabled="disabled"><option value="<?php echo date('Y'); ?>" selected="selected"><?php echo date('y'); ?></option><option value="<?php echo date('Y')+1; ?>"><?php echo date('y')+1; ?></option></select>&nbsp;&nbsp;&nbsp;<select class="dropdown" name="hour" disabled="disabled"><option value="00">00</option><option value="01">01</option><option value="02">02</option><option value="03">03</option><option value="04">04</option><option value="05">05</option><option value="06">06</option><option value="07">07</option><option value="08">08</option><option value="09">09</option><option value="10" selected="selected">10</option><option value="11">11</option></select><select class="dropdown" name="minute" disabled="disabled"><option value="0">00</option><option value="1">01</option><option value="2">02</option><option value="3">03</option><option value="4" selected="selected">04</option><option value="5">05</option><option value="6">06</option><option value="7">07</option><option value="8">08</option><option value="9">09</option><option value="10">10</option><option value="11">11</option><option value="12">12</option><option value="13">13</option><option value="14">14</option><option value="15">15</option><option value="16">16</option><option value="17">17</option><option value="18">18</option><option value="19">19</option><option value="20">20</option><option value="21">21</option><option value="22">22</option><option value="23">23</option><option value="24">24</option><option value="25">25</option><option value="26">26</option><option value="27">27</option><option value="28">28</option><option value="29">29</option><option value="30">30</option><option value="31">31</option><option value="32">32</option><option value="33">33</option><option value="34">34</option><option value="35">35</option><option value="36">36</option><option value="37">37</option><option value="38">38</option><option value="39">39</option><option value="40">40</option><option value="41">41</option><option value="42">42</option><option value="43">43</option><option value="44">44</option><option value="45">45</option><option value="46">46</option><option value="47">47</option><option value="48">48</option><option value="49">49</option><option value="50">50</option><option value="51">51</option><option value="52">52</option><option value="53">53</option><option value="54">54</option><option value="55">55</option><option value="56">56</option><option value="57">57</option><option value="58">58</option><option value="59">59</option></select>
<input class="radio" type="radio" name="meridiem" value="0" disabled="disabled" />am
<input class="radio" type="radio" name="meridiem" value="1" disabled="disabled" checked="checked" />pm</td><td class="sel"><input class="check" type="checkbox" name="umfrage_ende" onclick="voteEnd();" />
+41
View File
@@ -62,6 +62,47 @@ if($database->CheckEditRes($aid)=="1"){
?>
<div class="clear dotted"></div><div class="text"><?php echo $bbcode_topic; ?></div></td>
</tr>
<?php if($database->checkSurvey($arr['id'])){
$survey = $database->getSurvey($arr['id']);
if(!$database->checkVote($arr['id'], $session->uid) && $survey['ends'] > time()){
?>
<tr><td class="pcontent" colspan="2"><div><center>Survey: <?php echo $survey['title']; ?></center></div>
<div class="clear dotted"></div><div class="text">
<form method="post" name="post" action="allianz.php?s=2&fid2=<?php echo $_GET['fid2']; ?>&pid=<?php echo $_GET['pid']; ?>&tid=<?php echo $_GET['tid']; ?>">
<?php
for($i=1;$i<=8;$i++){
?>
<input class="radio" type="radio" name="vote" value="<?php echo $i; ?>" /><?php echo $survey['option'.$i]; ?></br>
<?php
}
?>
<input type="hidden" name="fid2" value="<?php echo $_GET['fid2']; ?>" />
<input type="hidden" name="pid" value="<?php echo $_GET['pid']; ?>" />
<input type="hidden" name="tid" value="<?php echo $_GET['tid']; ?>" />
<p class="btn"><input type="image" id="fbtn_vote" value="ok" name="s1" class="dynamic_img" src="img/x.gif" alt="Vote" /></form></p>
</div></td>
</tr>
<?php }else{ ?>
<tr><td class="pcontent" colspan="2"><div><center>Survey: <?php echo $survey['title']; ?></center></div>
<div class="clear dotted"></div><div class="text">
<?php
$sum = $database->getVoteSum($arr['id']);
for($i=1;$i<=8;$i++){
if($survey['option'.$i] != ""){
if($sum > 0){
$width = 100 * ($survey['vote'.$i] / $sum);
}else{
$width = 0;
}
?>
<?php echo $survey['option'.$i]." "; ?><img src="<?php echo GP_LOCATE; ?>/img/f/c4.gif" width="<?php echo $width; ?>" /><?php echo " ".$survey['vote'.$i]; ?></br>
<?php
}
}
?>
</div></td>
</tr>
<?php }} ?>
<?php
foreach($posts as $po) {
+22 -6
View File
@@ -47,11 +47,6 @@ if(isset($_POST['newtopic'])){
$owner = $session->uid;
$alli = $_POST['pid'];
if(isset($_POST['umfrage_ende'])){
$ends = "";
}else{
$ends = '';
}
if($text != ""){
if(!preg_match('/\[message\]/',$text) && !preg_match('/\[\/message\]/',$text)){
$text = "[message]".$text."[/message]";
@@ -108,7 +103,28 @@ if(isset($_POST['newtopic'])){
}
}
}
$database->CreatTopic($title,$text,$cat,$owner,$alli,$ends,$alliance,$player,$coor,$report);
$topic_id = $database->CreatTopic($title,$text,$cat,$owner,$alli,$ends,$alliance,$player,$coor,$report);
if($_POST['umfrage']) {
if(isset($_POST['umfrage_ende'])){
$ends_date = $_POST['month']."/".$_POST['day']."/".$_POST['year'];
if($_POST['meridiem'] == 1){
$_POST['hour'] += 12;
}
$ends_time = $_POST['hour'].":".$_POST['minute'];
$ends = strtotime($ends_date)-strtotime(date('m/d/Y'))+strtotime($ends_time);
}else{
$ends = '';
}
$survey = 0;
for($i=1;$i<=8;$i++){
if($_POST['option'.$i] != ""){
$survey = 1;
}
}
if($survey == 1){
$database->createSurvey($topic_id, $_POST['umfrage_thema'], $_POST['option_1'], $_POST['option_2'], $_POST['option_3'], $_POST['option_4'], $_POST['option_5'], $_POST['option_6'], $_POST['option_7'], $_POST['option_8'], $ends);
}
}
}
}
}
+3
View File
@@ -167,6 +167,9 @@ $invite_permission = $database->getAlliancePermission($session->uid, "opt4", 0);
if($_GET['s'] != 5 or $session->sit == 0){
switch($_GET['s']) {
case 2:
if(isset($_POST['vote'])){
$alliance->Vote($_POST);
}
include ("Templates/Alliance/forum.tpl");
break;
case 3:
+34
View File
@@ -745,6 +745,40 @@ CREATE TABLE IF NOT EXISTS `%PREFIX%forum_post` (
--
-- --------------------------------------------------------
--
-- Table structure for table `%prefix%forum_survey`
--
CREATE TABLE IF NOT EXISTS `%PREFIX%forum_survey` (
`topic` int(11) NOT NULL,
`title` varchar(255) NOT NULL,
`option1` varchar(255) NOT NULL,
`option2` varchar(255) NOT NULL,
`option3` varchar(255) NOT NULL,
`option4` varchar(255) NOT NULL,
`option5` varchar(255) NOT NULL,
`option6` varchar(255) NOT NULL,
`option7` varchar(255) NOT NULL,
`option8` varchar(255) NOT NULL,
`vote1` int(11) unsigned NOT NULL DEFAULT '0',
`vote2` int(11) unsigned NOT NULL DEFAULT '0',
`vote3` int(11) unsigned NOT NULL DEFAULT '0',
`vote4` int(11) unsigned NOT NULL DEFAULT '0',
`vote5` int(11) unsigned NOT NULL DEFAULT '0',
`vote6` int(11) unsigned NOT NULL DEFAULT '0',
`vote7` int(11) unsigned NOT NULL DEFAULT '0',
`vote8` int(11) unsigned NOT NULL DEFAULT '0',
`voted` text NOT NULL,
`ends` int(11) unsigned NOT NULL
) ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=1 ;
--
-- Dumping data for table `%prefix%forum_survey`
--
-- --------------------------------------------------------
--