コミットを比較

..

6 コミット

204個のファイルの変更1557行の追加24316行の削除

ファイルの表示

@ -7,7 +7,7 @@ use Illuminate\Http\Request;
class Comment {
public function add (Request $r) {
if (!isset($r->submit)) return redirect('/');
if (!isset($r->submit)) return '';
$isvideo = false;
if (!$cont = DB::table('blg_content')->where('slug', $r->slug)->first()) { if ($cont = DB::table('vid_video')->where('vid', $r->slug)->first()) $isvideo = true; }
@ -26,6 +26,7 @@ class Comment {
]);
// 返事だったら、メールを送って
return redirect('/'.($isvideo ? 'video/play' : 'blog').'/'.$r->slug.'#comment-'.$add);
}
}

ファイルの表示

@ -1,29 +0,0 @@
<?php
namespace App\Http\Controllers\Peertube;
use Illuminate\Support\Facades\DB;
use Illuminate\Http\Request;
use App\Http\Controllers\Peertube\Common;
// use Illuminate\Support\Facades\Log;
class About extends Common {
private $common;
public function __construct () {
$this->common = new Common;
}
public function index () {
$res = [
'page' => 'about',
'style' => 'dummy',
'userinfo' => $this->common->user,
];
// $res['owner'] = $this->getOwner($id);
return view('pages.peertube.notyet', ['res' => $res]);
}
function getOwner ($id) {
return $this->ptapi('/api/v1/accounts/'.$id);
}
}

ファイルの表示

@ -1,46 +0,0 @@
<?php
namespace App\Http\Controllers\Peertube;
use Illuminate\Support\Facades\DB;
use Illuminate\Http\Request;
use App\Http\Controllers\Peertube\Common;
// use Illuminate\Support\Facades\Log;
class Account extends Common {
private $common;
public function __construct () {
$this->common = new Common;
}
public function index ($id, $cat='video-channels') {
$res = [
'page' => 'account',
'style' => 'account',
'cat' => $cat,
'userinfo' => $this->common->user,
];
$res['owner'] = $this->getOwner($id);
if (!empty($res['owner'])) $res['owner']->totalVideo = 0;
$res['channel'] = $this->getChannel($id);
if (!empty($res['owner'])) {
foreach ($res['channel']->data as $k => $v) {
$res['channel']->data[$k]->video = $this->getVideo($v->name.'@'.$v->host);
$res['owner']->totalVideo += $res['channel']->data[$k]->video->total;
}
}
return view('pages.peertube.a', ['res' => $res]);
}
function getOwner ($id) {
return $this->ptapi('/api/v1/accounts/'.$id);
}
function getChannel ($id) {
return $this->ptapi('/api/v1/accounts/'.$id.'/video-channels?start=0&count=20&sort=-updatedAt&withStats=false');
}
function getVideo ($id) {
return $this->ptapi('/api/v1/video-channels/'.$id.'/videos?start=0&count=5&sort=-publishedAt&nsfw=both');
}
}

ファイルの表示

@ -1,36 +0,0 @@
<?php
namespace App\Http\Controllers\Peertube\Admin;
use Illuminate\Support\Facades\DB;
use Illuminate\Http\Request;
use App\Http\Controllers\Peertube\Common;
// use Illuminate\Support\Facades\Log;
class Users extends Common {
private $common;
public function __construct () {
$this->common = new Common;
}
public function index () {
if (!isset($this->common->user['me']) || is_null($this->common->user['me'])) {
if ($this->common->user['me']->adminFlags != 1) {
return redirect('/peertube/videos/local');
}
return redirect('/peertube/login');
}
$res = [
'page' => 'dummy',
'style' => 'dummy',
'userinfo' => $this->common->user,
];
// $res['owner'] = $this->getOwner($id);
return view('pages.peertube.notyet', ['res' => $res]);
}
function getOwner ($id) {
return $this->ptapi('/api/v1/accounts/'.$id);
}
}

ファイルの表示

@ -1,44 +0,0 @@
<?php
namespace App\Http\Controllers\Peertube;
use Illuminate\Support\Facades\DB;
use Illuminate\Http\Request;
use App\Http\Controllers\Peertube\Common;
// use Illuminate\Support\Facades\Log;
class Channel extends Common {
private $common;
private $count;
public function __construct () {
$this->common = new Common;
$this->count = 25;
}
public function index ($id, $cat='videos', $page=0) {
$res = [
'page' => 'channel',
'style' => 'channel',
'cat' => $cat,
'paginate' => $page,
'pagetotal' => 500,
'userinfo' => $this->common->user,
];
$res['channel'] = $this->getChannel($id);
$res['video'] = $cat == 'video-playlists' ? $this->getPlaylist($id, ($page*$this->count), $this->count) : $this->getVideo($id, ($page*$this->count), $this->count);
$res['pagetotal'] = $res['video']->total;
return view('pages.peertube.c', ['res' => $res]);
}
function getChannel ($id) {
return $this->ptapi('/api/v1/video-channels/'.$id);
}
function getVideo ($id, $start, $count) {
return $this->ptapi('/api/v1/video-channels/'.$id.'/videos?start='.$start.'&count='.$count.'&sort=-publishedAt&skipCount=false&nsfw=both');
}
function getPlaylist ($id, $start, $count) {
return $this->ptapi('/api/v1/video-channels/'.$id.'/video-playlists?start='.$start.'&count='.$count);
}
}

ファイルの表示

@ -1,105 +0,0 @@
<?php
namespace App\Http\Controllers\Peertube;
use Illuminate\Support\Facades\DB;
use Illuminate\Http\Request;
use App\Http\Controllers\Engine;
// use Illuminate\Support\Facades\Log;
class Common extends Engine {
public $user = [];
private $engine;
private $access_token;
private $refresh_token;
public function __construct () {
$this->access_token = isset($_COOKIE['access_token']) ? $_COOKIE['access_token'] : null;
$this->refresh_token = isset($_COOKIE['refresh_token']) ? $_COOKIE['refresh_token'] : null;
$this->user['local'] = $this->getLocal();
$this->user['me'] = $this->getMe($this->user['local']);
$this->user['config'] = $this->getConfig();
$this->user['notify'] = $this->getNotify();
$this->engine = new Engine;
}
public function getLocal () {
return $this->ptapi('/api/v1/oauth-clients/local');
}
public function getMe ($param) {
if (!isset($_COOKIE['access_token']) && isset($_COOKIE['refresh_token'])) {
$r = new Request;
$login = new \App\Http\Controllers\Peertube\Login;
$r->client_id = $param->client_id;
$r->client_secret = $param->client_secret;
$r->refresh_token = $this->refresh_token;
$this->login($r);
$this->access_token = $_COOKIE['access_token'];
$this->refresh_token = $_COOKIE['refresh_token'];
}
if (isset($_COOKIE['access_token']) && isset($_COOKIE['refresh_token'])) return $this->ptapi('/api/v1/users/me');
return null;
}
public function getConfig () {
return $this->ptapi('/api/v1/config/');
}
public function getNotify () {
if (isset($_COOKIE['access_token']) && isset($_COOKIE['refresh_token'])) return $this->ptapi('/api/v1/users/me/notifications?start=0&count=0&unread=true');
return null;
}
public function ptapi ($url, $param='', $method='get', $contenttype='json') {
set_time_limit(0);
$this->access_token = isset($_COOKIE['access_token']) ? $_COOKIE['access_token'] : null;
$this->refresh_token = isset($_COOKIE['refresh_token']) ? $_COOKIE['refresh_token'] : null;
$header = ['Content-Type: application/'.$contenttype, 'Host: '.str_replace('https://', '', env('PEER_URI'))];
if (!is_null($this->access_token)) {
$header[] = 'Authorization: Bearer '.$this->access_token;
}
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, env('PEER_URI').$url);
curl_setopt($ch, CURLOPT_HTTPHEADER, $header);
if ($method == 'post') {
curl_setopt($ch, CURLOPT_POST, 1);
if ($param != '') curl_setopt($ch, CURLOPT_POSTFIELDS, $param);
}
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
$get = curl_exec($ch);
$err = curl_error($ch);
curl_close($ch);
if (!$get) return $err;
$get = json_decode($get);
if (isset($get->status) && $get->status == 404) return [];
return $get;
}
public function vidlist ($get) {
$res = [
'today' => [],
'week' => [],
'month' => [],
'lastmonth' => [],
'moreearly' => [],
];
foreach ($get->data as $g) {
$ud = strtotime($g->createdAt);
if ($ud > time() - 86400 && $ud < time() + 86400) $res['today'][] = $g;
else if ($ud > time() - 604800 && $ud < time() + 604800) $res['week'][] = $g;
else if ($ud > time() - 2629800 && $ud < time() + 2629800) $res['month'][] = $g;
else if ($ud > time() - 5259600 && $ud < time() + 5259600) $res['lastmonth'][] = $g;
else $res['moreearly'][] = $g;
}
return $res;
}
}

ファイルの表示

@ -1,35 +0,0 @@
<?php
namespace App\Http\Controllers\Peertube;
use Illuminate\Support\Facades\DB;
use Illuminate\Http\Request;
use App\Http\Controllers\Peertube\Common;
// use Illuminate\Support\Facades\Log;
class Home extends Common {
private $common;
public function __construct () {
$this->common = new Common;
}
public function index () {
$res = [
'page' => 'home',
'style' => 'videoslist',
'userinfo' => $this->common->user,
];
$res['new'] = $this->getNewest();
$res['hot'] = $this->getPopularest();
return view('pages.peertube.home', ['res' => $res]);
}
function getNewest () {
return $this->ptapi('/api/v1/videos?start=0&count=8&sort=-publishedAt&skipCount=true&isLocal=true&nsfw=both');
}
function getPopularest () {
return $this->ptapi('/api/v1/videos?start=0&count=8&sort=-trending&skipCount=true&isLocal=true&nsfw=both');
}
}

ファイルの表示

@ -1,62 +0,0 @@
<?php
namespace App\Http\Controllers\Peertube;
use Illuminate\Support\Facades\DB;
use Illuminate\Http\Request;
use App\Http\Controllers\Peertube\Common;
// use Illuminate\Support\Facades\Log;
class Login extends Common {
private $common;
public function __construct () {
$this->common = new Common;
}
public function index ($err=null) {
if (isset($this->common->user['me']) && !is_null($this->common->user['me'])) {
return redirect('/peertube/home');
}
$res = [
'page' => 'login',
'style' => 'login',
'userinfo' => $this->common->user,
'err' => $err
];
return view('pages.peertube.login', ['res' => $res]);
}
public function login (Request $r) {
if (isset($this->common->user['me']) && !is_null($this->common->user['me'])) {
return redirect('/peertube/videos/local');
}
$param = [
'client_id' => $this->common->user['local']->client_id,
'client_secret' => $this->common->user['local']->client_secret,
'grant_type' => 'password',
];
if (isset($r->username) && isset($r->password)) {
$param['username'] = $r->username;
$param['password'] = $r->password;
}
else if (isset($r->refresh_token)) {
$param['refresh_token'] = $r->refresh_token;
}
$res = $this->ptapi('/api/v1/users/token', http_build_query($param), 'post', 'x-www-form-urlencoded');
$err = null;
if (isset($res->access_token) && isset($res->refresh_token)) {
setcookie('access_token', $res->access_token, time()+(int)$res->expires_in, '/', $_SERVER['HTTP_HOST'], 0, 1); // 24時間
setcookie('refresh_token', $res->refresh_token, time()+(int)$res->refresh_token_expires_in, '/', $_SERVER['HTTP_HOST'], 0, 1); // 14日間
return redirect('/peertube/videos/local');
}
return $this->index(isset($res->error) ? $res->error : '不正なエラー');
}
}

ファイルの表示

@ -1,25 +0,0 @@
<?php
namespace App\Http\Controllers\Peertube;
use Illuminate\Support\Facades\DB;
use Illuminate\Http\Request;
use App\Http\Controllers\Peertube\Common;
// use Illuminate\Support\Facades\Log;
class Logout extends Common {
private $common;
public function __construct () {
$this->common = new Common;
}
public function logout () {
$this->ptapi('/api/v1/users/revoke-token', '', 'post');
unset($_COOKIE['access_token']);
unset($_COOKIE['refresh_token']);
setcookie('access_token', '', time() - 3600, '/', $_SERVER['HTTP_HOST'], 0, 1);
setcookie('refresh_token', '', time() - 3600, '/', $_SERVER['HTTP_HOST'], 0, 1);
return redirect('/peertube/home');
}
}

