public function doVoteAction() { $this->view->layout()->disableLayout(); $this->_helper->viewRenderer->setNoRender(true); $usersNs = new Zend_Session_Namespace('members'); $user_id = $usersNs->userId; if ($user_id == "" || $user_id == 0) { $JsonResultArray = array('error' => 1, 'msg' => "Please login to vote."); echo Zend_Json::encode($JsonResultArray); exit; } $vote = $this->_getParam('vote'); $item_id = $this->_getParam('item_id'); $item_type = $this->_getParam('item_type'); $voteM = new Application_Model_Vote(); $voteM = $voteM->fetchRow("user_id='{$user_id}' and item_type='{$item_type}' and item_id='{$item_id}' "); if (false === $voteM) { $voteM = new Application_Model_Vote(); $voteM->setVote($vote); $voteM->setItemId($item_id); $voteM->setItemType($item_type); $voteM->setUserId($user_id); $savevote = $voteM->save(); } else { $voteM->setVote($vote); $savevote = $voteM->save(); } /* --- count up & down-----*/ $total_up = $voteM->getTotalVotes($item_id, $item_type, 1, null); $total_down = $voteM->getTotalVotes($item_id, $item_type, -1, null); /*-------------------*/ $JsonResultArray = array('error' => 2, 'msg' => "You have successfully voted.", 'total_down' => $total_down, 'total_up' => $total_up); echo Zend_Json::encode($JsonResultArray); }