コード例 #1
0
 private function eNews($id = null)
 {
     if (is_post()) {
         $this->loadHelper('Validator');
         $data = array('title' => strip_tags(validate('required', 'title')), 'content' => validate('required', 'content'), 'updated_at' => date('Y-m-d H:i:s'));
         $id = validate('required', 'token');
         if (validator($data) && !is_null($id)) {
             $id = base64_decode($id);
             if (!preg_match('/^[0-9]+$/', $id)) {
                 exit('401');
             }
             $news = new \app\models\News();
             if ($_POST['c_readIn'] === 'on') {
                 $data['readIn'] = null;
             }
             if ($news->updateNews($data, $id)) {
                 cache_forgot('p.n.' . $id);
                 cache_forgot('p.getJson.news.' . user('major'));
             }
             return redirect('');
         }
     } else {
         if (preg_match('/^[0-9]+$/', $id)) {
             $data = cache_remember('p.n.' . $id, function () use($id) {
                 $news = new \app\models\News();
                 $data = $news->getNews($id);
                 if (!empty($data)) {
                     return $data;
                 }
                 return false;
             });
             if (!is_null($data) && $data['major_id'] === user('major')) {
                 return $this->view('editNews', compact('data'));
             }
         }
         return $this->view('errors/404');
     }
 }