ファイルの表示

@ -1,33 +0,0 @@
<?php
namespace App\Http\Controllers\Peertube;
use Illuminate\Support\Facades\DB;
use Illuminate\Http\Request;
use App\Http\Controllers\Peertube\Common;
// use Illuminate\Support\Facades\Log;
class Myaccount extends Common {
private $common;
public function __construct () {
$this->common = new Common;
}
public function index () {
if (!isset($this->common->user['me']) || is_null($this->common->user['me'])) {
return redirect('/peertube/login');
}
$res = [
'page' => 'dummy',
'style' => 'dummy',
'userinfo' => $this->common->user,
];
// $res['owner'] = $this->getOwner($id);
return view('pages.peertube.notyet', ['res' => $res]);
}
function getOwner ($id) {
return $this->ptapi('/api/v1/accounts/'.$id);
}
}

ファイルの表示

@ -1,37 +0,0 @@
<?php
namespace App\Http\Controllers\Peertube\Myaccount;
use Illuminate\Support\Facades\DB;
use Illuminate\Http\Request;
use App\Http\Controllers\Peertube\Common;
// use Illuminate\Support\Facades\Log;
class Abuses extends Common {
private $common;
public function __construct () {
$this->common = new Common;
}
public function index () {
if (!isset($this->common->user['me']) || is_null($this->common->user['me'])) {
if ($this->common->user['me']->adminFlags != 1) {
return redirect('/peertube/videos/local');
}
return redirect('/peertube/login');
}
$res = [
'page' => 'dummy',
'style' => 'dummy',
'userinfo' => $this->common->user,
];
// $res['owner'] = $this->getOwner($id);
return view('pages.peertube.notyet', ['res' => $res]);
}
function getOwner ($id) {
//https://video.076.ne.jp/api/v1/users/me/subscriptions?start=0&count=10
return $this->ptapi('/api/v1/accounts/'.$id);
}
}

ファイルの表示

@ -1,34 +0,0 @@
<?php
namespace App\Http\Controllers\Peertube\Myaccount;
use Illuminate\Support\Facades\DB;
use Illuminate\Http\Request;
use App\Http\Controllers\Peertube\Common;
// use Illuminate\Support\Facades\Log;
class Applications extends Common {
private $common;
public function __construct () {
$this->common = new Common;
}
public function index () {
if (!isset($this->common->user['me']) || is_null($this->common->user['me'])) {
return redirect('/peertube/login');
}
$res = [
'page' => 'dummy',
'style' => 'dummy',
'userinfo' => $this->common->user,
];
// $res['owner'] = $this->getOwner($id);
return view('pages.peertube.notyet', ['res' => $res]);
}
function getOwner ($id) {
//https://video.076.ne.jp/api/v1/users/me/subscriptions?start=0&count=10
return $this->ptapi('/api/v1/accounts/'.$id);
}
}

ファイルの表示

@ -1,34 +0,0 @@
<?php
namespace App\Http\Controllers\Peertube\Myaccount\Blocklist;
use Illuminate\Support\Facades\DB;
use Illuminate\Http\Request;
use App\Http\Controllers\Peertube\Common;
// use Illuminate\Support\Facades\Log;
class Accounts extends Common {
private $common;
public function __construct () {
$this->common = new Common;
}
public function index () {
if (!isset($this->common->user['me']) || is_null($this->common->user['me'])) {
return redirect('/peertube/login');
}
$res = [
'page' => 'dummy',
'style' => 'dummy',
'userinfo' => $this->common->user,
];
// $res['owner'] = $this->getOwner($id);
return view('pages.peertube.notyet', ['res' => $res]);
}
function getOwner ($id) {
//https://video.076.ne.jp/api/v1/users/me/subscriptions?start=0&count=10
return $this->ptapi('/api/v1/accounts/'.$id);
}
}

ファイルの表示

@ -1,34 +0,0 @@
<?php
namespace App\Http\Controllers\Peertube\Myaccount\Blocklist;
use Illuminate\Support\Facades\DB;
use Illuminate\Http\Request;
use App\Http\Controllers\Peertube\Common;
// use Illuminate\Support\Facades\Log;
class Servers extends Common {
private $common;
public function __construct () {
$this->common = new Common;
}
public function index () {
if (!isset($this->common->user['me']) || is_null($this->common->user['me'])) {
return redirect('/peertube/login');
}
$res = [
'page' => 'dummy',
'style' => 'dummy',
'userinfo' => $this->common->user,
];
// $res['owner'] = $this->getOwner($id);
return view('pages.peertube.notyet', ['res' => $res]);
}
function getOwner ($id) {
//https://video.076.ne.jp/api/v1/users/me/subscriptions?start=0&count=10
return $this->ptapi('/api/v1/accounts/'.$id);
}
}

ファイルの表示

@ -1,48 +0,0 @@
<?php
namespace App\Http\Controllers\Peertube\Myaccount;
use Illuminate\Support\Facades\DB;
use Illuminate\Http\Request;
use App\Http\Controllers\Peertube\Common;
// use Illuminate\Support\Facades\Log;
class Notification extends Common {
private $common;
private $count;
public function __construct () {
$this->common = new Common;
$this->count = 20;
}
public function index ($page=0) {
if (!isset($this->common->user['me']) || is_null($this->common->user['me'])) {
return redirect('/peertube/login');
}
$res = [
'page' => 'notification',
'style' => 'myaccount',
'paginate' => $page,
'pagetotal' => 500,
'userinfo' => $this->common->user,
];
$res['notification'] = $this->getNotification(($page*$this->count), $this->count);
return view('pages.peertube.my-account.notifications', ['res' => $res]);
}
function getNotification ($start, $count) {
return $this->ptapi('/api/v1/users/me/notifications?start='.$start.'&count='.$count.'&sort=-createdAt');
}
public function read (Request $r) {
$this->ptapi('/api/v1/users/me/notifications/read', json_encode(['ids' => [(int)$r->id]]), 'post');
return redirect('/peertube/my-account/notifications');
}
public function readAll () {
$this->ptapi('/api/v1/users/me/notifications/read-all', '', 'post');
return redirect('/peertube/my-account/notifications');
}
}

ファイルの表示

@ -1,34 +0,0 @@
<?php
namespace App\Http\Controllers\Peertube\Myaccount;
use Illuminate\Support\Facades\DB;
use Illuminate\Http\Request;
use App\Http\Controllers\Peertube\Common;
// use Illuminate\Support\Facades\Log;
class Settings extends Common {
private $common;
public function __construct () {
$this->common = new Common;
}
public function index () {
if (!isset($this->common->user['me']) || is_null($this->common->user['me'])) {
return redirect('/peertube/login');
}
$res = [
'page' => 'dummy',
'style' => 'dummy',
'userinfo' => $this->common->user,
];
// $res['owner'] = $this->getOwner($id);
return view('pages.peertube.notyet', ['res' => $res]);
}
function getOwner ($id) {
//https://video.076.ne.jp/api/v1/users/me/subscriptions?start=0&count=10
return $this->ptapi('/api/v1/accounts/'.$id);
}
}

ファイルの表示

@ -1,33 +0,0 @@
<?php
namespace App\Http\Controllers\Peertube;
use Illuminate\Support\Facades\DB;
use Illuminate\Http\Request;
use App\Http\Controllers\Peertube\Common;
// use Illuminate\Support\Facades\Log;
class Mylibrary extends Common {
private $common;
public function __construct () {
$this->common = new Common;
}
public function index () {
if (!isset($this->common->user['me']) || is_null($this->common->user['me'])) {
return redirect('/peertube/login');
}
$res = [
'page' => 'dummy',
'style' => 'dummy',
'userinfo' => $this->common->user,
];
// $res['owner'] = $this->getOwner($id);
return view('pages.peertube.notyet', ['res' => $res]);
}
function getOwner ($id) {
return $this->ptapi('/api/v1/accounts/'.$id);
}
}

ファイルの表示

@ -1,34 +0,0 @@
<?php
namespace App\Http\Controllers\Peertube\Mylibrary\History;
use Illuminate\Support\Facades\DB;
use Illuminate\Http\Request;
use App\Http\Controllers\Peertube\Common;
// use Illuminate\Support\Facades\Log;
class Videos extends Common {
private $common;
public function __construct () {
$this->common = new Common;
}
public function index () {
if (!isset($this->common->user['me']) || is_null($this->common->user['me'])) {
return redirect('/peertube/login');
}
$res = [
'page' => 'dummy',
'style' => 'dummy',
'userinfo' => $this->common->user,
];
// $res['owner'] = $this->getOwner($id);
return view('pages.peertube.notyet', ['res' => $res]);
}
function getOwner ($id) {
//https://video.076.ne.jp/api/v1/users/me/history/videos?start=0&count=5
return $this->ptapi('/api/v1/accounts/'.$id);
}
}

ファイルの表示

@ -1,34 +0,0 @@
<?php
namespace App\Http\Controllers\Peertube\Mylibrary;
use Illuminate\Support\Facades\DB;
use Illuminate\Http\Request;
use App\Http\Controllers\Peertube\Common;
// use Illuminate\Support\Facades\Log;
class Subscriptions extends Common {
private $common;
public function __construct () {
$this->common = new Common;
}
public function index () {
if (!isset($this->common->user['me']) || is_null($this->common->user['me'])) {
return redirect('/peertube/login');
}
$res = [
'page' => 'dummy',
'style' => 'dummy',
'userinfo' => $this->common->user,
];
// $res['owner'] = $this->getOwner($id);
return view('pages.peertube.notyet', ['res' => $res]);
}
function getOwner ($id) {
//https://video.076.ne.jp/api/v1/users/me/subscriptions?start=0&count=10
return $this->ptapi('/api/v1/accounts/'.$id);
}
}

ファイルの表示

@ -1,34 +0,0 @@
<?php
namespace App\Http\Controllers\Peertube\Mylibrary;
use Illuminate\Support\Facades\DB;
use Illuminate\Http\Request;
use App\Http\Controllers\Peertube\Common;
// use Illuminate\Support\Facades\Log;
class Videochannels extends Common {
private $common;
public function __construct () {
$this->common = new Common;
}
public function index () {
if (!isset($this->common->user['me']) || is_null($this->common->user['me'])) {
return redirect('/peertube/login');
}
$res = [
'page' => 'dummy',
'style' => 'dummy',
'userinfo' => $this->common->user,
];
// $res['owner'] = $this->getOwner($id);
return view('pages.peertube.notyet', ['res' => $res]);
}
function getOwner ($id) {
//https://video.076.ne.jp/api/v1/accounts/techsuwako/video-channels?start=0&count=20&sort=-updatedAt&withStats=true
return $this->ptapi('/api/v1/accounts/'.$id);
}
}

ファイルの表示

@ -1,34 +0,0 @@
<?php
namespace App\Http\Controllers\Peertube\Mylibrary;
use Illuminate\Support\Facades\DB;
use Illuminate\Http\Request;
use App\Http\Controllers\Peertube\Common;
// use Illuminate\Support\Facades\Log;
class Videoplaylists extends Common {
private $common;
public function __construct () {
$this->common = new Common;
}
public function index () {
if (!isset($this->common->user['me']) || is_null($this->common->user['me'])) {
return redirect('/peertube/login');
}
$res = [
'page' => 'dummy',
'style' => 'dummy',
'userinfo' => $this->common->user,
];
// $res['owner'] = $this->getOwner($id);
return view('pages.peertube.notyet', ['res' => $res]);
}
function getOwner ($id) {
//https://video.076.ne.jp/api/v1/users/me/subscriptions/videos?start=0&count=25&sort=-publishedAt&skipCount=true
return $this->ptapi('/api/v1/accounts/'.$id);
}
}

ファイルの表示

