public function a($_act = null) { switch ($_act) { case 'news': if (role_check()) { if (is_post()) { $news = new \app\models\News(); $this->loadHelper('Validator'); if ($news->countNews() < 15) { $data = ['title' => strip_tags(validate('required', 'title')), 'content' => validate('required', 'content')]; if (validator($data)) { $news->createNews($data); cache_forgot('p.getJson.news.' . user('major')); } } return redirect(''); } else { return $this->view('createNews'); } } return redirect('back'); break; case 'know': if (is_post()) { $this->loadHelper('Validator'); $id = validate('required', 'token'); if (!is_null($id)) { $id = base64_decode($id); 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 (!in_array(auth('id'), explode(',', $data['readIn']))) { $news = new \app\models\News(); $progress = $data['readIn'] === '' ? auth('id') . ',' : $data['readIn'] . auth('id') . ','; if ($news->addKnow($id, ['readIn' => $progress])) { echo '1'; cache_forgot('p.n.' . $id); cache_forgot('p.getJson.news.' . user('major')); return; } } } } } echo '0'; return; break; } }