このリポジトリは2023-09-09にアーカイブされています。 ファイルの閲覧とクローンは可能ですが、プッシュ、イシューの作成、プルリクエストはできません。
076server/app/Http/Controllers/HomeController.php

162 行
5.3 KiB
PHP
Raw 通常表示 履歴

2018-02-07 23:19:05 +09:00
<?php
namespace App\Http\Controllers;
use Illuminate\Http\Request;
2020-09-17 14:13:21 +09:00
use Illuminate\Support\Facades\DB;
2020-01-06 18:24:32 +09:00
use App\Http\Controllers\AuthController;
2019-12-05 18:32:20 +09:00
use App\Http\Controllers\SiteController;
2020-01-06 18:24:32 +09:00
use App\Http\Controllers\UserController;
2019-12-05 18:32:20 +09:00
2020-01-07 16:23:03 +09:00
use Illuminate\Support\Facades\Log;
2019-12-05 18:32:20 +09:00
class HomeController extends Controller {
2020-01-06 18:24:32 +09:00
private $objAuth;
2019-12-05 18:32:20 +09:00
private $objSite;
2020-01-06 18:24:32 +09:00
private $objUser;
2020-01-07 22:48:29 +09:00
2019-12-05 18:32:20 +09:00
private $menu;
2020-01-07 22:48:29 +09:00
private $cook;
private $id;
private $user;
2018-02-07 23:19:05 +09:00
2019-02-18 18:17:31 +09:00
public function __construct() {
2020-01-06 18:24:32 +09:00
$this->objAuth = new AuthController();
2019-12-05 18:32:20 +09:00
$this->objSite = new SiteController();
2020-01-06 18:24:32 +09:00
$this->objUser = new UserController();
2019-12-05 18:32:20 +09:00
$this->menu = $this->objSite->getPagesInMenu();
2020-01-07 22:48:29 +09:00
$this->cook = (isset($_COOKIE['kero_token']) ? $_COOKIE['kero_token'] : '');
$this->id = $this->objAuth->checkLegit($this->cook);
2020-02-02 13:39:53 +09:00
$this->user = $this->objUser->getLoggedUser($this->id, $this->cook);
2019-02-18 18:17:31 +09:00
}
2018-02-07 23:19:05 +09:00
2019-12-05 18:32:20 +09:00
public function index () {
2020-02-24 22:23:51 +09:00
$res = $this->objSite->getPosts(1);
2020-01-07 22:48:29 +09:00
return view('pages.site.index', ['res' => $res, 'menu' => $this->menu, 'user' => $this->user]);
2020-01-06 18:24:32 +09:00
}
public function post ($slug) {
2020-02-02 14:21:33 +09:00
$res = $this->objSite->getPost($slug, $this->cook);
2020-01-07 22:48:29 +09:00
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]);
2020-01-06 18:24:32 +09:00
}
public function page ($slug) {
2020-02-02 14:21:33 +09:00
$res = $this->objSite->getPage($slug, $this->cook);
2020-01-07 22:48:29 +09:00
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 profile ($id) {
2020-02-02 14:21:33 +09:00
$res = $this->objUser->getUser($id, $this->cook);
2020-01-07 22:48:29 +09:00
return view('pages.site.profile', ['res' => $res, 'menu' => $this->menu, 'user' => $this->user]);
2020-01-06 18:24:32 +09:00
}
2020-09-17 14:13:21 +09:00
public function videoGame () {
$res = DB::table('vid_game')->get();
foreach ($res as $r) {
$p = DB::table('vid_platform')->where('id', $r->platform_id)->first();
$r->name = $r->name.'('.$p->name.')';
}
return view('pages.site.video.game', ['res' => $res, 'menu' => $this->menu, 'user' => $this->user]);
}
public function videoTable ($slug) {
$slg = DB::table('vid_game')->select('id', 'name')->where('slug', $slug)->first();
$res = DB::table('vid_video')->where('game_id', $slg->id)->orderBy('id', 'desc')->get();
foreach ($res as $r) {
$r->gametitle = explode('】', $r->title);
$r->title = $r->gametitle[1];
$r->gametitle = $r->gametitle[0];
$r->gametitle = str_replace('【'.$slg->name, '', $r->gametitle);
if ($r->gametitle == '') $r->gametitle = '初代';
}
return view('pages.site.video.videotable', ['res' => $res, 'menu' => $this->menu, 'user' => $this->user]);
}
2020-09-23 13:53:07 +09:00
public function videoPlay ($vid) {
$res = DB::table('vid_video')->where('vid', $vid)->first();
$game = DB::table('vid_game')->where('id', $res->game_id)->first();
$res->gametitle = explode('】', $res->title);
$res->title = $res->gametitle[1];
$res->gametitle = $res->gametitle[0];
$res->gametitle = str_replace('【'.$game->name, '', $res->gametitle);
$res->mgametitle = $game->name;
$res->slug = $game->slug;
if ($res->gametitle == '') $res->gametitle = '初代';
$comments = DB::table('blg_comments')->where('video_id', $res->slug)->orderBy('id', 'asc')->get()->toArray();
foreach ($comments as $k => $c) {
if ($c->isShadow == 0) {
if ($this->objSite->getIp() != $c->ipaddress) unset($comments[$k]);
}
else {
unset($c->email);
unset($c->ipaddress);
unset($c->isShadow);
$c->created = date('Y年m月d日 H:i:s', $c->created);
}
}
$res->comments = $comments;
return view('pages.site.video.prayer', ['res' => $res, 'menu' => $this->menu, 'user' => $this->user]);
}
2020-07-24 22:07:01 +09:00
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('');
}
2020-01-07 16:23:03 +09:00
public function login (Request $r) {
2020-01-06 18:24:32 +09:00
if (isset($_COOKIE['kero_token'])) return redirect('');
$res = array();
2020-01-07 16:23:03 +09:00
$err = '';
if (isset($r->username) && isset($r->password)) {
$res = $this->objAuth->login($r);
if (isset($res['kero_token'])) return redirect('');
$err = $res['err'];
}
2020-01-07 22:48:29 +09:00
return view('pages.site.login', ['res' => $res, 'menu' => $this->menu, 'user' => $this->user, 'err' => $err]);
2020-01-06 18:24:32 +09:00
}
2020-01-07 17:56:51 +09:00
public function register (Request $r) {
2020-01-06 18:24:32 +09:00
if (isset($_COOKIE['kero_token'])) return redirect('');
2020-01-10 18:01:51 +09:00
$res = $this->objUser->getCountries();
2020-01-07 17:56:51 +09:00
$err = '';
if (isset($r->username) && isset($r->password) && isset($r->email) && isset($r->password_check)) {
$reg = $this->objAuth->register($r);
if (isset($reg['kero_token'])) return redirect('');
$err = $reg['err'];
2020-01-07 17:56:51 +09:00
}
2020-01-07 22:48:29 +09:00
return view('pages.site.register', ['res' => $res, 'menu' => $this->menu, 'user' => $this->user, 'err' => $err]);
2019-02-18 18:17:31 +09:00
}
2020-01-07 12:59:42 +09:00
public function notfound () {
2020-01-07 22:48:29 +09:00
return view('pages.site.notfound', ['menu' => $this->menu, 'user', $this->user]);
2020-01-07 12:59:42 +09:00
}
2018-02-07 23:19:05 +09:00
}