@ -1,34 +0,0 @@
<?php
namespace App\Http\Controllers\Peertube\Mylibrary;
use Illuminate\Support\Facades\DB;
use Illuminate\Http\Request;
use App\Http\Controllers\Peertube\Common;
// use Illuminate\Support\Facades\Log;
class Videos extends Common {
private $common;
public function __construct () {
$this->common = new Common;
}
public function index () {
if (!isset($this->common->user['me']) || is_null($this->common->user['me'])) {
return redirect('/peertube/login');
}
$res = [
'page' => 'dummy',
'style' => 'dummy',
'userinfo' => $this->common->user,
];
// $res['owner'] = $this->getOwner($id);
return view('pages.peertube.notyet', ['res' => $res]);
}
function getOwner ($id) {
//https://video.076.ne.jp/api/v1/users/me/videos?start=0&count=10&sort=-publishedAt
return $this->ptapi('/api/v1/accounts/'.$id);
}
}

ファイルの表示

@ -1,33 +0,0 @@
<?php
namespace App\Http\Controllers\Peertube;
use Illuminate\Support\Facades\DB;
use Illuminate\Http\Request;
use App\Http\Controllers\Peertube\Common;
// use Illuminate\Support\Facades\Log;
class Signup extends Common {
private $common;
public function __construct () {
$this->common = new Common;
}
public function index () {
if (isset($this->common->user['me']) && !is_null($this->common->user['me'])) {
return redirect('/peertube/videos/local');
}
$res = [
'page' => 'dummy',
'style' => 'dummy',
'userinfo' => $this->common->user,
];
// $res['owner'] = $this->getOwner($id);
return view('pages.peertube.notyet', ['res' => $res]);
}
function getOwner ($id) {
return $this->ptapi('/api/v1/accounts/'.$id);
}
}

ファイルの表示

@ -1,34 +0,0 @@
<?php
namespace App\Http\Controllers\Peertube\Videos;
use Illuminate\Support\Facades\DB;
use Illuminate\Http\Request;
use App\Http\Controllers\Peertube\Common;
// use Illuminate\Support\Facades\Log;
class Local extends Common {
private $common;
private $count;
public function __construct () {
$this->common = new Common;
$this->count = 50;
}
public function index ($page=0) {
$res = [
'page' => 'local',
'style' => 'videoslist',
'paginate' => $page,
'pagetotal' => 500,
'userinfo' => $this->common->user,
];
$res['video'] = $this->getVideo(($page*$this->count), $this->count);
return view('pages.peertube.videos.local', ['res' => $res]);
}
function getVideo ($start, $count) {
$get = $this->ptapi('/api/v1/videos?start='.$start.'&count='.$count.'&sort=-publishedAt&skipCount=true&isLocal=true&nsfw=both');
return $this->vidlist($get);
}
}

ファイルの表示

@ -1,31 +0,0 @@
<?php
namespace App\Http\Controllers\Peertube\Videos;
use Illuminate\Support\Facades\DB;
use Illuminate\Http\Request;
use App\Http\Controllers\Peertube\Common;
// use Illuminate\Support\Facades\Log;
class Overview extends Common {
private $common;
public function __construct () {
$this->common = new Common;
}
public function index ($page=1) {
$res = [
'page' => 'overview',
'style' => 'videoslist',
'paginate' => $page,
'pagetotal' => 500,
'userinfo' => $this->common->user,
];
$res['video'] = $this->getVideo($page);
return view('pages.peertube.videos.overview', ['res' => $res]);
}
function getVideo ($page) {
return $this->ptapi('/api/v1/overviews/videos?page='.$page);
}
}

ファイルの表示

@ -1,34 +0,0 @@
<?php
namespace App\Http\Controllers\Peertube\Videos;
use Illuminate\Support\Facades\DB;
use Illuminate\Http\Request;
use App\Http\Controllers\Peertube\Common;
// use Illuminate\Support\Facades\Log;
class Recentlyadded extends Common {
private $common;
private $count;
public function __construct () {
$this->common = new Common;
$this->count = 25;
}
public function index ($page=0) {
$res = [
'page' => 'recently-added',
'style' => 'videoslist',
'paginate' => $page,
'pagetotal' => 500,
'userinfo' => $this->common->user,
];
$res['video'] = $this->getVideo(($page*$this->count), $this->count);
return view('pages.peertube.videos.recentlyadded', ['res' => $res]);
}
function getVideo ($start, $count) {
$get = $this->ptapi('/api/v1/videos/?start='.$start.'&count='.$count.'&sort=-publishedAt&skipCount=true&nsfw=both');
return $this->vidlist($get);
}
}

ファイルの表示

@ -1,34 +0,0 @@
<?php
namespace App\Http\Controllers\Peertube\Videos;
use Illuminate\Support\Facades\DB;
use Illuminate\Http\Request;
use App\Http\Controllers\Peertube\Common;
// use Illuminate\Support\Facades\Log;
class Subscriptions extends Common {
private $common;
public function __construct () {
$this->common = new Common;
}
public function index () {
if (!isset($this->common->user['me']) || is_null($this->common->user['me'])) {
return redirect('/peertube/login');
}
$res = [
'page' => 'dummy',
'style' => 'videoslist',
'userinfo' => $this->common->user,
];
// $res['owner'] = $this->getOwner($id);
return view('pages.peertube.notyet', ['res' => $res]);
}
function getOwner ($id) {
//https://video.076.ne.jp/api/v1/users/me/subscriptions/videos?start=0&count=25&sort=-publishedAt&skipCount=true
return $this->ptapi('/api/v1/accounts/'.$id);
}
}

ファイルの表示

@ -1,33 +0,0 @@
<?php
namespace App\Http\Controllers\Peertube\Videos;
use Illuminate\Support\Facades\DB;
use Illuminate\Http\Request;
use App\Http\Controllers\Peertube\Common;
// use Illuminate\Support\Facades\Log;
class Trending extends Common {
private $common;
private $count;
public function __construct () {
$this->common = new Common;
$this->count = 25;
}
public function index ($page=0) {
$res = [
'page' => 'trending',
'style' => 'videoslist',
'paginate' => $page,
'pagetotal' => 500,
'userinfo' => $this->common->user,
];
$res['video'] = $this->getVideo(($page*$this->count), $this->count);
return view('pages.peertube.videos.trending', ['res' => $res]);
}
function getVideo ($start, $count) {
return $this->ptapi('/api/v1/videos/?start='.$start.'&count='.$count.'&sort=-trending&skipCount=true&nsfw=both');
}
}

ファイルの表示

@ -1,29 +0,0 @@
<?php
namespace App\Http\Controllers\Peertube\Videos;
use Illuminate\Support\Facades\DB;
use Illuminate\Http\Request;
use App\Http\Controllers\Peertube\Common;
// use Illuminate\Support\Facades\Log;
class Upload extends Common {
private $common;
public function __construct () {
$this->common = new Common;
}
public function index () {
$res = [
'page' => 'dummy',
'style' => 'videoslist',
'userinfo' => $this->common->user,
];
// $res['owner'] = $this->getOwner($id);
return view('pages.peertube.notyet', ['res' => $res]);
}
function getOwner ($id) {
return $this->ptapi('/api/v1/accounts/'.$id);
}
}

ファイルの表示

@ -1,145 +0,0 @@
<?php
namespace App\Http\Controllers\Peertube;
use Illuminate\Support\Facades\DB;
use Illuminate\Http\Request;
use App\Http\Controllers\Peertube\Common;
// use Illuminate\Support\Facades\Log;
class Watch extends Common {
private $common;
public function __construct () {
$this->common = new Common;
}
public function index ($id) {
$res = [
'page' => 'watch',
'style' => 'watch',
'userinfo' => $this->common->user,
];
$res['detail'] = $this->getDetail($id);
$res = $this->getComment($id, $res);
$tags = [];
if (!is_null($res['detail']->tags)) $tags = $res['detail']->tags;
else $tags = explode(' ', $res['detail']->title);
$res['recommend'] = $this->getRecommend($tags);
return view('pages.peertube.w', ['res' => $res]);
}
function getDetail ($id) {
return $this->ptapi('/api/v1/videos/'.$id);
}
function getRecommend ($tags) {
$tag = '';
foreach ($tags as $t) {
$tag .= 'tagsOneOf='.urlencode($t).'&';
}
return $this->ptapi('/api/v1/search/videos?start=0&count=6&nsfw=both&'.$tag.'sort=-publishedAt&searchTarget=local');
}
function getComment ($id, $res) {
$get = null;
// PeerTube
$res['comment'] = $this->ptapi('/api/v1/videos/'.$id.'/comment-threads');
foreach ($res['comment']->data as $co) {
$co->src = 'PT';
}
// テク諏訪
if (
null !== ($get = DB::table('vid_video')->where('kerotube', env('PEER_URI').'/w/'.$res['detail']->uuid)->first()) ||
null !== ($get = DB::table('vid_video')->where('kerotube', env('PEER_URI').'/w/'.$res['detail']->shortUUID)->first())
) {
if (null !== ($ts = DB::table('blg_comments')->where('video_id', $get->vid)->orderBy('created', 'desc')->get()->toArray())) {
foreach ($ts as $t) {
if (!is_null($t->user_id)) {
if (null !== ($user = DB::table('users')->where('id', $t->user_id)->first())) {
$t->user_id = new \stdClass();
$t->user_id->id = $user->id;
$t->user_id->name = $user->username;
if (null !== ($user = DB::table('usr_profile')->where('user_id', $t->user_id->id)->first())) {
$t->user_id->avatar = $user->avatar;
$t->user_id->displayName = $user->display_name;
$t->user_id->gender = $user->gender;
$t->user_id->nameStyle = $user->name_style;
}
}
}
$obj = new \stdClass();
$acc = new \stdClass();
$ava = !is_null($t->user_id) && !is_null($t->user_id->avatar) ? new \stdClass() : null;
if (!is_null($ava)) $ava->path = env('APP_URL').'/'.(!is_null($t->user_id) && !is_null($t->user_id->avatar) ? $t->user_id->avatar : 'img/noicon.jpg');
$acc->url = !is_null($t->user_id) ? '/profile/'.$t->user_id->id : '';
$acc->name = !is_null($t->user_id) ? $t->user_id->name : (!is_null($t->name) ? $t->name : '名無しのテクニシャン');
$acc->host = 'technicalsuwako.jp';
$acc->displayName = !is_null($t->user_id) ? $t->user_id->displayName : '名無しのテクニシャン';
$acc->gender = !is_null($t->user_id) ? $t->user_id->gender : null;
$acc->user_id = $t->user_id;
$acc->avatar = $ava;
$acc->nameStyle = !is_null($t->user_id) ? $t->user_id->nameStyle : null;
$obj->id = $t->id;
$obj->threadId = $t->id;
$obj->isDeleted = false;
$obj->src = 'TS';
$obj->text = $t->message;
$obj->createdAt = date('Y-m-d H:i:s', $t->created);
$obj->updatedAt = date('Y-m-d H:i:s', $t->created);
$obj->account = $acc;
$res['comment']->data[] = $obj;
$res['comment']->total++;
$res['comment']->totalNotDeletedComments++;
}
}
}
if (!is_null($get)) {
// YouTube
if (null !== ($yt = DB::table('vid_ytcomment')->where('vid', $get->vid)->first())) {
$yt = unserialize($yt->come);
foreach ($yt['come'] as $t) {
$obj = new \stdClass();
$acc = new \stdClass();
$ava = !is_null($t->icon) ? new \stdClass() : null;
if (!is_null($ava)) $ava->path = env('APP_URL').(!is_null($t->icon) ? $t->icon : 'img/noicon.jpg');
$acc->url = str_replace('www.youtube.com', 'youtube.076.ne.jp', $t->channel);
$acc->name = $t->name;
$acc->host = 'youtube.076.ne.jp';
$acc->avatar = $ava;
$acc->displayName = $t->name;
$obj->id = $t->id;
$obj->threadId = $t->id;
$obj->isDeleted = false;
$obj->src = 'YT';
$obj->text = $t->message;
$obj->createdAt = date('Y-m-d H:i:s', $t->createdTS);
$obj->updatedAt = date('Y-m-d H:i:s', $t->createdTS);
$obj->account = $acc;
$res['comment']->data[] = $obj;
$res['comment']->total++;
$res['comment']->totalNotDeletedComments++;
}
}
// Odysee
// $odysee = $get->odysee;
// 作成日順番
usort($res['comment']->data, function ($a, $b) { return strtotime($b->createdAt) - strtotime($a->createdAt); });
}
return $res;
}
}

