Exemplo n.º 1
0
 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);
     }
 }