70 行
2.2 KiB
PHP
70 行
2.2 KiB
PHP
<?php
|
|
|
|
namespace App\Http\Controllers;
|
|
|
|
use Illuminate\Http\Request;
|
|
use Illuminate\Support\Facades\DB;
|
|
use App\Http\Controllers\AuthController;
|
|
use App\Http\Controllers\SiteController;
|
|
use App\Http\Controllers\UserController;
|
|
|
|
use Illuminate\Support\Facades\Log;
|
|
|
|
class HomeController extends Controller {
|
|
private $objAuth;
|
|
private $objSite;
|
|
private $objUser;
|
|
|
|
private $menu;
|
|
private $cook;
|
|
private $id;
|
|
private $user;
|
|
|
|
public function __construct() {
|
|
$this->objAuth = new AuthController();
|
|
$this->objSite = new SiteController();
|
|
$this->objUser = new UserController();
|
|
$this->menu = getPagesInMenu();
|
|
$this->cook = (isset($_COOKIE['kero_token']) ? $_COOKIE['kero_token'] : '');
|
|
$this->id = $this->objAuth->checkLegit($this->cook);
|
|
$this->user = $this->objUser->getLoggedUser($this->id, $this->cook);
|
|
}
|
|
|
|
public function index () {
|
|
$res = $this->objSite->getPosts(1);
|
|
return view('pages.site.index', ['res' => $res, 'menu' => $this->menu, 'user' => $this->user]);
|
|
}
|
|
|
|
public function post ($slug) {
|
|
$res = $this->objSite->getPost($slug, $this->cook);
|
|
if (!$res) return view('pages.site.notfound', ['res' => $res, 'menu' => $this->menu, 'user' => $this->user]);
|
|
return view('pages.site.post', ['res' => $res, 'menu' => $this->menu, 'user' => $this->user]);
|
|
}
|
|
|
|
public function page ($slug) {
|
|
$res = $this->objSite->getPage($slug, $this->cook);
|
|
if (!$res) return view('pages.site.notfound', ['res' => $res, 'menu' => $this->menu, 'user' => $this->user]);
|
|
return view('pages.site.page', ['res' => $res, 'menu' => $this->menu, 'user' => $this->user]);
|
|
}
|
|
|
|
public function addContent (Request $r) {
|
|
if ($this->user && ($this->user['blg_addpost'] || $this->user['blg_addpage'])) {
|
|
$bdl = array();
|
|
$res = $this->objSite->addContent($bdl);
|
|
|
|
if ($res) {
|
|
return redirect('/blog/'.$r->slug);
|
|
}
|
|
|
|
$err = $res['err'];
|
|
return view('pages.site.contentadd', ['res' => $res, 'menu' => $this->menu, 'user' => $this->user, 'err' => $err]);
|
|
}
|
|
|
|
return redirect('');
|
|
}
|
|
|
|
public function notfound () {
|
|
return view('pages.site.notfound', ['menu' => $this->menu, 'user', $this->user]);
|
|
}
|
|
}
|