ファイルの表示

@ -99,8 +99,6 @@ class Prayer extends Engine {
if (!$get) return $err;
$get = json_decode($get);
if (isset($get->status) && $get->status == 404) return [];
else if (is_null($get)) return [];
else if ($get == 'Too many requests, please try again later.') return [];
$come = array();
$come['come'] = array();
@ -251,4 +249,4 @@ class Prayer extends Engine {
return $com;
}
}
}

12
app/Models/Admin.php ノーマルファイル
ファイルの表示

@ -0,0 +1,12 @@
<?php
namespace App\Models;
use Illuminate\Database\Eloquent\Factories\HasFactory;
use Illuminate\Foundation\Auth\User as Authenticatable;
class Admin extends Authenticatable {
use HasFactory;
protected $fillable = ['email', 'password'];
protected $hidden = ['password'];
}

10
app/Models/Country.php ノーマルファイル
ファイルの表示

@ -0,0 +1,10 @@
<?php
namespace App\Models;
use Illuminate\Database\Eloquent\Model;
class Country extends Model
{
//
}

10
app/Models/HomeComment.php ノーマルファイル
ファイルの表示

@ -0,0 +1,10 @@
<?php
namespace App;
use Illuminate\Database\Eloquent\Model;
class HomeComment extends Model
{
//
}

10
app/Models/HomePage.php ノーマルファイル
ファイルの表示

@ -0,0 +1,10 @@
<?php
namespace App;
use Illuminate\Database\Eloquent\Model;
class HomePage extends Model
{
//
}

10
app/Models/HomePost.php ノーマルファイル
ファイルの表示

@ -0,0 +1,10 @@
<?php
namespace App;
use Illuminate\Database\Eloquent\Model;
class HomePost extends Model
{
//
}

10
app/Models/JapanCity.php ノーマルファイル
ファイルの表示

@ -0,0 +1,10 @@
<?php
namespace App\Models;
use Illuminate\Database\Eloquent\Model;
class JapanCity extends Model
{
//
}

10
app/Models/JapanCityWard.php ノーマルファイル
ファイルの表示

@ -0,0 +1,10 @@
<?php
namespace App\Models;
use Illuminate\Database\Eloquent\Model;
class JapanCityWard extends Model
{
//
}

10
app/Models/JapanEra.php ノーマルファイル
ファイルの表示

@ -0,0 +1,10 @@
<?php
namespace App\Models;
use Illuminate\Database\Eloquent\Model;
class JapanEra extends Model
{
//
}

10
app/Models/JapanHoliday.php ノーマルファイル
ファイルの表示

@ -0,0 +1,10 @@
<?php
namespace App\Models;
use Illuminate\Database\Eloquent\Model;
class JapanHoliday extends Model
{
//
}

10
app/Models/JapanIsland.php ノーマルファイル
ファイルの表示

@ -0,0 +1,10 @@
<?php
namespace App\Models;
use Illuminate\Database\Eloquent\Model;
class JapanIsland extends Model
{
//
}

10
app/Models/JapanPrefecture.php ノーマルファイル
ファイルの表示

@ -0,0 +1,10 @@
<?php
namespace App\Models;
use Illuminate\Database\Eloquent\Model;
class JapanPrefecture extends Model
{
//
}

10
app/Models/JapanRegion.php ノーマルファイル
ファイルの表示

@ -0,0 +1,10 @@
<?php
namespace App\Models;
use Illuminate\Database\Eloquent\Model;
class JapanRegion extends Model
{
//
}

15
app/Models/User.php ノーマルファイル
ファイルの表示

@ -0,0 +1,15 @@
<?php
namespace App\Models;
use Illuminate\Contracts\Auth\MustVerifyEmail;
use Illuminate\Database\Eloquent\Factories\HasFactory;
use Illuminate\Foundation\Auth\User as Authenticatable;
use Illuminate\Notifications\Notifiable;
class User extends Authenticatable {
use HasFactory, Notifiable;
protected $fillable = ['name', 'email', 'password'];
protected $hidden = ['password'];
}

10
app/Models/VideoCategory.php ノーマルファイル
ファイルの表示

@ -0,0 +1,10 @@
<?php
namespace App;
use Illuminate\Database\Eloquent\Model;
class VideoCategory extends Model
{
//
}

10
app/Models/VideoComment.php ノーマルファイル
ファイルの表示

@ -0,0 +1,10 @@
<?php
namespace App;
use Illuminate\Database\Eloquent\Model;
class VideoComment extends Model
{
//
}

10
app/Models/VideoPeertubeComment.php ノーマルファイル
ファイルの表示

@ -0,0 +1,10 @@
<?php
namespace App;
use Illuminate\Database\Eloquent\Model;
class VideoPeertubeComment extends Model
{
//
}

10
app/Models/VideoUpload.php ノーマルファイル
ファイルの表示

@ -0,0 +1,10 @@
<?php
namespace App;
use Illuminate\Database\Eloquent\Model;
class VideoUpload extends Model
{
//
}

10
app/Models/VideoUploads.php ノーマルファイル
ファイルの表示

@ -0,0 +1,10 @@
<?php
namespace App;
use Illuminate\Database\Eloquent\Model;
class VideoUploads extends Model
{
//
}

10
app/Models/VideoYoutubeComment.php ノーマルファイル
ファイルの表示

@ -0,0 +1,10 @@
<?php
namespace App;
use Illuminate\Database\Eloquent\Model;
class VideoYoutubeComment extends Model
{
//
}

ファイルの表示

@ -41,59 +41,6 @@ function checkLegit ($t) {
return $check->id;
}
function ptComeSrc ($v) {
$res = new \stdClass();
$res->bg = '#';
$res->fg = '#fcfcfc';
$res->tx = '不明';
switch ($v) {
case 'PT':
$res->bg .= 'ffad5c';
$res->tx = 'PeerTube';
break;
case 'TS':
$res->bg .= 'cb81ea';
$res->tx = 'テク諏訪';
break;
case 'YT':
$res->bg .= 'f50057';
$res->tx = 'YouTube';
break;
case 'OD':
$res->bg .= '33b58f';
$res->tx = 'LBRY';
break;
default:
$res->bg = 'transparent';
break;
}
return $res;
}
function ptFullHandle ($v) {
return $v->name.($v->host != str_replace('https://', '', env('PEER_URI')) ? '@'.$v->host : '');
}
function ptAvatar ($v) {
$placeholder = '/img/noicon.jpg';
$res = '';
if (isset($v->avatar)) {
if (is_null($v->avatar)) return $placeholder;
$ava = $v->avatar->path;
$ava = str_replace(env('APP_URL'), '', $ava);
$res = str_starts_with(env('APP_URL'), $ava) ? env('PEER_URI') : '';
if ($ava == '/') return '/img/noicon.jpg';
else if (str_starts_with($ava, '/lazy-static')) $res = env('PEER_URI');
return $res.$ava;
}
return '/img/noicon.jpg';
}
function userDetail ($id, $kero=null) {
if ($kero || $id) {
$log_username = null;

12
database/factories/CountryFactory.php ノーマルファイル
ファイルの表示

@ -0,0 +1,12 @@
<?php
/** @var \Illuminate\Database\Eloquent\Factory $factory */
use App\Country;
use Faker\Generator as Faker;
$factory->define(Country::class, function (Faker $faker) {
return [
//
];
});

12
database/factories/HomeCommentFactory.php ノーマルファイル
ファイルの表示

@ -0,0 +1,12 @@
<?php
/** @var \Illuminate\Database\Eloquent\Factory $factory */
use App\HomeComment;
use Faker\Generator as Faker;
$factory->define(HomeComment::class, function (Faker $faker) {
return [
//
];
});

12
database/factories/HomePageFactory.php ノーマルファイル
ファイルの表示

@ -0,0 +1,12 @@
<?php
/** @var \Illuminate\Database\Eloquent\Factory $factory */
use App\HomePage;
use Faker\Generator as Faker;
$factory->define(HomePage::class, function (Faker $faker) {
return [
//
];
});

12
database/factories/HomePostFactory.php ノーマルファイル
ファイルの表示

@ -0,0 +1,12 @@
<?php
/** @var \Illuminate\Database\Eloquent\Factory $factory */
use App\HomePost;
use Faker\Generator as Faker;
$factory->define(HomePost::class, function (Faker $faker) {
return [
//
];
});

12
database/factories/JapanCityFactory.php ノーマルファイル
ファイルの表示

@ -0,0 +1,12 @@
<?php
/** @var \Illuminate\Database\Eloquent\Factory $factory */
use App\JapanCity;
use Faker\Generator as Faker;
$factory->define(JapanCity::class, function (Faker $faker) {
return [
//
];
});

12
database/factories/JapanCityWardFactory.php ノーマルファイル
ファイルの表示

@ -0,0 +1,12 @@
<?php
/** @var \Illuminate\Database\Eloquent\Factory $factory */
use App\JapanCityWard;
use Faker\Generator as Faker;
$factory->define(JapanCityWard::class, function (Faker $faker) {
return [
//
];
});

12
database/factories/JapanEraFactory.php ノーマルファイル
ファイルの表示

@ -0,0 +1,12 @@
<?php
/** @var \Illuminate\Database\Eloquent\Factory $factory */
use App\JapanEra;
use Faker\Generator as Faker;
$factory->define(JapanEra::class, function (Faker $faker) {
return [
//
];
});

12
database/factories/JapanHolidayFactory.php ノーマルファイル
ファイルの表示

@ -0,0 +1,12 @@
<?php
/** @var \Illuminate\Database\Eloquent\Factory $factory */
use App\JapanHoliday;
use Faker\Generator as Faker;
$factory->define(JapanHoliday::class, function (Faker $faker) {
return [
//
];
});

12
database/factories/JapanIslandFactory.php ノーマルファイル
ファイルの表示

@ -0,0 +1,12 @@
<?php
/** @var \Illuminate\Database\Eloquent\Factory $factory */
use App\JapanIsland;
use Faker\Generator as Faker;
$factory->define(JapanIsland::class, function (Faker $faker) {
return [
//
];
});

12
database/factories/JapanPrefectureFactory.php ノーマルファイル
ファイルの表示

@ -0,0 +1,12 @@
<?php
/** @var \Illuminate\Database\Eloquent\Factory $factory */
use App\JapanPrefecture;
use Faker\Generator as Faker;
$factory->define(JapanPrefecture::class, function (Faker $faker) {
return [
//
];
});

12
database/factories/JapanRegionFactory.php ノーマルファイル
ファイルの表示

@ -0,0 +1,12 @@
<?php
/** @var \Illuminate\Database\Eloquent\Factory $factory */
use App\JapanRegion;
use Faker\Generator as Faker;
$factory->define(JapanRegion::class, function (Faker $faker) {
return [
//
];
});

ファイルの表示

@ -2,7 +2,7 @@
/** @var \Illuminate\Database\Eloquent\Factory $factory */
use App\User;
use App\Models\User;
use Faker\Generator as Faker;
use Illuminate\Support\Str;
@ -21,8 +21,9 @@ $factory->define(User::class, function (Faker $faker) {
return [
'name' => $faker->name,
'email' => $faker->unique()->safeEmail,
'email_verified_at' => now(),
'password' => '$2y$10$92IXUNpkjO0rOQ5byMi.Ye4oKoEa3Ro9llC/.og/at2.uheWG/igi', // password
'remember_token' => Str::random(10),
'password' => Hash::make('password'),
'created_at' => $this->faker->dateTime,
'updated_at' => $this->faker->dateTime,
// 'remember_token' => Str::random(10),
];
});

12
database/factories/VideoCategoryFactory.php ノーマルファイル
ファイルの表示

@ -0,0 +1,12 @@
<?php
/** @var \Illuminate\Database\Eloquent\Factory $factory */
use App\VideoCategory;
use Faker\Generator as Faker;
$factory->define(VideoCategory::class, function (Faker $faker) {
return [
//
];
});

12
database/factories/VideoCommentFactory.php ノーマルファイル
ファイルの表示

@ -0,0 +1,12 @@
<?php
/** @var \Illuminate\Database\Eloquent\Factory $factory */
use App\VideoComment;
use Faker\Generator as Faker;
$factory->define(VideoComment::class, function (Faker $faker) {
return [
//
];
});

ファイルの表示

@ -0,0 +1,12 @@
<?php
/** @var \Illuminate\Database\Eloquent\Factory $factory */
use App\VideoPeertubeComment;
use Faker\Generator as Faker;
$factory->define(VideoPeertubeComment::class, function (Faker $faker) {
return [
//
];
});

12
database/factories/VideoUploadFactory.php ノーマルファイル
ファイルの表示

@ -0,0 +1,12 @@
<?php
/** @var \Illuminate\Database\Eloquent\Factory $factory */
use App\VideoUpload;
use Faker\Generator as Faker;
$factory->define(VideoUpload::class, function (Faker $faker) {
return [
//
];
});

12
database/factories/VideoUploadsFactory.php ノーマルファイル
ファイルの表示

@ -0,0 +1,12 @@
<?php
/** @var \Illuminate\Database\Eloquent\Factory $factory */
use App\VideoUploads;
use Faker\Generator as Faker;
$factory->define(VideoUploads::class, function (Faker $faker) {
return [
//
];
});

ファイルの表示

@ -0,0 +1,12 @@
<?php
/** @var \Illuminate\Database\Eloquent\Factory $factory */
use App\VideoYoutubeComment;
use Faker\Generator as Faker;
$factory->define(VideoYoutubeComment::class, function (Faker $faker) {
return [
//
];
});

ファイルの表示

@ -17,9 +17,8 @@ class CreateUsersTable extends Migration
$table->id();
$table->string('name');
$table->string('email')->unique();
$table->timestamp('email_verified_at')->nullable();
$table->string('password');
$table->rememberToken();
$table->boolean('admin');
$table->timestamps();
});
}

