ro
064407aa88
a class for members was needed for long term handling of member functions like login, update, status checking, etc so that class was created and the AuthService class was removed as it was redundant and it's functionaity moved to the member class
83 lines
2.6 KiB
PHP
83 lines
2.6 KiB
PHP
<?php
|
|
|
|
namespace App\Http\Controllers;
|
|
|
|
use App\Interfaces\PageRepositoryInterface;
|
|
use App\Services\Assets\AssetService;
|
|
use App\Interfaces\MemberRepositoryInterface;
|
|
use App\Services\Data\SortingService;
|
|
use App\Services\Data\ThemeService;
|
|
|
|
class ThemeController extends Controller
|
|
{
|
|
protected PageRepositoryInterface $pages;
|
|
protected MemberRepositoryInterface $member;
|
|
protected AssetService $assets;
|
|
protected SortingService $sort;
|
|
protected ThemeService $themes;
|
|
|
|
public function __construct(
|
|
PageRepositoryInterface $pageRepository,
|
|
MemberRepositoryInterface $memberRepo,
|
|
AssetService $assetService,
|
|
SortingService $sortService,
|
|
ThemeService $themeService,
|
|
) {
|
|
$this->pages = $pageRepository;
|
|
$this->member = $memberRepo;
|
|
$this->assets = $assetService;
|
|
$this->sort = $sortService;
|
|
$this->themes = $themeService;
|
|
}
|
|
|
|
public function start()
|
|
{
|
|
if ($this->member::status()) {
|
|
return view('theme.start', [
|
|
"status" => $this->member::status(),
|
|
"title" => "Fipamo Theme Kit",
|
|
"pages" => $this->themes->getCustomViews('page')
|
|
]);
|
|
} else {
|
|
return redirect('dashboard');
|
|
}
|
|
}
|
|
|
|
public function getView($view = 'index')
|
|
{
|
|
//move assets to theme testing dir
|
|
$this->assets->moveToTheme();
|
|
$currentTheme = $this->assets->getCurrentTheme();
|
|
$template;
|
|
$pageData = [];
|
|
switch ($view) {
|
|
case "index":
|
|
case "page":
|
|
$view == 'index' ?
|
|
$template = $currentTheme . '.index' :
|
|
$template = $currentTheme . '.page';
|
|
$page = $this->pages->getById('F4429D34-25E7-4CA9-9B0A-742810277505');
|
|
$pageData = $this->sort->page($page);
|
|
break;
|
|
case "tags":
|
|
$template = $currentTheme . '.tags';
|
|
$pageData = $this->sort->tags();
|
|
break;
|
|
case "archives":
|
|
case "archive":
|
|
$template = $currentTheme . '.archive';
|
|
$pageData = $this->sort->archive();
|
|
break;
|
|
default:
|
|
$template = $currentTheme . '.' . $view;
|
|
$page = $this->pages->getById('F4429D34-25E7-4CA9-9B0A-742810277505');
|
|
$pageData = $this->sort->page($page);
|
|
}
|
|
if ($this->member::status()) {
|
|
return view($template, $pageData);
|
|
} else {
|
|
return redirect('dashboard/start');
|
|
}
|
|
}
|
|
}
|