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'];
}
}