ファイルの表示

@ -0,0 +1,36 @@
<?php
use Illuminate\Database\Migrations\Migration;
use Illuminate\Database\Schema\Blueprint;
use Illuminate\Support\Facades\Schema;
class CreateJapanCitiesTable extends Migration
{
/**
* Run the migrations.
*
* @return void
*/
public function up()
{
Schema::create('japan_cities', function (Blueprint $table) {
$table->id();
$table->unsignedBigInteger('prefecture_id');
$table->foreign('prefecture_id')->references('id')->on('japan_prefectures');
$table->string('name', 255)->nullable();
$table->string('nameKana', 255)->nullable();
$table->string('nameEng', 255)->nullable();
$table->timestamps();
});
}
/**
* Reverse the migrations.
*
* @return void
*/
public function down()
{
Schema::dropIfExists('japan_cities');
}
}

ファイルの表示

@ -0,0 +1,36 @@
<?php
use Illuminate\Database\Migrations\Migration;
use Illuminate\Database\Schema\Blueprint;
use Illuminate\Support\Facades\Schema;
class CreateJapanCityWardsTable extends Migration
{
/**
* Run the migrations.
*
* @return void
*/
public function up()
{
Schema::create('japan_city_wards', function (Blueprint $table) {
$table->id();
$table->unsignedBigInteger('city_id');
$table->foreign('city_id')->references('id')->on('japan_cities');
$table->string('name', 255)->nullable();
$table->string('nameKana', 255)->nullable();
$table->string('nameEng', 255)->nullable();
$table->timestamps();
});
}
/**
* Reverse the migrations.
*
* @return void
*/
public function down()
{
Schema::dropIfExists('japan_city_wards');
}
}

ファイルの表示

@ -0,0 +1,33 @@
<?php
use Illuminate\Database\Migrations\Migration;
use Illuminate\Database\Schema\Blueprint;
use Illuminate\Support\Facades\Schema;
class CreateCountriesTable extends Migration
{
/**
* Run the migrations.
*
* @return void
*/
public function up()
{
Schema::create('countries', function (Blueprint $table) {
$table->id();
$table->string('name', 255)->nullable();
$table->string('nameEng', 255)->nullable();
$table->timestamps();
});
}
/**
* Reverse the migrations.
*
* @return void
*/
public function down()
{
Schema::dropIfExists('countries');
}
}

ファイルの表示

@ -0,0 +1,35 @@
<?php
use Illuminate\Database\Migrations\Migration;
use Illuminate\Database\Schema\Blueprint;
use Illuminate\Support\Facades\Schema;
class CreateJapanHolidaysTable extends Migration
{
/**
* Run the migrations.
*
* @return void
*/
public function up()
{
Schema::create('japan_holidays', function (Blueprint $table) {
$table->id();
$table->string('name', 255)->nullable();
$table->string('nameKana', 255)->nullable();
$table->string('nameEng', 255)->nullable();
$table->unsignedBigInteger('holiday_date');
$table->timestamps();
});
}
/**
* Reverse the migrations.
*
* @return void
*/
public function down()
{
Schema::dropIfExists('japan_holidays');
}
}

ファイルの表示

@ -0,0 +1,34 @@
<?php
use Illuminate\Database\Migrations\Migration;
use Illuminate\Database\Schema\Blueprint;
use Illuminate\Support\Facades\Schema;
class CreateJapanIslandsTable extends Migration
{
/**
* Run the migrations.
*
* @return void
*/
public function up()
{
Schema::create('japan_islands', function (Blueprint $table) {
$table->id();
$table->string('name', 255)->nullable();
$table->string('nameKana', 255)->nullable();
$table->string('nameEng', 255)->nullable();
$table->timestamps();
});
}
/**
* Reverse the migrations.
*
* @return void
*/
public function down()
{
Schema::dropIfExists('japan_islands');
}
}

ファイルの表示

@ -0,0 +1,39 @@
<?php
use Illuminate\Database\Migrations\Migration;
use Illuminate\Database\Schema\Blueprint;
use Illuminate\Support\Facades\Schema;
class CreateJapanErasTable extends Migration
{
/**
* Run the migrations.
*
* @return void
*/
public function up()
{
Schema::create('japan_eras', function (Blueprint $table) {
$table->id();
$table->string('name', 255)->nullable();
$table->string('nameKana', 255)->nullable();
$table->string('nameEng', 255)->nullable();
$table->unsignedBigInteger('start');
$table->unsignedBigInteger('start_date');
$table->unsignedBigInteger('finish_date');
$table->unsignedBigInteger('years');
$table->unsignedBigInteger('current');
$table->timestamps();
});
}
/**
* Reverse the migrations.
*
* @return void
*/
public function down()
{
Schema::dropIfExists('japan_eras');
}
}

ファイルの表示

@ -0,0 +1,39 @@
<?php
use Illuminate\Database\Migrations\Migration;
use Illuminate\Database\Schema\Blueprint;
use Illuminate\Support\Facades\Schema;
class CreateJapanRegionsTable extends Migration
{
/**
* Run the migrations.
*
* @return void
*/
public function up()
{
Schema::create('japan_regions', function (Blueprint $table) {
$table->id();
$table->unsignedBigInteger('island_id');
$table->foreign('island_id')->references('id')->on('japan_islands');
$table->string('name', 255)->nullable();
$table->string('nameAlt', 255)->nullable();
$table->string('nameKana', 255)->nullable();
$table->string('nameKanaAlt', 255)->nullable();
$table->string('nameEng', 255)->nullable();
$table->string('nameEngAlt', 255)->nullable();
$table->timestamps();
});
}
/**
* Reverse the migrations.
*
* @return void
*/
public function down()
{
Schema::dropIfExists('japan_regions');
}
}

ファイルの表示

@ -0,0 +1,38 @@
<?php
use Illuminate\Database\Migrations\Migration;
use Illuminate\Database\Schema\Blueprint;
use Illuminate\Support\Facades\Schema;
class CreateJapanPrefecturesTable extends Migration
{
/**
* Run the migrations.
*
* @return void
*/
public function up()
{
Schema::create('japan_prefectures', function (Blueprint $table) {
$table->id();
$table->unsignedBigInteger('island_id');
$table->foreign('island_id')->references('id')->on('japan_islands');
$table->unsignedBigInteger('capital');
$table->foreign('capital')->references('id')->on('japan_cities');
$table->string('name', 255)->nullable();
$table->string('nameKana', 255)->nullable();
$table->string('nameEng', 255)->nullable();
$table->timestamps();
});
}
/**
* Reverse the migrations.
*
* @return void
*/
public function down()
{
Schema::dropIfExists('japan_prefectures');
}
}

ファイルの表示

@ -0,0 +1,38 @@
<?php
use Illuminate\Database\Migrations\Migration;
use Illuminate\Database\Schema\Blueprint;
use Illuminate\Support\Facades\Schema;
class CreateHomePostsTable extends Migration
{
/**
* Run the migrations.
*
* @return void
*/
public function up()
{
Schema::create('home_posts', function (Blueprint $table) {
$table->id();
$table->unsignedBigInteger('user_id');
$table->foreign('user_id')->references('id')->on('users')->onDelete('cascade');
$table->string('title', 255);
$table->string('slug', 255);
$table->dateTime('published_at')->nullable();
$table->integer('public_status')->default(0); // 0 = public, 1 = scheduled, 2 = unlisted, 3 = private, 4 = draft
$table->text('message');
$table->timestamps();
});
}
/**
* Reverse the migrations.
*
* @return void
*/
public function down()
{
Schema::dropIfExists('home_posts');
}
}

ファイルの表示

@ -0,0 +1,40 @@
<?php
use Illuminate\Database\Migrations\Migration;
use Illuminate\Database\Schema\Blueprint;
use Illuminate\Support\Facades\Schema;
class CreateHomePagesTable extends Migration
{
/**
* Run the migrations.
*
* @return void
*/
public function up()
{
Schema::create('home_pages', function (Blueprint $table) {
$table->id();
$table->unsignedBigInteger('user_id');
$table->foreign('user_id')->references('id')->on('users')->onDelete('cascade');
$table->string('title', 255);
$table->string('slug', 255);
$table->integer('sortorder', 10)->default(0);
$table->dateTime('published_at')->nullable();
$table->integer('public_status')->default(0); // 0 = public, 1 = scheduled, 2 = unlisted, 3 = private, 4 = draft
$table->boolean('is_menu')->default(true);
$table->text('message');
$table->timestamps();
});
}
/**
* Reverse the migrations.
*
* @return void
*/
public function down()
{
Schema::dropIfExists('home_pages');
}
}

ファイルの表示

@ -0,0 +1,38 @@
<?php
use Illuminate\Database\Migrations\Migration;
use Illuminate\Database\Schema\Blueprint;
use Illuminate\Support\Facades\Schema;
class CreateHomeCommentsTable extends Migration
{
/**
* Run the migrations.
*
* @return void
*/
public function up()
{
Schema::create('home_comments', function (Blueprint $table) {
$table->id();
$table->unsignedBigInteger('user_id')->nullable();
$table->foreign('user_id')->references('id')->on('users')->onDelete('cascade');
$table->integer('post_id', 10);
$table->foreign('post_id')->references('id')->on('home_posts')->onDelete('cascade');
$table->string('name', 255)->nullable();
$table->string('email', 255)->nullable();
$table->text('message');
$table->timestamps();
});
}
/**
* Reverse the migrations.
*
* @return void
*/
public function down()
{
Schema::dropIfExists('home_comments');
}
}

ファイルの表示

@ -0,0 +1,38 @@
<?php
use Illuminate\Database\Migrations\Migration;
use Illuminate\Database\Schema\Blueprint;
use Illuminate\Support\Facades\Schema;
class CreateVideoCommentsTable extends Migration
{
/**
* Run the migrations.
*
* @return void
*/
public function up()
{
Schema::create('video_comments', function (Blueprint $table) {
$table->id();
$table->unsignedBigInteger('user_id')->nullable();
$table->foreign('user_id')->references('id')->on('users')->onDelete('cascade');
$table->integer('video_id', 10);
$table->foreign('video_id')->references('id')->on('video_uploads')->onDelete('cascade');
$table->string('name', 255)->nullable();
$table->string('email', 255)->nullable();
$table->text('message');
$table->timestamps();
});
}
/**
* Reverse the migrations.
*
* @return void
*/
public function down()
{
Schema::dropIfExists('video_comments');
}
}

ファイルの表示

