getObject($params); /* @var $object kDBItem */ if (!$object->GetDBField('AllowMultipleVotings')) { $sql = 'SELECT StatisticsId FROM '.TABLE_PREFIX.'PollsStatistics WHERE PollId = '.$object->GetID().' AND CreatedById = '.$this->Application->RecallVar('user_id').' AND UserIP = '.$this->Conn->qstr(getenv('REMOTE_ADDR')); $has_voted = $this->Conn->GetOne($sql) > 0; } return $has_voted; } /** * Allows to tell if user from current ip has voted already for current poll * * @param Array $params * @return bool */ function HasCommented($params) { $object =& $this->getObject($params); /* @var $object kDBItem */ $spam_helper =& $this->Application->recallObject('SpamHelper'); /* @var $spam_helper SpamHelper */ $spam_helper->InitHelper($object->GetID(), 'PollComment', 0); // PollId used for SpamControl only return $spam_helper->InSpamControl(); } /** * Prints out only filled in answers of current poll * * @param Array $params * @return string */ function PrintPoll($params) { $object =& $this->getObject($params); $sql = 'SELECT COUNT(AnswerNum), AnswerNum FROM '.TABLE_PREFIX.'PollsStatistics WHERE PollId = '.$object->GetID().' GROUP BY AnswerNum'; $statistics = $this->Conn->GetCol($sql, 'AnswerNum'); $total_votes = array_sum($statistics); $block_params = $this->prepareTagParams($params); $block_params['name'] = $params['render_as']; $i = 1; $ret = ''; while ($i < 8) { $answer = $object->GetDBField('Answer'.$i); if ($answer) { $answer_votes = isset($statistics[$i]) ? $statistics[$i] : 0; if ($total_votes > 0) { $block_params['percent'] = round((100 * $answer_votes) / $total_votes, 0); } else { $block_params['percent'] = 0; } $block_params['answer'] = $answer; $block_params['answer_num'] = $i; $ret .= $this->Application->ParseBlock($block_params); } $i++; } return $ret; } /** * Prints link to comments of of current poll * * @param Array $params * @return string */ function CommentsLink($params) { $object =& $this->getObject($params); $params['pass'] = 'm,poll'; $params['poll_id'] = $object->GetID(); return $this->Application->ProcessParsedTag('m', 'Link', $params); } } ?>