pages = $pageRepository; $this->settings = $settingsService; $this->auth = $authService; $this->assets = $assetService; $this->sort = $sortService; } //REFACTOR: there is some method overlap between index and pages, so that needs to be addressed public function index($first = 00, $second = 00, $third = 00) { $global = $this->settings->getGlobal(); $currentTheme = $this->assets->getCurrentTheme(); $template; $pageData = []; $pages = $this->pages->getAll(); //check if configs are present if (file_exists(env('FOLKS_PATH')) && file_exists(env('SETTINGS_PATH'))) { if ($global['dynamicRender'] == 'true') { if (is_numeric($first)) { if ($first == 00 || !isset($first)) { $page = $pages->where('id', 1)->first(); $pageData = $this->sort->page($page); $template = $currentTheme . '.index'; } else { $page = $this->pages->getBySlug($third); $pageData = $this->sort->page($page); $template = $currentTheme . '.' . $page['layout']; } } else { if ($first == null || $first == '') { $page = $pages->where('id', 1)->first(); $pageData = $this->sort->page($page); $template = $currentTheme . '.index'; } else { } } return view($template, $pageData); } else { return response()->file('../public/index.html'); } } else { return view('back.init', ["status" => false, "title" => "Set Up"]); } } public function page($first = 00, $second = 00, $third = 00) { $currentTheme = $this->assets->getCurrentTheme(); switch ($first) { case 'archive': case 'archives': $template = $currentTheme . '.archive'; $pageData = $this->sort->archive(); break; case 'tags': $template = $currentTheme . '.tags'; $tags = $this->sort->tags(false); $tagData = find($tags['tags'], ['tag_name' => $second]); $pageData = [ 'theme' => $currentTheme, // for theme kit 'title' => 'Pages Tagged as ' . $second, 'dynamicRender' => $tags['dynamicRender'], 'info' => $tags['info'], 'menu' => $tags['menu'], 'pages' => $tagData['pages'], 'media' => $tags['media'], ]; break; } return view($template, $pageData); } }