protected function render404() { $data['pages'] = $this->pages; $data['user'] = $this->user; View::render404(null, $data); }
/** * @param $route * @param $pages * @param $userModel * @return bool|null|models/User */ private function checkPermission($route, $pages, $uri, $userModel) { $user = null; if (array_key_exists('user_id', $_COOKIE)) { $user = $userModel->getOne($_COOKIE['user_id']); } $pages = array_filter($pages, function ($page) use($route, $uri) { return $page->getRoute()[1] === $route && $page->getPermalink() === str_replace('/', "", explode('.', $uri)[0]); }); if (count($pages) === 0) { return [$user, true]; } $page = array_shift($pages); if ($page->getShow() == 0 && $page->getSystem() == 0) { View::render404(false); } if (!isset($user) && $page->getAccess() > 1 || isset($user) && $user->getRole() < $page->getAccess()) { return [$user, false]; } else { return [$user, true]; } }