pages = $pageRepository; $this->auth = $authService; $this->themes = $themeService; $this->sort = $sortService; $theme = $this->themes->getCurrentTheme(); $themeTestImagePath = '../public/theme/images/global/'; $themeTestCSSPath = '../public/theme/css/theme/'; $themeTestScriptsPath = '../public/theme/scripts/theme/'; //TODO: Create assset service class to handle moving theme assets around //move assets to public for testing foreach ( new \DirectoryIterator('../content/themes/' . $theme . '/assets/images/global/') as $file ) { if ($file->isDot()) { continue; } //make theme directory if not present if (!is_dir($themeTestImagePath)) { mkdir($themeTestImagePath, 0755, true); } if (!is_file($themeTestImagePath . $file->getFileName())) { copy( '../content/themes/' . $theme . '/assets/images/global/' . $file->getFileName(), $themeTestImagePath . $file->getFileName() ); } else { //image is already there, so chill } //print $file->getFilename() . "\n"; } //clear test theme css and script directories $styles = glob($themeTestCSSPath . '*'); // get all file names foreach ($styles as $file) { // iterate files if (is_file($file)) { unlink($file); // delete file } } $scripts = glob($themeTestScriptsPath . '*'); // get all file names foreach ($scripts as $file) { // iterate files if (is_file($file)) { unlink($file); // delete file } } // //copy theme assets to public $newcss = glob('../content/themes/' . $theme . '/assets/css/*'); if (!is_dir($themeTestCSSPath)) { mkdir($themeTestCSSPath, 0755, true); } foreach ($newcss as $file) { // iterate files if (is_file($file)) { $path = explode('/', $file); copy($file, $themeTestCSSPath . $path[6]); } } $newjs = glob('../content/themes/' . $theme . '/assets/scripts/*'); if (!is_dir($themeTestScriptsPath)) { mkdir($themeTestScriptsPath, 0755, true); } foreach ($newjs as $file) { // iterate files if (is_file($file)) { $path = explode('/', $file); copy($file, $themeTestScriptsPath . $path[6]); } } } public function getView($view = 'index') { $template; $pageData = []; switch ($view) { case "index": case "page": $view == 'index' ? $template = 'fipamo-default-v2.index' : $template = 'fipamo-default-v2.page'; $page = $this->pages->getById('09E5A362-BA31-4AE2-9DEE-C93DFBE005C3')->first(); $data = $this->sort->page($page); $pageData = [ "debug" => "true", "theme" => 'fipamo-default-v2', "status" => $this->auth::status(), "title" => "THEME PAGE", "meta" => $data['meta'], "menu" => $data['menu'], "info" => $data['info'], "media" => $data['media'], "files" => $data['files'], "content" => $data['content'], "recent" => $data['recent'], "feature" => $data['featured'], "tags" => $data['tags'], "dynamicRender" => $data['dynamicRender'], ]; break; case "tags": $template = 'fipamo-default-v2.tags'; $data = $this->sort->tags(); $pageData = [ 'debug' => true, // for theme kit 'theme' => 'fipamo-default-v2', // for theme kit 'title' => 'Pages Tagged as Tag', 'dynamicRender' => $data['info']['dynamicRender'], 'tags' => $data['info']['tags'][3]['pages'], 'info' => $data['info'], 'menu' => $data['info']['menu'], 'media' => [ ['file' => $data['info']['image'], 'type' => trim(pathinfo($data['info']['image'], PATHINFO_EXTENSION))] ], ]; break; case "archives": case "archive": $template = 'fipamo-default-v2.archive'; $data = $this->sort->archive(); $pageData = [ 'debug' => true, // for theme kit 'theme' => 'fipamo-default-v2', // for theme kit 'title' => 'Archives', 'dynamicRender' => $data['info']['dynamicRender'], 'archive' => $data['archive'], 'info' => $data['info'], 'menu' => $data['info']['menu'], 'media' => [ ['file' => $data['info']['image'], 'type' => trim(pathinfo($data['info']['image'], PATHINFO_EXTENSION))] ], ]; break; } if ($this->auth::status()) { return view($template, $pageData); } else { return redirect('dashboard/start'); } } }