function edit() { $vid = intval($this->Post['vid']); $options = $this->Post['old_option']; $new_options = $this->Post['option']; $old_pic = jget('old_pic'); $new_pic = jget('pic_id'); $vote = $this->VoteLogic->id2voteinfo($vid, 'm'); if (empty($vote) || $vote['verify'] == 0) { json_error('当前投票不存在或正在审核中'); } if (jdisallow($vote['uid'])) { json_error('你没有权限'); } load::logic('vote'); $VoteLogic = new VoteLogic(); $is_voted = $VoteLogic->get_count_vote_user($vid); $no_chk_maxchoice = false; if ($is_voted) { $no_chk_maxchoice = true; } $post_data = $this->Post; $params = array('no_chk_option' => true, 'no_chk_maxchoice' => $no_chk_maxchoice); $ret = $this->VoteLogic->chk_post($post_data, 'modfiy', $params); if ($ret == -1) { json_error("投票主题长度不能小于两个字节。"); } else { if ($ret == -3) { json_error("投票截止时间小于当前时间。"); } } $where_ary = array('vid' => $vid); if ($no_chk_maxchoice) { $set_ary = array('subject' => $post_data['subject'], 'is_view' => $post_data['is_view'], 'expiration' => $post_data['expiration']); } else { $set_ary = array('subject' => $post_data['subject'], 'maxchoice' => $post_data['maxchoice'], 'multiple' => $post_data['maxchoice'] > 1 ? 1 : 0, 'is_view' => $post_data['is_view'], 'expiration' => $post_data['expiration']); } $set_ary['time_val'] = max(0, (int) $post_data['time_val']); $set_ary['time_unit'] = in_array($post_data['time_unit'], array('y', 'm', 'd', 'h', 'i', 's')) ? $post_data['time_unit'] : 'h'; $set_ary['vote_limit'] = max(0, min(100, (int) $post_data['vote_limit'])); $VoteLogic->update_vote($vid, $set_ary); $VoteLogic->update_vote_field($vid, array('message' => $post_data['message'])); $this->VoteLogic->update_options($vid, $options, $new_options, $is_voted, $old_pic, $new_pic); json_result('编辑投票项成功', $vid); }