*/ class Mage_Poll_VoteController extends Mage_Core_Controller_Front_Action { /** * Action list where need check enabled cookie * * @var array */ protected $_cookieCheckActions = array('add'); /** * Add Vote to Poll * * @return void */ public function addAction() { $pollId = intval($this->getRequest()->getParam('poll_id')); $answerId = intval($this->getRequest()->getParam('vote')); /** @var $poll Mage_Poll_Model_Poll */ $poll = Mage::getModel('poll/poll')->load($pollId); /** * Check poll data */ if ($poll->getId() && !$poll->getClosed() && !$poll->isVoted()) { $vote = Mage::getModel('poll/poll_vote') ->setPollAnswerId($answerId) ->setIpAddress(Mage::helper('core/http')->getRemoteAddr(true)) ->setCustomerId(Mage::getSingleton('customer/session')->getCustomerId()); $poll->addVote($vote); Mage::getSingleton('core/session')->setJustVotedPoll($pollId); Mage::dispatchEvent( 'poll_vote_add', array( 'poll' => $poll, 'vote' => $vote ) ); } $this->_redirectReferer(); } }