mirror of
https://github.com/e107inc/e107.git
synced 2025-08-09 08:06:38 +02:00
Show old polls link only if there are actual old polls available.
This commit is contained in:
@@ -16,18 +16,22 @@
|
||||
|
||||
if (!defined('e107_INIT')) { exit; }
|
||||
|
||||
include_lan(e_PLUGIN."poll/languages/".e_LANGUAGE.".php");
|
||||
define("POLLCLASS", TRUE);
|
||||
define("POLL_MODE_COOKIE", 0);
|
||||
define("POLL_MODE_IP", 1);
|
||||
define("POLL_MODE_USERID", 2);
|
||||
include_lan(e_PLUGIN.'poll/languages/'.e_LANGUAGE.'.php');
|
||||
define('POLLCLASS', TRUE);
|
||||
define('POLL_MODE_COOKIE', 0);
|
||||
define('POLL_MODE_IP', 1);
|
||||
define('POLL_MODE_USERID', 2);
|
||||
|
||||
class poll
|
||||
{
|
||||
|
||||
var $pollRow;
|
||||
var $pollmode;
|
||||
|
||||
/*
|
||||
function delete_poll
|
||||
parameter in: $existing - existing poll id to be deleted
|
||||
parameter out: language text string on succesful delete, nothing on failed deletion
|
||||
*/
|
||||
function delete_poll($existing)
|
||||
{
|
||||
global $sql, $admin_log;
|
||||
@@ -42,16 +46,15 @@ class poll
|
||||
}
|
||||
}
|
||||
|
||||
function submit_poll($mode=1)
|
||||
{
|
||||
|
||||
/*
|
||||
function submit_poll
|
||||
$mode = 1 :: poll is main poll
|
||||
$mode = 2 :: poll is forum poll
|
||||
returns message
|
||||
*/
|
||||
|
||||
function submit_poll($mode=1)
|
||||
{
|
||||
global $tp, $sql, $admin_log;
|
||||
|
||||
$poll_title = $tp->toDB($_POST['poll_title']);
|
||||
$poll_comment = $tp -> toDB($_POST['poll_comment']);
|
||||
$multipleChoice = intval($_POST['multipleChoice']);
|
||||
@@ -60,7 +63,7 @@ class poll
|
||||
$storageMethod = intval($_POST['storageMethod']);
|
||||
$active_start = (!$_POST['startmonth'] || !$_POST['startday'] || !$_POST['startyear'] ? 0 : mktime (0, 0, 0, $_POST['startmonth'], $_POST['startday'], $_POST['startyear']));
|
||||
$active_end = (!$_POST['endmonth'] || !$_POST['endday'] || !$_POST['endyear'] ? 0 : mktime (0, 0, 0, $_POST['endmonth'], $_POST['endday'], $_POST['endyear']));
|
||||
$poll_options = "";
|
||||
$poll_options = '';
|
||||
|
||||
$_POST['poll_option'] = array_filter($_POST['poll_option']);
|
||||
foreach ($_POST['poll_option'] as $key => $value)
|
||||
@@ -68,7 +71,7 @@ class poll
|
||||
$poll_options .= $tp->toDB($value).chr(1);
|
||||
}
|
||||
|
||||
if(POLLACTION == "edit" || vartrue($_POST['poll_id']))
|
||||
if (POLLACTION == 'edit' || vartrue($_POST['poll_id']))
|
||||
{
|
||||
$sql -> db_Update("polls", "poll_title='{$poll_title}',
|
||||
poll_options='{$poll_options}',
|
||||
@@ -91,7 +94,7 @@ class poll
|
||||
{
|
||||
for($a=0; $a<=$opt; $a++)
|
||||
{
|
||||
$foo['poll_votes'] .= "0".chr(1);
|
||||
$foo['poll_votes'] .= '0'.chr(1);
|
||||
}
|
||||
$sql -> db_Update("polls", "poll_votes='".$foo['poll_votes']."' WHERE poll_id='".intval(POLLID)."' ");
|
||||
}
|
||||
@@ -101,10 +104,10 @@ class poll
|
||||
}
|
||||
else
|
||||
{
|
||||
$votes = "";
|
||||
$votes = '';
|
||||
for($a=1; $a<=count($_POST['poll_option']); $a++)
|
||||
{
|
||||
$votes .= "0".chr(1);
|
||||
$votes .= '0'.chr(1);
|
||||
}
|
||||
|
||||
if ($mode == 1)
|
||||
@@ -129,7 +132,6 @@ class poll
|
||||
return $message;
|
||||
}
|
||||
|
||||
|
||||
function get_poll($query)
|
||||
{
|
||||
global $sql, $e107;
|
||||
@@ -138,54 +140,54 @@ class poll
|
||||
$pollArray = $sql -> db_Fetch();
|
||||
if (!check_class($pollArray['poll_vote_userclass']))
|
||||
{
|
||||
$POLLMODE = "disallowed";
|
||||
$POLLMODE = 'disallowed';
|
||||
}
|
||||
else
|
||||
{
|
||||
switch($pollArray['poll_storage_method'])
|
||||
{
|
||||
case POLL_MODE_COOKIE:
|
||||
$userid = "";
|
||||
$cookiename = "poll_".$pollArray['poll_id'];
|
||||
$userid = '';
|
||||
$cookiename = 'poll_'.$pollArray['poll_id'];
|
||||
if (isset($_COOKIE[$cookiename]))
|
||||
{
|
||||
$POLLMODE = "voted";
|
||||
$POLLMODE = 'voted';
|
||||
}
|
||||
else
|
||||
{
|
||||
$POLLMODE = "notvoted";
|
||||
$POLLMODE = 'notvoted';
|
||||
}
|
||||
break;
|
||||
|
||||
case POLL_MODE_IP:
|
||||
$userid = $e107->getip();
|
||||
$voted_ids = explode("^", substr($pollArray['poll_ip'], 0, -1));
|
||||
$voted_ids = explode('^', substr($pollArray['poll_ip'], 0, -1));
|
||||
if (in_array($userid, $voted_ids))
|
||||
{
|
||||
$POLLMODE = "voted";
|
||||
$POLLMODE = 'voted';
|
||||
}
|
||||
else
|
||||
{
|
||||
$POLLMODE = "notvoted";
|
||||
$POLLMODE = 'notvoted';
|
||||
}
|
||||
break;
|
||||
|
||||
case POLL_MODE_USERID:
|
||||
if (!USER)
|
||||
{
|
||||
$POLLMODE = "disallowed";
|
||||
$POLLMODE = 'disallowed';
|
||||
}
|
||||
else
|
||||
{
|
||||
$userid = USERID;
|
||||
$voted_ids = explode("^", substr($pollArray['poll_ip'], 0, -1));
|
||||
$voted_ids = explode('^', substr($pollArray['poll_ip'], 0, -1));
|
||||
if (in_array($userid, $voted_ids))
|
||||
{
|
||||
$POLLMODE = "voted";
|
||||
$POLLMODE = 'voted';
|
||||
}
|
||||
else
|
||||
{
|
||||
$POLLMODE = "notvoted";
|
||||
$POLLMODE = 'notvoted';
|
||||
}
|
||||
}
|
||||
break;
|
||||
@@ -196,7 +198,7 @@ class poll
|
||||
{
|
||||
return FALSE;
|
||||
}
|
||||
if(isset($_POST['pollvote']) && $POLLMODE == "notvoted" && ($POLLMODE != "disallowed"))
|
||||
if (isset($_POST['pollvote']) && $POLLMODE == 'notvoted' && ($POLLMODE != 'disallowed'))
|
||||
{
|
||||
if ($_POST['votea'])
|
||||
{
|
||||
@@ -237,7 +239,7 @@ class poll
|
||||
//-->
|
||||
</script>
|
||||
";
|
||||
$POLLMODE = "voted";
|
||||
$POLLMODE = 'voted';
|
||||
|
||||
}
|
||||
}
|
||||
@@ -251,7 +253,7 @@ class poll
|
||||
global $POLLSTYLE, $sql, $tp, $ns;
|
||||
switch ($POLLMODE)
|
||||
{
|
||||
case "query" : // Show poll, register any vote
|
||||
case 'query' : // Show poll, register any vote
|
||||
if ($this->get_poll($pollArray) === FALSE)
|
||||
{
|
||||
return ''; // No display if no poll
|
||||
@@ -267,18 +269,18 @@ class poll
|
||||
break;
|
||||
}
|
||||
|
||||
$barl = (file_exists(THEME."images/barl.png") ? THEME_ABS."images/barl.png" : e_PLUGIN_ABS."poll/images/barl.png");
|
||||
$barr = (file_exists(THEME."images/barr.png") ? THEME_ABS."images/barr.png" : e_PLUGIN_ABS."poll/images/barr.png");
|
||||
$bar = (file_exists(THEME."images/bar.png") ? THEME_ABS."images/bar.png" : e_PLUGIN_ABS."poll/images/bar.png");
|
||||
$barl = (file_exists(THEME.'images/barl.png') ? THEME_ABS.'images/barl.png' : e_PLUGIN_ABS.'poll/images/barl.png');
|
||||
$barr = (file_exists(THEME.'images/barr.png') ? THEME_ABS.'images/barr.png' : e_PLUGIN_ABS.'poll/images/barr.png');
|
||||
$bar = (file_exists(THEME.'images/bar.png') ? THEME_ABS.'images/bar.png' : e_PLUGIN_ABS.'poll/images/bar.png');
|
||||
|
||||
if($type == "preview")
|
||||
if ($type == 'preview')
|
||||
{
|
||||
$optionArray = $pollArray['poll_option'];
|
||||
$voteArray = array();
|
||||
$voteArray = array_pad($voteArray, count($optionArray), 0);
|
||||
$pollArray['poll_allow_multiple'] = $pollArray['multipleChoice'];
|
||||
}
|
||||
else if($type == "forum")
|
||||
else if ($type == 'forum')
|
||||
{
|
||||
if (isset($_POST['fpreview']))
|
||||
{
|
||||
@@ -302,10 +304,8 @@ class poll
|
||||
}
|
||||
|
||||
$voteTotal = array_sum($voteArray);
|
||||
|
||||
$percentage = array();
|
||||
|
||||
|
||||
if (count($voteArray))
|
||||
{
|
||||
foreach ($voteArray as $votes)
|
||||
@@ -321,21 +321,21 @@ class poll
|
||||
}
|
||||
}
|
||||
/* get template */
|
||||
if (file_exists(THEME."poll_template.php"))
|
||||
if (file_exists(THEME.'poll_template.php'))
|
||||
{
|
||||
require(THEME."poll_template.php");
|
||||
require(THEME.'poll_template.php');
|
||||
}
|
||||
else if (!isset($POLL_NOTVOTED_START))
|
||||
{
|
||||
require(e_PLUGIN."poll/templates/poll_template.php");
|
||||
require(e_PLUGIN.'poll/templates/poll_template.php');
|
||||
}
|
||||
|
||||
$preview = FALSE;
|
||||
if ($type == "preview")
|
||||
if ($type == 'preview')
|
||||
{
|
||||
$POLLMODE = "notvoted";
|
||||
$POLLMODE = 'notvoted';
|
||||
}
|
||||
elseif($type == "forum")
|
||||
elseif ($type == 'forum')
|
||||
{
|
||||
$preview = TRUE;
|
||||
}
|
||||
@@ -349,12 +349,17 @@ class poll
|
||||
$QUESTION = $tp -> toHTML($pollArray['poll_title'], TRUE, "emotes_off, defs");
|
||||
$VOTE_TOTAL = POLLAN_31.": ".$voteTotal;
|
||||
$COMMENTS = ($pollArray['poll_comment'] ? " <a href='".e_BASE."comment.php?comment.poll.".$pollArray['poll_id']."'>".POLLAN_27.": ".$comment_total."</a>" : "");
|
||||
$OLDPOLLS = ($type == "menu" ? "<a href='".e_PLUGIN_ABS."poll/oldpolls.php'>".POLLAN_28."</a>" : "");
|
||||
$AUTHOR = POLLAN_35." ".($type == "preview" || $type == "forum" ? USERNAME : "<a href='".e_BASE."user.php?id.".$pollArray['poll_admin_id']."'>".$pollArray['user_name']."</a>");
|
||||
$poll_count = $sql->db_Count("polls", "(*)", "WHERE poll_id <= '".$pollArray['poll_id']."'");
|
||||
$OLDPOLLS = '';
|
||||
if ($poll_count > 1)
|
||||
{
|
||||
$OLDPOLLS = ($type == 'menu' ? "<a href='".e_PLUGIN_ABS."poll/oldpolls.php'>".POLLAN_28."</a>" : "");
|
||||
}
|
||||
$AUTHOR = POLLAN_35." ".($type == 'preview' || $type == 'forum' ? USERNAME : "<a href='".e_BASE."user.php?id.".$pollArray['poll_admin_id']."'>".$pollArray['user_name']."</a>");
|
||||
|
||||
switch ($POLLMODE)
|
||||
{
|
||||
case "notvoted":
|
||||
case 'notvoted':
|
||||
$text = "<form method='post' action='".e_SELF.(e_QUERY ? "?".e_QUERY : "")."'>\n".preg_replace("/\{(.*?)\}/e", '$\1', ($type == "forum" ? $POLL_FORUM_NOTVOTED_START : $POLL_NOTVOTED_START));
|
||||
$count = 1;
|
||||
$alt = 0; // alternate style.
|
||||
@@ -383,7 +388,7 @@ class poll
|
||||
$text .= "\n".preg_replace("/\{(.*?)\}/e", '$\1', ($type == "forum" ? $POLL_FORUM_NOTVOTED_END : $POLL_NOTVOTED_END))."\n</form>";
|
||||
break;
|
||||
|
||||
case "voted":
|
||||
case 'voted':
|
||||
case 'results' :
|
||||
if ($pollArray['poll_result_type'] && !strstr(e_SELF, "comment.php"))
|
||||
{
|
||||
@@ -406,7 +411,7 @@ class poll
|
||||
$text .= preg_replace("/\{(.*?)\}/e", '$\1', ($type == "forum" ? $POLL_FORUM_VOTED_END : $POLL_VOTED_END));
|
||||
break;
|
||||
|
||||
case "disallowed":
|
||||
case 'disallowed':
|
||||
$text = preg_replace("/\{(.*?)\}/e", '$\1', $POLL_DISALLOWED_START);
|
||||
foreach ($optionArray as $option)
|
||||
{
|
||||
@@ -433,18 +438,16 @@ class poll
|
||||
|
||||
if (!defined("POLLRENDERED")) define("POLLRENDERED", TRUE);
|
||||
$caption = (file_exists(THEME."images/poll_menu.png") ? "<img src='".THEME_ABS."images/poll_menu.png' alt='' /> ".POLLAN_MENU_CAPTION : POLLAN_MENU_CAPTION);
|
||||
if($type == "preview")
|
||||
if ($type == 'preview')
|
||||
{
|
||||
$caption = POLLAN_23;
|
||||
$text = "<div style='text-align:center; margin-left: auto; margin-right: auto;'>\n<table style='width:350px' class='fborder'>\n<tr>\n<td>\n$text\n</td></tr></table></div>";
|
||||
}
|
||||
else if($type == "forum")
|
||||
else if ($type == 'forum')
|
||||
{
|
||||
$caption = LAN_4;
|
||||
}
|
||||
|
||||
|
||||
|
||||
if ($returnMethod)
|
||||
{
|
||||
return $text;
|
||||
@@ -455,18 +458,16 @@ class poll
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
function renderPollForm($mode="admin")
|
||||
{
|
||||
/*
|
||||
function renderPollForm
|
||||
$mode = "admin" :: called from admin_config.php
|
||||
$mode = "forum" :: called from forum_post.php
|
||||
*/
|
||||
function renderPollForm($mode='admin')
|
||||
{
|
||||
$tp = e107::getParser();
|
||||
|
||||
//TODO Hardcoded FORUM code needs to be moved somewhere.
|
||||
|
||||
if($mode == "forum")
|
||||
if ($mode == 'forum')
|
||||
{
|
||||
$text = "<tr>
|
||||
<td colspan='2' class='nforumcaption2'>".LAN_4."</td>
|
||||
@@ -491,7 +492,7 @@ class poll
|
||||
break;
|
||||
}
|
||||
$opt = ($count==1) ? "id='pollopt'" : "";
|
||||
$text .="<span $opt><input class='tbox' type='text' name='poll_option[]' size='40' value=\"".$_POST['poll_option'][($count-1)]."\" maxlength='200' />";
|
||||
$text .="<span {$opt}><input class='tbox' type='text' name='poll_option[]' size='40' value=\"".$_POST['poll_option'][($count-1)]."\" maxlength='200' />";
|
||||
$text .= "</span><br />";
|
||||
}
|
||||
|
||||
@@ -523,7 +524,7 @@ class poll
|
||||
$formgo = e_SELF.(e_QUERY && !defined("RESET") && strpos(e_QUERY, 'delete') === FALSE ? "?".e_QUERY : "");
|
||||
|
||||
$text = "<div style='text-align:center'>
|
||||
<form method='post' action='$formgo'>
|
||||
<form method='post' action='{$formgo}'>
|
||||
<table class='adminform' cellpadding='0' cellspacing='0'>
|
||||
<colgroup span='2'>
|
||||
<col class='col-label' />
|
||||
@@ -544,7 +545,7 @@ class poll
|
||||
for($count = 1; $count <= $option_count; $count++)
|
||||
{
|
||||
$opt = ($count==1) ? "id='pollopt'" : "";
|
||||
$text .="<span $opt><input class='tbox' type='text' name='poll_option[]' size='40' value=\"".$tp -> post_toForm($_POST['poll_option'][($count-1)])."\" maxlength='200' />";
|
||||
$text .="<span {$opt}><input class='tbox' type='text' name='poll_option[]' size='40' value=\"".$tp -> post_toForm($_POST['poll_option'][($count-1)])."\" maxlength='200' />";
|
||||
$text .= "</span><br />";
|
||||
}
|
||||
|
||||
@@ -585,9 +586,6 @@ class poll
|
||||
<input type='radio' name='storageMethod' value='2'".(varset($_POST['storageMethod']) ==2 ? " checked='checked'" : "")." /> ".POLLAN_19."
|
||||
</td></tr>
|
||||
|
||||
|
||||
|
||||
|
||||
<tr>
|
||||
<td>".POLLAN_20.": </td><td>
|
||||
<input type='radio' name='poll_comment' value='1'".(varset($_POST['poll_comment']) ? " checked='checked'" : "")." /> ".POLLAN_10."
|
||||
@@ -601,7 +599,7 @@ class poll
|
||||
{
|
||||
$text .= "<input class='button' type='submit' name='preview' value='".POLLAN_24."' /> ";
|
||||
|
||||
if (POLLACTION == "edit")
|
||||
if (POLLACTION == 'edit')
|
||||
{
|
||||
$text .= "<input class='button' type='submit' name='submit' value='".POLLAN_22."' />
|
||||
<input type='hidden' name='poll_id' value='".intval($_POST['poll_id'])."' /> ";
|
||||
@@ -639,5 +637,4 @@ function setcook(pollid){
|
||||
//-->
|
||||
</script>
|
||||
';
|
||||
|
||||
?>
|
Reference in New Issue
Block a user