@ -0,0 +1,31 @@
<?php
use Illuminate\Database\Migrations\Migration;
use Illuminate\Database\Schema\Blueprint;
use Illuminate\Support\Facades\Schema;
class CreateVideoUploadsTable extends Migration
{
/**
* Run the migrations.
*
* @return void
*/
public function up()
{
Schema::create('video_uploads', function (Blueprint $table) {
$table->id();
$table->timestamps();
});
}
/**
* Reverse the migrations.
*
* @return void
*/
public function down()
{
Schema::dropIfExists('video_uploads');
}
}

ファイルの表示

@ -0,0 +1,31 @@
<?php
use Illuminate\Database\Migrations\Migration;
use Illuminate\Database\Schema\Blueprint;
use Illuminate\Support\Facades\Schema;
class CreateVideoYoutubeCommentsTable extends Migration
{
/**
* Run the migrations.
*
* @return void
*/
public function up()
{
Schema::create('video_youtube_comments', function (Blueprint $table) {
$table->id();
$table->timestamps();
});
}
/**
* Reverse the migrations.
*
* @return void
*/
public function down()
{
Schema::dropIfExists('video_youtube_comments');
}
}

ファイルの表示

@ -0,0 +1,31 @@
<?php
use Illuminate\Database\Migrations\Migration;
use Illuminate\Database\Schema\Blueprint;
use Illuminate\Support\Facades\Schema;
class CreateVideoPeertubeCommentsTable extends Migration
{
/**
* Run the migrations.
*
* @return void
*/
public function up()
{
Schema::create('video_peertube_comments', function (Blueprint $table) {
$table->id();
$table->timestamps();
});
}
/**
* Reverse the migrations.
*
* @return void
*/
public function down()
{
Schema::dropIfExists('video_peertube_comments');
}
}

ファイルの表示

@ -0,0 +1,33 @@
<?php
use Illuminate\Database\Migrations\Migration;
use Illuminate\Database\Schema\Blueprint;
use Illuminate\Support\Facades\Schema;
class CreateVideoCategoriesTable extends Migration
{
/**
* Run the migrations.
*
* @return void
*/
public function up()
{
Schema::create('video_categories', function (Blueprint $table) {
$table->id();
$table->string('name', 255)->nullable();
$table->string('slug', 255)->nullable();
$table->timestamps();
});
}
/**
* Reverse the migrations.
*
* @return void
*/
public function down()
{
Schema::dropIfExists('video_categories');
}
}

12
database/seeds/CountrySeeder.php ノーマルファイル
ファイルの表示

@ -0,0 +1,12 @@
<?php
namespace Database\Seeders;
use App\Models\Country;
use Illuminate\Database\Seeder;
class CountrySeeder extends Seeder {
public function run () {
//
}
}

ファイルの表示

