data['uid']; $where['task_id'] = Dever::input('id'); $data = Dever::db('task/user_report')->getAll($where); if ($data) { foreach ($data as $k => $v) { $this->getOne($data[$k]); } } return $data; } /** * 报告详情 * * @return mixed */ public function one() { $id = Dever::input('id'); $info = array(); if ($id > 0) { $info = Dever::db('task/user_report')->one($id); $this->getOne($info); } return $info; } /** * 提交报告 * * @return mixed */ public function submit() { $info = Dever::load('task/info.one'); if (isset($info['button']) && is_array($info['button']) && isset($info['button']['status']) && $info['button']['status'] > 0) { if ($info['button']['status'] == 5) { # 可以提交 return $this->submit_action($info); } else { Dever::alert(strip_tags($info['button']['desc'])); } } else { Dever::alert('提交失败'); } } /** * 立刻提交 * * @return mixed */ private function submit_action($info) { $username = Dever::input('username'); $pic = Dever::input('pic'); $link = Dever::input('link'); $desc = Dever::input('desc'); $id = Dever::input('id'); $refresh = array('element' => '#dever_report_submit', 'attr' => 'dever-refresh', 'value' => $info['report']['submit']); if (strstr($info['report_demand'], 'username') && !$username) { Dever::alert('账号名不能为空', $refresh); } if (strstr($info['report_demand'], 'pic') &&!$pic) { Dever::alert('任务截屏不能为空', $refresh); } if (strstr($info['report_demand'], 'link') &&!$link) { Dever::alert('链接不能为空', $refresh); } if (strstr($info['report_demand'], 'desc') &&!$desc) { Dever::alert('文字说明不能为空', $refresh); } $report_id = Dever::input('report_id'); if ($report_id && is_numeric($report_id) && $report_id > 0) { $update['username'] = $username; $update['pic'] = $pic; $update['link'] = $link; $update['desc'] = $desc; $update['score'] = $info['score']; $update['group_score'] = $info['group_score']; $update['where_id'] = $report_id; Dever::db('task/user_report')->update($update); $info['user_report'] = $report_id; return '提交成功,请等待管理员审核'; } else { # 验证$info['report_num'] 和 $info['report_user_num'] $where['task_id'] = $info['id']; $total = Dever::db('task/user_report')->getTotal($where); if ($total >= $info['report_num']) { Dever::alert('已经超过报告数量上限', array('url' => Dever::url('task/view?id=' . $info['id'], 'main'))); } $where['uid'] = $this->data['uid']; $total = Dever::db('task/user_report')->getTotal($where); if ($total >= $info['report_user_num']) { Dever::alert('已经超过人均报告数量上限', array('url' => Dever::url('task/view?id=' . $info['id'], 'main'))); } $insert['uid'] = $this->data['uid']; $insert['task_id'] = $info['id']; $insert['username'] = $username; $insert['pic'] = $pic; $insert['link'] = $link; $insert['desc'] = $desc; $insert['score'] = $info['score']; $insert['group_score'] = $info['group_score']; $insert['status'] = 1; $info['user_report'] = Dever::db('task/user_report')->insert($insert); return '提交成功,请等待管理员审核'; } Dever::alert('提交失败'); } /** * 任务详情信息 * * @return mixed */ private function getOne(& $data) { # 审核文字 if ($data['status'] == 1) { $url = Dever::url('task/submit?id=' . $data['task_id'] . '&report_id=' . $data['id'], 'main'); $data['audit'] = '待审核'; $data['audit_desc'] = '修改'; $data['audit_icon'] = 'btns'; } elseif ($data['status'] == 2) { $data['audit'] = '已通过'; $data['audit_desc'] = '获得' . $this->data['config']['score_name'] . ':' . $data['score'] . $this->data['config']['score_name_ext']; if ($data['score_status'] == 1) { $data['audit_desc'] .= '(未入账)'; } else { $data['audit_desc'] .= '(已入账)'; } $data['audit_icon'] = 'tk-ft-success'; } elseif ($data['status'] == 3) { $data['audit'] = '未通过'; $data['audit_desc'] = $data['status_desc']; $data['audit_icon'] = 'tk-ft-error'; } $img = explode(',', $data['pic']); if ($img) { foreach ($img as $k => $v) { $data['img'][$k]['url'] = $v; } } $data['name'] = '账号:' . $data['username'] . $data['audit']; } }