/** * 格式化投票参数 * * @param array $params * @param string $suffix * @return array */ public function formatParams($params, $suffix = '') { $vote = array(); $voteMember = 'votemember' . $suffix; if (!empty($params[$voteMember]) && is_array($params[$voteMember])) { foreach ($params[$voteMember] as $item) { $voteId = !empty($params['voteid-' . $item . $suffix]) ? $params['voteid-' . $item . $suffix] : Dao_Td_Tudu_Vote::getVoteId(); $vote[$voteId] = array('voteid' => $voteId, 'title' => $params['title-' . $item . $suffix], 'maxchoices' => (int) $params['maxchoices-' . $item . $suffix], 'visible' => !empty($params['visible-' . $item . $suffix]) ? (int) $params['visible-' . $item . $suffix] : 0, 'anonymous' => !empty($params['anonymous-' . $item . $suffix]) ? (int) $params['anonymous-' . $item . $suffix] : 0, 'privacy' => !empty($params['privacy-' . $item . $suffix]) ? (int) $params['privacy-' . $item . $suffix] : 0, 'isreset' => !empty($params['isreset-' . $item . $suffix]) ? (int) $params['isreset-' . $item . $suffix] : 0, 'ordernum' => $params['voteorder-' . $item . $suffix], 'expiretime' => !empty($params['endtime']) ? strtotime($params['endtime']) : null, 'options' => array(), 'newoptions' => array()); $options = array(); $newOptions = array(); $optionMember = 'optionid-' . $item . $suffix; $newOptionMember = 'newoption-' . $item . $suffix; if (!empty($params[$optionMember]) && is_array($params[$optionMember])) { foreach ($params[$optionMember] as $option) { //if (empty($params['text-' . $item . '-' . $option . $suffix])) continue; $options[$option] = array('optionid' => $option, 'text' => $params['text-' . $item . '-' . $option . $suffix]); if (isset($params['ordernum-' . $item . '-' . $option . $suffix])) { $options[$option]['ordernum'] = (int) $params['ordernum-' . $item . '-' . $option . $suffix]; } } $vote[$voteId]['options'] = $options; } if (!empty($params[$newOptionMember]) && is_array($params[$newOptionMember])) { foreach ($params[$newOptionMember] as $option) { //if (empty($params['text-' . $item . '-' . $option . $suffix])) continue; $orderNum = $params['ordernum-' . $item . '-' . $option . $suffix]; $optionId = Dao_Td_Tudu_Vote::getOptionId(); $newOptions[$optionId] = array('optionid' => $optionId, 'text' => $params['text-' . $item . '-' . $option . $suffix], 'ordernum' => (int) $orderNum); } $vote[$voteId]['newoptions'] = $newOptions; } } } return $vote; }
/** * */ public function addVote(array $vote) { $item = array('title' => null, 'maxchoice' => 1, 'privacy' => 0, 'visible' => 0, 'anonymous' => 0, 'isreset' => 0, 'ordernum' => 0, 'options' => array(), 'removeoptions' => array(), 'expiretime' => null); foreach ($item as $key => $val) { if (isset($vote[$key])) { $item[$key] = $val; } } if (!isset($item['voteid'])) { $voteId = Dao_Td_Tudu_Vote::getVoteId(); $item['voteid'] = $voteId; $item['isnew'] = true; } else { $voteId = $item['voteid']; } $this->_votes[$voteId] = $item; if (isset($vote['options']) && is_array($vote['options'])) { foreach ($vote['options'] as $item) { $this->addOption($voteId, $item); } } return $voteId; }