/** * * @param string $voteId * @param array $option */ public function addOption($voteId, array $option) { if (!isset($this->_votes[$voteId])) { return; } $item = array('optionid' => isset($option['optionid']) ? $option['ordernum'] : Dao_Td_Tudu_Vote::getOptionId(), 'text' => isset($option['text']) ? $option['text'] : '', 'ordernum' => isset($option['ordernum']) ? $option['ordernum'] : 0, 'votecount' => isset($option['votecount']) ? (int) $option['votecount'] : 0, 'isnew' => !isset($option['optionid'])); $this->_votes[$voteId]['options'][$item['optionid']] = $item; return $item['optionid']; }
/** * 格式化投票参数 * * @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; }