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

103 行
3.6 KiB
PHP

<?php
namespace App\Http\Controllers\Home;
use Illuminate\Support\Facades\DB;
// use Illuminate\Support\Facades\Log;
use App\Http\Controllers\UserController;
class Index {
private $objUser;
private $valid;
private $menu;
private $user;
public function __construct ($v, $m, $u) {
$this->objUser = new UserController();
$this->valid = $v;
$this->menu = $m;
$this->user = $u;
}
public function index () {
$get = DB::table('blg_content')->where('isPost', 1);
if ($this->valid['blg_addpost'] == 0 && $this->valid['blg_editpost'] == 0) $get = $get->where('public_status', 0);
$get = $get->orderBy('publish_date', 'desc')->get();
setlocale(LC_ALL, 'ja_JP.utf8');
return view('pages.site.index', ['res' => $get, 'menu' => $this->menu, 'user' => $this->user]);
}
public function page ($slug) {
$sel = array('id', 'title', 'slug', 'isMenu', 'public_status', 'message');
$res = DB::table('blg_content')->select($sel);
if ($this->valid['blg_editpage'] == 0) $res = $res->where('public_status', 0);
$res = $res->where('isPost', 0)->where('slug', $slug)->orderBy('sortorder', 'asc')->first();
if (!$res) return notfound($this->menu, $this->user, $res);
return view('pages.site.page', ['res' => $res, 'menu' => $this->menu, 'user' => $this->user]);
}
public function post ($slug, $kero) {
$get = DB::table('blg_content');
if ($this->valid['blg_editpost'] == 0) $get = $get->where('public_status', 0);
$get = $get->where('isPost', 1)->where('slug', $slug)->first();
$ucol = $this->objUser->getGroupColours();
setlocale(LC_ALL, 'ja_JP.utf8');
$get->showName = '';
$get->showCol = '';
$get->comments = DB::table('blg_comments')->where('post_id', $get->id)->orderBy('id', 'asc')->get();
$get->username = DB::table('users')->select('username')->where('id', $get->user_id)->first()->username;
$get->perm_id = DB::table('usr_perm_id')->select('perm_id')->where('user_id', $get->user_id)->first()->perm_id;
$p = DB::table('usr_profile')->select('gender', 'avatar', 'name_style', 'display_name')->where('user_id', $get->user_id)->first();
$get->gender = $p->gender;
$get->avatar = $p->avatar;
$get->name_style = $p->name_style;
$get->display_name = $p->display_name;
foreach ($get->comments as $k => $c) {
if (count(userDetail($c->user_id)) > 0) {
$det = userDetail($c->user_id);
$c->user_id = $det['user_id'];
$c->showname = $det['showname'];
$c->showcol = $det['showcol'];
$c->avatar = $det['avatar'];
}
if ($c->isShadow == 0) {
if (getIp() != $c->ipaddress) unset($get->comments[$k]);
}
else {
unset($c->email);
unset($c->ipaddress);
unset($c->isShadow);
$c->created = date('Y年m月d日 H:i:s', $c->created);
}
}
if (!empty($get->display_name)) $get->showname = $get->display_name;
else $get->showname = $get->username;
if (!empty($get->name_style)) $get->showcol = $get->name_style;
else {
foreach ($ucol as $j) {
if ($j->id == $get->perm_id) {
if ($get->gender == 1) $get->showcol = $j->colour_m;
else if ($get->gender == 2) $get->showcol = $j->colour_f;
else $get->showcol = $j->colour_u;
}
}
}
$get->user = userDetail(null, $kero);
$get->post_date = strftime('%Y/%m/%d(%a) %H:%M:%S %Z', $get->post_date);
$get->publish_date = strftime('%Y/%m/%d(%a) %H:%M:%S %Z', $get->publish_date);
if (!$get) return notfound($this->menu, $this->user, $get);
return view('pages.site.post', ['res' => $get, 'menu' => $this->menu, 'user' => $this->user]);
}
}