public function add(Request $request, Response $response) { if ($request->is_post()) { $nid = $request->post('nid', 0); $title = $request->post('title', ''); $content = $request->post('content', ''); $img = $request->post('img', ''); $recommend = $request->post('recommend', 0); $sort = $request->post('sort', 0); $ret = ['flag' => 'ERR', 'msg' => '']; if ('' == $title) { $ret['msg'] = '新闻标题'; $response->sendJSON($ret); } if ('' == $content) { $ret['msg'] = '新闻详情不能为空'; $response->sendJSON($ret); } if ('' == $img) { $ret['msg'] = '封面不能空'; $response->sendJSON($ret); } $info = []; if ($nid) { $info = News_Model::getInfo($nid); } $now = simphp_time(); $uid = $_SESSION['logined_uid']; $params = ['title' => $title, 'content' => $content, 'img' => $img, 'recommend' => $recommend, 'sort' => $sort, 'createdby' => $uid, 'created' => $now, 'changedby' => $uid, 'changed' => $now, 'status' => 'R']; if (empty($info)) { // new insert $ninfo['nid'] = D()->insert('news', $params); $ret['flag'] = 'OK'; $ret['msg'] = '添加成功!'; $response->sendJSON($ret); } else { // edit unset($params['createdby'], $params['created'], $params['status']); D()->update('news', $params, ['nid' => $nid]); $ret['flag'] = 'OK'; $ret['msg'] = '编辑成功!'; $response->sendJSON($ret); } } else { // $nid = $request->arg(1); $nid = intval($nid); $is_edit = $nid ? TRUE : FALSE; $ainfo = $is_edit ? News_Model::getInfo($nid) : []; // Node Type $node_type = ''; $this->v->assign('nav_second', $node_type); $this->v->set_tplname('mod_news_add'); $this->v->assign('ninfo', $ainfo)->assign('is_edit', $is_edit); $response->send($this->v); } }