@ -2,15 +2,44 @@
use Illuminate\Database\Seeder;
class DatabaseSeeder extends Seeder
{
/**
* Seed the application's database.
*
* @return void
*/
public function run()
{
// $this->call(UserSeeder::class);
class DatabaseSeeder extends Seeder {
public function run () {
// BBS
// $this->call(BbsCategorySeeder::class);
// $this->call(BbsPostSeeder::class);
// $this->call(BbsThreadSeeder::class);
// 国々
$this->call(CountrySeeder::class);
// ホーム
$this->call(HomeCommentSeeder::class);
$this->call(HomePageSeeder::class);
$this->call(HomePostSeeder::class);
// ホスティング
// $this->call(HostingImageSeeder::class);
// $this->call(HostingVpsSeeder::class);
// 請求
// 日本
$this->call(JapanCitySeeder::class);
$this->call(JapanCityWardSeeder::class);
$this->call(JapanEraSeeder::class);
$this->call(JapanHolidaySeeder::class);
$this->call(JapanIslandSeeder::class);
$this->call(JapanPrefectureSeeder::class);
$this->call(JapanRegionSeeder::class);
// 動画
$this->call(VideoCategorySeeder::class);
$this->call(VideoCommentsSeeder::class);
$this->call(VideoPeertubeCommentSeeder::class);
$this->call(VideoUploadsSeeder::class);
$this->call(VideoYoutubeCommentSeeder::class);
// ユーザー
$this->call(UserSeeder::class);
}
}

9
database/seeds/HomeCommentSeeder.php ノーマルファイル
ファイルの表示

@ -0,0 +1,9 @@
<?php
use Illuminate\Database\Seeder;
class HomeCommentSeeder extends Seeder {
public function run () {
//
}
}

9
database/seeds/HomePageSeeder.php ノーマルファイル
ファイルの表示

@ -0,0 +1,9 @@
<?php
use Illuminate\Database\Seeder;
class HomePageSeeder extends Seeder {
public function run () {
//
}
}

9
database/seeds/HomePostSeeder.php ノーマルファイル
ファイルの表示

@ -0,0 +1,9 @@
<?php
use Illuminate\Database\Seeder;
class HomePostSeeder extends Seeder {
public function run () {
//
}
}

12
database/seeds/JapanCitySeeder.php ノーマルファイル
ファイルの表示

@ -0,0 +1,12 @@
<?php
namespace Database\Seeders;
use App\Models\JapanCity;
use Illuminate\Database\Seeder;
class JapanCitySeeder extends Seeder {
public function run () {
//
}
}

55
database/seeds/JapanCityWardSeeder.php ノーマルファイル
ファイルの表示

@ -0,0 +1,55 @@
<?php
namespace Database\Seeders;
use App\Models\JapanCityWard;
use Illuminate\Database\Seeder;
class JapanCityWardSeeder extends Seeder {
public function run () {
JapanCityWard::create(['city_id' => 138, 'name' => '中央区', 'nameKana' => 'ちゅうおうく', 'nameEng' => 'Chuo']);
JapanCityWard::create(['city_id' => 138, 'name' => '美浜区', 'nameKana' => 'みはまく', 'nameEng' => 'Mihama']);
JapanCityWard::create(['city_id' => 138, 'name' => '稲毛区', 'nameKana' => 'いなげく', 'nameEng' => 'Inage']);
JapanCityWard::create(['city_id' => 138, 'name' => '花見川区', 'nameKana' => 'はなみがわく', 'nameEng' => 'Hanamigawa']);
JapanCityWard::create(['city_id' => 138, 'name' => '若葉区', 'nameKana' => 'わかばく', 'nameEng' => 'Wakaba']);
JapanCityWard::create(['city_id' => 138, 'name' => '緑区', 'nameKana' => 'みどりく', 'nameEng' => 'Midori']);
JapanCityWard::create(['city_id' => 315, 'name' => '西区', 'nameKana' => 'にしく', 'nameEng' => 'Nishi']);
JapanCityWard::create(['city_id' => 315, 'name' => '北区', 'nameKana' => 'きたく', 'nameEng' => 'Kita']);
JapanCityWard::create(['city_id' => 315, 'name' => 'おおみや区', 'nameKana' => '大宮く', 'nameEng' => 'Omiya']);
JapanCityWard::create(['city_id' => 315, 'name' => '見沼区', 'nameKana' => 'みぬまく', 'nameEng' => 'Minuma']);
JapanCityWard::create(['city_id' => 315, 'name' => '中央区', 'nameKana' => 'ちゅうおうく', 'nameEng' => 'Chuo']);
JapanCityWard::create(['city_id' => 315, 'name' => '桜区', 'nameKana' => 'さくらく', 'nameEng' => 'Sakura']);
JapanCityWard::create(['city_id' => 315, 'name' => '浦和区', 'nameKana' => 'うらわく', 'nameEng' => 'Urawa']);
JapanCityWard::create(['city_id' => 315, 'name' => '南区', 'nameKana' => 'みなみく', 'nameEng' => 'Minami']);
JapanCityWard::create(['city_id' => 315, 'name' => '緑区', 'nameKana' => 'みどりく', 'nameEng' => 'Midori']);
JapanCityWard::create(['city_id' => 315, 'name' => '岩槻区', 'nameKana' => 'いわつきく', 'nameEng' => 'Iwatsuki']);
JapanCityWard::create(['city_id' => 26, 'name' => '鶴見区', 'nameKana' => 'つるみく', 'nameEng' => 'Tsurumi']);
JapanCityWard::create(['city_id' => 26, 'name' => '神奈川区', 'nameKana' => 'かながわく', 'nameEng' => 'Kanagawa']);
JapanCityWard::create(['city_id' => 26, 'name' => '西区', 'nameKana' => 'にしく', 'nameEng' => 'Nishi']);
JapanCityWard::create(['city_id' => 26, 'name' => '中央区', 'nameKana' => 'ちゅうおうく', 'nameEng' => 'Chuo']);
JapanCityWard::create(['city_id' => 26, 'name' => '南区', 'nameKana' => 'みなみく', 'nameEng' => 'Minami']);
JapanCityWard::create(['city_id' => 26, 'name' => '江南区', 'nameKana' => 'こうなんく', 'nameEng' => 'Konan']);
JapanCityWard::create(['city_id' => 26, 'name' => '保土ヶ谷区', 'nameKana' => 'ほごがやく', 'nameEng' => 'Hodogaya']);
JapanCityWard::create(['city_id' => 26, 'name' => '旭区', 'nameKana' => 'あさひく', 'nameEng' => 'Asahi']);
JapanCityWard::create(['city_id' => 26, 'name' => '磯子区', 'nameKana' => 'いそごく', 'nameEng' => 'Isogo']);
JapanCityWard::create(['city_id' => 26, 'name' => '金沢区', 'nameKana' => 'かなざわく', 'nameEng' => 'Kanazawa']);
JapanCityWard::create(['city_id' => 26, 'name' => '港北区', 'nameKana' => 'こうほくく', 'nameEng' => 'Kohoku']);
JapanCityWard::create(['city_id' => 26, 'name' => '緑区', 'nameKana' => 'みどりく', 'nameEng' => 'Midori']);
JapanCityWard::create(['city_id' => 26, 'name' => '青葉区', 'nameKana' => 'あおばく', 'nameEng' => 'Aoba']);
JapanCityWard::create(['city_id' => 26, 'name' => '都筑区', 'nameKana' => 'つづきく', 'nameEng' => 'Tsudzuki']);
JapanCityWard::create(['city_id' => 26, 'name' => '戸塚区', 'nameKana' => 'とつかく', 'nameEng' => 'Totsuka']);
JapanCityWard::create(['city_id' => 26, 'name' => '栄区', 'nameKana' => 'さかえく', 'nameEng' => 'Sakae']);
JapanCityWard::create(['city_id' => 26, 'name' => '泉区', 'nameKana' => 'いずみく', 'nameEng' => 'Izumi']);
JapanCityWard::create(['city_id' => 26, 'name' => '瀬谷区', 'nameKana' => 'せやく', 'nameEng' => 'Seya']);
JapanCityWard::create(['city_id' => 27, 'name' => '川崎区', 'nameKana' => 'かわさきく', 'nameEng' => 'Kawasaki']);
JapanCityWard::create(['city_id' => 27, 'name' => '幸区', 'nameKana' => 'さいわいく', 'nameEng' => 'Saiwai']);
JapanCityWard::create(['city_id' => 27, 'name' => '中原区', 'nameKana' => 'なかはらく', 'nameEng' => 'Nakahara']);
JapanCityWard::create(['city_id' => 27, 'name' => '高津区', 'nameKana' => 'たかつく', 'nameEng' => 'Takatsu']);
JapanCityWard::create(['city_id' => 27, 'name' => '宮前区', 'nameKana' => 'みやまえく', 'nameEng' => 'Miyamae']);
JapanCityWard::create(['city_id' => 27, 'name' => '多摩区', 'nameKana' => 'たまく', 'nameEng' => 'Tama']);
JapanCityWard::create(['city_id' => 27, 'name' => '麻生区', 'nameKana' => 'あさおく', 'nameEng' => 'Asao']);
JapanCityWard::create(['city_id' => 28, 'name' => '緑区', 'nameKana' => 'みどりく', 'nameEng' => 'Midori']);
JapanCityWard::create(['city_id' => 28, 'name' => '中央区', 'nameKana' => 'ちゅうおうく', 'nameEng' => 'Chuo']);
JapanCityWard::create(['city_id' => 28, 'name' => '南区', 'nameKana' => 'みなみく', 'nameEng' => 'Minami']);
}
}

18
database/seeds/JapanEraSeeder.php ノーマルファイル
ファイルの表示

@ -0,0 +1,18 @@
<?php
namespace Database\Seeders;
use App\Models\JapanEra;
use Illuminate\Database\Seeder;
class JapanEraSeeder extends Seeder {
public function run () {
JapanIsland::create(['name' => '西暦', 'nameKana' => 'せいれき', 'nameEng' => 'Christian', 'start' => '1', 'start_date' => '0001-01-01', 'finish_date' => '2099-12-31', 'years' => 999, 'current' => true]);
JapanIsland::create(['name' => '江戸', 'nameKana' => 'えど', 'nameEng' => 'Edo', 'start' => '1603', 'start_date' => '1603-03-24', 'finish_date' => '1868-10-23', 'years' => 45, 'current' => false]);
JapanIsland::create(['name' => '明治', 'nameKana' => 'めいじ', 'nameEng' => 'Meiji', 'start' => '1868', 'start_date' => '1868-10-23', 'finish_date' => '1912-07-30', 'years' => 45, 'current' => false]);
JapanIsland::create(['name' => '大正', 'nameKana' => 'たいしょう', 'nameEng' => 'Taisho', 'start' => '1912', 'start_date' => '1912-07-30', 'finish_date' => '1926-12-25', 'years' => 12, 'current' => false]);
JapanIsland::create(['name' => '昭和', 'nameKana' => 'しょうわ', 'nameEng' => 'Showa', 'start' => '1926', 'start_date' => '1926-12-25', 'finish_date' => '1989-01-07', 'years' => 64, 'current' => false]);
JapanIsland::create(['name' => '平成', 'nameKana' => 'へいせい', 'nameEng' => 'Heisei', 'start' => '1989', 'start_date' => '1989-01-07', 'finish_date' => '2019-05-01', 'years' => 31, 'current' => false]);
JapanIsland::create(['name' => '令和', 'nameKana' => 'れいわ', 'nameEng' => 'Reiwa', 'start' => '2019', 'start_date' => '2019-05-01', 'finish_date' => '2099-12-31', 'years' => 999, 'current' => true]);
}
}

70
database/seeds/JapanHolidaySeeder.php ノーマルファイル
ファイルの表示

@ -0,0 +1,70 @@
<?php
namespace Database\Seeders;
use App\Models\JapanHoliday;
use Illuminate\Database\Seeder;
class JapanHolidaySeeder extends Seeder
{
/**
* Run the database seeds.
*
* @return void
*/
public function run () {
// 2020
JapanHoliday::create(['name' => '元日', 'nameKana' => 'がんじつ', 'nameEng' => 'New Year\'s Day', 'holiday_date' => '2020-01-01']);
JapanHoliday::create(['name' => '成人の日', 'nameKana' => 'せいじんのひ', 'nameEng' => 'Coming of Age Day', 'holiday_date' => '2020-01-13']);
JapanHoliday::create(['name' => '建国記念日', 'nameKana' => 'けんこくきねんび', 'nameEng' => 'National Foundation Day', 'holiday_date' => '2020-02-11']);
JapanHoliday::create(['name' => '天皇誕生日', 'nameKana' => 'てんのうたんじょうび', 'nameEng' => 'Emperor\'s Birthday', 'holiday_date' => '2020-02-24']);
JapanHoliday::create(['name' => '春分の日', 'nameKana' => 'しゅんぶんのひ', 'nameEng' => 'Spring Equinox Day', 'holiday_date' => '2020-03-20']);
JapanHoliday::create(['name' => '昭和の日', 'nameKana' => 'しょうわのひ', 'nameEng' => 'Showa Day', 'holiday_date' => '2020-04-29']);
JapanHoliday::create(['name' => 'みどりの日', 'nameKana' => 'みどりのひ', 'nameEng' => 'Green Day', 'holiday_date' => '2020-05-04']);
JapanHoliday::create(['name' => 'こどもの日', 'nameKana' => 'こどものひ', 'nameEng' => 'Children\'s Day', 'holiday_date' => '2020-05-05']);
JapanHoliday::create(['name' => '憲法記念日', 'nameKana' => 'けんぽうきねんび', 'nameEng' => 'Constitution Memorial Day', 'holiday_date' => '2020-05-06']);
JapanHoliday::create(['name' => '海の日', 'nameKana' => 'うみのひ', 'nameEng' => 'Sea Day', 'holiday_date' => '2020-07-23']);
JapanHoliday::create(['name' => 'スポーツの日', 'nameKana' => 'すぽーつのひ', 'nameEng' => 'Sports Day', 'holiday_date' => '2020-07-24']);
JapanHoliday::create(['name' => '山の日', 'nameKana' => 'やまのひ', 'nameEng' => 'Mountain Day', 'holiday_date' => '2020-08-10']);
JapanHoliday::create(['name' => '敬老の日', 'nameKana' => 'けいろうのひ', 'nameEng' => 'Respect for the Aged Day', 'holiday_date' => '2020-09-21']);
JapanHoliday::create(['name' => '秋分の日', 'nameKana' => 'しゅうぶんのひ', 'nameEng' => 'Autumnal Equinox Day', 'holiday_date' => '2020-09-22']);
JapanHoliday::create(['name' => '文化の日', 'nameKana' => 'ぶんかのひ', 'nameEng' => 'Culture Day', 'holiday_date' => '2020-11-03']);
JapanHoliday::create(['name' => '勤労感謝の日', 'nameKana' => 'きんろうかんしゃのひ', 'nameEng' => 'Labour Thanksgiving Day', 'holiday_date' => '2020-11-23']);
// 2021
JapanHoliday::create(['name' => '元日', 'nameKana' => 'がんじつ', 'nameEng' => 'New Year\'s Day', 'holiday_date' => '2021-01-01']);
JapanHoliday::create(['name' => '成人の日', 'nameKana' => 'せいじんのひ', 'nameEng' => 'Coming of Age Day', 'holiday_date' => '2021-01-11']);
JapanHoliday::create(['name' => '建国記念日', 'nameKana' => 'けんこくきねんび', 'nameEng' => 'National Foundation Day', 'holiday_date' => '2021-02-11']);
JapanHoliday::create(['name' => '天皇誕生日', 'nameKana' => 'てんのうたんじょうび', 'nameEng' => 'Emperor\'s Birthday', 'holiday_date' => '2021-02-23']);
JapanHoliday::create(['name' => '春分の日', 'nameKana' => 'しゅんぶんのひ', 'nameEng' => 'Spring Equinox Day', 'holiday_date' => '2021-03-20']);
JapanHoliday::create(['name' => '昭和の日', 'nameKana' => 'しょうわのひ', 'nameEng' => 'Showa Day', 'holiday_date' => '2021-04-29']);
JapanHoliday::create(['name' => '憲法記念日', 'nameKana' => 'けんぽうきねんび', 'nameEng' => 'Constitution Memorial Day', 'holiday_date' => '2021-05-03']);
JapanHoliday::create(['name' => 'みどりの日', 'nameKana' => 'みどりのひ', 'nameEng' => 'Green Day', 'holiday_date' => '2021-05-04']);
JapanHoliday::create(['name' => 'こどもの日', 'nameKana' => 'こどものひ', 'nameEng' => 'Children\'s Day', 'holiday_date' => '2021-05-05']);
JapanHoliday::create(['name' => '海の日', 'nameKana' => 'うみのひ', 'nameEng' => 'Sea Day', 'holiday_date' => '2021-07-22']);
JapanHoliday::create(['name' => 'スポーツの日', 'nameKana' => 'すぽーつのひ', 'nameEng' => 'Sports Day', 'holiday_date' => '2021-07-23']);
JapanHoliday::create(['name' => '山の日', 'nameKana' => 'やまのひ', 'nameEng' => 'Mountain Day', 'holiday_date' => '2021-08-08']);
JapanHoliday::create(['name' => '敬老の日', 'nameKana' => 'けいろうのひ', 'nameEng' => 'Respect for the Aged Day', 'holiday_date' => '2021-09-20']);
JapanHoliday::create(['name' => '秋分の日', 'nameKana' => 'しゅうぶんのひ', 'nameEng' => 'Autumnal Equinox Day', 'holiday_date' => '2021-09-23']);
JapanHoliday::create(['name' => '文化の日', 'nameKana' => 'ぶんかのひ', 'nameEng' => 'Culture Day', 'holiday_date' => '2021-11-03']);
JapanHoliday::create(['name' => '勤労感謝の日', 'nameKana' => 'きんろうかんしゃのひ', 'nameEng' => 'Labour Thanksgiving Day', 'holiday_date' => '2021-11-23']);
// 2022
JapanHoliday::create(['name' => '元日', 'nameKana' => 'がんじつ', 'nameEng' => 'New Year\'s Day', 'holiday_date' => '2022-01-01']);
JapanHoliday::create(['name' => '成人の日', 'nameKana' => 'せいじんのひ', 'nameEng' => 'Coming of Age Day', 'holiday_date' => '2022-01-10']);
JapanHoliday::create(['name' => '建国記念日', 'nameKana' => 'けんこくきねんび', 'nameEng' => 'National Foundation Day', 'holiday_date' => '2022-02-11']);
JapanHoliday::create(['name' => '天皇誕生日', 'nameKana' => 'てんのうたんじょうび', 'nameEng' => 'Emperor\'s Birthday', 'holiday_date' => '2022-02-23']);
JapanHoliday::create(['name' => '春分の日', 'nameKana' => 'しゅんぶんのひ', 'nameEng' => 'Spring Equinox Day', 'holiday_date' => '2022-03-21']);
JapanHoliday::create(['name' => '昭和の日', 'nameKana' => 'しょうわのひ', 'nameEng' => 'Showa Day', 'holiday_date' => '2022-04-29']);
JapanHoliday::create(['name' => '憲法記念日', 'nameKana' => 'けんぽうきねんび', 'nameEng' => 'Constitution Memorial Day', 'holiday_date' => '2022-05-03']);
JapanHoliday::create(['name' => 'みどりの日', 'nameKana' => 'みどりのひ', 'nameEng' => 'Green Day', 'holiday_date' => '2022-05-04']);
JapanHoliday::create(['name' => 'こどもの日', 'nameKana' => 'こどものひ', 'nameEng' => 'Children\'s Day', 'holiday_date' => '2022-05-05']);
JapanHoliday::create(['name' => '海の日', 'nameKana' => 'うみのひ', 'nameEng' => 'Sea Day', 'holiday_date' => '2022-07-18']);
JapanHoliday::create(['name' => '山の日', 'nameKana' => 'やまのひ', 'nameEng' => 'Mountain Day', 'holiday_date' => '2022-08-11']);
JapanHoliday::create(['name' => '敬老の日', 'nameKana' => 'けいろうのひ', 'nameEng' => 'Respect for the Aged Day', 'holiday_date' => '2022-09-19']);
JapanHoliday::create(['name' => '秋分の日', 'nameKana' => 'しゅうぶんのひ', 'nameEng' => 'Autumnal Equinox Day', 'holiday_date' => '2022-09-23']);
JapanHoliday::create(['name' => 'スポーツの日', 'nameKana' => 'すぽーつのひ', 'nameEng' => 'Sports Day', 'holiday_date' => '2022-10-10']);
JapanHoliday::create(['name' => '文化の日', 'nameKana' => 'ぶんかのひ', 'nameEng' => 'Culture Day', 'holiday_date' => '2022-11-03']);
JapanHoliday::create(['name' => '勤労感謝の日', 'nameKana' => 'きんろうかんしゃのひ', 'nameEng' => 'Labour Thanksgiving Day', 'holiday_date' => '2022-11-23']);
}
}

16
database/seeds/JapanIslandSeeder.php ノーマルファイル
ファイルの表示

@ -0,0 +1,16 @@
<?php
namespace Database\Seeders;
use App\Models\JapanIsland;
use Illuminate\Database\Seeder;
class JapanIslandSeeder extends Seeder {
public function run () {
JapanIsland::create(['name' => '北海道', 'nameKana' => 'ほっかいどう', 'nameEng' => 'Hokkaido']);
JapanIsland::create(['name' => '本州', 'nameKana' => 'ほんしゅう', 'nameEng' => 'Honshu']);
JapanIsland::create(['name' => '四国', 'nameKana' => 'しこく', 'nameEng' => 'Shikoku']);
JapanIsland::create(['name' => '九州', 'nameKana' => 'きゅうしゅう', 'nameEng' => 'Kyushu']);
JapanIsland::create(['name' => '沖縄', 'nameKana' => 'おきなわ', 'nameEng' => 'Okinawa']);
}
}

58
database/seeds/JapanPrefectureSeeder.php ノーマルファイル
ファイルの表示

@ -0,0 +1,58 @@
<?php
namespace Database\Seeders;
use App\Models\JapanPrefecture;
use Illuminate\Database\Seeder;
class JapanPrefectureSeeder extends Seeder {
public function run () {
JapanPrefecture::create(['region_id' => 1, 'capital' => 378, 'name' => '北海道', 'nameKana' => 'ほっかいどう', 'nameEng' => 'Hokkaido']);
JapanPrefecture::create(['region_id' => 2, 'capital' => 379, 'name' => '青森県', 'nameKana' => 'あおもりけん', 'nameEng' => 'Aomori']);
JapanPrefecture::create(['region_id' => 2, 'capital' => 380, 'name' => '岩手県', 'nameKana' => 'いわてけん', 'nameEng' => 'Iwate']);
JapanPrefecture::create(['region_id' => 2, 'capital' => 381, 'name' => '宮城県', 'nameKana' => 'みやぎけん', 'nameEng' => 'Miyagi']);
JapanPrefecture::create(['region_id' => 2, 'capital' => 382, 'name' => '秋田県', 'nameKana' => 'あきたけん', 'nameEng' => 'Akita']);
JapanPrefecture::create(['region_id' => 2, 'capital' => 383, 'name' => '山形県', 'nameKana' => 'やまがたけん', 'nameEng' => 'Yamagata']);
JapanPrefecture::create(['region_id' => 2, 'capital' => 384, 'name' => '福島県', 'nameKana' => 'ふくしまけん', 'nameEng' => 'Fukushima']);
JapanPrefecture::create(['region_id' => 3, 'capital' => 101, 'name' => '茨城県', 'nameKana' => 'いばらきけん', 'nameEng' => 'Ibaraki']);
JapanPrefecture::create(['region_id' => 3, 'capital' => 7, 'name' => '栃木県', 'nameKana' => 'とちぎけん', 'nameEng' => 'Tochigi']);
JapanPrefecture::create(['region_id' => 3, 'capital' => 65, 'name' => '群馬県', 'nameKana' => 'ぐんまけん', 'nameEng' => 'Gunma']);
JapanPrefecture::create(['region_id' => 3, 'capital' => 315, 'name' => '埼玉県', 'nameKana' => 'さいたまけん', 'nameEng' => 'Saitama']);
JapanPrefecture::create(['region_id' => 3, 'capital' => 138, 'name' => '千葉県', 'nameKana' => 'ちばけん', 'nameEng' => 'Chiba']);
JapanPrefecture::create(['region_id' => 3, 'capital' => 191, 'name' => '東京都', 'nameKana' => 'とうきょうと', 'nameEng' => 'Tokyo']);
JapanPrefecture::create(['region_id' => 3, 'capital' => 26, 'name' => '神奈川県', 'nameKana' => 'かながわけん', 'nameEng' => 'Kanagawa']);
JapanPrefecture::create(['region_id' => 4, 'capital' => 385, 'name' => '新潟県', 'nameKana' => 'にいがたけん', 'nameEng' => 'Niigata']);
JapanPrefecture::create(['region_id' => 4, 'capital' => 386, 'name' => '富山県', 'nameKana' => 'とやまけん', 'nameEng' => 'Toyama']);
JapanPrefecture::create(['region_id' => 4, 'capital' => 387, 'name' => '石川県', 'nameKana' => 'いしかわけん', 'nameEng' => 'Ishikawa']);
JapanPrefecture::create(['region_id' => 4, 'capital' => 388, 'name' => '福井県', 'nameKana' => 'ふくいけん', 'nameEng' => 'Fukui']);
JapanPrefecture::create(['region_id' => 4, 'capital' => 389, 'name' => '山梨県', 'nameKana' => 'やまなしけん', 'nameEng' => 'Yamanashi']);
JapanPrefecture::create(['region_id' => 4, 'capital' => 390, 'name' => '長野県', 'nameKana' => 'ながのけん', 'nameEng' => 'Nagano']);
JapanPrefecture::create(['region_id' => 4, 'capital' => 391, 'name' => '岐阜県', 'nameKana' => 'ぎふけん', 'nameEng' => 'Gifu']);
JapanPrefecture::create(['region_id' => 4, 'capital' => 392, 'name' => '静岡県', 'nameKana' => 'しずおかけん', 'nameEng' => 'Shizuoka']);
JapanPrefecture::create(['region_id' => 4, 'capital' => 393, 'name' => '愛知県', 'nameKana' => 'あいちけん', 'nameEng' => 'Aichi']);
JapanPrefecture::create(['region_id' => 5, 'capital' => 394, 'name' => '三重県', 'nameKana' => 'みえけん', 'nameEng' => 'Mie']);
JapanPrefecture::create(['region_id' => 5, 'capital' => 395, 'name' => '滋賀県', 'nameKana' => 'しがけん', 'nameEng' => 'Shiga']);
JapanPrefecture::create(['region_id' => 5, 'capital' => 396, 'name' => '京都府', 'nameKana' => 'きょうとふ', 'nameEng' => 'Kyoto']);
JapanPrefecture::create(['region_id' => 5, 'capital' => 397, 'name' => '大阪府', 'nameKana' => 'おおさかふ', 'nameEng' => 'Osaka']);
JapanPrefecture::create(['region_id' => 5, 'capital' => 398, 'name' => '兵庫県', 'nameKana' => 'ひょうごけん', 'nameEng' => 'Hyogo']);
JapanPrefecture::create(['region_id' => 5, 'capital' => 399, 'name' => '奈良県', 'nameKana' => 'ならけん', 'nameEng' => 'Nara']);
JapanPrefecture::create(['region_id' => 5, 'capital' => 400, 'name' => '和歌山県', 'nameKana' => 'わかやまけん', 'nameEng' => 'Wakayama']);
JapanPrefecture::create(['region_id' => 6, 'capital' => 401, 'name' => '鳥取県', 'nameKana' => 'とっとりけん', 'nameEng' => 'Tottori']);
JapanPrefecture::create(['region_id' => 6, 'capital' => 402, 'name' => '島根県', 'nameKana' => 'しまねけん', 'nameEng' => 'Shimane']);
JapanPrefecture::create(['region_id' => 6, 'capital' => 403, 'name' => '岡山県', 'nameKana' => 'おかやまけん', 'nameEng' => 'Okayama']);
JapanPrefecture::create(['region_id' => 6, 'capital' => 404, 'name' => '広島県', 'nameKana' => 'ひろしまけん', 'nameEng' => 'Hiroshima']);
JapanPrefecture::create(['region_id' => 6, 'capital' => 405, 'name' => '山口県', 'nameKana' => 'やまぐちけん', 'nameEng' => 'Yamaguchi']);
JapanPrefecture::create(['region_id' => 7, 'capital' => 406, 'name' => '徳島県', 'nameKana' => 'とくしまけん', 'nameEng' => 'Tokushima']);
JapanPrefecture::create(['region_id' => 7, 'capital' => 407, 'name' => '香川県', 'nameKana' => 'かがわけん', 'nameEng' => 'Kagawa']);
JapanPrefecture::create(['region_id' => 7, 'capital' => 408, 'name' => '愛媛県', 'nameKana' => 'えひめけん', 'nameEng' => 'Ehime']);
JapanPrefecture::create(['region_id' => 7, 'capital' => 409, 'name' => '高知県', 'nameKana' => 'こうちけん', 'nameEng' => 'Kochi']);
JapanPrefecture::create(['region_id' => 8, 'capital' => 410, 'name' => '福岡県', 'nameKana' => 'ふくおかけん', 'nameEng' => 'Fukuoka']);
JapanPrefecture::create(['region_id' => 8, 'capital' => 411, 'name' => '佐賀県', 'nameKana' => 'さがけん', 'nameEng' => 'Saga']);
JapanPrefecture::create(['region_id' => 8, 'capital' => 412, 'name' => '長崎県', 'nameKana' => 'ながさきけん', 'nameEng' => 'Nagasaki']);
JapanPrefecture::create(['region_id' => 8, 'capital' => 413, 'name' => '熊本県', 'nameKana' => 'くまもとけん', 'nameEng' => 'Kumamoto']);
JapanPrefecture::create(['region_id' => 8, 'capital' => 414, 'name' => '大分県', 'nameKana' => 'おおいたけん', 'nameEng' => 'Oita']);
JapanPrefecture::create(['region_id' => 8, 'capital' => 415, 'name' => '宮崎県', 'nameKana' => 'みやざきけん', 'nameEng' => 'Miyazaki']);
JapanPrefecture::create(['region_id' => 8, 'capital' => 416, 'name' => '鹿児島県', 'nameKana' => 'かごしまけん', 'nameEng' => 'Kagoshima']);
JapanPrefecture::create(['region_id' => 9, 'capital' => 417, 'name' => '沖縄県', 'nameKana' => 'おきなわけん', 'nameEng' => 'Okinawa']);
}
}

20
database/seeds/JapanRegionSeeder.php ノーマルファイル
ファイルの表示

@ -0,0 +1,20 @@
<?php
namespace Database\Seeders;
use App\Models\JapanRegion;
use Illuminate\Database\Seeder;
class JapanRegionSeeder extends Seeder {
public function run () {
JapanRegion::create(['island_id' => 1, 'name' => '北海道', 'nameKana' => 'ほっかいどう', 'nameEng' => 'Hokkaido']);
JapanRegion::create(['island_id' => 2, 'name' => '東北', 'nameKana' => 'とうほく', 'nameEng' => 'Tohoku']);
JapanRegion::create(['island_id' => 2, 'name' => '関東', 'nameKana' => 'かんとう', 'nameEng' => 'Kanto']);
JapanRegion::create(['island_id' => 2, 'name' => '中部', 'nameKana' => 'ちゅうぶ', 'nameEng' => 'Chubu']);
JapanRegion::create(['island_id' => 2, 'name' => '関西', 'nameAlt' => '近畿', 'nameKana' => 'かんさい', 'nameKanaAlt' => 'きんき', 'nameEng' => 'Kansai', 'nameEngAlt' => 'Kinki']);
JapanRegion::create(['island_id' => 2, 'name' => '中国', 'nameKana' => 'ちゅうごく', 'nameEng' => 'Chugoku']);
JapanRegion::create(['island_id' => 3, 'name' => '四国', 'nameKana' => 'しこく', 'nameEng' => 'Shikoku']);
JapanRegion::create(['island_id' => 4, 'name' => '九州', 'nameKana' => 'きゅうしゅう', 'nameEng' => 'Kyushu']);
JapanRegion::create(['island_id' => 5, 'name' => '沖縄', 'nameKana' => 'おきなわ', 'nameEng' => 'Okinawa']);
}
}

15
database/seeds/UserSeeder.php ノーマルファイル
ファイルの表示

@ -0,0 +1,15 @@
<?php
namespace Database\Seeders;
use App\Models\User;
use Illuminate\Database\Seeder;
use Illuminate\Support\Facades\Hash;
class UserSeeder extends Seeder {
public function run () {
User::create(['username' => env('OWNER_NAME'), 'password' => Hash::make(env('OWNER_PASS'))]);
if (env('HAS_ADMIN')) User::create(['username' => env('ADMIN_NAME'), 'password' => Hash::make(env('ADMIN_PASS'))]);
if (env('ENABLE_REGISTER')) User::factory()->count(10)->create();
}
}

16
database/seeds/VideoCategorySeeder.php ノーマルファイル
ファイルの表示

@ -0,0 +1,16 @@
<?php
use Illuminate\Database\Seeder;
class VideoCategorySeeder extends Seeder
{
/**
* Run the database seeds.
*
* @return void
*/
public function run()
{
//
}
}

変更されたファイルが多すぎるため、一部のファイルは表示されません さらに表示