Vueをほとんど使わないようにする
このコミットが含まれているのは:
コミット
8676e0fe1d
|
@ -1,7 +1,7 @@
|
|||
/node_modules
|
||||
/public/hot
|
||||
/public/js
|
||||
/public/css
|
||||
/public/css.old
|
||||
/public/js.old
|
||||
/public/storage
|
||||
/public/assets/avatars
|
||||
/public/assets/board
|
||||
|
|
|
@ -1,533 +0,0 @@
|
|||
<?php
|
||||
|
||||
namespace App\Http\Controllers;
|
||||
|
||||
use Illuminate\Http\Request;
|
||||
use Illuminate\Contracts\Routing\ResponseFactory;
|
||||
use App\User;
|
||||
use Validator;
|
||||
use DB, Hash, Mail, Illuminate\Support\Facades\Password;
|
||||
|
||||
use App\Http\Controllers\PermissionController;
|
||||
use Illuminate\Support\Facades\Log;
|
||||
|
||||
class AuthController extends Controller {
|
||||
private $objPermission;
|
||||
|
||||
public function __construct() {
|
||||
$this->objPermission = new PermissionController();
|
||||
}
|
||||
|
||||
public function checkSelf(Request $r) { // /api/auth/checkself
|
||||
$check = checkLegit($r->kero_token);
|
||||
return array($check);
|
||||
}
|
||||
|
||||
public function getPerms(Request $r) { // /api/auth/getpermissions
|
||||
$check = $this->getPermissions($r->kero_token);
|
||||
|
||||
return array($check);
|
||||
}
|
||||
|
||||
public function getPermissions($token) {
|
||||
$check = checkLegit($token);
|
||||
|
||||
$perm = DB::table('usr_perm_id')
|
||||
->select('perm_id')
|
||||
->where('user_id', $check)
|
||||
->first();
|
||||
|
||||
$perm = json_decode(json_encode($perm), true);
|
||||
|
||||
// Does the user ID exist? Grand the appropriate rights. Otherwise, use guest.
|
||||
if ($check != 0) {
|
||||
// Page permissions.
|
||||
$grouppermblg = $this->objPermission->getPermissionGroup('blg', $perm['perm_id']);
|
||||
$userpermblg = $this->objPermission->getPermissionUser('blg', $check);
|
||||
|
||||
// Board permissions.
|
||||
$grouppermfor = $this->objPermission->getPermissionGroup('for', $perm['perm_id']);
|
||||
$userpermfor = $this->objPermission->getPermissionUser('for', $check);
|
||||
|
||||
// Store permissions.
|
||||
$grouppermstr = $this->objPermission->getPermissionGroup('str', $perm['perm_id']);
|
||||
$userpermstr = $this->objPermission->getPermissionUser('str', $check);
|
||||
|
||||
// User permissions.
|
||||
$grouppermusr = $this->objPermission->getPermissionGroup('usr', $perm['perm_id']);
|
||||
$userpermusr = $this->objPermission->getPermissionUser('usr', $check);
|
||||
|
||||
// Image permissions.
|
||||
$grouppermimg = $this->objPermission->getPermissionGroup('img', $perm['perm_id']);
|
||||
$userpermimg = $this->objPermission->getPermissionUser('img', $check);
|
||||
|
||||
// Invoice permissions.
|
||||
$groupperminv = $this->objPermission->getPermissionGroup('inv', $perm['perm_id']);
|
||||
$userperminv = $this->objPermission->getPermissionUser('inv', $check);
|
||||
|
||||
// Now provide an array of user overwritten permissions if it exists. Otherwise, give its group permissions.
|
||||
$blgarr = array();
|
||||
$forarr = array();
|
||||
$strarr = array();
|
||||
$usrarr = array();
|
||||
$imgarr = array();
|
||||
$invarr = array();
|
||||
|
||||
if (!empty($userpermblg[0])) {
|
||||
$blgarr = (array)$userpermblg[0];
|
||||
}
|
||||
else {
|
||||
$blgarr = (array)$grouppermblg[0];
|
||||
}
|
||||
|
||||
$blgarr = array_combine(
|
||||
array_map(function($k){ return 'blg_'.$k; }, array_keys($blgarr)),
|
||||
$blgarr
|
||||
);
|
||||
|
||||
if (!empty($userpermfor[0])) {
|
||||
$forarr = (array)$userpermfor[0];
|
||||
}
|
||||
else {
|
||||
$forarr = (array)$grouppermfor[0];
|
||||
}
|
||||
|
||||
$forarr = array_combine(
|
||||
array_map(function($k){ return 'for_'.$k; }, array_keys($forarr)),
|
||||
$forarr
|
||||
);
|
||||
|
||||
if (!empty($userpermstr[0])) {
|
||||
$strarr = (array)$userpermstr[0];
|
||||
}
|
||||
else {
|
||||
$strarr = (array)$grouppermstr[0];
|
||||
}
|
||||
|
||||
$strarr = array_combine(
|
||||
array_map(function($k){ return 'str_'.$k; }, array_keys($strarr)),
|
||||
$strarr
|
||||
);
|
||||
|
||||
if (!empty($userpermusr[0])) {
|
||||
$usrarr = (array)$userpermusr[0];
|
||||
}
|
||||
else {
|
||||
$usrarr = (array)$grouppermusr[0];
|
||||
}
|
||||
|
||||
$usrarr = array_combine(
|
||||
array_map(function($k){ return 'usr_'.$k; }, array_keys($usrarr)),
|
||||
$usrarr
|
||||
);
|
||||
|
||||
if (!empty($userperminv[0])) {
|
||||
$invarr = (array)$userperminv[0];
|
||||
}
|
||||
else {
|
||||
$invarr = (array)$groupperminv[0];
|
||||
}
|
||||
|
||||
$invarr = array_combine(
|
||||
array_map(function($k){ return 'inv_'.$k; }, array_keys($invarr)),
|
||||
$invarr
|
||||
);
|
||||
|
||||
if (!empty($userpermimg[0])) {
|
||||
$imgarr = (array)$userpermimg[0];
|
||||
}
|
||||
else {
|
||||
$imgarr = (array)$grouppermimg[0];
|
||||
}
|
||||
|
||||
$merge = array();
|
||||
$merge1 = array();
|
||||
$merge2 = array();
|
||||
$merge3 = array();
|
||||
$merge4 = array();
|
||||
|
||||
$merge1 = array_merge($blgarr, $forarr);
|
||||
$merge2 = array_merge($strarr, $usrarr);
|
||||
$merge3 = array_merge($merge1, $merge2);
|
||||
$merge4 = array_merge($merge3, $invarr);
|
||||
|
||||
$merge = array_merge($merge4, $imgarr);
|
||||
|
||||
return $merge;
|
||||
}
|
||||
else {
|
||||
// Page permissions.
|
||||
$grouppermblg = $this->objPermission->getPermissionGroup('blg', 6);
|
||||
|
||||
// Forum permissions.
|
||||
$grouppermfor = $this->objPermission->getPermissionGroup('for', 6);
|
||||
|
||||
// Store permissions.
|
||||
$grouppermstr = $this->objPermission->getPermissionGroup('str', 6);
|
||||
|
||||
// User permissions.
|
||||
$grouppermusr = $this->objPermission->getPermissionGroup('usr', 6);
|
||||
|
||||
// Image permissions.
|
||||
$grouppermimg = $this->objPermission->getPermissionGroup('img', 6);
|
||||
|
||||
// Invoice permissions.
|
||||
$groupperminv = $this->objPermission->getPermissionGroup('inv', 6);
|
||||
|
||||
// Since guests don't have user overwritten permissions, simply return the group permissions.
|
||||
(array)$grouppermblg[0] = array_combine(
|
||||
array_map(function($k){ return 'blg_'.$k; }, array_keys((array)$grouppermblg[0])),
|
||||
(array)$grouppermblg[0]
|
||||
);
|
||||
|
||||
(array)$grouppermfor[0] = array_combine(
|
||||
array_map(function($k){ return 'for_'.$k; }, array_keys((array)$grouppermfor[0])),
|
||||
(array)$grouppermfor[0]
|
||||
);
|
||||
|
||||
(array)$grouppermstr[0] = array_combine(
|
||||
array_map(function($k){ return 'str_'.$k; }, array_keys((array)$grouppermstr[0])),
|
||||
(array)$grouppermstr[0]
|
||||
);
|
||||
|
||||
(array)$grouppermusr[0] = array_combine(
|
||||
array_map(function($k){ return 'usr_'.$k; }, array_keys((array)$grouppermusr[0])),
|
||||
(array)$grouppermusr[0]
|
||||
);
|
||||
|
||||
(array)$grouppermimg[0] = array_combine(
|
||||
array_map(function($k){ return 'img_'.$k; }, array_keys((array)$grouppermimg[0])),
|
||||
(array)$grouppermimg[0]
|
||||
);
|
||||
|
||||
(array)$groupperminv[0] = array_combine(
|
||||
array_map(function($k){ return 'inv_'.$k; }, array_keys((array)$groupperminv[0])),
|
||||
(array)$groupperminv[0]
|
||||
);
|
||||
|
||||
$merge = array();
|
||||
$merge1 = array();
|
||||
$merge2 = array();
|
||||
$merge3 = array();
|
||||
$merge4 = array();
|
||||
|
||||
$merge1 = array_merge((array)$grouppermblg[0], (array)$grouppermfor[0]);
|
||||
$merge2 = array_merge((array)$grouppermstr[0], (array)$grouppermusr[0]);
|
||||
$merge3 = array_merge($merge1, $merge2);
|
||||
$merge4 = array_merge($merge3, (array)$groupperminv[0]);
|
||||
|
||||
$merge = array_merge($merge4, (array)$grouppermimg[0]);
|
||||
|
||||
return $merge;
|
||||
}
|
||||
}
|
||||
|
||||
public function register (Request $r) {
|
||||
$ip = $_SERVER['REMOTE_ADDR'];
|
||||
|
||||
if (!empty($r)) {
|
||||
$existUser = DB::table('users')->select('id')->where('username', $r->username)->count();
|
||||
if ($existUser != 0) return array('err' => 'ユーザ名は既に登録しています。');
|
||||
if (empty($r->username)) return array('err' => 'ユーザ名は空です。');
|
||||
if (preg_match("/^[a-zA-Z0-9]+$/", $r->username) == 0) return array('err' => '英文字ばかりご入力下さい。');
|
||||
if (empty($r->password)) return array('err' => 'パスワードは空です。');
|
||||
if (empty($r->password_check)) return array('err' => 'パスワード(確認)は空です。');
|
||||
if (strlen($r->password) < 8) return array('err' => 'パスワードは8文以上をご入力下さい。');
|
||||
if ($r->password != $r->password_check) return array('err' => 'パスワードとパスワード(確認)は違います。');
|
||||
$existEmail = DB::table('users')->select('id')->where('email', $r->email)->count();
|
||||
if ($existEmail != 0) return array('err' => 'メールアドレスは既に登録しています。');
|
||||
if (empty($r->email)) return array('err' => 'メールアドレスは空です。');
|
||||
if (!filter_var($r->email, FILTER_VALIDATE_EMAIL)) return array('err' => 'メールアドレスを正しくご入力下さい。');
|
||||
|
||||
$salt = dechex(mt_rand(0, 2147483647)) . dechex(mt_rand(0, 2147483647));
|
||||
$passwd = hash('sha256', $r->password . $salt);
|
||||
|
||||
for ($round = 0; $round < 65536; $round++) { $passwd = hash('sha256', $passwd . $salt); }
|
||||
|
||||
$addUser = DB::table('users')
|
||||
->insertGetId([
|
||||
'username' => $r->username,
|
||||
'email' => $r->email,
|
||||
'password' => $passwd,
|
||||
'salt' => $salt,
|
||||
'remember_token' => '',
|
||||
'kero_token' => $this->makeToken()
|
||||
]);
|
||||
|
||||
DB::table('usr_details')
|
||||
->insert([
|
||||
'user_id' => $addUser,
|
||||
'total_posts' => 0,
|
||||
'total_threads' => 0,
|
||||
'reg_date' => time(),
|
||||
'last_post_date' => 0,
|
||||
'last_post_location' => 0,
|
||||
'ontime' => 0,
|
||||
'strikes' => 0
|
||||
]);
|
||||
|
||||
DB::table('usr_contacts')
|
||||
->insert([
|
||||
'user_id' => $addUser,
|
||||
'website_link' => '',
|
||||
'website_name' => '',
|
||||
'youtube_link' => '',
|
||||
'youtube_name' => '',
|
||||
'bitchute' => '',
|
||||
'niconico' => '',
|
||||
'pixiv' => '',
|
||||
'discord' => '',
|
||||
'mastodon' => '',
|
||||
'twitter' => '',
|
||||
'facebook' => '',
|
||||
'instagram' => ''
|
||||
]);
|
||||
|
||||
DB::table('usr_profile')
|
||||
->insert([
|
||||
'user_id' => $addUser,
|
||||
'gender' => ($r->gender ? $r->gender : 0),
|
||||
'member_title' => '',
|
||||
'website_address' => '',
|
||||
'website_name' => '',
|
||||
'location' => '',
|
||||
'birthday' => 0,
|
||||
'bio' => '',
|
||||
'ip_address' => $ip,
|
||||
'avatar' => '',
|
||||
'ostatus' => 1,
|
||||
'header' => '',
|
||||
'footer' => '',
|
||||
'post_style' => '',
|
||||
'signature' => '',
|
||||
'name_style' => '',
|
||||
'display_name' => '',
|
||||
'yt_channel' => '',
|
||||
'country' => ($r->country ? $r->country : 'Japan'),
|
||||
'date_format' => '',
|
||||
'isClock24' => 1,
|
||||
'isShowSeconds' => 1,
|
||||
'isShowTimezone' => 1
|
||||
]);
|
||||
|
||||
DB::table('usr_perm_id')
|
||||
->insert([
|
||||
'user_id' => $addUser,
|
||||
'perm_id' => 4,
|
||||
'usr_per_id' => 4,
|
||||
'img_per_id' => 4,
|
||||
'blg_per_id' => 4,
|
||||
'for_per_id' => 4,
|
||||
'sbx_per_id' => 4,
|
||||
'str_per_id' => 4,
|
||||
'doc_per_id' => 4,
|
||||
'odb_per_id' => 4,
|
||||
'inv_per_id' => 4,
|
||||
]);
|
||||
|
||||
$checkName = DB::table('users')->select('kero_token')->where('id', $addUser)->first();
|
||||
|
||||
setcookie('kero_token', $checkName->kero_token, time()+157788000, '/', $_SERVER['HTTP_HOST'], 0, 1);
|
||||
return $this->login($r);
|
||||
|
||||
//return array('1');
|
||||
}
|
||||
|
||||
return array();
|
||||
}
|
||||
|
||||
public function login (Request $r) {
|
||||
if (!empty($r)) {
|
||||
$checkName = DB::table('users')->where('username', $r->username)->first();
|
||||
|
||||
if ($checkName) {
|
||||
// $checkName = json_decode(json_encode($checkName), true);
|
||||
$checkPass = hash('sha256', $r->password . $checkName->salt);
|
||||
|
||||
for ($round = 0; $round < 65536; $round++) {
|
||||
$checkPass = hash('sha256', $checkPass . $checkName->salt);
|
||||
}
|
||||
|
||||
if (hash_equals($checkPass, $checkName->password)) {
|
||||
if (!$checkName->kero_token) {
|
||||
$checkName->kero_token = $this->makeToken();
|
||||
DB::table('users')->where('id', $checkName->id)->update(['kero_token' => $checkName->kero_token]);
|
||||
}
|
||||
|
||||
setcookie('kero_token', $checkName->kero_token, time()+157788000, '/', $_SERVER['HTTP_HOST'], 0, 1);
|
||||
return array('uid' => $checkName->id, 'kero_token' => $checkName->kero_token);
|
||||
}
|
||||
}
|
||||
return array('err' => 'ユーザ名又はパスワードを間違いました。');
|
||||
}
|
||||
|
||||
return array('err' => 'フォームは空です。');
|
||||
}
|
||||
|
||||
function makeToken() {
|
||||
$c = '0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ$!%&()';
|
||||
$clen = strlen($c);
|
||||
$token = '';
|
||||
|
||||
for ($i = 0; $i < 128; $i++) {
|
||||
$token .= $c[rand(0, $clen - 1)];
|
||||
}
|
||||
|
||||
return $token;
|
||||
}
|
||||
|
||||
function CheckEmail($email) {
|
||||
$get = DB::table('users')
|
||||
->where('email', $email)
|
||||
->count();
|
||||
|
||||
if ($get == 0) return 0;
|
||||
else return 1;
|
||||
}
|
||||
|
||||
public function SendReset(Request $r) {
|
||||
$exist = $this->CheckEmail($r->email);
|
||||
|
||||
if ($exist == 0) {
|
||||
return 0;
|
||||
}
|
||||
else {
|
||||
$check = DB::table('usr_resets')
|
||||
->select('token')
|
||||
->where('email', $r->email)
|
||||
->count();
|
||||
|
||||
if ($check > 0) {
|
||||
DB::table('usr_resets')
|
||||
->where('email', $r->email)
|
||||
->delete();
|
||||
}
|
||||
|
||||
$token = bin2hex(random_bytes(32));
|
||||
$due = time() + (1 * 24 * 60 * 60);
|
||||
|
||||
DB::table('usr_resets')
|
||||
->insert([
|
||||
'email' => $r->email,
|
||||
'token' => $token,
|
||||
'due_date' => $due
|
||||
]);
|
||||
|
||||
$get = DB::table('usr_resetmails')
|
||||
->select('sender', 'sendname', 'subject', 'message')
|
||||
->first();
|
||||
|
||||
$user = DB::table('users')
|
||||
->select('username')
|
||||
->where('email', $r->email)
|
||||
->first();
|
||||
|
||||
$mess = str_replace('{user}', $user->username, $get->message);
|
||||
$mess2 = str_replace('{link}', $token, $mess);
|
||||
|
||||
$mess2 = mb_convert_encoding($mess2, "ISO-2022-JP", "AUTO");
|
||||
$subj = mb_convert_encoding($get->subject, "ISO-2022-JP", "AUTO");
|
||||
|
||||
$headers = "MIME-Version: 1.0"."\r\n";
|
||||
$headers .= "Content-Type: text/plain; charset=ISO-2022-JP"."\r\n";
|
||||
$headers .= "To: ".$r->email."\r\n";
|
||||
$headers .= "From: ".mb_convert_encoding($get->sendname,"ISO-2022-JP","AUTO")." <".$get->sender.">"."\r\n";
|
||||
|
||||
mb_language("ja");
|
||||
|
||||
$res = mail(
|
||||
$r->email,
|
||||
$subj,
|
||||
$mess2,
|
||||
$headers,
|
||||
"-f".$get->sender
|
||||
);
|
||||
|
||||
return 1;
|
||||
}
|
||||
}
|
||||
|
||||
public function ConfirmReset($token) {
|
||||
$get = DB::table('usr_resets')
|
||||
->select('*')
|
||||
->where('token', $token)
|
||||
->first();
|
||||
|
||||
$within24hour = time() + (1 * 24 * 60 * 60);
|
||||
|
||||
if (empty($get)) {
|
||||
return 0;
|
||||
}
|
||||
else {
|
||||
if ($get->due_date > $within24hour) {
|
||||
return 0;
|
||||
}
|
||||
else {
|
||||
return 1;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
public function PasswordReset(Request $r) {
|
||||
if (empty($r->password)) {
|
||||
return 0;
|
||||
}
|
||||
|
||||
$salt = dechex(mt_rand(0, 2147483647)) . dechex(mt_rand(0, 2147483647));
|
||||
$passwd = hash('sha256', $r->password . $salt);
|
||||
|
||||
for ($round = 0; $round < 65536; $round++) {
|
||||
$passwd = hash('sha256', $passwd . $salt);
|
||||
}
|
||||
|
||||
$res = DB::table('users')
|
||||
->where('email', $r->email)
|
||||
->update([
|
||||
'password' => $passwd,
|
||||
'salt' => $salt
|
||||
]);
|
||||
|
||||
return 1;
|
||||
}
|
||||
|
||||
public function recover(Request $r) {
|
||||
$user = User::where('email', $r->email)->first();
|
||||
|
||||
if (!$user) {
|
||||
$error_message = "Your email address was not found.";
|
||||
return response()->json(['success' => false, 'error' => ['email'=> $error_message]], 401);
|
||||
}
|
||||
try {
|
||||
Password::sendResetLink($r->only('email'), function (Message $message) {
|
||||
$message->subject('Your Password Reset Link');
|
||||
});
|
||||
} catch (\Exception $e) {
|
||||
$error_message = $e->getMessage();
|
||||
return response()->json(['success' => false, 'error' => $error_message], 401);
|
||||
}
|
||||
|
||||
return response()->json([
|
||||
'success' => true, 'data'=> ['message'=> 'A reset email has been sent! Please check your email.']
|
||||
]);
|
||||
}
|
||||
|
||||
public function checkAuth(Request $r) {
|
||||
$get = DB::table('users')
|
||||
->select('id', 'kero_token')
|
||||
->where('kero_token', $r->kero_token)
|
||||
->first();
|
||||
|
||||
$get = json_decode(json_encode($get), true);
|
||||
|
||||
return $get;
|
||||
}
|
||||
|
||||
public function logout () {
|
||||
if (isset($_COOKIE['kero_token'])) {
|
||||
unset($_COOKIE['kero_token']);
|
||||
setcookie('kero_token', '', time() - 3600, '/', $_SERVER['HTTP_HOST'], 0, 1);
|
||||
}
|
||||
|
||||
return redirect('');
|
||||
}
|
||||
}
|
|
@ -0,0 +1,114 @@
|
|||
<?php
|
||||
|
||||
namespace App\Http\Controllers;
|
||||
use Illuminate\Support\Facades\DB;
|
||||
|
||||
class Engine {
|
||||
public $user = 0;
|
||||
public $err = '';
|
||||
public $warn = '';
|
||||
public $info = '';
|
||||
public $suc = '';
|
||||
public $css = array('app', 'logo', 'navbar', 'sidemenu', 'contents', 'scroll', 'badge', 'button', 'check', 'comments', 'form', 'modal', 'pagination', 'select', 'table');
|
||||
|
||||
public function __construct () {
|
||||
$this->err = '';
|
||||
$this->warn = '';
|
||||
$this->info = '';
|
||||
$this->suc = '';
|
||||
|
||||
if (isset($_COOKIE['language'])) app()->setLocale($_COOKIE['language']);
|
||||
$this->id = checkLegit((isset($_COOKIE['kero_token']) ? $_COOKIE['kero_token'] : ''));
|
||||
$this->user = $this->getLoggedUser((isset($_COOKIE['kero_token']) ? $_COOKIE['kero_token'] : ''));
|
||||
|
||||
if ($this->user && $this->user->profile->gender != 0) {
|
||||
$css = $this->css;
|
||||
foreach ($css as $c) {
|
||||
$css[] = $c.'_'.($this->user->profile->gender == 1 ? 'm' : 'f');
|
||||
}
|
||||
$this->css = $css;
|
||||
}
|
||||
}
|
||||
|
||||
function getLoggedUser ($kero) {
|
||||
$check = checkLegit($kero);
|
||||
if ($check == 0) return 0;
|
||||
|
||||
// $cols = getGroupColours();
|
||||
$get = $this->getUser($check);
|
||||
|
||||
return $get;
|
||||
}
|
||||
|
||||
public function getUser ($id) {
|
||||
$get = DB::table('users')->where('id', $id)->first();
|
||||
unset($get->password); unset($get->salt); unset($get->remember_token);
|
||||
$get->profile = DB::table('usr_profile')->where('user_id', $get->id)->first();
|
||||
$get->profile->showname = (!empty($get->profile->display_name) && !is_null($get->profile->display_name) ? $get->profile->display_name : $get->username);
|
||||
$perm_id = DB::table('usr_perm_id')->select('perm_id')->where('user_id', $get->id)->first()->perm_id;
|
||||
$get->perm_module = DB::table('usr_perm_module')->where('usr_perm_id', $perm_id)->first();
|
||||
$get->details = DB::table('usr_details')->where('user_id', $get->id)->first();
|
||||
$get->contacts = DB::table('usr_contacts')->where('user_id', $get->id)->first();
|
||||
$ucol = DB::table('usr_perm_module')->select('id', 'name', 'colour_m', 'colour_f', 'colour_u')->get();
|
||||
|
||||
if (!empty($get->profile->name_style)) $get->profile->name_style = $get->profile->name_style;
|
||||
else {
|
||||
foreach ($ucol as $j3) {
|
||||
if ($j3->id == $perm_id) {
|
||||
if ($get->profile->gender == 1) $get->profile->name_style = $j3->colour_m;
|
||||
else if ($get->profile->gender == 2) $get->profile->name_style = $j3->colour_f;
|
||||
else $get->profile->name_style = $j3->colour_u;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if ($get->profile->gender == 1) $get->profile->gender_name = '男性';
|
||||
else if ($get->profile->gender == 2) $get->profile->gender_name = '女性';
|
||||
else $get->profile->gender_name = '不明';
|
||||
|
||||
$get->perm = $this->getPermissions($get->kero_token);
|
||||
if (empty($get->profile->avatar) || $get->profile->avatar == '') $get->profile->avatar = 'img/noicon.jpg';
|
||||
$get->profile->avatar = '/'.$get->profile->avatar;
|
||||
|
||||
return $get;
|
||||
}
|
||||
|
||||
public function getPermissionGroup($mdl, $id) { return DB::table($mdl.'_permissions')->where('id', $id)->get(); }
|
||||
public function getPermissionUser($mdl, $id) { return DB::table($mdl.'_user_permissions')->where('user_id', $id)->get(); }
|
||||
|
||||
public function getPermissions ($token) {
|
||||
$check = checkLegit($token);
|
||||
$perm = DB::table('usr_perm_id')->select('perm_id')->where('user_id', $check)->first();
|
||||
$perm = json_decode(json_encode($perm), true);
|
||||
|
||||
if ($check != 0) {
|
||||
$grouppermblg = $this->getPermissionGroup('blg', $perm['perm_id']);
|
||||
$userpermblg = $this->getPermissionUser('blg', $check);
|
||||
|
||||
$grouppermusr = $this->getPermissionGroup('usr', $perm['perm_id']);
|
||||
$userpermusr = $this->getPermissionUser('usr', $check);
|
||||
|
||||
$blgarr = array();
|
||||
$usrarr = array();
|
||||
|
||||
if (!empty($userpermblg[0])) $blgarr = (array)$userpermblg[0];
|
||||
else $blgarr = (array)$grouppermblg[0];
|
||||
$blgarr = array_combine(array_map(function($k){ return 'blg_'.$k; }, array_keys($blgarr)), $blgarr);
|
||||
|
||||
if (!empty($userpermusr[0])) $usrarr = (array)$userpermusr[0];
|
||||
else $usrarr = (array)$grouppermusr[0];
|
||||
$usrarr = array_combine(array_map(function($k){ return 'usr_'.$k; }, array_keys($usrarr)), $usrarr);
|
||||
|
||||
return array_merge($blgarr, $usrarr);
|
||||
}
|
||||
else {
|
||||
$grouppermblg = $this->getPermissionGroup('blg', 6);
|
||||
$grouppermusr = $this->getPermissionGroup('usr', 6);
|
||||
|
||||
(array)$grouppermblg[0] = array_combine(array_map(function($k){ return 'blg_'.$k; }, array_keys((array)$grouppermblg[0])), (array)$grouppermblg[0]);
|
||||
(array)$grouppermusr[0] = array_combine(array_map(function($k){ return 'usr_'.$k; }, array_keys((array)$grouppermusr[0])), (array)$grouppermusr[0]);
|
||||
|
||||
return array_merge((array)$grouppermblg[0], (array)$grouppermusr[0]);
|
||||
}
|
||||
}
|
||||
}
|
|
@ -6,27 +6,23 @@ use Illuminate\Http\Request;
|
|||
// use Illuminate\Support\Facades\Log;
|
||||
|
||||
class Comment {
|
||||
public function __construct () {
|
||||
}
|
||||
|
||||
public function add (Request $r) {
|
||||
$com = $r->comment;
|
||||
if ($r->isvideo == 'f') $id = DB::table('blg_content')->select('id')->where('slug', $r->slug)->first()->id;
|
||||
$shadow = DB::table('blg_blacklist')->where('ipaddress', getIp())->first();
|
||||
if ($shadow && !$shadow->isShadow) return array('status' => '0101FF', 'message' => '失礼しますが、あなたはBANされていましたので、コメントを保存できません。');
|
||||
|
||||
$add = DB::table('blg_comments')
|
||||
->insertGetId([
|
||||
'user_id' => ($r->user_id != 0 ?: null),
|
||||
'post_id' => ($r->isvideo == 'f' ? $id : 0),
|
||||
'video_id' => ($r->isvideo == 't' ? $r->slug : ''),
|
||||
'name' => (isset($com['name']) ? $com['name'] : null),
|
||||
'email' => (isset($com['mail']) ? $com['mail'] : null),
|
||||
'message' => $com['text'],
|
||||
'created' => time(),
|
||||
'ipaddress' => getIp(),
|
||||
'isShadow' => ($shadow ? 0 : 1)
|
||||
]);
|
||||
$add = DB::table('blg_comments')->insertGetId([
|
||||
'user_id' => ($r->user_id != 0 ?: null),
|
||||
'post_id' => ($r->isvideo == 'f' ? $id : 0),
|
||||
'video_id' => ($r->isvideo == 't' ? $r->slug : ''),
|
||||
'name' => (isset($com['name']) ? $com['name'] : null),
|
||||
'email' => (isset($com['mail']) ? $com['mail'] : null),
|
||||
'message' => $com['text'],
|
||||
'created' => time(),
|
||||
'ipaddress' => getIp(),
|
||||
'isShadow' => ($shadow ? 0 : 1)
|
||||
]);
|
||||
|
||||
// 返事だったら、メールを送って
|
||||
|
||||
|
@ -45,4 +41,4 @@ class Comment {
|
|||
|
||||
return array('status' => '010100', 'message' => 'OK', 'result' => $res);
|
||||
}
|
||||
}
|
||||
}
|
|
@ -2,28 +2,20 @@
|
|||
|
||||
namespace App\Http\Controllers\Home;
|
||||
use Illuminate\Support\Facades\DB;
|
||||
use App\Http\Controllers\Engine;
|
||||
// use Illuminate\Support\Facades\Log;
|
||||
|
||||
use App\Http\Controllers\UserController;
|
||||
class CommentList extends Engine {
|
||||
private $engine;
|
||||
|
||||
class CommentList {
|
||||
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 __construct () {
|
||||
$this->engine = new Engine();
|
||||
}
|
||||
|
||||
public function index () {
|
||||
if ($this->valid['usr_ban'] != 1) return view('pages.site.notallowed', ['menu' => $this->menu, 'user' => $this->user]);
|
||||
if (getPerms()['usr_ban'] != 1) return view('pages.site.notallowed', ['user' => $this->engine->user]);
|
||||
$get = DB::table('blg_comments')->orderBy('created', 'desc')->paginate(10);
|
||||
setlocale(LC_ALL, 'ja_JP.utf8');
|
||||
$ucol = $this->objUser->getGroupColours();
|
||||
|
||||
foreach ($get as $g) {
|
||||
if (!is_null($g->user_id)) {
|
||||
|
@ -60,7 +52,7 @@ class CommentList {
|
|||
|
||||
if (!empty($g->name_style)) $g->showcol = $g->name_style;
|
||||
else {
|
||||
foreach ($ucol as $j) {
|
||||
foreach (getGroupColours() as $j) {
|
||||
if ($j->id == $g->perm_id) {
|
||||
if ($g->gender == 1) $g->showcol = $j->colour_m;
|
||||
else if ($g->gender == 2) $g->showcol = $j->colour_f;
|
||||
|
@ -87,6 +79,6 @@ class CommentList {
|
|||
$g->created = date('Y年m月d日 H:i:s', $g->created);
|
||||
}
|
||||
|
||||
return view('pages.site.commentlist', ['res' => $get, 'menu' => $this->menu, 'user' => $this->user]);
|
||||
return view('pages.site.commentlist', ['res' => $get, 'user' => $this->engine->user]);
|
||||
}
|
||||
}
|
||||
|
|
|
@ -3,25 +3,24 @@
|
|||
namespace App\Http\Controllers\Home;
|
||||
use Illuminate\Support\Facades\DB;
|
||||
use Illuminate\Http\Request;
|
||||
use App\Http\Controllers\Engine;
|
||||
// use Illuminate\Support\Facades\Log;
|
||||
|
||||
class Content {
|
||||
class Content extends Engine {
|
||||
private $engine;
|
||||
private $valid;
|
||||
private $menu;
|
||||
private $user;
|
||||
|
||||
public function __construct ($v, $m, $u) {
|
||||
$this->valid = $v;
|
||||
$this->menu = $m;
|
||||
$this->user = $u;
|
||||
public function __construct () {
|
||||
$this->engine = new Engine();
|
||||
$this->valid = getPerms();
|
||||
}
|
||||
|
||||
public function add (Request $r) {
|
||||
if ($this->user && ($this->user->perm['blg_addpost'] || $this->user->perm['blg_addpage'])) {
|
||||
if ($this->engine->user && ($this->engine->user->perm['blg_addpost'] || $this->engine->user->perm['blg_addpage'])) {
|
||||
$err = '';
|
||||
$res = '';
|
||||
$frm = array(
|
||||
'user_id' => $this->user->id,
|
||||
'user_id' => $this->engine->user->id,
|
||||
'title' => '',
|
||||
'slug' => '',
|
||||
'public_status' => 0,
|
||||
|
@ -74,7 +73,7 @@ class Content {
|
|||
}
|
||||
|
||||
// エラーがあったら、フォームに戻って。なければ、データベースに保存したり、ページ又はポストへ移転して
|
||||
if (!empty($err)) return view('pages.site.content.add', ['res' => $res, 'menu' => $this->menu, 'user' => $this->user, 'err' => $err, 'frm' => $frm]);
|
||||
if (!empty($err)) return view('pages.site.content.add', ['res' => $res, 'err' => $err, 'frm' => $frm]);
|
||||
else {
|
||||
// データベースに追加できるには、値を修正して
|
||||
$gs = DB::table('blg_content')->select('sortorder')->orderBy('sortorder', 'desc')->first();
|
||||
|
@ -92,15 +91,15 @@ class Content {
|
|||
$frm['publish_date'] = $sav;
|
||||
unset($frm['post_date']);
|
||||
unset($frm['sortorder']);
|
||||
return view('pages.site.content.add', ['res' => $res, 'menu' => $this->menu, 'user' => $this->user, 'err' => $err, 'frm' => $res['err']]);
|
||||
return view('pages.site.content.add', ['res' => $res, 'err' => $err, 'frm' => $res['err']]);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
return view('pages.site.content.add', ['res' => $res, 'menu' => $this->menu, 'user' => $this->user, 'err' => $err, 'frm' => $frm]);
|
||||
return view('pages.site.content.add', ['res' => $res, 'err' => $err, 'frm' => $frm]);
|
||||
}
|
||||
|
||||
return view('pages.site.notallowed', ['menu' => $this->menu, 'user' => $this->user]);
|
||||
return view('pages.site.notallowed');
|
||||
}
|
||||
|
||||
public function delete (Request $r) {
|
||||
|
@ -113,9 +112,9 @@ class Content {
|
|||
}
|
||||
|
||||
public function edit (Request $r) {
|
||||
if ($this->user && ($this->user->perm['blg_editpost'] || $this->user->perm['blg_editpage'])) {
|
||||
if ($this->engine->user && ($this->engine->user->perm['blg_editpost'] || $this->engine->user->perm['blg_editpage'])) {
|
||||
$frm = DB::table('blg_content')->where('slug', $r->slug)->first();
|
||||
if (!$frm) return view('pages.site.notfound', ['menu' => $this->menu, 'user' => $this->user]);
|
||||
if (!$frm) return view('pages.site.notfound');
|
||||
$err = '';
|
||||
$res = '';
|
||||
|
||||
|
@ -155,7 +154,7 @@ class Content {
|
|||
if (count($incomplete) > 0) $err = implode('、', $incomplete).'をご入力下さい。';
|
||||
|
||||
// エラーがあったら、フォームに戻って。なければ、データベースに保存したり、ページ又はポストへ移転して
|
||||
if (!empty($err)) return view('pages.site.content.edit', ['res' => $res, 'menu' => $this->menu, 'user' => $this->user, 'err' => $err, 'frm' => $frm]);
|
||||
if (!empty($err)) return view('pages.site.content.edit', ['res' => $res, 'err' => $err, 'frm' => $frm]);
|
||||
else {
|
||||
// データベースに追加できるには、値を修正して
|
||||
$gs = DB::table('blg_content')->select('sortorder')->orderBy('sortorder', 'desc')->first();
|
||||
|
@ -173,14 +172,14 @@ class Content {
|
|||
$frm->publish_date = $sav;
|
||||
unset($frm->post_date);
|
||||
unset($frm->sortorder);
|
||||
return view('pages.site.content.edit', ['res' => $res, 'menu' => $this->menu, 'user' => $this->user, 'err' => $err, 'frm' => $res['err']]);
|
||||
return view('pages.site.content.edit', ['res' => $res, 'err' => $err, 'frm' => $res['err']]);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
return view('pages.site.content.edit', ['res' => $res, 'menu' => $this->menu, 'user' => $this->user, 'err' => $err, 'frm' => $frm]);
|
||||
return view('pages.site.content.edit', ['res' => $res, 'err' => $err, 'frm' => $frm]);
|
||||
}
|
||||
|
||||
return view('pages.site.notallowed', ['menu' => $this->menu, 'user' => $this->user]);
|
||||
return view('pages.site.notallowed');
|
||||
}
|
||||
}
|
||||
}
|
|
@ -4,19 +4,11 @@ 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 __construct () {
|
||||
$this->valid = getPerms();
|
||||
}
|
||||
|
||||
public function index () {
|
||||
|
@ -25,7 +17,7 @@ class Index {
|
|||
$get = $get->orderBy('publish_date', 'desc')->paginate(10);
|
||||
setlocale(LC_ALL, 'ja_JP.utf8');
|
||||
|
||||
return view('pages.site.index', ['res' => $get, 'menu' => $this->menu, 'user' => $this->user]);
|
||||
return view('pages.site.index', ['res' => $get]);
|
||||
}
|
||||
|
||||
public function page ($slug) {
|
||||
|
@ -34,17 +26,17 @@ class Index {
|
|||
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 view('pages.site.notfound', ['menu' => $this->menu, 'user' => $this->user]);
|
||||
return view('pages.site.page', ['res' => $res, 'menu' => $this->menu, 'user' => $this->user]);
|
||||
if (!$res) return view('pages.site.notfound');
|
||||
return view('pages.site.page', ['res' => $res]);
|
||||
}
|
||||
|
||||
public function post ($slug, $kero) {
|
||||
public function post ($slug) {
|
||||
$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();
|
||||
if (!$get) return view('pages.site.notfound', ['menu' => $this->menu, 'user' => $this->user]);
|
||||
if (!$get) return view('pages.site.notfound');
|
||||
|
||||
$ucol = $this->objUser->getGroupColours();
|
||||
$ucol = getGroupColours();
|
||||
setlocale(LC_ALL, 'ja_JP.utf8');
|
||||
|
||||
$get->showName = '';
|
||||
|
@ -64,6 +56,7 @@ class Index {
|
|||
foreach ($get->comments['come'] as $k => $c) {
|
||||
$c->replyCount = 0;
|
||||
$c->isvideo = 'f';
|
||||
$c->src = 'TS';
|
||||
|
||||
if (!is_null($c->user_id) && !empty(userDetail($c->user_id))) {
|
||||
$det = userDetail($c->user_id);
|
||||
|
@ -98,10 +91,10 @@ class Index {
|
|||
}
|
||||
}
|
||||
|
||||
$get->user = userDetail(null, $kero);
|
||||
$get->user = userDetail(null, (isset($_COOKIE['kero_token']) ? $_COOKIE['kero_token'] : ''));
|
||||
$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);
|
||||
|
||||
return view('pages.site.post', ['res' => $get, 'menu' => $this->menu, 'user' => $this->user]);
|
||||
return view('pages.site.post', ['res' => $get]);
|
||||
}
|
||||
}
|
||||
|
|
|
@ -1,77 +0,0 @@
|
|||
<?php
|
||||
|
||||
namespace App\Http\Controllers;
|
||||
use Illuminate\Http\Request;
|
||||
// use Illuminate\Support\Facades\Log;
|
||||
|
||||
use App\Http\Controllers\AuthController;
|
||||
use App\Http\Controllers\UserController;
|
||||
|
||||
use App\Http\Controllers\Home\Comment;
|
||||
use App\Http\Controllers\Home\Content;
|
||||
use App\Http\Controllers\Home\Index;
|
||||
|
||||
class HomeController extends Controller {
|
||||
private $objAuth;
|
||||
private $objUser;
|
||||
private $valid;
|
||||
private $menu;
|
||||
private $user;
|
||||
|
||||
public function __construct () {
|
||||
if (isset($_COOKIE['language'])) app()->setLocale($_COOKIE['language']);
|
||||
|
||||
$this->objAuth = new AuthController();
|
||||
$this->objUser = new UserController();
|
||||
$this->valid = $this->objAuth->getPermissions((isset($_COOKIE['kero_token']) ? $_COOKIE['kero_token'] : ''));
|
||||
$this->menu = getPagesInMenu();
|
||||
$this->cook = (isset($_COOKIE['kero_token']) ? $_COOKIE['kero_token'] : '');
|
||||
$this->id = checkLegit($this->cook);
|
||||
$this->user = $this->objUser->getLoggedUser($this->id, $this->cook);
|
||||
}
|
||||
|
||||
public function index () {
|
||||
$r = new Index($this->valid, $this->menu, $this->user);
|
||||
return $r->index();
|
||||
}
|
||||
|
||||
public function post ($slug) {
|
||||
$r = new Index($this->valid, $this->menu, $this->user);
|
||||
return $r->post($slug, $this->cook);
|
||||
}
|
||||
|
||||
public function page ($slug) {
|
||||
$r = new Index($this->valid, $this->menu, $this->user);
|
||||
return $r->page($slug);
|
||||
}
|
||||
|
||||
public function memberList () {
|
||||
$r = new \App\Http\Controllers\User\MemberList($this->valid, $this->menu, $this->user);
|
||||
return $r->index();
|
||||
}
|
||||
|
||||
public function commentList () {
|
||||
$r = new \App\Http\Controllers\Home\CommentList($this->valid, $this->menu, $this->user);
|
||||
return $r->index();
|
||||
}
|
||||
|
||||
public function newComment (Request $rr) {
|
||||
$r = new Comment();
|
||||
return $r->add($rr);
|
||||
}
|
||||
|
||||
public function addContent (Request $rr) {
|
||||
$r = new Content($this->valid, $this->menu, $this->user);
|
||||
return $r->add($rr);
|
||||
}
|
||||
|
||||
public function editContent (Request $rr) {
|
||||
$r = new Content($this->valid, $this->menu, $this->user);
|
||||
return $r->edit($rr);
|
||||
}
|
||||
|
||||
public function delContent (Request $rr) {
|
||||
$r = new Content($this->valid, $this->menu, $this->user);
|
||||
return $r->delete($rr);
|
||||
}
|
||||
}
|
|
@ -7,8 +7,6 @@ use Illuminate\Http\Request;
|
|||
use Illuminate\Contracts\Routing\ResponseFactory;
|
||||
use Illuminate\Support\Facades\Log;
|
||||
|
||||
use App\Http\Controllers\AuthController;
|
||||
|
||||
class NihonController extends Controller {
|
||||
public function __construct() {}
|
||||
|
||||
|
|
|
@ -1,42 +0,0 @@
|
|||
<?php
|
||||
|
||||
namespace App\Http\Controllers;
|
||||
|
||||
use Illuminate\Support\Facades\DB;
|
||||
use Illuminate\Http\Request;
|
||||
use Illuminate\Support\Facades\Log;
|
||||
|
||||
class PermissionController extends Controller {
|
||||
public function getPermissionsFromModule() { // /api/rpc/permission/getpermissionsfrommodule
|
||||
return DB::table('usr_perm_module')
|
||||
->select('*')
|
||||
->get();
|
||||
}
|
||||
|
||||
public function getPermissionFromModule($id) { // /api/rpc/permission/getpermissionsfrommodule/id
|
||||
return DB::table('usr_perm_module')
|
||||
->select('*')
|
||||
->where('id', $id)
|
||||
->get();
|
||||
}
|
||||
|
||||
public function getPermissions($mdl) { // /api/rpc/permission/getpermissions/mdl
|
||||
return DB::table($mdl.'_permissions')
|
||||
->select('*')
|
||||
->get();
|
||||
}
|
||||
|
||||
public function getPermissionGroup($mdl, $id) { // /api/rpc/permission/getpermissiongroup/mdl/id
|
||||
return DB::table($mdl.'_permissions')
|
||||
->select('*')
|
||||
->where('id', $id)
|
||||
->get();
|
||||
}
|
||||
|
||||
public function getPermissionUser($mdl, $id) { // /api/rpc/permission/getpermissionuser/mdl/id
|
||||
return DB::table($mdl.'_user_permissions')
|
||||
->select('*')
|
||||
->where('user_id', $id)
|
||||
->get();
|
||||
}
|
||||
}
|
|
@ -5,27 +5,42 @@ use Illuminate\Http\Request;
|
|||
// use Illuminate\Support\Facades\Log;
|
||||
|
||||
class Login {
|
||||
private $auth;
|
||||
private $menu;
|
||||
private $user;
|
||||
|
||||
public function __construct ($a, $m, $u) {
|
||||
$this->auth = $a;
|
||||
$this->menu = $m;
|
||||
$this->user = $u;
|
||||
}
|
||||
|
||||
public function index (Request $r) {
|
||||
if (isset($_COOKIE['kero_token'])) return redirect('');
|
||||
$res = array();
|
||||
$err = '';
|
||||
|
||||
if (isset($r->username) && isset($r->password)) {
|
||||
$res = $this->auth->login($r);
|
||||
$res = $this->login($r);
|
||||
if (isset($res['kero_token'])) return redirect('');
|
||||
$err = $res['err'];
|
||||
}
|
||||
|
||||
return view('pages.site.login', ['res' => $res, 'menu' => $this->menu, 'user' => $this->user, 'err' => $err]);
|
||||
return view('pages.site.login', ['res' => $res, 'err' => $err]);
|
||||
}
|
||||
}
|
||||
|
||||
public function login (Request $r) {
|
||||
if (!empty($r)) {
|
||||
$checkName = DB::table('users')->where('username', $r->username)->first();
|
||||
|
||||
if ($checkName) {
|
||||
// $checkName = json_decode(json_encode($checkName), true);
|
||||
$checkPass = hash('sha256', $r->password . $checkName->salt);
|
||||
for ($round = 0; $round < 65536; $round++) $checkPass = hash('sha256', $checkPass . $checkName->salt);
|
||||
|
||||
if (hash_equals($checkPass, $checkName->password)) {
|
||||
if (!$checkName->kero_token) {
|
||||
$checkName->kero_token = makeToken();
|
||||
DB::table('users')->where('id', $checkName->id)->update(['kero_token' => $checkName->kero_token]);
|
||||
}
|
||||
|
||||
setcookie('kero_token', $checkName->kero_token, time()+157788000, '/', $_SERVER['HTTP_HOST'], 0, 1);
|
||||
return array('uid' => $checkName->id, 'kero_token' => $checkName->kero_token);
|
||||
}
|
||||
}
|
||||
return array('err' => 'ユーザ名又はパスワードを間違いました。');
|
||||
}
|
||||
|
||||
return array('err' => 'フォームは空です。');
|
||||
}
|
||||
}
|
|
@ -0,0 +1,15 @@
|
|||
<?php
|
||||
|
||||
namespace App\Http\Controllers\User;
|
||||
// use Illuminate\Support\Facades\Log;
|
||||
|
||||
class Logout {
|
||||
public function index () {
|
||||
if (isset($_COOKIE['kero_token'])) {
|
||||
unset($_COOKIE['kero_token']);
|
||||
setcookie('kero_token', '', time() - 3600, '/', $_SERVER['HTTP_HOST'], 0, 1);
|
||||
}
|
||||
|
||||
return redirect('');
|
||||
}
|
||||
}
|
|
@ -2,28 +2,20 @@
|
|||
|
||||
namespace App\Http\Controllers\User;
|
||||
use Illuminate\Support\Facades\DB;
|
||||
use App\Http\Controllers\Engine;
|
||||
// use Illuminate\Support\Facades\Log;
|
||||
|
||||
use App\Http\Controllers\UserController;
|
||||
class MemberList extends Engine {
|
||||
private $engine;
|
||||
|
||||
class MemberList {
|
||||
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 __construct () {
|
||||
$this->engine = new Engine();
|
||||
}
|
||||
|
||||
public function index () {
|
||||
if ($this->valid['usr_ban'] != 1) return view('pages.site.notallowed', ['menu' => $this->menu, 'user' => $this->user]);
|
||||
if (getPerms()['usr_ban'] != 1) return view('pages.site.notallowed', ['user' => $this->user]);
|
||||
$get = DB::table('users')->orderBy('id', 'desc')->paginate(10);
|
||||
setlocale(LC_ALL, 'ja_JP.utf8');
|
||||
$ucol = $this->objUser->getGroupColours();
|
||||
|
||||
foreach ($get as $g) {
|
||||
if (!is_null($g->id)) {
|
||||
|
@ -54,7 +46,7 @@ class MemberList {
|
|||
|
||||
if (!empty($g->name_style)) $g->showcol = $g->name_style;
|
||||
else {
|
||||
foreach ($ucol as $j) {
|
||||
foreach (getGroupColours() as $j) {
|
||||
if ($j->id == $g->perm_id) {
|
||||
if ($g->gender == 1) $g->showcol = $j->colour_m;
|
||||
else if ($g->gender == 2) $g->showcol = $j->colour_f;
|
||||
|
@ -71,6 +63,6 @@ class MemberList {
|
|||
else $g->gender = '?';
|
||||
}
|
||||
|
||||
return view('pages.site.memberlist', ['res' => $get, 'menu' => $this->menu, 'user' => $this->user]);
|
||||
return view('pages.site.memberlist', ['res' => $get, 'user' => $this->user]);
|
||||
}
|
||||
}
|
||||
|
|
|
@ -3,26 +3,21 @@
|
|||
namespace App\Http\Controllers\User;
|
||||
use Illuminate\Support\Facades\DB;
|
||||
use Illuminate\Http\Request;
|
||||
use App\Http\Controllers\Engine;
|
||||
// use Illuminate\Support\Facades\Log;
|
||||
|
||||
class Profile {
|
||||
private $auth;
|
||||
class Profile extends Engine {
|
||||
private $engine;
|
||||
private $get;
|
||||
private $cntr;
|
||||
private $menu;
|
||||
private $user;
|
||||
|
||||
public function __construct ($a, $g, $c, $m, $u) {
|
||||
$this->auth = $a;
|
||||
$this->get = $g;
|
||||
$this->cntr = $c;
|
||||
$this->menu = $m;
|
||||
$this->user = $u;
|
||||
public function __construct () {
|
||||
$this->engine = new Engine;
|
||||
}
|
||||
|
||||
public function index ($id, $kero) {
|
||||
if (!$this->get) return view('pages.site.notfound', ['menu' => $this->menu, 'user' => $this->user]);
|
||||
return view('pages.site.profile', ['res' => $this->get, 'menu' => $this->menu, 'user' => $this->user]);
|
||||
public function index ($id) {
|
||||
$this->get = $this->engine->getUser($id);
|
||||
if (!$this->get) return view('pages.site.notfound');
|
||||
return view('pages.site.profile', ['res' => $this->get]);
|
||||
}
|
||||
|
||||
public function avatarUpload(Request $r) {
|
||||
|
@ -30,7 +25,7 @@ class Profile {
|
|||
|
||||
if ($check == 0) return 'Err!';
|
||||
else {
|
||||
$valid = $this->auth->getPermissions($r->kero_token);
|
||||
$valid = getPerms();
|
||||
$user = 0;
|
||||
|
||||
if ($valid['usr_editother'] == 1) $user = $r->id;
|
||||
|
@ -60,39 +55,36 @@ class Profile {
|
|||
}
|
||||
|
||||
public function edit ($id, Request $r) {
|
||||
$err = '';
|
||||
$suc = '';
|
||||
|
||||
$valid = $this->auth->getPermissions($this->user->kero_token);
|
||||
$user = $this->user->id;
|
||||
if (($valid['usr_editother'] == 0 && $user != $id)) return view('pages.site.notallowed', ['menu' => $this->menu, 'user' => $this->user]);
|
||||
$user = $this->engine->user;
|
||||
if ((getPerms()['usr_editother'] == 0 && $user != $id)) return view('pages.site.notallowed');
|
||||
$this->get = $this->engine->getUser($id);
|
||||
|
||||
if (isset($r->submit)) {
|
||||
if (!is_null($r->password)) {
|
||||
if ($r->password != $r->password_check) $err = '「パスワード」と「パスワード確認」が異なります。';
|
||||
if ($r->password != $r->password_check) $this->engine->err = '「パスワード」と「パスワード確認」が異なります。';
|
||||
else {
|
||||
$salt = dechex(mt_rand(0, 2147483647)) . dechex(mt_rand(0, 2147483647));
|
||||
$passwd = hash('sha256', $r->password . $salt);
|
||||
for ($round = 0; $round < 65536; $round++) { $passwd = hash('sha256', $passwd . $salt); }
|
||||
$eduserp = DB::table('users')->where('id', $id)->update(['password' => $passwd, 'salt' => $salt]);
|
||||
if (!$eduserp) $err = 'パスワードの編集失敗。';
|
||||
if (!$eduserp) $this->engine->err = 'パスワードの編集失敗。';
|
||||
}
|
||||
}
|
||||
|
||||
$cheml = DB::table('users')->select('email')->where('id', $id)->first();
|
||||
|
||||
if ($err == '') {
|
||||
if ($this->engine->err == '') {
|
||||
if ($cheml->email != $r->email) {
|
||||
$exeml = DB::table('users')->select('email')->where('email', $r->email)->count();
|
||||
if ($exeml > 0) $err = '入力したメールアドレスはもう存在しています。';
|
||||
if ($exeml > 0) $this->engine->err = '入力したメールアドレスはもう存在しています。';
|
||||
else {
|
||||
$edusere = DB::table('users')->where('id', $id)->update(['email' => $r->email]);
|
||||
if (!$edusere) $err = 'メールアドレスの編集失敗。';
|
||||
if (!$edusere) $this->engine->err = 'メールアドレスの編集失敗。';
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if ($err == '') {
|
||||
if ($this->engine->err == '') {
|
||||
$p = DB::table('usr_profile')->select('display_name', 'country', 'gender')->where('user_id', $id)->first();
|
||||
$edprofile = 1;
|
||||
if ($p->display_name != $r->display_name || $p->country != $r->country || $p->gender != $r->gender) {
|
||||
|
@ -103,13 +95,13 @@ class Profile {
|
|||
]);
|
||||
}
|
||||
|
||||
if (!$edprofile) $err = '表示名、お国、又は性別の編集失敗。';
|
||||
if (!$edprofile) $this->engine->err = '表示名、お国、又は性別の編集失敗。';
|
||||
else return redirect('/');
|
||||
}
|
||||
}
|
||||
|
||||
if (!$this->get) return view('pages.site.notfound', ['menu' => $this->menu, 'user' => $this->user]);
|
||||
if ($this->user) return view('pages.site.profileedit', ['res' => $this->get, 'menu' => $this->menu, 'user' => $this->user, 'suc' => $suc, 'err' => $err, 'cnt' => $this->cntr]);
|
||||
return view('pages.site.notfound', ['menu' => $this->menu, 'user' => $this->user]);
|
||||
if (!$this->get) return view('pages.site.notfound');
|
||||
if ($this->engine->user) return view('pages.site.profileedit', ['res' => $this->get, 'suc' => $this->engine->suc, 'err' => $this->engine->err]);
|
||||
return view('pages.site.notfound');
|
||||
}
|
||||
}
|
||||
|
|
|
@ -2,20 +2,11 @@
|
|||
|
||||
namespace App\Http\Controllers\User;
|
||||
use Illuminate\Http\Request;
|
||||
use App\Http\Controllers\Engine;
|
||||
// use Illuminate\Support\Facades\Log;
|
||||
|
||||
class Register {
|
||||
private $auth;
|
||||
private $cntr;
|
||||
private $menu;
|
||||
private $user;
|
||||
|
||||
public function __construct ($a, $c, $m, $u) {
|
||||
$this->auth = $a;
|
||||
$this->cntr = $c;
|
||||
$this->menu = $m;
|
||||
$this->user = $u;
|
||||
}
|
||||
public function __construct () {}
|
||||
|
||||
public function index (Request $r) {
|
||||
if (isset($_COOKIE['kero_token'])) return redirect('');
|
||||
|
@ -24,11 +15,50 @@ class Register {
|
|||
|
||||
if (isset($r->username) && isset($r->password) && isset($r->email) && isset($r->password_check)) {
|
||||
$save = array('username' => $r->username, 'email' => $r->email, 'country' => $r->country, 'gender' => $r->gender);
|
||||
$reg = $this->auth->register($r);
|
||||
$reg = $this->register($r);
|
||||
if (isset($reg['kero_token'])) return redirect('');
|
||||
$err = $reg['err'];
|
||||
}
|
||||
|
||||
return view('pages.site.register', ['res' => $this->cntr, 'menu' => $this->menu, 'user' => $this->user, 'sav' => $save, 'err' => $err]);
|
||||
return view('pages.site.register', ['sav' => $save, 'err' => $err]);
|
||||
}
|
||||
|
||||
public function register (Request $r) {
|
||||
$ip = $_SERVER['REMOTE_ADDR'];
|
||||
|
||||
if (!empty($r)) {
|
||||
$existUser = DB::table('users')->select('id')->where('username', $r->username)->count();
|
||||
if ($existUser != 0) return array('err' => 'ユーザ名は既に登録しています。');
|
||||
if (empty($r->username)) return array('err' => 'ユーザ名は空です。');
|
||||
if (preg_match("/^[a-zA-Z0-9]+$/", $r->username) == 0) return array('err' => '英文字ばかりご入力下さい。');
|
||||
if (empty($r->password)) return array('err' => 'パスワードは空です。');
|
||||
if (empty($r->password_check)) return array('err' => 'パスワード(確認)は空です。');
|
||||
if (strlen($r->password) < 8) return array('err' => 'パスワードは8文以上をご入力下さい。');
|
||||
if ($r->password != $r->password_check) return array('err' => 'パスワードとパスワード(確認)は違います。');
|
||||
$existEmail = DB::table('users')->select('id')->where('email', $r->email)->count();
|
||||
if ($existEmail != 0) return array('err' => 'メールアドレスは既に登録しています。');
|
||||
if (empty($r->email)) return array('err' => 'メールアドレスは空です。');
|
||||
if (!filter_var($r->email, FILTER_VALIDATE_EMAIL)) return array('err' => 'メールアドレスを正しくご入力下さい。');
|
||||
|
||||
$salt = dechex(mt_rand(0, 2147483647)) . dechex(mt_rand(0, 2147483647));
|
||||
$passwd = hash('sha256', $r->password . $salt);
|
||||
|
||||
for ($round = 0; $round < 65536; $round++) { $passwd = hash('sha256', $passwd . $salt); }
|
||||
|
||||
$addUser = DB::table('users')->insertGetId(['username' => $r->username, 'email' => $r->email, 'password' => $passwd, 'salt' => $salt, 'remember_token' => '', 'kero_token' => makeToken()]);
|
||||
DB::table('usr_details')->insert(['user_id' => $addUser, 'total_posts' => 0, 'total_threads' => 0, 'reg_date' => time(), 'last_post_date' => 0, 'last_post_location' => 0, 'ontime' => 0, 'strikes' => 0]);
|
||||
DB::table('usr_contacts')->insert(['user_id' => $addUser, 'website_link' => '', 'website_name' => '', 'youtube_link' => '', 'youtube_name' => '', 'bitchute' => '', 'niconico' => '', 'pixiv' => '', 'discord' => '', 'mastodon' => '', 'twitter' => '', 'facebook' => '', 'instagram' => '']);
|
||||
DB::table('usr_profile')->insert(['user_id' => $addUser, 'gender' => ($r->gender ? $r->gender : 0), 'member_title' => '', 'website_address' => '', 'website_name' => '', 'location' => '', 'birthday' => 0, 'bio' => '', 'ip_address' => $ip, 'avatar' => '', 'ostatus' => 1, 'header' => '', 'footer' => '', 'post_style' => '', 'signature' => '', 'name_style' => '', 'display_name' => '', 'yt_channel' => '', 'country' => ($r->country ? $r->country : 'Japan'), 'date_format' => '', 'isClock24' => 1, 'isShowSeconds' => 1, 'isShowTimezone' => 1]);
|
||||
DB::table('usr_perm_id')->insert(['user_id' => $addUser, 'perm_id' => 4, 'usr_per_id' => 4, 'img_per_id' => 4, 'blg_per_id' => 4, 'for_per_id' => 4, 'sbx_per_id' => 4, 'str_per_id' => 4, 'doc_per_id' => 4, 'odb_per_id' => 4, 'inv_per_id' => 4]);
|
||||
|
||||
$checkName = DB::table('users')->select('kero_token')->where('id', $addUser)->first();
|
||||
|
||||
setcookie('kero_token', $checkName->kero_token, time()+157788000, '/', $_SERVER['HTTP_HOST'], 0, 1);
|
||||
return $this->login($r);
|
||||
|
||||
//return array('1');
|
||||
}
|
||||
|
||||
return array();
|
||||
}
|
||||
}
|
||||
|
|
|
@ -1,156 +0,0 @@
|
|||
<?php
|
||||
|
||||
namespace App\Http\Controllers;
|
||||
use Illuminate\Support\Facades\DB;
|
||||
use Illuminate\Http\Request;
|
||||
// use Illuminate\Support\Facades\Log;
|
||||
|
||||
use App\Http\Controllers\AuthController;
|
||||
|
||||
use App\Http\Controllers\User\Login;
|
||||
use App\Http\Controllers\User\Notification;
|
||||
use App\Http\Controllers\User\Profile;
|
||||
use App\Http\Controllers\User\Register;
|
||||
|
||||
class UserController extends Controller {
|
||||
private $objAuth;
|
||||
private $valid;
|
||||
|
||||
public function __construct () {
|
||||
if (isset($_COOKIE['language'])) app()->setLocale($_COOKIE['language']);
|
||||
|
||||
$this->objAuth = new AuthController();
|
||||
$this->menu = getPagesInMenu();
|
||||
$this->cook = (isset($_COOKIE['kero_token']) ? $_COOKIE['kero_token'] : '');
|
||||
$this->id = checkLegit($this->cook);
|
||||
$this->user = $this->getLoggedUser($this->id, $this->cook);
|
||||
}
|
||||
|
||||
public function profile ($id) {
|
||||
$r = new Profile($this->objAuth, $this->getUser($id, $this->cook), $this->getCountries(), $this->menu, $this->user);
|
||||
return $r->index($id, $this->cook);
|
||||
}
|
||||
|
||||
public function editProfile ($id, Request $rr) {
|
||||
$r = new Profile($this->objAuth, $this->getUser($id, $this->cook), $this->getCountries(), $this->menu, $this->user);
|
||||
return $r->edit($id, $rr);
|
||||
}
|
||||
|
||||
public function login (Request $rr) {
|
||||
$r = new Login($this->objAuth, $this->menu, $this->user);
|
||||
return $r->index($rr);
|
||||
}
|
||||
|
||||
public function register (Request $rr) {
|
||||
$r = new Register($this->objAuth, $this->getCountries(), $this->menu, $this->user);
|
||||
return $r->index($rr);
|
||||
}
|
||||
|
||||
public function getNotification () {
|
||||
$r = new Notification();
|
||||
return $r->get();
|
||||
}
|
||||
|
||||
public function addNotification ($uid, $aid, $txt, $sec, $goto) {
|
||||
$r = new Notification();
|
||||
return $r->add($uid, $aid, $txt, $sec, $goto);
|
||||
}
|
||||
|
||||
public function delNotification ($id) {
|
||||
$r = new Notification();
|
||||
return $r->delete($id);
|
||||
}
|
||||
|
||||
function getUser ($id, $kero) {
|
||||
$check = checkLegit($kero);
|
||||
|
||||
$valid = $this->objAuth->getPermissions($kero);
|
||||
$cols = $this->getGroupColours()->toArray();
|
||||
|
||||
$get = DB::table('users')->where('id', $id)->first();
|
||||
if (!$get) return false;
|
||||
$get->details = DB::table('usr_details')->where('user_id', $id)->first();
|
||||
$get->profile = DB::table('usr_profile')->where('user_id', $id)->first();
|
||||
$get->contacts = DB::table('usr_contacts')->where('user_id', $id)->first();
|
||||
$get->perm_id = DB::table('usr_perm_id')->where('user_id', $id)->first();
|
||||
$get->perm_module = DB::table('usr_perm_module')->where('usr_perm_id', $get->perm_id->usr_per_id)->first();
|
||||
if (is_null($get->profile->avatar) || empty($get->profile->avatar) || $get->profile->avatar == '') {
|
||||
$get->profile->avatar = 'http'.(isset($_SERVER['HTTPS']) ? 's' : '').'://'.$_SERVER['HTTP_HOST'].'/img/noicon.jpg';
|
||||
}
|
||||
else $get->profile->avatar = '/'.$get->profile->avatar;
|
||||
|
||||
$get->profile->gender_name = '不明';
|
||||
if ($get->profile->gender == 1) $get->profile->gender_name = '男性';
|
||||
else if ($get->profile->gender == 2) $get->profile->gender_name = '女性';
|
||||
|
||||
$get->details->reg_date = strftime('%Y年%m月%d日(%a)', $get->details->reg_date);
|
||||
$get->profile->showname = (!empty($get->profile->display_name) && !is_null($get->profile->display_name) ? $get->profile->display_name : $get->username);
|
||||
|
||||
if ($id != $check) {
|
||||
unset($get->password);
|
||||
unset($get->kero_token);
|
||||
unset($get->salt);
|
||||
}
|
||||
|
||||
if ($valid['usr_emailshow'] == 0 && $id != $check) unset($get->email);
|
||||
if ($valid['usr_ipshow'] == 0 && $id != $check) unset($get->profile->ip_address);
|
||||
if ($valid['usr_canwarn'] == 0 && $id != $check) unset($get->details->strikes);
|
||||
|
||||
return $get;
|
||||
}
|
||||
|
||||
function getLoggedUser ($id, $kero) {
|
||||
$check = checkLegit($kero);
|
||||
if ($check == 0) return 0;
|
||||
|
||||
$valid = $this->objAuth->getPermissions($kero);
|
||||
$cols = $this->getGroupColours()->toArray();
|
||||
|
||||
$get = DB::table('users')->where('id', $id)->first();
|
||||
$get->profile = DB::table('usr_profile')->where('user_id', $id)->first();
|
||||
$get->profile->showname = (!empty($get->profile->display_name) && !is_null($get->profile->display_name) ? $get->profile->display_name : $get->username);
|
||||
$perm_id = DB::table('usr_perm_id')->select('perm_id')->where('user_id', $get->id)->first()->perm_id;
|
||||
$ucol = DB::table('usr_perm_module')->select('id', 'colour_m', 'colour_f', 'colour_u')->get();
|
||||
|
||||
if (!empty($get->profile->name_style)) $get->profile->name_style = $get->profile->name_style;
|
||||
else {
|
||||
foreach ($ucol as $j3) {
|
||||
if ($j3->id == $perm_id) {
|
||||
if ($get->profile->gender == 1) $get->profile->name_style = $j3->colour_m;
|
||||
else if ($get->profile->gender == 2) $get->profile->name_style = $j3->colour_f;
|
||||
else $get->profile->name_style = $j3->colour_u;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
$get->perm = $valid;
|
||||
if (empty($get->profile->avatar) || $get->profile->avatar == '') $get->profile->avatar = 'img/noicon.jpg';
|
||||
$get->profile->avatar = '/'.$get->profile->avatar;
|
||||
|
||||
return $get;
|
||||
}
|
||||
|
||||
function getCountries () {
|
||||
$flags = DB::table('nhn_country')->orderBy('id', 'asc')->get();
|
||||
$res = array();
|
||||
|
||||
foreach ($flags as $flag) {
|
||||
$protocol = isset($_SERVER["HTTPS"]) ? 'https' : 'http';
|
||||
|
||||
$res[] = array(
|
||||
'value' => $flag->nameEng,
|
||||
'label' => $flag->name
|
||||
);
|
||||
}
|
||||
|
||||
return $res;
|
||||
}
|
||||
|
||||
function getGroupName($id) {
|
||||
return DB::table('usr_perm_module')->join('usr_perm_id', 'usr_perm_id.perm_id', '=', 'usr_perm_module.id')->where('user_id', $id)->get(array('name'));
|
||||
}
|
||||
|
||||
function getGroupColours() {
|
||||
return DB::table('usr_perm_module')->select('id', 'colour_m', 'colour_f', 'colour_u')->get();
|
||||
}
|
||||
}
|
|
@ -3,32 +3,27 @@
|
|||
namespace App\Http\Controllers\Video;
|
||||
use Illuminate\Support\Facades\DB;
|
||||
use Illuminate\Http\Request;
|
||||
use App\Http\Controllers\Engine;
|
||||
// use Illuminate\Support\Facades\Log;
|
||||
|
||||
class Game {
|
||||
private $menu;
|
||||
private $user;
|
||||
private $suc;
|
||||
private $err;
|
||||
class Game extends Engine {
|
||||
private $engine;
|
||||
|
||||
public function __construct ($m, $u) {
|
||||
$this->menu = $m;
|
||||
$this->user = $u;
|
||||
$this->suc = '';
|
||||
$this->err = '';
|
||||
public function __construct () {
|
||||
$this->engine = new Engine;
|
||||
}
|
||||
|
||||
public function index () {
|
||||
$res = DB::table('vid_game')->get();
|
||||
if (!$res) return notfound($this->menu, $this->user, $res);
|
||||
if (!$res) return view('pages.site.notfound');
|
||||
$new = DB::table('vid_video')->orderBy('publish_date', 'desc')->limit(8)->get();
|
||||
$pop = DB::table('vid_video')->orderBy('view', 'desc')->orderBy('publish_date', 'desc')->limit(8)->get();
|
||||
|
||||
return view('pages.site.video.game', ['res' => $res, 'new' => $new, 'pop' => $pop, 'menu' => $this->menu, 'user' => $this->user, 'err' => $this->err, 'suc' => $this->suc]);
|
||||
return view('pages.site.video.game', ['res' => $res, 'new' => $new, 'pop' => $pop, 'err' => $this->engine->err, 'suc' => $this->engine->suc]);
|
||||
}
|
||||
|
||||
public function add (Request $r) {
|
||||
if ($this->user && $this->user->perm['blg_addpost']) {
|
||||
if ($this->engine->user && $this->engine->user->perm['blg_addpost']) {
|
||||
$err = '';
|
||||
$res = '';
|
||||
$frm = array('name' => '', 'slug' => '');
|
||||
|
@ -52,25 +47,25 @@ class Game {
|
|||
}
|
||||
|
||||
// エラーがあったら、フォームに戻って。なければ、データベースに保存したり、ページ又はポストへ移転して
|
||||
if (!empty($err)) return view('pages.site.video.game.add', ['res' => $res, 'menu' => $this->menu, 'user' => $this->user, 'err' => $err, 'frm' => $frm]);
|
||||
if (!empty($err)) return view('pages.site.video.game.add', ['res' => $res, 'err' => $err, 'frm' => $frm]);
|
||||
else {
|
||||
// できたの?
|
||||
if ($res = DB::table('vid_game')->insert($frm)) return redirect('/video/'.$r->slug);
|
||||
else {
|
||||
// やれやれ…
|
||||
return view('pages.site.video.game.add', ['res' => $res, 'menu' => $this->menu, 'user' => $this->user, 'err' => $err, 'frm' => $frm]);
|
||||
return view('pages.site.video.game.add', ['res' => $res, 'err' => $err, 'frm' => $frm]);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
return view('pages.site.video.game.add', ['res' => $res, 'menu' => $this->menu, 'user' => $this->user, 'err' => $err, 'frm' => $frm]);
|
||||
return view('pages.site.video.game.add', ['res' => $res, 'err' => $err, 'frm' => $frm]);
|
||||
}
|
||||
|
||||
return view('pages.site.notallowed', ['menu' => $this->menu, 'user' => $this->user]);
|
||||
return view('pages.site.notallowed');
|
||||
}
|
||||
|
||||
public function delete (Request $r) {
|
||||
if ($this->user->perm['blg_delpost']) {
|
||||
if ($this->engine->user->perm['blg_delpost']) {
|
||||
return DB::table('vid_game')->where('slug', $r->slug)->delete();
|
||||
}
|
||||
|
||||
|
@ -78,9 +73,9 @@ class Game {
|
|||
}
|
||||
|
||||
public function edit (Request $r) {
|
||||
if ($this->user && $this->user->perm['blg_addpost']) {
|
||||
if ($this->engine->user && $this->engine->user->perm['blg_addpost']) {
|
||||
$frm = DB::table('vid_game')->where('slug', $r->slug)->first();
|
||||
if (!$frm) return view('pages.site.notfound', ['menu' => $this->menu, 'user' => $this->user]);
|
||||
if (!$frm) return view('pages.site.notfound');
|
||||
$err = '';
|
||||
$res = '';
|
||||
|
||||
|
@ -96,21 +91,21 @@ class Game {
|
|||
if (count($incomplete) > 0) $err = implode('、', $incomplete).'をご入力下さい。';
|
||||
|
||||
// エラーがあったら、フォームに戻って。なければ、データベースに保存したり、ページ又はポストへ移転して
|
||||
if (!empty($err)) return view('pages.site.video.game.edit', ['res' => $res, 'menu' => $this->menu, 'user' => $this->user, 'err' => $err, 'frm' => $frm]);
|
||||
if (!empty($err)) return view('pages.site.video.game.edit', ['res' => $res, 'err' => $err, 'frm' => $frm]);
|
||||
else {
|
||||
// できたの?
|
||||
if ($res = DB::table('vid_game')->where('slug', $r->slug)->update((array)$frm)) return redirect('/video/'.$r->slug);
|
||||
else {
|
||||
// やれやれ…
|
||||
$err = '編集失敗…';
|
||||
return view('pages.site.video.game.edit', ['res' => $res, 'menu' => $this->menu, 'user' => $this->user, 'err' => $err, 'frm' => $frm]);
|
||||
return view('pages.site.video.game.edit', ['res' => $res, 'err' => $err, 'frm' => $frm]);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
return view('pages.site.video.game.edit', ['res' => $res, 'menu' => $this->menu, 'user' => $this->user, 'err' => $err, 'frm' => $frm]);
|
||||
return view('pages.site.video.game.edit', ['res' => $res, 'err' => $err, 'frm' => $frm]);
|
||||
}
|
||||
|
||||
return view('pages.site.notallowed', ['menu' => $this->menu, 'user' => $this->user]);
|
||||
return view('pages.site.notallowed');
|
||||
}
|
||||
}
|
||||
|
|
|
@ -2,24 +2,21 @@
|
|||
|
||||
namespace App\Http\Controllers\Video;
|
||||
use Illuminate\Support\Facades\DB;
|
||||
use App\Http\Controllers\Engine;
|
||||
// use Illuminate\Support\Facades\Log;
|
||||
|
||||
class Prayer {
|
||||
private $menu;
|
||||
private $cook;
|
||||
private $user;
|
||||
class Prayer extends Engine {
|
||||
private $engine;
|
||||
|
||||
public function __construct ($m, $c, $u) {
|
||||
$this->menu = $m;
|
||||
$this->cook = $c;
|
||||
$this->user = $u;
|
||||
public function __construct () {
|
||||
$this->engine = new Engine;
|
||||
}
|
||||
|
||||
public function index ($vid) {
|
||||
$res = DB::table('vid_video')->where('vid', $vid)->first();
|
||||
if (!$res) return view('pages.site.notfound', ['menu' => $this->menu, 'user' => $this->user]);
|
||||
if (!$res) return view('pages.site.notfound');
|
||||
$game = DB::table('vid_game')->where('id', $res->game_id)->first();
|
||||
if (!$game) return view('pages.site.notfound', ['menu' => $this->menu, 'user' => $this->user]);
|
||||
if (!$game) return view('pages.site.notfound');
|
||||
|
||||
$res->publish_date = date('Y月m月d日', $res->publish_date);
|
||||
$res->gametitle = explode('】', $res->title);
|
||||
|
@ -78,7 +75,7 @@ class Prayer {
|
|||
}
|
||||
}
|
||||
|
||||
$res->user = userDetail(null, $this->cook);
|
||||
$res->user = userDetail(null, (isset($_COOKIE['kero_token']) ? $_COOKIE['kero_token'] : ''));
|
||||
$res->comments['total'] = count($comments);
|
||||
$res->comments['come'] = $comments;
|
||||
$res->comments['total'] += (isset($res->ytcomment['total']) ? $res->ytcomment['total'] : 0);
|
||||
|
@ -88,7 +85,7 @@ class Prayer {
|
|||
|
||||
DB::table('vid_video')->where('vid', $vid)->update(['view' => $res->view+1]);
|
||||
|
||||
return view('pages.site.video.prayer', ['res' => $res, 'menu' => $this->menu, 'user' => $this->user]);
|
||||
return view('pages.site.video.prayer', ['res' => $res, 'user' => $this->user]);
|
||||
}
|
||||
|
||||
function getKeroCome ($slug, $tslug) {
|
||||
|
@ -210,7 +207,8 @@ class Prayer {
|
|||
function backupYTComment ($slug, $com) {
|
||||
foreach ($com['come'] as $c) {
|
||||
$icon = substr($c->icon, 0, strpos($c->icon, "="));
|
||||
$icon = str_replace('https://yt3.ggpht.com/ytc/', '', $icon).'.jpg';
|
||||
$icon = str_replace('https://yt3.ggpht.com/', '', $icon).'.jpg';
|
||||
$icon = str_replace('ytc/', '', $icon).'.jpg';
|
||||
if ($icon != '.jpg') {
|
||||
$isicon = array_diff(scandir(dirname(__DIR__, 4).'/storage/app/public/yt_icon'), array('..', '.'));
|
||||
if (!in_array($icon, $isicon)) passthru('wget -O '.dirname(__DIR__, 4).'/storage/app/public/yt_icon/'.$icon.' '.$c->icon);
|
||||
|
@ -220,7 +218,8 @@ class Prayer {
|
|||
if (isset($c->replies)) {
|
||||
foreach ($c->replies as $i => $r) {
|
||||
$icon = substr($r['icon'], 0, strpos($r['icon'], "="));
|
||||
$icon = str_replace('https://yt3.ggpht.com/ytc/', '', $icon).'.jpg';
|
||||
$icon = str_replace('https://yt3.ggpht.com/', '', $icon).'.jpg';
|
||||
$icon = str_replace('ytc/', '', $icon).'.jpg';
|
||||
if ($icon != '.jpg') {
|
||||
$isicon = array_diff(scandir(dirname(__DIR__, 4).'/storage/app/public/yt_icon'), array('..', '.'));
|
||||
if (!in_array($icon, $isicon)) passthru('wget -O '.dirname(__DIR__, 4).'/storage/app/public/yt_icon/'.$icon.' '.$r['icon']);
|
||||
|
|
|
@ -3,22 +3,21 @@
|
|||
namespace App\Http\Controllers\Video;
|
||||
use Illuminate\Support\Facades\DB;
|
||||
use Illuminate\Http\Request;
|
||||
use App\Http\Controllers\Engine;
|
||||
// use Illuminate\Support\Facades\Log;
|
||||
|
||||
class VideoTable {
|
||||
private $menu;
|
||||
private $user;
|
||||
class VideoTable extends Engine {
|
||||
private $engine;
|
||||
|
||||
public function __construct ($m, $u) {
|
||||
$this->menu = $m;
|
||||
$this->user = $u;
|
||||
public function __construct () {
|
||||
$this->engine = new Engine;
|
||||
}
|
||||
|
||||
public function index ($slug) {
|
||||
$slg = DB::table('vid_game')->select('id', 'name')->where('slug', $slug)->first();
|
||||
if (!$slg) return view('pages.site.notfound', ['menu' => $this->menu, 'user' => $this->user]);
|
||||
if (!$slg) return view('pages.site.notfound');
|
||||
$res = DB::table('vid_video')->where('game_id', $slg->id)->orderBy('publish_date', 'desc')->get();
|
||||
if (!$res) return view('pages.site.notfound', ['menu' => $this->menu, 'user' => $this->user]);
|
||||
if (!$res) return view('pages.site.notfound');
|
||||
|
||||
foreach ($res as $r) {
|
||||
$r->publish_date = date('Y月m月d日', $r->publish_date);
|
||||
|
@ -30,18 +29,17 @@ class VideoTable {
|
|||
if ($r->gametitle == '') $r->gametitle = '初代';
|
||||
}
|
||||
|
||||
return view('pages.site.video.videotable', ['res' => $res, 'menu' => $this->menu, 'user' => $this->user]);
|
||||
return view('pages.site.video.videotable', ['res' => $res]);
|
||||
}
|
||||
|
||||
public function add (Request $r) {
|
||||
if ($this->user && $this->user->perm['blg_addpost']) {
|
||||
if ($this->engine->user && $this->engine->user->perm['blg_addpost']) {
|
||||
$game = DB::table('vid_game')->get();
|
||||
$err = '';
|
||||
$res = '';
|
||||
$frm = array('title' => '', 'vid' => '', 'game_id' => '', 'thumbnail' => '', 'url' => '', 'youtube' => '', 'nicovideo' => '', 'bitchute' => '', 'odysee' => '', 'kerotube' => '');
|
||||
|
||||
if (isset($r->submit)) {
|
||||
if (empty($err)) { if ($r->url == '' && $r->youtube == '' && $r->nicovideo == '' && $r->bitchute == '' && $r->odysee == '' && $r->kerotube == '') $err = '1以上の動画URLをご入力下さい。'; }
|
||||
if (empty($this->engine->err)) { if ($r->url == '' && $r->youtube == '' && $r->nicovideo == '' && $r->bitchute == '' && $r->odysee == '' && $r->kerotube == '') $this->engine->err = '1以上の動画URLをご入力下さい。'; }
|
||||
|
||||
// フォームの値を保存して
|
||||
$frm['title'] = $r->title;
|
||||
|
@ -59,39 +57,39 @@ class VideoTable {
|
|||
// 件名、文章又はスラッグがなければ、エラーを出て
|
||||
$verify = array('件名' => $r->title, 'スラッグ' => $r->vid);
|
||||
$incomplete = array();
|
||||
if (empty($err)) {
|
||||
if (empty($this->engine->err)) {
|
||||
foreach ($verify as $k => $v) { if (is_null($v) || empty($v) || !isset($v)) $incomplete[] = $k; }
|
||||
if (count($incomplete) > 0) $err = implode('、', $incomplete).'をご入力下さい。';
|
||||
if (count($incomplete) > 0) $this->engine->err = implode('、', $incomplete).'をご入力下さい。';
|
||||
}
|
||||
|
||||
if (empty($err)) { if ($r->game_id == 0) $err = 'ゲームをご選択下さい。'; }
|
||||
if (empty($this->engine->err)) { if ($r->game_id == 0) $this->engine->err = 'ゲームをご選択下さい。'; }
|
||||
|
||||
// スラッグが既に存在したら、エラーを出て
|
||||
if (empty($err)) {
|
||||
if (empty($this->engine->err)) {
|
||||
$sl = DB::table('vid_video')->select('vid')->where('vid', $r->vid)->first();
|
||||
if ($sl && $sl->vid == $r->vid) $err = 'このスラッグがもう存在しています。';
|
||||
if ($sl && $sl->vid == $r->vid) $this->engine->err = 'このスラッグがもう存在しています。';
|
||||
}
|
||||
|
||||
// エラーがあったら、フォームに戻って。なければ、データベースに保存したり、ページ又はポストへ移転して
|
||||
if (!empty($err)) return view('pages.site.video.play.add', ['res' => $res, 'menu' => $this->menu, 'user' => $this->user, 'err' => $err, 'frm' => $frm, 'game' => $game]);
|
||||
if (!empty($this->engine->err)) return view('pages.site.video.play.add', ['res' => $res, 'err' => $this->engine->err, 'frm' => $frm, 'game' => $game]);
|
||||
else {
|
||||
// できたの?
|
||||
if ($res = DB::table('vid_video')->insert($frm)) return redirect('/video/play/'.$r->vid);
|
||||
else {
|
||||
// やれやれ…
|
||||
return view('pages.site.video.play.add', ['res' => $res, 'menu' => $this->menu, 'user' => $this->user, 'err' => $err, 'frm' => $frm, 'game' => $game]);
|
||||
return view('pages.site.video.play.add', ['res' => $res, 'err' => $this->engine->err, 'frm' => $frm, 'game' => $game]);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
return view('pages.site.video.play.add', ['res' => $res, 'menu' => $this->menu, 'user' => $this->user, 'err' => $err, 'frm' => $frm, 'game' => $game]);
|
||||
return view('pages.site.video.play.add', ['res' => $res, 'err' => $this->engine->err, 'frm' => $frm, 'game' => $game]);
|
||||
}
|
||||
|
||||
return view('pages.site.notallowed', ['menu' => $this->menu, 'user' => $this->user]);
|
||||
return view('pages.site.notallowed');
|
||||
}
|
||||
|
||||
public function delete (Request $r) {
|
||||
if ($this->user->perm['blg_delpost']) {
|
||||
if ($this->engine->user->perm['blg_delpost']) {
|
||||
$get = DB::table('vid_video')->select('game_id')->where('vid', $r->slug)->first();
|
||||
$red = DB::table('vid_game')->select('slug')->where('id', $get->game_id)->first();
|
||||
DB::table('vid_video')->where('vid', $r->slug)->delete();
|
||||
|
@ -102,15 +100,14 @@ class VideoTable {
|
|||
}
|
||||
|
||||
public function edit (Request $r) {
|
||||
if ($this->user && $this->user->perm['blg_addpost']) {
|
||||
if ($this->engine->user && $this->engine->user->perm['blg_addpost']) {
|
||||
$game = DB::table('vid_game')->get();
|
||||
$frm = DB::table('vid_video')->where('vid', $r->vid)->first();
|
||||
if (!$frm) return view('pages.site.notfound', ['menu' => $this->menu, 'user' => $this->user]);
|
||||
$err = '';
|
||||
if (!$frm) return view('pages.site.notfound');
|
||||
$res = '';
|
||||
|
||||
if (isset($r->submit)) {
|
||||
if (empty($err)) { if ($r->url == '' && $r->youtube == '' && $r->nicovideo == '' && $r->bitchute == '' && $r->odysee == '' && $r->kerotube) $err = '1以上の動画URLをご入力下さい。'; }
|
||||
if (empty($this->engine->err)) { if ($r->url == '' && $r->youtube == '' && $r->nicovideo == '' && $r->bitchute == '' && $r->odysee == '' && $r->kerotube) $this->engine->err = '1以上の動画URLをご入力下さい。'; }
|
||||
|
||||
// フォームの値を保存して
|
||||
$frm->title = $r->title;
|
||||
|
@ -127,28 +124,28 @@ class VideoTable {
|
|||
// 件名、文章又はスラッグがなければ、エラーを出て
|
||||
$verify = array('件名' => $r->title, 'スラッグ' => $r->vid);
|
||||
$incomplete = array();
|
||||
if (empty($err)) {
|
||||
if (empty($this->engine->err)) {
|
||||
foreach ($verify as $k => $v) { if (is_null($v) || empty($v) || !isset($v)) $incomplete[] = $k; }
|
||||
if (count($incomplete) > 0) $err = implode('、', $incomplete).'をご入力下さい。';
|
||||
if (count($incomplete) > 0) $this->engine->err = implode('、', $incomplete).'をご入力下さい。';
|
||||
}
|
||||
|
||||
if (empty($err)) { if ($r->game_id == 0) $err = 'ゲームをご選択下さい。'; }
|
||||
if (empty($this->engine->err)) { if ($r->game_id == 0) $this->engine->err = 'ゲームをご選択下さい。'; }
|
||||
|
||||
// エラーがあったら、フォームに戻って。なければ、データベースに保存したり、ページ又はポストへ移転して
|
||||
if (!empty($err)) return view('pages.site.video.play.edit', ['res' => $res, 'menu' => $this->menu, 'user' => $this->user, 'err' => $err, 'frm' => $frm, 'game' => $game]);
|
||||
if (!empty($this->engine->err)) return view('pages.site.video.play.edit', ['res' => $res, 'err' => $this->engine->err, 'frm' => $frm, 'game' => $game]);
|
||||
else {
|
||||
// できたの?
|
||||
if ($res = DB::table('vid_video')->where('vid', $r->vid)->update((array)$frm)) return redirect('/video/play/'.$r->vid);
|
||||
else {
|
||||
// やれやれ…
|
||||
return view('pages.site.video.play.edit', ['res' => $res, 'menu' => $this->menu, 'user' => $this->user, 'err' => $err, 'frm' => $frm, 'game' => $game]);
|
||||
return view('pages.site.video.play.edit', ['res' => $res, 'err' => $this->engine->err, 'frm' => $frm, 'game' => $game]);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
return view('pages.site.video.play.edit', ['res' => $res, 'menu' => $this->menu, 'user' => $this->user, 'err' => $err, 'frm' => $frm, 'game' => $game]);
|
||||
return view('pages.site.video.play.edit', ['res' => $res, 'err' => $this->engine->err, 'frm' => $frm, 'game' => $game]);
|
||||
}
|
||||
|
||||
return view('pages.site.notallowed', ['menu' => $this->menu, 'user' => $this->user]);
|
||||
return view('pages.site.notallowed');
|
||||
}
|
||||
}
|
||||
|
|
|
@ -1,75 +0,0 @@
|
|||
<?php
|
||||
|
||||
namespace App\Http\Controllers;
|
||||
use Illuminate\Http\Request;
|
||||
// use Illuminate\Support\Facades\Log;
|
||||
|
||||
use App\Http\Controllers\AuthController;
|
||||
use App\Http\Controllers\UserController;
|
||||
|
||||
use App\Http\Controllers\Video\Game;
|
||||
use App\Http\Controllers\Video\VideoTable;
|
||||
use App\Http\Controllers\Video\Prayer;
|
||||
|
||||
class VideoController extends Controller {
|
||||
private $objUser;
|
||||
private $menu;
|
||||
private $cook;
|
||||
private $id;
|
||||
private $user;
|
||||
|
||||
public function __construct() {
|
||||
if (isset($_COOKIE['language'])) app()->setLocale($_COOKIE['language']);
|
||||
|
||||
$this->objUser = new UserController();
|
||||
$this->menu = getPagesInMenu();
|
||||
$this->cook = (isset($_COOKIE['kero_token']) ? $_COOKIE['kero_token'] : '');
|
||||
$this->id = checkLegit($this->cook);
|
||||
$this->user = $this->objUser->getLoggedUser($this->id, $this->cook);
|
||||
}
|
||||
|
||||
public function index () {
|
||||
$r = new Game($this->menu, $this->user);
|
||||
return $r->index();
|
||||
}
|
||||
|
||||
public function table ($slug) {
|
||||
$r = new VideoTable($this->menu, $this->user);
|
||||
return $r->index($slug);
|
||||
}
|
||||
|
||||
public function prayer ($vid) {
|
||||
$r = new Prayer($this->menu, $this->cook, $this->user);
|
||||
return $r->index($vid);
|
||||
}
|
||||
|
||||
public function addGame (Request $rr) {
|
||||
$r = new Game($this->menu, $this->user);
|
||||
return $r->add($rr);
|
||||
}
|
||||
|
||||
public function delGame (Request $rr) {
|
||||
$r = new Game($this->menu, $this->user);
|
||||
return $r->delete($rr);
|
||||
}
|
||||
|
||||
public function editGame (Request $rr) {
|
||||
$r = new Game($this->menu, $this->user);
|
||||
return $r->edit($rr);
|
||||
}
|
||||
|
||||
public function addVideo (Request $rr) {
|
||||
$r = new VideoTable($this->menu, $this->user);
|
||||
return $r->add($rr);
|
||||
}
|
||||
|
||||
public function delVideo (Request $rr) {
|
||||
$r = new VideoTable($this->menu, $this->user);
|
||||
return $r->delete($rr);
|
||||
}
|
||||
|
||||
public function editVideo (Request $rr) {
|
||||
$r = new VideoTable($this->menu, $this->user);
|
||||
return $r->edit($rr);
|
||||
}
|
||||
}
|
39
app/User.php
39
app/User.php
|
@ -1,39 +0,0 @@
|
|||
<?php
|
||||
|
||||
namespace App;
|
||||
|
||||
use Illuminate\Contracts\Auth\MustVerifyEmail;
|
||||
use Illuminate\Foundation\Auth\User as Authenticatable;
|
||||
use Illuminate\Notifications\Notifiable;
|
||||
|
||||
class User extends Authenticatable
|
||||
{
|
||||
use Notifiable;
|
||||
|
||||
/**
|
||||
* The attributes that are mass assignable.
|
||||
*
|
||||
* @var array
|
||||
*/
|
||||
protected $fillable = [
|
||||
'name', 'email', 'password',
|
||||
];
|
||||
|
||||
/**
|
||||
* The attributes that should be hidden for arrays.
|
||||
*
|
||||
* @var array
|
||||
*/
|
||||
protected $hidden = [
|
||||
'password', 'remember_token',
|
||||
];
|
||||
|
||||
/**
|
||||
* The attributes that should be cast to native types.
|
||||
*
|
||||
* @var array
|
||||
*/
|
||||
protected $casts = [
|
||||
'email_verified_at' => 'datetime',
|
||||
];
|
||||
}
|
|
@ -16,6 +16,25 @@ function getPagesInMenu () {
|
|||
return $res;
|
||||
}
|
||||
|
||||
function getCss () {
|
||||
$engine = new \App\Http\Controllers\Engine;
|
||||
return $engine->css;
|
||||
}
|
||||
|
||||
function getPerms () {
|
||||
$engine = new \App\Http\Controllers\Engine;
|
||||
return $engine->getPermissions((isset($_COOKIE['kero_token']) ? $_COOKIE['kero_token'] : ''));
|
||||
}
|
||||
|
||||
function getUser () {
|
||||
$engine = new \App\Http\Controllers\Engine;
|
||||
return $engine->user;
|
||||
}
|
||||
|
||||
function getGroupColours () {
|
||||
return DB::table('usr_perm_module')->select('id', 'colour_m', 'colour_f', 'colour_u')->get()->toArray();
|
||||
}
|
||||
|
||||
function getIp () {
|
||||
if (!empty($_SERVER['HTTP_CLIENT_IP'])) $ip = $_SERVER['HTTP_CLIENT_IP'];
|
||||
elseif (!empty($_SERVER['HTTP_X_FORWARDED_FOR'])) $ip = $_SERVER['HTTP_X_FORWARDED_FOR'];
|
||||
|
@ -63,4 +82,32 @@ function userDetail ($id, $kero=null) {
|
|||
return new \stdClass();
|
||||
}
|
||||
|
||||
function getCountries () {
|
||||
$flags = DB::table('nhn_country')->orderBy('id', 'asc')->get();
|
||||
$res = array();
|
||||
|
||||
foreach ($flags as $flag) {
|
||||
$protocol = isset($_SERVER["HTTPS"]) ? 'https' : 'http';
|
||||
|
||||
$res[] = array(
|
||||
'value' => $flag->nameEng,
|
||||
'label' => $flag->name
|
||||
);
|
||||
}
|
||||
|
||||
return $res;
|
||||
}
|
||||
|
||||
function makeToken () {
|
||||
$c = '0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ$!%&()';
|
||||
$clen = strlen($c);
|
||||
$token = '';
|
||||
|
||||
for ($i = 0; $i < 128; $i++) {
|
||||
$token .= $c[rand(0, $clen - 1)];
|
||||
}
|
||||
|
||||
return $token;
|
||||
}
|
||||
|
||||
?>
|
||||
|
|
|
@ -0,0 +1,19 @@
|
|||
#app {
|
||||
font-family: monospace;
|
||||
font-size: large;
|
||||
-webkit-font-smoothing: antialiased;
|
||||
-moz-osx-font-smoothing: grayscale;
|
||||
text-align: left;
|
||||
margin-top: 48px;
|
||||
margin-left: 0px;
|
||||
}
|
||||
|
||||
body {
|
||||
font-family: 'jpserriffont';
|
||||
text-align: center;
|
||||
color: #fcfcfc;
|
||||
background-color: #232629;
|
||||
}
|
||||
|
||||
a { color: #b16cce; }
|
||||
a:hover { color: #cb81ea; }
|
|
@ -0,0 +1,2 @@
|
|||
a { color: #f31de8; }
|
||||
a:hover { color: #e93de9; }
|
|
@ -0,0 +1,2 @@
|
|||
a { color: #1d99f3; }
|
||||
a:hover { color: #3daee9; }
|
|
@ -0,0 +1,3 @@
|
|||
.badge-danger { color: #fff; background-color: #dc3545; }
|
||||
.badge-light { color: #212529; background-color: #f8f9fa; }
|
||||
.badge { font-size: 100%; }
|
長すぎる行があるためファイル差分は表示されません
|
@ -0,0 +1,165 @@
|
|||
.btn, btn:hover {
|
||||
margin: 0 2px;
|
||||
border: 2px solid;
|
||||
}
|
||||
|
||||
.btn {
|
||||
border-left-color: #fcfcfc;
|
||||
border-top-color: #fcfcfc;
|
||||
}
|
||||
|
||||
.btn:hover {
|
||||
border-left-color: #7f8c8d;
|
||||
border-top-color: #7f8c8d;
|
||||
}
|
||||
|
||||
.btn-fumei, .btn-fumei.disabled, .btn-fumei:disabled {
|
||||
background: radial-gradient(ellipse at top, #61237c, transparent), radial-gradient(ellipse at bottom, #232629, transparent);
|
||||
color: #fcfcfc;
|
||||
background-color: #9b59b6;
|
||||
border-bottom-color: #cb81ea;
|
||||
border-right-color: #cb81ea;
|
||||
}
|
||||
|
||||
.btn-fumei:hover {
|
||||
color: #fcfcfc;
|
||||
background-color: #61237c;
|
||||
border-color: transparent;
|
||||
border-bottom-color: #9b59b6;
|
||||
border-right-color: #9b59b6;
|
||||
}
|
||||
|
||||
.btn-fumei-check {
|
||||
color: #fcfcfc;
|
||||
background-color: #61237c;
|
||||
border-color: transparent;
|
||||
border-bottom-color: #9b59b6;
|
||||
border-right-color: #9b59b6;
|
||||
box-shadow: 0px 0px 7px 3px #9b59b6;
|
||||
}
|
||||
|
||||
.btn-danshi, .btn-danshi.disabled, .btn-danshi:disabled {
|
||||
background: radial-gradient(ellipse at top, #3daee9, transparent), radial-gradient(ellipse at bottom, #232629, transparent);
|
||||
color: #fcfcfc;
|
||||
background-color: #fcfcfc;
|
||||
border-bottom-color: #9ed6ff;
|
||||
border-right-color: #9ed6ff;
|
||||
}
|
||||
|
||||
.btn-danshi:hover {
|
||||
color: #fcfcfc;
|
||||
background-color: #205e7d;
|
||||
border-color: transparent;
|
||||
border-bottom-color: #1d99f3;
|
||||
border-right-color: #1d99f3;
|
||||
}
|
||||
|
||||
.btn-danshi-check {
|
||||
color: #fcfcfc;
|
||||
background-color: #205e7d;
|
||||
border-color: transparent;
|
||||
border-bottom-color: #1d99f3;
|
||||
border-right-color: #1d99f3;
|
||||
box-shadow: 0px 0px 7px 3px #1d99f3;
|
||||
}
|
||||
|
||||
.btn-joshi, .btn-joshi.disabled, .btn-joshi:disabled {
|
||||
background: radial-gradient(ellipse at top, #e93de9, transparent), radial-gradient(ellipse at bottom, #232629, transparent);
|
||||
color: #fcfcfc;
|
||||
background-color: #fcfcfc;
|
||||
border-bottom-color: #ffe6f9;
|
||||
border-right-color: #ffe6f9;
|
||||
}
|
||||
|
||||
.btn-joshi:hover {
|
||||
color: #fcfcfc;
|
||||
background-color: #7d2069;
|
||||
border-color: transparent;
|
||||
border-bottom-color: #f31de8;
|
||||
border-right-color: #f31de8;
|
||||
}
|
||||
|
||||
.btn-joshi-check {
|
||||
color: #fcfcfc;
|
||||
background-color: #7d2069;
|
||||
border-color: transparent;
|
||||
border-bottom-color: #f31de8;
|
||||
border-right-color: #f31de8;
|
||||
box-shadow: 0px 0px 7px 3px #f31de8;
|
||||
}
|
||||
|
||||
.btn-primary, .btn-primary.disabled, .btn-primary:disabled {
|
||||
background: radial-gradient(ellipse at top, #cb81ea, transparent), radial-gradient(ellipse at bottom, #232629, transparent);
|
||||
color: #fcfcfc;
|
||||
border-bottom-color: #f1d0ff;
|
||||
border-right-color: #f1d0ff;
|
||||
}
|
||||
|
||||
.btn-primary:hover {
|
||||
color: #fcfcfc;
|
||||
background-color: #46195a;
|
||||
border-color: transparent;
|
||||
border-bottom-color: #b16cce;
|
||||
border-right-color: #b16cce;
|
||||
}
|
||||
|
||||
.btn-secondary, .btn-secondary.disabled, .btn-secondary:disabled {
|
||||
background: radial-gradient(ellipse at top, #7f8c8d, transparent), radial-gradient(ellipse at bottom, #232629, transparent);
|
||||
color: #fcfcfc;
|
||||
border-bottom-color: #d6dfe4;
|
||||
border-right-color: #d6dfe4;
|
||||
}
|
||||
|
||||
.btn-secondary:hover {
|
||||
color: #fcfcfc;
|
||||
background-color: #495051;
|
||||
border-color: transparent;
|
||||
border-bottom-color: #bdc3c7;
|
||||
border-right-color: #bdc3c7;
|
||||
}
|
||||
|
||||
.btn-success, .btn-success.disabled, .btn-success:disabled, .alert-success {
|
||||
background: radial-gradient(ellipse at top, #2ecc71, transparent), radial-gradient(ellipse at bottom, #232629, transparent);
|
||||
color: #fcfcfc;
|
||||
border-bottom-color: #20ec77;
|
||||
border-right-color: #20ec77;
|
||||
}
|
||||
|
||||
.btn-success:hover {
|
||||
color: #fcfcfc;
|
||||
background-color: #145d33;
|
||||
border-color: transparent;
|
||||
border-bottom-color: #27ae60;
|
||||
border-right-color: #27ae60;
|
||||
}
|
||||
|
||||
.btn-danger, .btn-danger.disabled, .btn-danger:disabled, .alert-danger {
|
||||
background: radial-gradient(ellipse at top, #e74c3c, transparent), radial-gradient(ellipse at bottom, #232629, transparent);
|
||||
color: #fcfcfc;
|
||||
border-bottom-color: #f58276;
|
||||
border-right-color: #f58276;
|
||||
}
|
||||
|
||||
.btn-danger:hover {
|
||||
color: #fcfcfc;
|
||||
background-color: #611e24;
|
||||
border-color: transparent;
|
||||
border-bottom-color: #e74c3c;
|
||||
border-right-color: #e74c3c;
|
||||
}
|
||||
|
||||
|
||||
.btn-warning, .btn-warning.disabled, .btn-warning:disabled, .alert-warning {
|
||||
background: radial-gradient(ellipse at top, #fdbc4b, transparent), radial-gradient(ellipse at bottom, #232629, transparent);
|
||||
color: #fcfcfc;
|
||||
border-bottom-color: #c9ce3b;
|
||||
border-right-color: #c9ce3b;
|
||||
}
|
||||
|
||||
.btn-warning:hover {
|
||||
color: #fcfcfc;
|
||||
background-color: #f67400;
|
||||
border-color: transparent;
|
||||
border-bottom-color: #fdbc4b;
|
||||
border-right-color: #fdbc4b;
|
||||
}
|
|
@ -0,0 +1,11 @@
|
|||
.btn-primary, .btn-primary.disabled, .btn-primary:disabled {
|
||||
background: radial-gradient(ellipse at top, #e93de9, transparent), radial-gradient(ellipse at bottom, #232629, transparent);
|
||||
border-bottom-color: #ffe6f9;
|
||||
border-right-color: #ffe6f9;
|
||||
}
|
||||
|
||||
.btn-primary:hover {
|
||||
background-color: #7d2069;
|
||||
border-bottom-color: #f31de8;
|
||||
border-right-color: #f31de8;
|
||||
}
|
|
@ -0,0 +1,11 @@
|
|||
.btn-primary, .btn-primary.disabled, .btn-primary:disabled {
|
||||
background: radial-gradient(ellipse at top, #3daee9, transparent), radial-gradient(ellipse at bottom, #232629, transparent);
|
||||
border-bottom-color: #9ed6ff;
|
||||
border-right-color: #9ed6ff;
|
||||
}
|
||||
|
||||
.btn-primary:hover {
|
||||
background-color: #205e7d;
|
||||
border-bottom-color: #1d99f3;
|
||||
border-right-color: #1d99f3;
|
||||
}
|
|
@ -1,8 +1,4 @@
|
|||
.custom-control-input:checked ~ .custom-control-label::before,
|
||||
.custom-radio .custom-control-input:checked ~ .custom-control-label::before,
|
||||
.custom-checkbox .custom-control-input:checked ~ .custom-control-label::before
|
||||
{
|
||||
color: $white1;
|
||||
background-color: $suwa03;
|
||||
border-color: $suwa04;
|
||||
}
|
||||
{ color: #fcfcfc; background-color: #cb81ea; border-color: #b16cce; }
|
|
@ -0,0 +1,4 @@
|
|||
.custom-control-input:checked ~ .custom-control-label::before,
|
||||
.custom-radio .custom-control-input:checked ~ .custom-control-label::before,
|
||||
.custom-checkbox .custom-control-input:checked ~ .custom-control-label::before
|
||||
{ background-color: #e93de9; border-color: #f31de8; }
|
|
@ -0,0 +1,4 @@
|
|||
.custom-control-input:checked ~ .custom-control-label::before,
|
||||
.custom-radio .custom-control-input:checked ~ .custom-control-label::before,
|
||||
.custom-checkbox .custom-control-input:checked ~ .custom-control-label::before
|
||||
{ background-color: #3daee9; border-color: #1d99f3; }
|
|
@ -0,0 +1,5 @@
|
|||
.fn { font-size: 16px; font-style: normal; color: #20ec77; }
|
||||
.comment-meta a { color: #bdc3c7; }
|
||||
.commentlist p { margin: 0 0 10px; padding: 10px 0 40px 0; font-size: 20px; }
|
||||
.commentnumber { float: left; margin-right: 5px; font-size: 16px; }
|
||||
ul { list-style: none; }
|
|
@ -0,0 +1,42 @@
|
|||
.bar { background: linear-gradient(to bottom, #57229c 0%, #6b4386 34%, #2d1a46 100%); }
|
||||
.bara { background: linear-gradient(180deg, #a05ebd 0, #e4b4f8 34%, #51047d 100%); }
|
||||
.bar, .bara, .barm {
|
||||
text-align: center;
|
||||
color: #fcfcfc;
|
||||
padding: 5px;
|
||||
font-size: 20px;
|
||||
border-bottom: solid 2px #cb81ea;
|
||||
cursor: pointer;
|
||||
transition: background 0.3s, color 0.3s;
|
||||
}
|
||||
.barm { background: linear-gradient(180deg, #313639 0, #4d4d4d 34%, #232629 100%); border-bottom: solid 2px #fcfcfc; font-size: 24px; cursor: default; font-weight: bolder; }
|
||||
.bar > a { color: #fcfcfc; }
|
||||
.bar > a:hover { text-decoration: none; }
|
||||
.bar:hover { color: #fcfcfc; background: linear-gradient(to bottom, #6c29b9 0%, #916ead 34%, #5d2b8b 100%); }
|
||||
.indexborder { border: 2px solid #cb81ea; box-shadow: 0px 0px 7px 3px #b16cce; padding: 8px; background-color: #232629; }
|
||||
.meta { padding: 5px; text-align: left; background-color: #341242; border-bottom: solid 2px #cb81ea; }
|
||||
.comment { border-top: solid 2px #cb81ea; }
|
||||
.back, .comment { padding: 4px; background-color: #31363b; text-align: left; }
|
||||
.commentloop { padding: 10px 4px 40px 4px; }
|
||||
.commentloop > .name { color: #11d116; }
|
||||
.within { margin: 0 auto; border: 2px solid #cb81ea; box-shadow: 0px 0px 7px 3px #b16cce; }
|
||||
.wny { border: solid 2px #ed1515; box-shadow: 0px 0px 20px 10px #ff3636; }
|
||||
.bny, .cny { background-color: #da4453; border-bottom: solid 2px #ed1515; }
|
||||
.mny { background-color: #c0392b; border-bottom: solid 2px #ed1515; }
|
||||
.kero-section {
|
||||
width: 100%;
|
||||
font-size: 150%;
|
||||
font-weight: bolder;
|
||||
text-align: center;
|
||||
padding: 4px;
|
||||
margin: 8px 0;
|
||||
background: linear-gradient(to bottom, #cb81ea 0%, #57229c 34%, #d898f3 100%);
|
||||
color: #fcfcfc;
|
||||
border-bottom-color: #f1d0ff;
|
||||
border-right-color: #f1d0ff;
|
||||
border-bottom-color: #f1d0ff;
|
||||
border-right-color: #f1d0ff;
|
||||
border-width: 1px;
|
||||
border-radius: 25px;
|
||||
cursor: default;
|
||||
}
|
|
@ -0,0 +1,9 @@
|
|||
.bar { background: linear-gradient(to bottom, #9c2296 0%, #864386 34%, #421a46 100%); }
|
||||
.bara { background: linear-gradient(180deg, #ea00ff 0, #e599e5 34%, #7d0469 100%); }
|
||||
.bar, .bara { border-bottom: solid 2px #e93de9; }
|
||||
.bar:hover { background: linear-gradient(to bottom, #b929ad 0%, #ad6ea8 34%, #832b8b 100%); }
|
||||
.indexborder { border: 2px solid #e93de9; box-shadow: 0px 0px 7px 3px #f31de8; }
|
||||
.meta { background-color: #502c50; border-bottom: solid 2px #e93de9; }
|
||||
.comment { border-top: solid 2px #e93de9; }
|
||||
.within { border: 2px solid #e93de9; box-shadow: 0px 0px 7px 3px #f31de8; }
|
||||
.kero-section { background: linear-gradient(to bottom, #e93de9 0%, #9c2296 34%, #ea81e8 100%); border-bottom-color: #ffe6f9; border-right-color: #ffe6f9; border-bottom-color: #ffe6f9; border-right-color: #ffe6f9; }
|
|
@ -0,0 +1,9 @@
|
|||
.bar { background: linear-gradient(to bottom, #22699c 0%, #436a86 34%, #1a3746 100%); }
|
||||
.bara { background: linear-gradient(180deg, #0094ff 0, #8bb6d6 34%, #04547d 100%); }
|
||||
.bar, .bara { border-bottom: solid 2px #3daee9; }
|
||||
.bar:hover { background: linear-gradient(to bottom, #2980b9 0%, #6e93ad 34%, #2b6b8b 100%); }
|
||||
.indexborder { border: 2px solid #3daee9; box-shadow: 0px 0px 7px 3px #1d99f3; }
|
||||
.meta { background-color: #2c3e50; border-bottom: solid 2px #3daee9; }
|
||||
.comment { border-top: solid 2px #3daee9; }
|
||||
.within { border: 2px solid #3daee9; box-shadow: 0px 0px 7px 3px #1d99f3; }
|
||||
.kero-section { background: linear-gradient(to bottom, #3daee9 0%, #22699c 34%, #6ec0fb 100%); border-bottom-color: #9ed6ff; border-right-color: #9ed6ff; border-bottom-color: #9ed6ff; border-right-color: #9ed6ff; }
|
|
@ -0,0 +1,4 @@
|
|||
.form-control, .form-control:focus { background-color: #232629; color: #fcfcfc; }
|
||||
.form-control { border: 1px solid #220a2c; }
|
||||
.form-control:focus { border: 1px solid #cb81ea; }
|
||||
.form-control:disabled, .form-control[readonly] { background-color: #232629; }
|
|
@ -0,0 +1,2 @@
|
|||
.form-control { border: 1px solid #5e345c; }
|
||||
.form-control:focus { border: 1px solid #e93de9; }
|
|
@ -0,0 +1,2 @@
|
|||
.form-control { border: 1px solid #34495e; }
|
||||
.form-control:focus { border: 1px solid #3daee9; }
|
|
@ -0,0 +1,9 @@
|
|||
@font-face {
|
||||
font-family: "jpserriffont";
|
||||
font-style: normal;
|
||||
font-weight: 400;
|
||||
src: url(/fonts/jpserriffont.woff?7c80edebf55afde76b91a29eb69e6e21);
|
||||
font-display: swap;
|
||||
}
|
||||
|
||||
body { font-family: jpserriffont; }
|
|
@ -0,0 +1,41 @@
|
|||
.logo-img { border: 2px solid #cb81ea; box-shadow: 0 0 7px 3px #b16cce; }
|
||||
.logo-sns { transition: background 0.3s, color 0.3s; background-color: #31363b; border: 1px solid #eff0f1; padding: 8px; margin: 4px 10px; }
|
||||
.logo-sns:hover { background-color: #eff0f1; border: 1px solid #31363b; }
|
||||
.logo-play { transition: background 0.3s, color 0.3s; background-color: transparent; border-radius: 25%; padding: 2px; }
|
||||
.logo-play:hover { background-color: #ff3636; }
|
||||
.logo-br { padding: 8px; }
|
||||
|
||||
@-webkit-keyframes sitenamehover {
|
||||
0% { text-shadow: -4px -4px 0 #b16cce, -4px -3px 0 #b16cce, -4px -2px 0 #b16cce, -4px -1px 0 #b16cce, -4px 0px 0 #b16cce, -4px 1px 0 #b16cce, -4px 2px 0 #b16cce, -4px 3px 0 #b16cce, -4px 4px 0 #b16cce, -3px -4px 0 #b16cce, -3px -3px 0 #b16cce, -3px -2px 0 #b16cce, -3px -1px 0 #b16cce, -3px 0px 0 #b16cce, -3px 1px 0 #b16cce, -3px 2px 0 #b16cce, -3px 3px 0 #b16cce, -3px 4px 0 #b16cce, -2px -4px 0 #b16cce, -2px -3px 0 #b16cce, -2px -2px 0 #b16cce, -2px -1px 0 #b16cce, -2px 0px 0 #b16cce, -2px 1px 0 #b16cce, -2px 2px 0 #b16cce, -2px 3px 0 #b16cce, -2px 4px 0 #b16cce, -1px -4px 0 #b16cce, -1px -3px 0 #b16cce, -1px -2px 0 #b16cce, -1px -1px 0 #b16cce, -1px 0px 0 #b16cce, -1px 1px 0 #b16cce, -1px 2px 0 #b16cce, -1px 3px 0 #b16cce, -1px 4px 0 #b16cce, 0px -4px 0 #b16cce, 0px -3px 0 #b16cce, 0px -2px 0 #b16cce, 0px -1px 0 #b16cce, 0px 0px 0 #b16cce, 0px 1px 0 #b16cce, 0px 2px 0 #b16cce, 0px 3px 0 #b16cce, 0px 4px 0 #b16cce, 1px -4px 0 #b16cce, 1px -3px 0 #b16cce, 1px -2px 0 #b16cce, 1px -1px 0 #b16cce, 1px 0px 0 #b16cce, 1px 1px 0 #b16cce, 1px 2px 0 #b16cce, 1px 3px 0 #b16cce, 1px 4px 0 #b16cce, 2px -4px 0 #b16cce, 2px -3px 0 #b16cce, 2px -2px 0 #b16cce, 2px -1px 0 #b16cce, 2px 0px 0 #b16cce, 2px 1px 0 #b16cce, 2px 2px 0 #b16cce, 2px 3px 0 #b16cce, 2px 4px 0 #b16cce, 3px -4px 0 #b16cce, 3px -3px 0 #b16cce, 3px -2px 0 #b16cce, 3px -1px 0 #b16cce, 3px 0px 0 #b16cce, 3px 1px 0 #b16cce, 3px 2px 0 #b16cce, 3px 3px 0 #b16cce, 3px 4px 0 #b16cce, 4px -4px 0 #b16cce, 4px -3px 0 #b16cce, 4px -2px 0 #b16cce, 4px -1px 0 #b16cce, 4px 0px 0 #b16cce, 4px 1px 0 #b16cce, 4px 2px 0 #b16cce, 4px 3px 0 #b16cce, 4px 4px 0 #b16cce; }
|
||||
25% { text-shadow: -4px -4px 0 #cb81ea, -4px -3px 0 #cb81ea, -4px -2px 0 #cb81ea, -4px -1px 0 #cb81ea, -4px 0px 0 #cb81ea, -4px 1px 0 #cb81ea, -4px 2px 0 #cb81ea, -4px 3px 0 #cb81ea, -4px 4px 0 #cb81ea, -3px -4px 0 #cb81ea, -3px -3px 0 #cb81ea, -3px -2px 0 #cb81ea, -3px -1px 0 #cb81ea, -3px 0px 0 #cb81ea, -3px 1px 0 #cb81ea, -3px 2px 0 #cb81ea, -3px 3px 0 #cb81ea, -3px 4px 0 #cb81ea, -2px -4px 0 #cb81ea, -2px -3px 0 #cb81ea, -2px -2px 0 #cb81ea, -2px -1px 0 #cb81ea, -2px 0px 0 #cb81ea, -2px 1px 0 #cb81ea, -2px 2px 0 #cb81ea, -2px 3px 0 #cb81ea, -2px 4px 0 #cb81ea, -1px -4px 0 #cb81ea, -1px -3px 0 #cb81ea, -1px -2px 0 #cb81ea, -1px -1px 0 #cb81ea, -1px 0px 0 #cb81ea, -1px 1px 0 #cb81ea, -1px 2px 0 #cb81ea, -1px 3px 0 #cb81ea, -1px 4px 0 #cb81ea, 0px -4px 0 #cb81ea, 0px -3px 0 #cb81ea, 0px -2px 0 #cb81ea, 0px -1px 0 #cb81ea, 0px 0px 0 #cb81ea, 0px 1px 0 #cb81ea, 0px 2px 0 #cb81ea, 0px 3px 0 #cb81ea, 0px 4px 0 #cb81ea, 1px -4px 0 #cb81ea, 1px -3px 0 #cb81ea, 1px -2px 0 #cb81ea, 1px -1px 0 #cb81ea, 1px 0px 0 #cb81ea, 1px 1px 0 #cb81ea, 1px 2px 0 #cb81ea, 1px 3px 0 #cb81ea, 1px 4px 0 #cb81ea, 2px -4px 0 #cb81ea, 2px -3px 0 #cb81ea, 2px -2px 0 #cb81ea, 2px -1px 0 #cb81ea, 2px 0px 0 #cb81ea, 2px 1px 0 #cb81ea, 2px 2px 0 #cb81ea, 2px 3px 0 #cb81ea, 2px 4px 0 #cb81ea, 3px -4px 0 #cb81ea, 3px -3px 0 #cb81ea, 3px -2px 0 #cb81ea, 3px -1px 0 #cb81ea, 3px 0px 0 #cb81ea, 3px 1px 0 #cb81ea, 3px 2px 0 #cb81ea, 3px 3px 0 #cb81ea, 3px 4px 0 #cb81ea, 4px -4px 0 #cb81ea, 4px -3px 0 #cb81ea, 4px -2px 0 #cb81ea, 4px -1px 0 #cb81ea, 4px 0px 0 #cb81ea, 4px 1px 0 #cb81ea, 4px 2px 0 #cb81ea, 4px 3px 0 #cb81ea, 4px 4px 0 #cb81ea; }
|
||||
50% { text-shadow: -4px -4px 0 #f1d0ff, -4px -3px 0 #f1d0ff, -4px -2px 0 #f1d0ff, -4px -1px 0 #f1d0ff, -4px 0px 0 #f1d0ff, -4px 1px 0 #f1d0ff, -4px 2px 0 #f1d0ff, -4px 3px 0 #f1d0ff, -4px 4px 0 #f1d0ff, -3px -4px 0 #f1d0ff, -3px -3px 0 #f1d0ff, -3px -2px 0 #f1d0ff, -3px -1px 0 #f1d0ff, -3px 0px 0 #f1d0ff, -3px 1px 0 #f1d0ff, -3px 2px 0 #f1d0ff, -3px 3px 0 #f1d0ff, -3px 4px 0 #f1d0ff, -2px -4px 0 #f1d0ff, -2px -3px 0 #f1d0ff, -2px -2px 0 #f1d0ff, -2px -1px 0 #f1d0ff, -2px 0px 0 #f1d0ff, -2px 1px 0 #f1d0ff, -2px 2px 0 #f1d0ff, -2px 3px 0 #f1d0ff, -2px 4px 0 #f1d0ff, -1px -4px 0 #f1d0ff, -1px -3px 0 #f1d0ff, -1px -2px 0 #f1d0ff, -1px -1px 0 #f1d0ff, -1px 0px 0 #f1d0ff, -1px 1px 0 #f1d0ff, -1px 2px 0 #f1d0ff, -1px 3px 0 #f1d0ff, -1px 4px 0 #f1d0ff, 0px -4px 0 #f1d0ff, 0px -3px 0 #f1d0ff, 0px -2px 0 #f1d0ff, 0px -1px 0 #f1d0ff, 0px 0px 0 #f1d0ff, 0px 1px 0 #f1d0ff, 0px 2px 0 #f1d0ff, 0px 3px 0 #f1d0ff, 0px 4px 0 #f1d0ff, 1px -4px 0 #f1d0ff, 1px -3px 0 #f1d0ff, 1px -2px 0 #f1d0ff, 1px -1px 0 #f1d0ff, 1px 0px 0 #f1d0ff, 1px 1px 0 #f1d0ff, 1px 2px 0 #f1d0ff, 1px 3px 0 #f1d0ff, 1px 4px 0 #f1d0ff, 2px -4px 0 #f1d0ff, 2px -3px 0 #f1d0ff, 2px -2px 0 #f1d0ff, 2px -1px 0 #f1d0ff, 2px 0px 0 #f1d0ff, 2px 1px 0 #f1d0ff, 2px 2px 0 #f1d0ff, 2px 3px 0 #f1d0ff, 2px 4px 0 #f1d0ff, 3px -4px 0 #f1d0ff, 3px -3px 0 #f1d0ff, 3px -2px 0 #f1d0ff, 3px -1px 0 #f1d0ff, 3px 0px 0 #f1d0ff, 3px 1px 0 #f1d0ff, 3px 2px 0 #f1d0ff, 3px 3px 0 #f1d0ff, 3px 4px 0 #f1d0ff, 4px -4px 0 #f1d0ff, 4px -3px 0 #f1d0ff, 4px -2px 0 #f1d0ff, 4px -1px 0 #f1d0ff, 4px 0px 0 #f1d0ff, 4px 1px 0 #f1d0ff, 4px 2px 0 #f1d0ff, 4px 3px 0 #f1d0ff, 4px 4px 0 #f1d0ff; }
|
||||
75% { text-shadow: -4px -4px 0 #cb81ea, -4px -3px 0 #cb81ea, -4px -2px 0 #cb81ea, -4px -1px 0 #cb81ea, -4px 0px 0 #cb81ea, -4px 1px 0 #cb81ea, -4px 2px 0 #cb81ea, -4px 3px 0 #cb81ea, -4px 4px 0 #cb81ea, -3px -4px 0 #cb81ea, -3px -3px 0 #cb81ea, -3px -2px 0 #cb81ea, -3px -1px 0 #cb81ea, -3px 0px 0 #cb81ea, -3px 1px 0 #cb81ea, -3px 2px 0 #cb81ea, -3px 3px 0 #cb81ea, -3px 4px 0 #cb81ea, -2px -4px 0 #cb81ea, -2px -3px 0 #cb81ea, -2px -2px 0 #cb81ea, -2px -1px 0 #cb81ea, -2px 0px 0 #cb81ea, -2px 1px 0 #cb81ea, -2px 2px 0 #cb81ea, -2px 3px 0 #cb81ea, -2px 4px 0 #cb81ea, -1px -4px 0 #cb81ea, -1px -3px 0 #cb81ea, -1px -2px 0 #cb81ea, -1px -1px 0 #cb81ea, -1px 0px 0 #cb81ea, -1px 1px 0 #cb81ea, -1px 2px 0 #cb81ea, -1px 3px 0 #cb81ea, -1px 4px 0 #cb81ea, 0px -4px 0 #cb81ea, 0px -3px 0 #cb81ea, 0px -2px 0 #cb81ea, 0px -1px 0 #cb81ea, 0px 0px 0 #cb81ea, 0px 1px 0 #cb81ea, 0px 2px 0 #cb81ea, 0px 3px 0 #cb81ea, 0px 4px 0 #cb81ea, 1px -4px 0 #cb81ea, 1px -3px 0 #cb81ea, 1px -2px 0 #cb81ea, 1px -1px 0 #cb81ea, 1px 0px 0 #cb81ea, 1px 1px 0 #cb81ea, 1px 2px 0 #cb81ea, 1px 3px 0 #cb81ea, 1px 4px 0 #cb81ea, 2px -4px 0 #cb81ea, 2px -3px 0 #cb81ea, 2px -2px 0 #cb81ea, 2px -1px 0 #cb81ea, 2px 0px 0 #cb81ea, 2px 1px 0 #cb81ea, 2px 2px 0 #cb81ea, 2px 3px 0 #cb81ea, 2px 4px 0 #cb81ea, 3px -4px 0 #cb81ea, 3px -3px 0 #cb81ea, 3px -2px 0 #cb81ea, 3px -1px 0 #cb81ea, 3px 0px 0 #cb81ea, 3px 1px 0 #cb81ea, 3px 2px 0 #cb81ea, 3px 3px 0 #cb81ea, 3px 4px 0 #cb81ea, 4px -4px 0 #cb81ea, 4px -3px 0 #cb81ea, 4px -2px 0 #cb81ea, 4px -1px 0 #cb81ea, 4px 0px 0 #cb81ea, 4px 1px 0 #cb81ea, 4px 2px 0 #cb81ea, 4px 3px 0 #cb81ea, 4px 4px 0 #cb81ea; }
|
||||
100% { text-shadow: -4px -4px 0 #b16cce, -4px -3px 0 #b16cce, -4px -2px 0 #b16cce, -4px -1px 0 #b16cce, -4px 0px 0 #b16cce, -4px 1px 0 #b16cce, -4px 2px 0 #b16cce, -4px 3px 0 #b16cce, -4px 4px 0 #b16cce, -3px -4px 0 #b16cce, -3px -3px 0 #b16cce, -3px -2px 0 #b16cce, -3px -1px 0 #b16cce, -3px 0px 0 #b16cce, -3px 1px 0 #b16cce, -3px 2px 0 #b16cce, -3px 3px 0 #b16cce, -3px 4px 0 #b16cce, -2px -4px 0 #b16cce, -2px -3px 0 #b16cce, -2px -2px 0 #b16cce, -2px -1px 0 #b16cce, -2px 0px 0 #b16cce, -2px 1px 0 #b16cce, -2px 2px 0 #b16cce, -2px 3px 0 #b16cce, -2px 4px 0 #b16cce, -1px -4px 0 #b16cce, -1px -3px 0 #b16cce, -1px -2px 0 #b16cce, -1px -1px 0 #b16cce, -1px 0px 0 #b16cce, -1px 1px 0 #b16cce, -1px 2px 0 #b16cce, -1px 3px 0 #b16cce, -1px 4px 0 #b16cce, 0px -4px 0 #b16cce, 0px -3px 0 #b16cce, 0px -2px 0 #b16cce, 0px -1px 0 #b16cce, 0px 0px 0 #b16cce, 0px 1px 0 #b16cce, 0px 2px 0 #b16cce, 0px 3px 0 #b16cce, 0px 4px 0 #b16cce, 1px -4px 0 #b16cce, 1px -3px 0 #b16cce, 1px -2px 0 #b16cce, 1px -1px 0 #b16cce, 1px 0px 0 #b16cce, 1px 1px 0 #b16cce, 1px 2px 0 #b16cce, 1px 3px 0 #b16cce, 1px 4px 0 #b16cce, 2px -4px 0 #b16cce, 2px -3px 0 #b16cce, 2px -2px 0 #b16cce, 2px -1px 0 #b16cce, 2px 0px 0 #b16cce, 2px 1px 0 #b16cce, 2px 2px 0 #b16cce, 2px 3px 0 #b16cce, 2px 4px 0 #b16cce, 3px -4px 0 #b16cce, 3px -3px 0 #b16cce, 3px -2px 0 #b16cce, 3px -1px 0 #b16cce, 3px 0px 0 #b16cce, 3px 1px 0 #b16cce, 3px 2px 0 #b16cce, 3px 3px 0 #b16cce, 3px 4px 0 #b16cce, 4px -4px 0 #b16cce, 4px -3px 0 #b16cce, 4px -2px 0 #b16cce, 4px -1px 0 #b16cce, 4px 0px 0 #b16cce, 4px 1px 0 #b16cce, 4px 2px 0 #b16cce, 4px 3px 0 #b16cce, 4px 4px 0 #b16cce; }
|
||||
}
|
||||
|
||||
@keyframes sitenamehover {
|
||||
0% { text-shadow: -4px -4px 0 #b16cce, -4px -3px 0 #b16cce, -4px -2px 0 #b16cce, -4px -1px 0 #b16cce, -4px 0px 0 #b16cce, -4px 1px 0 #b16cce, -4px 2px 0 #b16cce, -4px 3px 0 #b16cce, -4px 4px 0 #b16cce, -3px -4px 0 #b16cce, -3px -3px 0 #b16cce, -3px -2px 0 #b16cce, -3px -1px 0 #b16cce, -3px 0px 0 #b16cce, -3px 1px 0 #b16cce, -3px 2px 0 #b16cce, -3px 3px 0 #b16cce, -3px 4px 0 #b16cce, -2px -4px 0 #b16cce, -2px -3px 0 #b16cce, -2px -2px 0 #b16cce, -2px -1px 0 #b16cce, -2px 0px 0 #b16cce, -2px 1px 0 #b16cce, -2px 2px 0 #b16cce, -2px 3px 0 #b16cce, -2px 4px 0 #b16cce, -1px -4px 0 #b16cce, -1px -3px 0 #b16cce, -1px -2px 0 #b16cce, -1px -1px 0 #b16cce, -1px 0px 0 #b16cce, -1px 1px 0 #b16cce, -1px 2px 0 #b16cce, -1px 3px 0 #b16cce, -1px 4px 0 #b16cce, 0px -4px 0 #b16cce, 0px -3px 0 #b16cce, 0px -2px 0 #b16cce, 0px -1px 0 #b16cce, 0px 0px 0 #b16cce, 0px 1px 0 #b16cce, 0px 2px 0 #b16cce, 0px 3px 0 #b16cce, 0px 4px 0 #b16cce, 1px -4px 0 #b16cce, 1px -3px 0 #b16cce, 1px -2px 0 #b16cce, 1px -1px 0 #b16cce, 1px 0px 0 #b16cce, 1px 1px 0 #b16cce, 1px 2px 0 #b16cce, 1px 3px 0 #b16cce, 1px 4px 0 #b16cce, 2px -4px 0 #b16cce, 2px -3px 0 #b16cce, 2px -2px 0 #b16cce, 2px -1px 0 #b16cce, 2px 0px 0 #b16cce, 2px 1px 0 #b16cce, 2px 2px 0 #b16cce, 2px 3px 0 #b16cce, 2px 4px 0 #b16cce, 3px -4px 0 #b16cce, 3px -3px 0 #b16cce, 3px -2px 0 #b16cce, 3px -1px 0 #b16cce, 3px 0px 0 #b16cce, 3px 1px 0 #b16cce, 3px 2px 0 #b16cce, 3px 3px 0 #b16cce, 3px 4px 0 #b16cce, 4px -4px 0 #b16cce, 4px -3px 0 #b16cce, 4px -2px 0 #b16cce, 4px -1px 0 #b16cce, 4px 0px 0 #b16cce, 4px 1px 0 #b16cce, 4px 2px 0 #b16cce, 4px 3px 0 #b16cce, 4px 4px 0 #b16cce; }
|
||||
25% { text-shadow: -4px -4px 0 #cb81ea, -4px -3px 0 #cb81ea, -4px -2px 0 #cb81ea, -4px -1px 0 #cb81ea, -4px 0px 0 #cb81ea, -4px 1px 0 #cb81ea, -4px 2px 0 #cb81ea, -4px 3px 0 #cb81ea, -4px 4px 0 #cb81ea, -3px -4px 0 #cb81ea, -3px -3px 0 #cb81ea, -3px -2px 0 #cb81ea, -3px -1px 0 #cb81ea, -3px 0px 0 #cb81ea, -3px 1px 0 #cb81ea, -3px 2px 0 #cb81ea, -3px 3px 0 #cb81ea, -3px 4px 0 #cb81ea, -2px -4px 0 #cb81ea, -2px -3px 0 #cb81ea, -2px -2px 0 #cb81ea, -2px -1px 0 #cb81ea, -2px 0px 0 #cb81ea, -2px 1px 0 #cb81ea, -2px 2px 0 #cb81ea, -2px 3px 0 #cb81ea, -2px 4px 0 #cb81ea, -1px -4px 0 #cb81ea, -1px -3px 0 #cb81ea, -1px -2px 0 #cb81ea, -1px -1px 0 #cb81ea, -1px 0px 0 #cb81ea, -1px 1px 0 #cb81ea, -1px 2px 0 #cb81ea, -1px 3px 0 #cb81ea, -1px 4px 0 #cb81ea, 0px -4px 0 #cb81ea, 0px -3px 0 #cb81ea, 0px -2px 0 #cb81ea, 0px -1px 0 #cb81ea, 0px 0px 0 #cb81ea, 0px 1px 0 #cb81ea, 0px 2px 0 #cb81ea, 0px 3px 0 #cb81ea, 0px 4px 0 #cb81ea, 1px -4px 0 #cb81ea, 1px -3px 0 #cb81ea, 1px -2px 0 #cb81ea, 1px -1px 0 #cb81ea, 1px 0px 0 #cb81ea, 1px 1px 0 #cb81ea, 1px 2px 0 #cb81ea, 1px 3px 0 #cb81ea, 1px 4px 0 #cb81ea, 2px -4px 0 #cb81ea, 2px -3px 0 #cb81ea, 2px -2px 0 #cb81ea, 2px -1px 0 #cb81ea, 2px 0px 0 #cb81ea, 2px 1px 0 #cb81ea, 2px 2px 0 #cb81ea, 2px 3px 0 #cb81ea, 2px 4px 0 #cb81ea, 3px -4px 0 #cb81ea, 3px -3px 0 #cb81ea, 3px -2px 0 #cb81ea, 3px -1px 0 #cb81ea, 3px 0px 0 #cb81ea, 3px 1px 0 #cb81ea, 3px 2px 0 #cb81ea, 3px 3px 0 #cb81ea, 3px 4px 0 #cb81ea, 4px -4px 0 #cb81ea, 4px -3px 0 #cb81ea, 4px -2px 0 #cb81ea, 4px -1px 0 #cb81ea, 4px 0px 0 #cb81ea, 4px 1px 0 #cb81ea, 4px 2px 0 #cb81ea, 4px 3px 0 #cb81ea, 4px 4px 0 #cb81ea; }
|
||||
50% { text-shadow: -4px -4px 0 #f1d0ff, -4px -3px 0 #f1d0ff, -4px -2px 0 #f1d0ff, -4px -1px 0 #f1d0ff, -4px 0px 0 #f1d0ff, -4px 1px 0 #f1d0ff, -4px 2px 0 #f1d0ff, -4px 3px 0 #f1d0ff, -4px 4px 0 #f1d0ff, -3px -4px 0 #f1d0ff, -3px -3px 0 #f1d0ff, -3px -2px 0 #f1d0ff, -3px -1px 0 #f1d0ff, -3px 0px 0 #f1d0ff, -3px 1px 0 #f1d0ff, -3px 2px 0 #f1d0ff, -3px 3px 0 #f1d0ff, -3px 4px 0 #f1d0ff, -2px -4px 0 #f1d0ff, -2px -3px 0 #f1d0ff, -2px -2px 0 #f1d0ff, -2px -1px 0 #f1d0ff, -2px 0px 0 #f1d0ff, -2px 1px 0 #f1d0ff, -2px 2px 0 #f1d0ff, -2px 3px 0 #f1d0ff, -2px 4px 0 #f1d0ff, -1px -4px 0 #f1d0ff, -1px -3px 0 #f1d0ff, -1px -2px 0 #f1d0ff, -1px -1px 0 #f1d0ff, -1px 0px 0 #f1d0ff, -1px 1px 0 #f1d0ff, -1px 2px 0 #f1d0ff, -1px 3px 0 #f1d0ff, -1px 4px 0 #f1d0ff, 0px -4px 0 #f1d0ff, 0px -3px 0 #f1d0ff, 0px -2px 0 #f1d0ff, 0px -1px 0 #f1d0ff, 0px 0px 0 #f1d0ff, 0px 1px 0 #f1d0ff, 0px 2px 0 #f1d0ff, 0px 3px 0 #f1d0ff, 0px 4px 0 #f1d0ff, 1px -4px 0 #f1d0ff, 1px -3px 0 #f1d0ff, 1px -2px 0 #f1d0ff, 1px -1px 0 #f1d0ff, 1px 0px 0 #f1d0ff, 1px 1px 0 #f1d0ff, 1px 2px 0 #f1d0ff, 1px 3px 0 #f1d0ff, 1px 4px 0 #f1d0ff, 2px -4px 0 #f1d0ff, 2px -3px 0 #f1d0ff, 2px -2px 0 #f1d0ff, 2px -1px 0 #f1d0ff, 2px 0px 0 #f1d0ff, 2px 1px 0 #f1d0ff, 2px 2px 0 #f1d0ff, 2px 3px 0 #f1d0ff, 2px 4px 0 #f1d0ff, 3px -4px 0 #f1d0ff, 3px -3px 0 #f1d0ff, 3px -2px 0 #f1d0ff, 3px -1px 0 #f1d0ff, 3px 0px 0 #f1d0ff, 3px 1px 0 #f1d0ff, 3px 2px 0 #f1d0ff, 3px 3px 0 #f1d0ff, 3px 4px 0 #f1d0ff, 4px -4px 0 #f1d0ff, 4px -3px 0 #f1d0ff, 4px -2px 0 #f1d0ff, 4px -1px 0 #f1d0ff, 4px 0px 0 #f1d0ff, 4px 1px 0 #f1d0ff, 4px 2px 0 #f1d0ff, 4px 3px 0 #f1d0ff, 4px 4px 0 #f1d0ff; }
|
||||
75% { text-shadow: -4px -4px 0 #cb81ea, -4px -3px 0 #cb81ea, -4px -2px 0 #cb81ea, -4px -1px 0 #cb81ea, -4px 0px 0 #cb81ea, -4px 1px 0 #cb81ea, -4px 2px 0 #cb81ea, -4px 3px 0 #cb81ea, -4px 4px 0 #cb81ea, -3px -4px 0 #cb81ea, -3px -3px 0 #cb81ea, -3px -2px 0 #cb81ea, -3px -1px 0 #cb81ea, -3px 0px 0 #cb81ea, -3px 1px 0 #cb81ea, -3px 2px 0 #cb81ea, -3px 3px 0 #cb81ea, -3px 4px 0 #cb81ea, -2px -4px 0 #cb81ea, -2px -3px 0 #cb81ea, -2px -2px 0 #cb81ea, -2px -1px 0 #cb81ea, -2px 0px 0 #cb81ea, -2px 1px 0 #cb81ea, -2px 2px 0 #cb81ea, -2px 3px 0 #cb81ea, -2px 4px 0 #cb81ea, -1px -4px 0 #cb81ea, -1px -3px 0 #cb81ea, -1px -2px 0 #cb81ea, -1px -1px 0 #cb81ea, -1px 0px 0 #cb81ea, -1px 1px 0 #cb81ea, -1px 2px 0 #cb81ea, -1px 3px 0 #cb81ea, -1px 4px 0 #cb81ea, 0px -4px 0 #cb81ea, 0px -3px 0 #cb81ea, 0px -2px 0 #cb81ea, 0px -1px 0 #cb81ea, 0px 0px 0 #cb81ea, 0px 1px 0 #cb81ea, 0px 2px 0 #cb81ea, 0px 3px 0 #cb81ea, 0px 4px 0 #cb81ea, 1px -4px 0 #cb81ea, 1px -3px 0 #cb81ea, 1px -2px 0 #cb81ea, 1px -1px 0 #cb81ea, 1px 0px 0 #cb81ea, 1px 1px 0 #cb81ea, 1px 2px 0 #cb81ea, 1px 3px 0 #cb81ea, 1px 4px 0 #cb81ea, 2px -4px 0 #cb81ea, 2px -3px 0 #cb81ea, 2px -2px 0 #cb81ea, 2px -1px 0 #cb81ea, 2px 0px 0 #cb81ea, 2px 1px 0 #cb81ea, 2px 2px 0 #cb81ea, 2px 3px 0 #cb81ea, 2px 4px 0 #cb81ea, 3px -4px 0 #cb81ea, 3px -3px 0 #cb81ea, 3px -2px 0 #cb81ea, 3px -1px 0 #cb81ea, 3px 0px 0 #cb81ea, 3px 1px 0 #cb81ea, 3px 2px 0 #cb81ea, 3px 3px 0 #cb81ea, 3px 4px 0 #cb81ea, 4px -4px 0 #cb81ea, 4px -3px 0 #cb81ea, 4px -2px 0 #cb81ea, 4px -1px 0 #cb81ea, 4px 0px 0 #cb81ea, 4px 1px 0 #cb81ea, 4px 2px 0 #cb81ea, 4px 3px 0 #cb81ea, 4px 4px 0 #cb81ea; }
|
||||
100% { text-shadow: -4px -4px 0 #b16cce, -4px -3px 0 #b16cce, -4px -2px 0 #b16cce, -4px -1px 0 #b16cce, -4px 0px 0 #b16cce, -4px 1px 0 #b16cce, -4px 2px 0 #b16cce, -4px 3px 0 #b16cce, -4px 4px 0 #b16cce, -3px -4px 0 #b16cce, -3px -3px 0 #b16cce, -3px -2px 0 #b16cce, -3px -1px 0 #b16cce, -3px 0px 0 #b16cce, -3px 1px 0 #b16cce, -3px 2px 0 #b16cce, -3px 3px 0 #b16cce, -3px 4px 0 #b16cce, -2px -4px 0 #b16cce, -2px -3px 0 #b16cce, -2px -2px 0 #b16cce, -2px -1px 0 #b16cce, -2px 0px 0 #b16cce, -2px 1px 0 #b16cce, -2px 2px 0 #b16cce, -2px 3px 0 #b16cce, -2px 4px 0 #b16cce, -1px -4px 0 #b16cce, -1px -3px 0 #b16cce, -1px -2px 0 #b16cce, -1px -1px 0 #b16cce, -1px 0px 0 #b16cce, -1px 1px 0 #b16cce, -1px 2px 0 #b16cce, -1px 3px 0 #b16cce, -1px 4px 0 #b16cce, 0px -4px 0 #b16cce, 0px -3px 0 #b16cce, 0px -2px 0 #b16cce, 0px -1px 0 #b16cce, 0px 0px 0 #b16cce, 0px 1px 0 #b16cce, 0px 2px 0 #b16cce, 0px 3px 0 #b16cce, 0px 4px 0 #b16cce, 1px -4px 0 #b16cce, 1px -3px 0 #b16cce, 1px -2px 0 #b16cce, 1px -1px 0 #b16cce, 1px 0px 0 #b16cce, 1px 1px 0 #b16cce, 1px 2px 0 #b16cce, 1px 3px 0 #b16cce, 1px 4px 0 #b16cce, 2px -4px 0 #b16cce, 2px -3px 0 #b16cce, 2px -2px 0 #b16cce, 2px -1px 0 #b16cce, 2px 0px 0 #b16cce, 2px 1px 0 #b16cce, 2px 2px 0 #b16cce, 2px 3px 0 #b16cce, 2px 4px 0 #b16cce, 3px -4px 0 #b16cce, 3px -3px 0 #b16cce, 3px -2px 0 #b16cce, 3px -1px 0 #b16cce, 3px 0px 0 #b16cce, 3px 1px 0 #b16cce, 3px 2px 0 #b16cce, 3px 3px 0 #b16cce, 3px 4px 0 #b16cce, 4px -4px 0 #b16cce, 4px -3px 0 #b16cce, 4px -2px 0 #b16cce, 4px -1px 0 #b16cce, 4px 0px 0 #b16cce, 4px 1px 0 #b16cce, 4px 2px 0 #b16cce, 4px 3px 0 #b16cce, 4px 4px 0 #b16cce; }
|
||||
}
|
||||
|
||||
.logo-c {
|
||||
font-size: 64px;
|
||||
font-weight: bolder;
|
||||
position: absolute;
|
||||
top: 50%;
|
||||
left: 50%;
|
||||
transform: translate(-50%, -50%);
|
||||
text-shadow: -4px -4px 0 #b16cce, -4px -3px 0 #b16cce, -4px -2px 0 #b16cce, -4px -1px 0 #b16cce, -4px 0px 0 #b16cce, -4px 1px 0 #b16cce, -4px 2px 0 #b16cce, -4px 3px 0 #b16cce, -4px 4px 0 #b16cce, -3px -4px 0 #b16cce, -3px -3px 0 #b16cce, -3px -2px 0 #b16cce, -3px -1px 0 #b16cce, -3px 0px 0 #b16cce, -3px 1px 0 #b16cce, -3px 2px 0 #b16cce, -3px 3px 0 #b16cce, -3px 4px 0 #b16cce, -2px -4px 0 #b16cce, -2px -3px 0 #b16cce, -2px -2px 0 #b16cce, -2px -1px 0 #b16cce, -2px 0px 0 #b16cce, -2px 1px 0 #b16cce, -2px 2px 0 #b16cce, -2px 3px 0 #b16cce, -2px 4px 0 #b16cce, -1px -4px 0 #b16cce, -1px -3px 0 #b16cce, -1px -2px 0 #b16cce, -1px -1px 0 #b16cce, -1px 0px 0 #b16cce, -1px 1px 0 #b16cce, -1px 2px 0 #b16cce, -1px 3px 0 #b16cce, -1px 4px 0 #b16cce, 0px -4px 0 #b16cce, 0px -3px 0 #b16cce, 0px -2px 0 #b16cce, 0px -1px 0 #b16cce, 0px 0px 0 #b16cce, 0px 1px 0 #b16cce, 0px 2px 0 #b16cce, 0px 3px 0 #b16cce, 0px 4px 0 #b16cce, 1px -4px 0 #b16cce, 1px -3px 0 #b16cce, 1px -2px 0 #b16cce, 1px -1px 0 #b16cce, 1px 0px 0 #b16cce, 1px 1px 0 #b16cce, 1px 2px 0 #b16cce, 1px 3px 0 #b16cce, 1px 4px 0 #b16cce, 2px -4px 0 #b16cce, 2px -3px 0 #b16cce, 2px -2px 0 #b16cce, 2px -1px 0 #b16cce, 2px 0px 0 #b16cce, 2px 1px 0 #b16cce, 2px 2px 0 #b16cce, 2px 3px 0 #b16cce, 2px 4px 0 #b16cce, 3px -4px 0 #b16cce, 3px -3px 0 #b16cce, 3px -2px 0 #b16cce, 3px -1px 0 #b16cce, 3px 0px 0 #b16cce, 3px 1px 0 #b16cce, 3px 2px 0 #b16cce, 3px 3px 0 #b16cce, 3px 4px 0 #b16cce, 4px -4px 0 #b16cce, 4px -3px 0 #b16cce, 4px -2px 0 #b16cce, 4px -1px 0 #b16cce, 4px 0px 0 #b16cce, 4px 1px 0 #b16cce, 4px 2px 0 #b16cce, 4px 3px 0 #b16cce, 4px 4px 0 #b16cce;
|
||||
}
|
||||
|
||||
.logo-c:hover { animation: sitenamehover 2s linear infinite; }
|
||||
|
||||
@media (max-width : 1200px) {
|
||||
.logo-c { font-size: 32px; }
|
||||
}
|
||||
@media (max-width : 968px) {
|
||||
.logo-c { font-size: 20px; }
|
||||
}
|
|
@ -0,0 +1,16 @@
|
|||
.logo-img { border: 2px solid #e93de9; box-shadow: 0 0 7px 3px #f31de8; }
|
||||
@-webkit-keyframes sitenamehover {
|
||||
0% { text-shadow: -4px -4px 0 #f31de8, -4px -3px 0 #f31de8, -4px -2px 0 #f31de8, -4px -1px 0 #f31de8, -4px 0px 0 #f31de8, -4px 1px 0 #f31de8, -4px 2px 0 #f31de8, -4px 3px 0 #f31de8, -4px 4px 0 #f31de8, -3px -4px 0 #f31de8, -3px -3px 0 #f31de8, -3px -2px 0 #f31de8, -3px -1px 0 #f31de8, -3px 0px 0 #f31de8, -3px 1px 0 #f31de8, -3px 2px 0 #f31de8, -3px 3px 0 #f31de8, -3px 4px 0 #f31de8, -2px -4px 0 #f31de8, -2px -3px 0 #f31de8, -2px -2px 0 #f31de8, -2px -1px 0 #f31de8, -2px 0px 0 #f31de8, -2px 1px 0 #f31de8, -2px 2px 0 #f31de8, -2px 3px 0 #f31de8, -2px 4px 0 #f31de8, -1px -4px 0 #f31de8, -1px -3px 0 #f31de8, -1px -2px 0 #f31de8, -1px -1px 0 #f31de8, -1px 0px 0 #f31de8, -1px 1px 0 #f31de8, -1px 2px 0 #f31de8, -1px 3px 0 #f31de8, -1px 4px 0 #f31de8, 0px -4px 0 #f31de8, 0px -3px 0 #f31de8, 0px -2px 0 #f31de8, 0px -1px 0 #f31de8, 0px 0px 0 #f31de8, 0px 1px 0 #f31de8, 0px 2px 0 #f31de8, 0px 3px 0 #f31de8, 0px 4px 0 #f31de8, 1px -4px 0 #f31de8, 1px -3px 0 #f31de8, 1px -2px 0 #f31de8, 1px -1px 0 #f31de8, 1px 0px 0 #f31de8, 1px 1px 0 #f31de8, 1px 2px 0 #f31de8, 1px 3px 0 #f31de8, 1px 4px 0 #f31de8, 2px -4px 0 #f31de8, 2px -3px 0 #f31de8, 2px -2px 0 #f31de8, 2px -1px 0 #f31de8, 2px 0px 0 #f31de8, 2px 1px 0 #f31de8, 2px 2px 0 #f31de8, 2px 3px 0 #f31de8, 2px 4px 0 #f31de8, 3px -4px 0 #f31de8, 3px -3px 0 #f31de8, 3px -2px 0 #f31de8, 3px -1px 0 #f31de8, 3px 0px 0 #f31de8, 3px 1px 0 #f31de8, 3px 2px 0 #f31de8, 3px 3px 0 #f31de8, 3px 4px 0 #f31de8, 4px -4px 0 #f31de8, 4px -3px 0 #f31de8, 4px -2px 0 #f31de8, 4px -1px 0 #f31de8, 4px 0px 0 #f31de8, 4px 1px 0 #f31de8, 4px 2px 0 #f31de8, 4px 3px 0 #f31de8, 4px 4px 0 #f31de8; }
|
||||
25% { text-shadow: -4px -4px 0 #e93de9, -4px -3px 0 #e93de9, -4px -2px 0 #e93de9, -4px -1px 0 #e93de9, -4px 0px 0 #e93de9, -4px 1px 0 #e93de9, -4px 2px 0 #e93de9, -4px 3px 0 #e93de9, -4px 4px 0 #e93de9, -3px -4px 0 #e93de9, -3px -3px 0 #e93de9, -3px -2px 0 #e93de9, -3px -1px 0 #e93de9, -3px 0px 0 #e93de9, -3px 1px 0 #e93de9, -3px 2px 0 #e93de9, -3px 3px 0 #e93de9, -3px 4px 0 #e93de9, -2px -4px 0 #e93de9, -2px -3px 0 #e93de9, -2px -2px 0 #e93de9, -2px -1px 0 #e93de9, -2px 0px 0 #e93de9, -2px 1px 0 #e93de9, -2px 2px 0 #e93de9, -2px 3px 0 #e93de9, -2px 4px 0 #e93de9, -1px -4px 0 #e93de9, -1px -3px 0 #e93de9, -1px -2px 0 #e93de9, -1px -1px 0 #e93de9, -1px 0px 0 #e93de9, -1px 1px 0 #e93de9, -1px 2px 0 #e93de9, -1px 3px 0 #e93de9, -1px 4px 0 #e93de9, 0px -4px 0 #e93de9, 0px -3px 0 #e93de9, 0px -2px 0 #e93de9, 0px -1px 0 #e93de9, 0px 0px 0 #e93de9, 0px 1px 0 #e93de9, 0px 2px 0 #e93de9, 0px 3px 0 #e93de9, 0px 4px 0 #e93de9, 1px -4px 0 #e93de9, 1px -3px 0 #e93de9, 1px -2px 0 #e93de9, 1px -1px 0 #e93de9, 1px 0px 0 #e93de9, 1px 1px 0 #e93de9, 1px 2px 0 #e93de9, 1px 3px 0 #e93de9, 1px 4px 0 #e93de9, 2px -4px 0 #e93de9, 2px -3px 0 #e93de9, 2px -2px 0 #e93de9, 2px -1px 0 #e93de9, 2px 0px 0 #e93de9, 2px 1px 0 #e93de9, 2px 2px 0 #e93de9, 2px 3px 0 #e93de9, 2px 4px 0 #e93de9, 3px -4px 0 #e93de9, 3px -3px 0 #e93de9, 3px -2px 0 #e93de9, 3px -1px 0 #e93de9, 3px 0px 0 #e93de9, 3px 1px 0 #e93de9, 3px 2px 0 #e93de9, 3px 3px 0 #e93de9, 3px 4px 0 #e93de9, 4px -4px 0 #e93de9, 4px -3px 0 #e93de9, 4px -2px 0 #e93de9, 4px -1px 0 #e93de9, 4px 0px 0 #e93de9, 4px 1px 0 #e93de9, 4px 2px 0 #e93de9, 4px 3px 0 #e93de9, 4px 4px 0 #e93de9; }
|
||||
50% { text-shadow: -4px -4px 0 #ffe6f9, -4px -3px 0 #ffe6f9, -4px -2px 0 #ffe6f9, -4px -1px 0 #ffe6f9, -4px 0px 0 #ffe6f9, -4px 1px 0 #ffe6f9, -4px 2px 0 #ffe6f9, -4px 3px 0 #ffe6f9, -4px 4px 0 #ffe6f9, -3px -4px 0 #ffe6f9, -3px -3px 0 #ffe6f9, -3px -2px 0 #ffe6f9, -3px -1px 0 #ffe6f9, -3px 0px 0 #ffe6f9, -3px 1px 0 #ffe6f9, -3px 2px 0 #ffe6f9, -3px 3px 0 #ffe6f9, -3px 4px 0 #ffe6f9, -2px -4px 0 #ffe6f9, -2px -3px 0 #ffe6f9, -2px -2px 0 #ffe6f9, -2px -1px 0 #ffe6f9, -2px 0px 0 #ffe6f9, -2px 1px 0 #ffe6f9, -2px 2px 0 #ffe6f9, -2px 3px 0 #ffe6f9, -2px 4px 0 #ffe6f9, -1px -4px 0 #ffe6f9, -1px -3px 0 #ffe6f9, -1px -2px 0 #ffe6f9, -1px -1px 0 #ffe6f9, -1px 0px 0 #ffe6f9, -1px 1px 0 #ffe6f9, -1px 2px 0 #ffe6f9, -1px 3px 0 #ffe6f9, -1px 4px 0 #ffe6f9, 0px -4px 0 #ffe6f9, 0px -3px 0 #ffe6f9, 0px -2px 0 #ffe6f9, 0px -1px 0 #ffe6f9, 0px 0px 0 #ffe6f9, 0px 1px 0 #ffe6f9, 0px 2px 0 #ffe6f9, 0px 3px 0 #ffe6f9, 0px 4px 0 #ffe6f9, 1px -4px 0 #ffe6f9, 1px -3px 0 #ffe6f9, 1px -2px 0 #ffe6f9, 1px -1px 0 #ffe6f9, 1px 0px 0 #ffe6f9, 1px 1px 0 #ffe6f9, 1px 2px 0 #ffe6f9, 1px 3px 0 #ffe6f9, 1px 4px 0 #ffe6f9, 2px -4px 0 #ffe6f9, 2px -3px 0 #ffe6f9, 2px -2px 0 #ffe6f9, 2px -1px 0 #ffe6f9, 2px 0px 0 #ffe6f9, 2px 1px 0 #ffe6f9, 2px 2px 0 #ffe6f9, 2px 3px 0 #ffe6f9, 2px 4px 0 #ffe6f9, 3px -4px 0 #ffe6f9, 3px -3px 0 #ffe6f9, 3px -2px 0 #ffe6f9, 3px -1px 0 #ffe6f9, 3px 0px 0 #ffe6f9, 3px 1px 0 #ffe6f9, 3px 2px 0 #ffe6f9, 3px 3px 0 #ffe6f9, 3px 4px 0 #ffe6f9, 4px -4px 0 #ffe6f9, 4px -3px 0 #ffe6f9, 4px -2px 0 #ffe6f9, 4px -1px 0 #ffe6f9, 4px 0px 0 #ffe6f9, 4px 1px 0 #ffe6f9, 4px 2px 0 #ffe6f9, 4px 3px 0 #ffe6f9, 4px 4px 0 #ffe6f9; }
|
||||
75% { text-shadow: -4px -4px 0 #e93de9, -4px -3px 0 #e93de9, -4px -2px 0 #e93de9, -4px -1px 0 #e93de9, -4px 0px 0 #e93de9, -4px 1px 0 #e93de9, -4px 2px 0 #e93de9, -4px 3px 0 #e93de9, -4px 4px 0 #e93de9, -3px -4px 0 #e93de9, -3px -3px 0 #e93de9, -3px -2px 0 #e93de9, -3px -1px 0 #e93de9, -3px 0px 0 #e93de9, -3px 1px 0 #e93de9, -3px 2px 0 #e93de9, -3px 3px 0 #e93de9, -3px 4px 0 #e93de9, -2px -4px 0 #e93de9, -2px -3px 0 #e93de9, -2px -2px 0 #e93de9, -2px -1px 0 #e93de9, -2px 0px 0 #e93de9, -2px 1px 0 #e93de9, -2px 2px 0 #e93de9, -2px 3px 0 #e93de9, -2px 4px 0 #e93de9, -1px -4px 0 #e93de9, -1px -3px 0 #e93de9, -1px -2px 0 #e93de9, -1px -1px 0 #e93de9, -1px 0px 0 #e93de9, -1px 1px 0 #e93de9, -1px 2px 0 #e93de9, -1px 3px 0 #e93de9, -1px 4px 0 #e93de9, 0px -4px 0 #e93de9, 0px -3px 0 #e93de9, 0px -2px 0 #e93de9, 0px -1px 0 #e93de9, 0px 0px 0 #e93de9, 0px 1px 0 #e93de9, 0px 2px 0 #e93de9, 0px 3px 0 #e93de9, 0px 4px 0 #e93de9, 1px -4px 0 #e93de9, 1px -3px 0 #e93de9, 1px -2px 0 #e93de9, 1px -1px 0 #e93de9, 1px 0px 0 #e93de9, 1px 1px 0 #e93de9, 1px 2px 0 #e93de9, 1px 3px 0 #e93de9, 1px 4px 0 #e93de9, 2px -4px 0 #e93de9, 2px -3px 0 #e93de9, 2px -2px 0 #e93de9, 2px -1px 0 #e93de9, 2px 0px 0 #e93de9, 2px 1px 0 #e93de9, 2px 2px 0 #e93de9, 2px 3px 0 #e93de9, 2px 4px 0 #e93de9, 3px -4px 0 #e93de9, 3px -3px 0 #e93de9, 3px -2px 0 #e93de9, 3px -1px 0 #e93de9, 3px 0px 0 #e93de9, 3px 1px 0 #e93de9, 3px 2px 0 #e93de9, 3px 3px 0 #e93de9, 3px 4px 0 #e93de9, 4px -4px 0 #e93de9, 4px -3px 0 #e93de9, 4px -2px 0 #e93de9, 4px -1px 0 #e93de9, 4px 0px 0 #e93de9, 4px 1px 0 #e93de9, 4px 2px 0 #e93de9, 4px 3px 0 #e93de9, 4px 4px 0 #e93de9; }
|
||||
100% { text-shadow: -4px -4px 0 #f31de8, -4px -3px 0 #f31de8, -4px -2px 0 #f31de8, -4px -1px 0 #f31de8, -4px 0px 0 #f31de8, -4px 1px 0 #f31de8, -4px 2px 0 #f31de8, -4px 3px 0 #f31de8, -4px 4px 0 #f31de8, -3px -4px 0 #f31de8, -3px -3px 0 #f31de8, -3px -2px 0 #f31de8, -3px -1px 0 #f31de8, -3px 0px 0 #f31de8, -3px 1px 0 #f31de8, -3px 2px 0 #f31de8, -3px 3px 0 #f31de8, -3px 4px 0 #f31de8, -2px -4px 0 #f31de8, -2px -3px 0 #f31de8, -2px -2px 0 #f31de8, -2px -1px 0 #f31de8, -2px 0px 0 #f31de8, -2px 1px 0 #f31de8, -2px 2px 0 #f31de8, -2px 3px 0 #f31de8, -2px 4px 0 #f31de8, -1px -4px 0 #f31de8, -1px -3px 0 #f31de8, -1px -2px 0 #f31de8, -1px -1px 0 #f31de8, -1px 0px 0 #f31de8, -1px 1px 0 #f31de8, -1px 2px 0 #f31de8, -1px 3px 0 #f31de8, -1px 4px 0 #f31de8, 0px -4px 0 #f31de8, 0px -3px 0 #f31de8, 0px -2px 0 #f31de8, 0px -1px 0 #f31de8, 0px 0px 0 #f31de8, 0px 1px 0 #f31de8, 0px 2px 0 #f31de8, 0px 3px 0 #f31de8, 0px 4px 0 #f31de8, 1px -4px 0 #f31de8, 1px -3px 0 #f31de8, 1px -2px 0 #f31de8, 1px -1px 0 #f31de8, 1px 0px 0 #f31de8, 1px 1px 0 #f31de8, 1px 2px 0 #f31de8, 1px 3px 0 #f31de8, 1px 4px 0 #f31de8, 2px -4px 0 #f31de8, 2px -3px 0 #f31de8, 2px -2px 0 #f31de8, 2px -1px 0 #f31de8, 2px 0px 0 #f31de8, 2px 1px 0 #f31de8, 2px 2px 0 #f31de8, 2px 3px 0 #f31de8, 2px 4px 0 #f31de8, 3px -4px 0 #f31de8, 3px -3px 0 #f31de8, 3px -2px 0 #f31de8, 3px -1px 0 #f31de8, 3px 0px 0 #f31de8, 3px 1px 0 #f31de8, 3px 2px 0 #f31de8, 3px 3px 0 #f31de8, 3px 4px 0 #f31de8, 4px -4px 0 #f31de8, 4px -3px 0 #f31de8, 4px -2px 0 #f31de8, 4px -1px 0 #f31de8, 4px 0px 0 #f31de8, 4px 1px 0 #f31de8, 4px 2px 0 #f31de8, 4px 3px 0 #f31de8, 4px 4px 0 #f31de8; }
|
||||
}
|
||||
@keyframes sitenamehover {
|
||||
0% { text-shadow: -4px -4px 0 #f31de8, -4px -3px 0 #f31de8, -4px -2px 0 #f31de8, -4px -1px 0 #f31de8, -4px 0px 0 #f31de8, -4px 1px 0 #f31de8, -4px 2px 0 #f31de8, -4px 3px 0 #f31de8, -4px 4px 0 #f31de8, -3px -4px 0 #f31de8, -3px -3px 0 #f31de8, -3px -2px 0 #f31de8, -3px -1px 0 #f31de8, -3px 0px 0 #f31de8, -3px 1px 0 #f31de8, -3px 2px 0 #f31de8, -3px 3px 0 #f31de8, -3px 4px 0 #f31de8, -2px -4px 0 #f31de8, -2px -3px 0 #f31de8, -2px -2px 0 #f31de8, -2px -1px 0 #f31de8, -2px 0px 0 #f31de8, -2px 1px 0 #f31de8, -2px 2px 0 #f31de8, -2px 3px 0 #f31de8, -2px 4px 0 #f31de8, -1px -4px 0 #f31de8, -1px -3px 0 #f31de8, -1px -2px 0 #f31de8, -1px -1px 0 #f31de8, -1px 0px 0 #f31de8, -1px 1px 0 #f31de8, -1px 2px 0 #f31de8, -1px 3px 0 #f31de8, -1px 4px 0 #f31de8, 0px -4px 0 #f31de8, 0px -3px 0 #f31de8, 0px -2px 0 #f31de8, 0px -1px 0 #f31de8, 0px 0px 0 #f31de8, 0px 1px 0 #f31de8, 0px 2px 0 #f31de8, 0px 3px 0 #f31de8, 0px 4px 0 #f31de8, 1px -4px 0 #f31de8, 1px -3px 0 #f31de8, 1px -2px 0 #f31de8, 1px -1px 0 #f31de8, 1px 0px 0 #f31de8, 1px 1px 0 #f31de8, 1px 2px 0 #f31de8, 1px 3px 0 #f31de8, 1px 4px 0 #f31de8, 2px -4px 0 #f31de8, 2px -3px 0 #f31de8, 2px -2px 0 #f31de8, 2px -1px 0 #f31de8, 2px 0px 0 #f31de8, 2px 1px 0 #f31de8, 2px 2px 0 #f31de8, 2px 3px 0 #f31de8, 2px 4px 0 #f31de8, 3px -4px 0 #f31de8, 3px -3px 0 #f31de8, 3px -2px 0 #f31de8, 3px -1px 0 #f31de8, 3px 0px 0 #f31de8, 3px 1px 0 #f31de8, 3px 2px 0 #f31de8, 3px 3px 0 #f31de8, 3px 4px 0 #f31de8, 4px -4px 0 #f31de8, 4px -3px 0 #f31de8, 4px -2px 0 #f31de8, 4px -1px 0 #f31de8, 4px 0px 0 #f31de8, 4px 1px 0 #f31de8, 4px 2px 0 #f31de8, 4px 3px 0 #f31de8, 4px 4px 0 #f31de8; }
|
||||
25% { text-shadow: -4px -4px 0 #e93de9, -4px -3px 0 #e93de9, -4px -2px 0 #e93de9, -4px -1px 0 #e93de9, -4px 0px 0 #e93de9, -4px 1px 0 #e93de9, -4px 2px 0 #e93de9, -4px 3px 0 #e93de9, -4px 4px 0 #e93de9, -3px -4px 0 #e93de9, -3px -3px 0 #e93de9, -3px -2px 0 #e93de9, -3px -1px 0 #e93de9, -3px 0px 0 #e93de9, -3px 1px 0 #e93de9, -3px 2px 0 #e93de9, -3px 3px 0 #e93de9, -3px 4px 0 #e93de9, -2px -4px 0 #e93de9, -2px -3px 0 #e93de9, -2px -2px 0 #e93de9, -2px -1px 0 #e93de9, -2px 0px 0 #e93de9, -2px 1px 0 #e93de9, -2px 2px 0 #e93de9, -2px 3px 0 #e93de9, -2px 4px 0 #e93de9, -1px -4px 0 #e93de9, -1px -3px 0 #e93de9, -1px -2px 0 #e93de9, -1px -1px 0 #e93de9, -1px 0px 0 #e93de9, -1px 1px 0 #e93de9, -1px 2px 0 #e93de9, -1px 3px 0 #e93de9, -1px 4px 0 #e93de9, 0px -4px 0 #e93de9, 0px -3px 0 #e93de9, 0px -2px 0 #e93de9, 0px -1px 0 #e93de9, 0px 0px 0 #e93de9, 0px 1px 0 #e93de9, 0px 2px 0 #e93de9, 0px 3px 0 #e93de9, 0px 4px 0 #e93de9, 1px -4px 0 #e93de9, 1px -3px 0 #e93de9, 1px -2px 0 #e93de9, 1px -1px 0 #e93de9, 1px 0px 0 #e93de9, 1px 1px 0 #e93de9, 1px 2px 0 #e93de9, 1px 3px 0 #e93de9, 1px 4px 0 #e93de9, 2px -4px 0 #e93de9, 2px -3px 0 #e93de9, 2px -2px 0 #e93de9, 2px -1px 0 #e93de9, 2px 0px 0 #e93de9, 2px 1px 0 #e93de9, 2px 2px 0 #e93de9, 2px 3px 0 #e93de9, 2px 4px 0 #e93de9, 3px -4px 0 #e93de9, 3px -3px 0 #e93de9, 3px -2px 0 #e93de9, 3px -1px 0 #e93de9, 3px 0px 0 #e93de9, 3px 1px 0 #e93de9, 3px 2px 0 #e93de9, 3px 3px 0 #e93de9, 3px 4px 0 #e93de9, 4px -4px 0 #e93de9, 4px -3px 0 #e93de9, 4px -2px 0 #e93de9, 4px -1px 0 #e93de9, 4px 0px 0 #e93de9, 4px 1px 0 #e93de9, 4px 2px 0 #e93de9, 4px 3px 0 #e93de9, 4px 4px 0 #e93de9; }
|
||||
50% { text-shadow: -4px -4px 0 #ffe6f9, -4px -3px 0 #ffe6f9, -4px -2px 0 #ffe6f9, -4px -1px 0 #ffe6f9, -4px 0px 0 #ffe6f9, -4px 1px 0 #ffe6f9, -4px 2px 0 #ffe6f9, -4px 3px 0 #ffe6f9, -4px 4px 0 #ffe6f9, -3px -4px 0 #ffe6f9, -3px -3px 0 #ffe6f9, -3px -2px 0 #ffe6f9, -3px -1px 0 #ffe6f9, -3px 0px 0 #ffe6f9, -3px 1px 0 #ffe6f9, -3px 2px 0 #ffe6f9, -3px 3px 0 #ffe6f9, -3px 4px 0 #ffe6f9, -2px -4px 0 #ffe6f9, -2px -3px 0 #ffe6f9, -2px -2px 0 #ffe6f9, -2px -1px 0 #ffe6f9, -2px 0px 0 #ffe6f9, -2px 1px 0 #ffe6f9, -2px 2px 0 #ffe6f9, -2px 3px 0 #ffe6f9, -2px 4px 0 #ffe6f9, -1px -4px 0 #ffe6f9, -1px -3px 0 #ffe6f9, -1px -2px 0 #ffe6f9, -1px -1px 0 #ffe6f9, -1px 0px 0 #ffe6f9, -1px 1px 0 #ffe6f9, -1px 2px 0 #ffe6f9, -1px 3px 0 #ffe6f9, -1px 4px 0 #ffe6f9, 0px -4px 0 #ffe6f9, 0px -3px 0 #ffe6f9, 0px -2px 0 #ffe6f9, 0px -1px 0 #ffe6f9, 0px 0px 0 #ffe6f9, 0px 1px 0 #ffe6f9, 0px 2px 0 #ffe6f9, 0px 3px 0 #ffe6f9, 0px 4px 0 #ffe6f9, 1px -4px 0 #ffe6f9, 1px -3px 0 #ffe6f9, 1px -2px 0 #ffe6f9, 1px -1px 0 #ffe6f9, 1px 0px 0 #ffe6f9, 1px 1px 0 #ffe6f9, 1px 2px 0 #ffe6f9, 1px 3px 0 #ffe6f9, 1px 4px 0 #ffe6f9, 2px -4px 0 #ffe6f9, 2px -3px 0 #ffe6f9, 2px -2px 0 #ffe6f9, 2px -1px 0 #ffe6f9, 2px 0px 0 #ffe6f9, 2px 1px 0 #ffe6f9, 2px 2px 0 #ffe6f9, 2px 3px 0 #ffe6f9, 2px 4px 0 #ffe6f9, 3px -4px 0 #ffe6f9, 3px -3px 0 #ffe6f9, 3px -2px 0 #ffe6f9, 3px -1px 0 #ffe6f9, 3px 0px 0 #ffe6f9, 3px 1px 0 #ffe6f9, 3px 2px 0 #ffe6f9, 3px 3px 0 #ffe6f9, 3px 4px 0 #ffe6f9, 4px -4px 0 #ffe6f9, 4px -3px 0 #ffe6f9, 4px -2px 0 #ffe6f9, 4px -1px 0 #ffe6f9, 4px 0px 0 #ffe6f9, 4px 1px 0 #ffe6f9, 4px 2px 0 #ffe6f9, 4px 3px 0 #ffe6f9, 4px 4px 0 #ffe6f9; }
|
||||
75% { text-shadow: -4px -4px 0 #e93de9, -4px -3px 0 #e93de9, -4px -2px 0 #e93de9, -4px -1px 0 #e93de9, -4px 0px 0 #e93de9, -4px 1px 0 #e93de9, -4px 2px 0 #e93de9, -4px 3px 0 #e93de9, -4px 4px 0 #e93de9, -3px -4px 0 #e93de9, -3px -3px 0 #e93de9, -3px -2px 0 #e93de9, -3px -1px 0 #e93de9, -3px 0px 0 #e93de9, -3px 1px 0 #e93de9, -3px 2px 0 #e93de9, -3px 3px 0 #e93de9, -3px 4px 0 #e93de9, -2px -4px 0 #e93de9, -2px -3px 0 #e93de9, -2px -2px 0 #e93de9, -2px -1px 0 #e93de9, -2px 0px 0 #e93de9, -2px 1px 0 #e93de9, -2px 2px 0 #e93de9, -2px 3px 0 #e93de9, -2px 4px 0 #e93de9, -1px -4px 0 #e93de9, -1px -3px 0 #e93de9, -1px -2px 0 #e93de9, -1px -1px 0 #e93de9, -1px 0px 0 #e93de9, -1px 1px 0 #e93de9, -1px 2px 0 #e93de9, -1px 3px 0 #e93de9, -1px 4px 0 #e93de9, 0px -4px 0 #e93de9, 0px -3px 0 #e93de9, 0px -2px 0 #e93de9, 0px -1px 0 #e93de9, 0px 0px 0 #e93de9, 0px 1px 0 #e93de9, 0px 2px 0 #e93de9, 0px 3px 0 #e93de9, 0px 4px 0 #e93de9, 1px -4px 0 #e93de9, 1px -3px 0 #e93de9, 1px -2px 0 #e93de9, 1px -1px 0 #e93de9, 1px 0px 0 #e93de9, 1px 1px 0 #e93de9, 1px 2px 0 #e93de9, 1px 3px 0 #e93de9, 1px 4px 0 #e93de9, 2px -4px 0 #e93de9, 2px -3px 0 #e93de9, 2px -2px 0 #e93de9, 2px -1px 0 #e93de9, 2px 0px 0 #e93de9, 2px 1px 0 #e93de9, 2px 2px 0 #e93de9, 2px 3px 0 #e93de9, 2px 4px 0 #e93de9, 3px -4px 0 #e93de9, 3px -3px 0 #e93de9, 3px -2px 0 #e93de9, 3px -1px 0 #e93de9, 3px 0px 0 #e93de9, 3px 1px 0 #e93de9, 3px 2px 0 #e93de9, 3px 3px 0 #e93de9, 3px 4px 0 #e93de9, 4px -4px 0 #e93de9, 4px -3px 0 #e93de9, 4px -2px 0 #e93de9, 4px -1px 0 #e93de9, 4px 0px 0 #e93de9, 4px 1px 0 #e93de9, 4px 2px 0 #e93de9, 4px 3px 0 #e93de9, 4px 4px 0 #e93de9; }
|
||||
100% { text-shadow: -4px -4px 0 #f31de8, -4px -3px 0 #f31de8, -4px -2px 0 #f31de8, -4px -1px 0 #f31de8, -4px 0px 0 #f31de8, -4px 1px 0 #f31de8, -4px 2px 0 #f31de8, -4px 3px 0 #f31de8, -4px 4px 0 #f31de8, -3px -4px 0 #f31de8, -3px -3px 0 #f31de8, -3px -2px 0 #f31de8, -3px -1px 0 #f31de8, -3px 0px 0 #f31de8, -3px 1px 0 #f31de8, -3px 2px 0 #f31de8, -3px 3px 0 #f31de8, -3px 4px 0 #f31de8, -2px -4px 0 #f31de8, -2px -3px 0 #f31de8, -2px -2px 0 #f31de8, -2px -1px 0 #f31de8, -2px 0px 0 #f31de8, -2px 1px 0 #f31de8, -2px 2px 0 #f31de8, -2px 3px 0 #f31de8, -2px 4px 0 #f31de8, -1px -4px 0 #f31de8, -1px -3px 0 #f31de8, -1px -2px 0 #f31de8, -1px -1px 0 #f31de8, -1px 0px 0 #f31de8, -1px 1px 0 #f31de8, -1px 2px 0 #f31de8, -1px 3px 0 #f31de8, -1px 4px 0 #f31de8, 0px -4px 0 #f31de8, 0px -3px 0 #f31de8, 0px -2px 0 #f31de8, 0px -1px 0 #f31de8, 0px 0px 0 #f31de8, 0px 1px 0 #f31de8, 0px 2px 0 #f31de8, 0px 3px 0 #f31de8, 0px 4px 0 #f31de8, 1px -4px 0 #f31de8, 1px -3px 0 #f31de8, 1px -2px 0 #f31de8, 1px -1px 0 #f31de8, 1px 0px 0 #f31de8, 1px 1px 0 #f31de8, 1px 2px 0 #f31de8, 1px 3px 0 #f31de8, 1px 4px 0 #f31de8, 2px -4px 0 #f31de8, 2px -3px 0 #f31de8, 2px -2px 0 #f31de8, 2px -1px 0 #f31de8, 2px 0px 0 #f31de8, 2px 1px 0 #f31de8, 2px 2px 0 #f31de8, 2px 3px 0 #f31de8, 2px 4px 0 #f31de8, 3px -4px 0 #f31de8, 3px -3px 0 #f31de8, 3px -2px 0 #f31de8, 3px -1px 0 #f31de8, 3px 0px 0 #f31de8, 3px 1px 0 #f31de8, 3px 2px 0 #f31de8, 3px 3px 0 #f31de8, 3px 4px 0 #f31de8, 4px -4px 0 #f31de8, 4px -3px 0 #f31de8, 4px -2px 0 #f31de8, 4px -1px 0 #f31de8, 4px 0px 0 #f31de8, 4px 1px 0 #f31de8, 4px 2px 0 #f31de8, 4px 3px 0 #f31de8, 4px 4px 0 #f31de8; }
|
||||
}
|
||||
.logo-c { text-shadow: -4px -4px 0 #f31de8, -4px -3px 0 #f31de8, -4px -2px 0 #f31de8, -4px -1px 0 #f31de8, -4px 0px 0 #f31de8, -4px 1px 0 #f31de8, -4px 2px 0 #f31de8, -4px 3px 0 #f31de8, -4px 4px 0 #f31de8, -3px -4px 0 #f31de8, -3px -3px 0 #f31de8, -3px -2px 0 #f31de8, -3px -1px 0 #f31de8, -3px 0px 0 #f31de8, -3px 1px 0 #f31de8, -3px 2px 0 #f31de8, -3px 3px 0 #f31de8, -3px 4px 0 #f31de8, -2px -4px 0 #f31de8, -2px -3px 0 #f31de8, -2px -2px 0 #f31de8, -2px -1px 0 #f31de8, -2px 0px 0 #f31de8, -2px 1px 0 #f31de8, -2px 2px 0 #f31de8, -2px 3px 0 #f31de8, -2px 4px 0 #f31de8, -1px -4px 0 #f31de8, -1px -3px 0 #f31de8, -1px -2px 0 #f31de8, -1px -1px 0 #f31de8, -1px 0px 0 #f31de8, -1px 1px 0 #f31de8, -1px 2px 0 #f31de8, -1px 3px 0 #f31de8, -1px 4px 0 #f31de8, 0px -4px 0 #f31de8, 0px -3px 0 #f31de8, 0px -2px 0 #f31de8, 0px -1px 0 #f31de8, 0px 0px 0 #f31de8, 0px 1px 0 #f31de8, 0px 2px 0 #f31de8, 0px 3px 0 #f31de8, 0px 4px 0 #f31de8, 1px -4px 0 #f31de8, 1px -3px 0 #f31de8, 1px -2px 0 #f31de8, 1px -1px 0 #f31de8, 1px 0px 0 #f31de8, 1px 1px 0 #f31de8, 1px 2px 0 #f31de8, 1px 3px 0 #f31de8, 1px 4px 0 #f31de8, 2px -4px 0 #f31de8, 2px -3px 0 #f31de8, 2px -2px 0 #f31de8, 2px -1px 0 #f31de8, 2px 0px 0 #f31de8, 2px 1px 0 #f31de8, 2px 2px 0 #f31de8, 2px 3px 0 #f31de8, 2px 4px 0 #f31de8, 3px -4px 0 #f31de8, 3px -3px 0 #f31de8, 3px -2px 0 #f31de8, 3px -1px 0 #f31de8, 3px 0px 0 #f31de8, 3px 1px 0 #f31de8, 3px 2px 0 #f31de8, 3px 3px 0 #f31de8, 3px 4px 0 #f31de8, 4px -4px 0 #f31de8, 4px -3px 0 #f31de8, 4px -2px 0 #f31de8, 4px -1px 0 #f31de8, 4px 0px 0 #f31de8, 4px 1px 0 #f31de8, 4px 2px 0 #f31de8, 4px 3px 0 #f31de8, 4px 4px 0 #f31de8; }
|
|
@ -0,0 +1,16 @@
|
|||
.logo-img { border: 2px solid #3daee9; box-shadow: 0 0 7px 3px #1d99f3; }
|
||||
@-webkit-keyframes sitenamehover {
|
||||
0% { text-shadow: -4px -4px 0 #1d99f3, -4px -3px 0 #1d99f3, -4px -2px 0 #1d99f3, -4px -1px 0 #1d99f3, -4px 0px 0 #1d99f3, -4px 1px 0 #1d99f3, -4px 2px 0 #1d99f3, -4px 3px 0 #1d99f3, -4px 4px 0 #1d99f3, -3px -4px 0 #1d99f3, -3px -3px 0 #1d99f3, -3px -2px 0 #1d99f3, -3px -1px 0 #1d99f3, -3px 0px 0 #1d99f3, -3px 1px 0 #1d99f3, -3px 2px 0 #1d99f3, -3px 3px 0 #1d99f3, -3px 4px 0 #1d99f3, -2px -4px 0 #1d99f3, -2px -3px 0 #1d99f3, -2px -2px 0 #1d99f3, -2px -1px 0 #1d99f3, -2px 0px 0 #1d99f3, -2px 1px 0 #1d99f3, -2px 2px 0 #1d99f3, -2px 3px 0 #1d99f3, -2px 4px 0 #1d99f3, -1px -4px 0 #1d99f3, -1px -3px 0 #1d99f3, -1px -2px 0 #1d99f3, -1px -1px 0 #1d99f3, -1px 0px 0 #1d99f3, -1px 1px 0 #1d99f3, -1px 2px 0 #1d99f3, -1px 3px 0 #1d99f3, -1px 4px 0 #1d99f3, 0px -4px 0 #1d99f3, 0px -3px 0 #1d99f3, 0px -2px 0 #1d99f3, 0px -1px 0 #1d99f3, 0px 0px 0 #1d99f3, 0px 1px 0 #1d99f3, 0px 2px 0 #1d99f3, 0px 3px 0 #1d99f3, 0px 4px 0 #1d99f3, 1px -4px 0 #1d99f3, 1px -3px 0 #1d99f3, 1px -2px 0 #1d99f3, 1px -1px 0 #1d99f3, 1px 0px 0 #1d99f3, 1px 1px 0 #1d99f3, 1px 2px 0 #1d99f3, 1px 3px 0 #1d99f3, 1px 4px 0 #1d99f3, 2px -4px 0 #1d99f3, 2px -3px 0 #1d99f3, 2px -2px 0 #1d99f3, 2px -1px 0 #1d99f3, 2px 0px 0 #1d99f3, 2px 1px 0 #1d99f3, 2px 2px 0 #1d99f3, 2px 3px 0 #1d99f3, 2px 4px 0 #1d99f3, 3px -4px 0 #1d99f3, 3px -3px 0 #1d99f3, 3px -2px 0 #1d99f3, 3px -1px 0 #1d99f3, 3px 0px 0 #1d99f3, 3px 1px 0 #1d99f3, 3px 2px 0 #1d99f3, 3px 3px 0 #1d99f3, 3px 4px 0 #1d99f3, 4px -4px 0 #1d99f3, 4px -3px 0 #1d99f3, 4px -2px 0 #1d99f3, 4px -1px 0 #1d99f3, 4px 0px 0 #1d99f3, 4px 1px 0 #1d99f3, 4px 2px 0 #1d99f3, 4px 3px 0 #1d99f3, 4px 4px 0 #1d99f3; }
|
||||
25% { text-shadow: -4px -4px 0 #3daee9, -4px -3px 0 #3daee9, -4px -2px 0 #3daee9, -4px -1px 0 #3daee9, -4px 0px 0 #3daee9, -4px 1px 0 #3daee9, -4px 2px 0 #3daee9, -4px 3px 0 #3daee9, -4px 4px 0 #3daee9, -3px -4px 0 #3daee9, -3px -3px 0 #3daee9, -3px -2px 0 #3daee9, -3px -1px 0 #3daee9, -3px 0px 0 #3daee9, -3px 1px 0 #3daee9, -3px 2px 0 #3daee9, -3px 3px 0 #3daee9, -3px 4px 0 #3daee9, -2px -4px 0 #3daee9, -2px -3px 0 #3daee9, -2px -2px 0 #3daee9, -2px -1px 0 #3daee9, -2px 0px 0 #3daee9, -2px 1px 0 #3daee9, -2px 2px 0 #3daee9, -2px 3px 0 #3daee9, -2px 4px 0 #3daee9, -1px -4px 0 #3daee9, -1px -3px 0 #3daee9, -1px -2px 0 #3daee9, -1px -1px 0 #3daee9, -1px 0px 0 #3daee9, -1px 1px 0 #3daee9, -1px 2px 0 #3daee9, -1px 3px 0 #3daee9, -1px 4px 0 #3daee9, 0px -4px 0 #3daee9, 0px -3px 0 #3daee9, 0px -2px 0 #3daee9, 0px -1px 0 #3daee9, 0px 0px 0 #3daee9, 0px 1px 0 #3daee9, 0px 2px 0 #3daee9, 0px 3px 0 #3daee9, 0px 4px 0 #3daee9, 1px -4px 0 #3daee9, 1px -3px 0 #3daee9, 1px -2px 0 #3daee9, 1px -1px 0 #3daee9, 1px 0px 0 #3daee9, 1px 1px 0 #3daee9, 1px 2px 0 #3daee9, 1px 3px 0 #3daee9, 1px 4px 0 #3daee9, 2px -4px 0 #3daee9, 2px -3px 0 #3daee9, 2px -2px 0 #3daee9, 2px -1px 0 #3daee9, 2px 0px 0 #3daee9, 2px 1px 0 #3daee9, 2px 2px 0 #3daee9, 2px 3px 0 #3daee9, 2px 4px 0 #3daee9, 3px -4px 0 #3daee9, 3px -3px 0 #3daee9, 3px -2px 0 #3daee9, 3px -1px 0 #3daee9, 3px 0px 0 #3daee9, 3px 1px 0 #3daee9, 3px 2px 0 #3daee9, 3px 3px 0 #3daee9, 3px 4px 0 #3daee9, 4px -4px 0 #3daee9, 4px -3px 0 #3daee9, 4px -2px 0 #3daee9, 4px -1px 0 #3daee9, 4px 0px 0 #3daee9, 4px 1px 0 #3daee9, 4px 2px 0 #3daee9, 4px 3px 0 #3daee9, 4px 4px 0 #3daee9; }
|
||||
50% { text-shadow: -4px -4px 0 #9ed6ff, -4px -3px 0 #9ed6ff, -4px -2px 0 #9ed6ff, -4px -1px 0 #9ed6ff, -4px 0px 0 #9ed6ff, -4px 1px 0 #9ed6ff, -4px 2px 0 #9ed6ff, -4px 3px 0 #9ed6ff, -4px 4px 0 #9ed6ff, -3px -4px 0 #9ed6ff, -3px -3px 0 #9ed6ff, -3px -2px 0 #9ed6ff, -3px -1px 0 #9ed6ff, -3px 0px 0 #9ed6ff, -3px 1px 0 #9ed6ff, -3px 2px 0 #9ed6ff, -3px 3px 0 #9ed6ff, -3px 4px 0 #9ed6ff, -2px -4px 0 #9ed6ff, -2px -3px 0 #9ed6ff, -2px -2px 0 #9ed6ff, -2px -1px 0 #9ed6ff, -2px 0px 0 #9ed6ff, -2px 1px 0 #9ed6ff, -2px 2px 0 #9ed6ff, -2px 3px 0 #9ed6ff, -2px 4px 0 #9ed6ff, -1px -4px 0 #9ed6ff, -1px -3px 0 #9ed6ff, -1px -2px 0 #9ed6ff, -1px -1px 0 #9ed6ff, -1px 0px 0 #9ed6ff, -1px 1px 0 #9ed6ff, -1px 2px 0 #9ed6ff, -1px 3px 0 #9ed6ff, -1px 4px 0 #9ed6ff, 0px -4px 0 #9ed6ff, 0px -3px 0 #9ed6ff, 0px -2px 0 #9ed6ff, 0px -1px 0 #9ed6ff, 0px 0px 0 #9ed6ff, 0px 1px 0 #9ed6ff, 0px 2px 0 #9ed6ff, 0px 3px 0 #9ed6ff, 0px 4px 0 #9ed6ff, 1px -4px 0 #9ed6ff, 1px -3px 0 #9ed6ff, 1px -2px 0 #9ed6ff, 1px -1px 0 #9ed6ff, 1px 0px 0 #9ed6ff, 1px 1px 0 #9ed6ff, 1px 2px 0 #9ed6ff, 1px 3px 0 #9ed6ff, 1px 4px 0 #9ed6ff, 2px -4px 0 #9ed6ff, 2px -3px 0 #9ed6ff, 2px -2px 0 #9ed6ff, 2px -1px 0 #9ed6ff, 2px 0px 0 #9ed6ff, 2px 1px 0 #9ed6ff, 2px 2px 0 #9ed6ff, 2px 3px 0 #9ed6ff, 2px 4px 0 #9ed6ff, 3px -4px 0 #9ed6ff, 3px -3px 0 #9ed6ff, 3px -2px 0 #9ed6ff, 3px -1px 0 #9ed6ff, 3px 0px 0 #9ed6ff, 3px 1px 0 #9ed6ff, 3px 2px 0 #9ed6ff, 3px 3px 0 #9ed6ff, 3px 4px 0 #9ed6ff, 4px -4px 0 #9ed6ff, 4px -3px 0 #9ed6ff, 4px -2px 0 #9ed6ff, 4px -1px 0 #9ed6ff, 4px 0px 0 #9ed6ff, 4px 1px 0 #9ed6ff, 4px 2px 0 #9ed6ff, 4px 3px 0 #9ed6ff, 4px 4px 0 #9ed6ff; }
|
||||
75% { text-shadow: -4px -4px 0 #3daee9, -4px -3px 0 #3daee9, -4px -2px 0 #3daee9, -4px -1px 0 #3daee9, -4px 0px 0 #3daee9, -4px 1px 0 #3daee9, -4px 2px 0 #3daee9, -4px 3px 0 #3daee9, -4px 4px 0 #3daee9, -3px -4px 0 #3daee9, -3px -3px 0 #3daee9, -3px -2px 0 #3daee9, -3px -1px 0 #3daee9, -3px 0px 0 #3daee9, -3px 1px 0 #3daee9, -3px 2px 0 #3daee9, -3px 3px 0 #3daee9, -3px 4px 0 #3daee9, -2px -4px 0 #3daee9, -2px -3px 0 #3daee9, -2px -2px 0 #3daee9, -2px -1px 0 #3daee9, -2px 0px 0 #3daee9, -2px 1px 0 #3daee9, -2px 2px 0 #3daee9, -2px 3px 0 #3daee9, -2px 4px 0 #3daee9, -1px -4px 0 #3daee9, -1px -3px 0 #3daee9, -1px -2px 0 #3daee9, -1px -1px 0 #3daee9, -1px 0px 0 #3daee9, -1px 1px 0 #3daee9, -1px 2px 0 #3daee9, -1px 3px 0 #3daee9, -1px 4px 0 #3daee9, 0px -4px 0 #3daee9, 0px -3px 0 #3daee9, 0px -2px 0 #3daee9, 0px -1px 0 #3daee9, 0px 0px 0 #3daee9, 0px 1px 0 #3daee9, 0px 2px 0 #3daee9, 0px 3px 0 #3daee9, 0px 4px 0 #3daee9, 1px -4px 0 #3daee9, 1px -3px 0 #3daee9, 1px -2px 0 #3daee9, 1px -1px 0 #3daee9, 1px 0px 0 #3daee9, 1px 1px 0 #3daee9, 1px 2px 0 #3daee9, 1px 3px 0 #3daee9, 1px 4px 0 #3daee9, 2px -4px 0 #3daee9, 2px -3px 0 #3daee9, 2px -2px 0 #3daee9, 2px -1px 0 #3daee9, 2px 0px 0 #3daee9, 2px 1px 0 #3daee9, 2px 2px 0 #3daee9, 2px 3px 0 #3daee9, 2px 4px 0 #3daee9, 3px -4px 0 #3daee9, 3px -3px 0 #3daee9, 3px -2px 0 #3daee9, 3px -1px 0 #3daee9, 3px 0px 0 #3daee9, 3px 1px 0 #3daee9, 3px 2px 0 #3daee9, 3px 3px 0 #3daee9, 3px 4px 0 #3daee9, 4px -4px 0 #3daee9, 4px -3px 0 #3daee9, 4px -2px 0 #3daee9, 4px -1px 0 #3daee9, 4px 0px 0 #3daee9, 4px 1px 0 #3daee9, 4px 2px 0 #3daee9, 4px 3px 0 #3daee9, 4px 4px 0 #3daee9; }
|
||||
100% { text-shadow: -4px -4px 0 #1d99f3, -4px -3px 0 #1d99f3, -4px -2px 0 #1d99f3, -4px -1px 0 #1d99f3, -4px 0px 0 #1d99f3, -4px 1px 0 #1d99f3, -4px 2px 0 #1d99f3, -4px 3px 0 #1d99f3, -4px 4px 0 #1d99f3, -3px -4px 0 #1d99f3, -3px -3px 0 #1d99f3, -3px -2px 0 #1d99f3, -3px -1px 0 #1d99f3, -3px 0px 0 #1d99f3, -3px 1px 0 #1d99f3, -3px 2px 0 #1d99f3, -3px 3px 0 #1d99f3, -3px 4px 0 #1d99f3, -2px -4px 0 #1d99f3, -2px -3px 0 #1d99f3, -2px -2px 0 #1d99f3, -2px -1px 0 #1d99f3, -2px 0px 0 #1d99f3, -2px 1px 0 #1d99f3, -2px 2px 0 #1d99f3, -2px 3px 0 #1d99f3, -2px 4px 0 #1d99f3, -1px -4px 0 #1d99f3, -1px -3px 0 #1d99f3, -1px -2px 0 #1d99f3, -1px -1px 0 #1d99f3, -1px 0px 0 #1d99f3, -1px 1px 0 #1d99f3, -1px 2px 0 #1d99f3, -1px 3px 0 #1d99f3, -1px 4px 0 #1d99f3, 0px -4px 0 #1d99f3, 0px -3px 0 #1d99f3, 0px -2px 0 #1d99f3, 0px -1px 0 #1d99f3, 0px 0px 0 #1d99f3, 0px 1px 0 #1d99f3, 0px 2px 0 #1d99f3, 0px 3px 0 #1d99f3, 0px 4px 0 #1d99f3, 1px -4px 0 #1d99f3, 1px -3px 0 #1d99f3, 1px -2px 0 #1d99f3, 1px -1px 0 #1d99f3, 1px 0px 0 #1d99f3, 1px 1px 0 #1d99f3, 1px 2px 0 #1d99f3, 1px 3px 0 #1d99f3, 1px 4px 0 #1d99f3, 2px -4px 0 #1d99f3, 2px -3px 0 #1d99f3, 2px -2px 0 #1d99f3, 2px -1px 0 #1d99f3, 2px 0px 0 #1d99f3, 2px 1px 0 #1d99f3, 2px 2px 0 #1d99f3, 2px 3px 0 #1d99f3, 2px 4px 0 #1d99f3, 3px -4px 0 #1d99f3, 3px -3px 0 #1d99f3, 3px -2px 0 #1d99f3, 3px -1px 0 #1d99f3, 3px 0px 0 #1d99f3, 3px 1px 0 #1d99f3, 3px 2px 0 #1d99f3, 3px 3px 0 #1d99f3, 3px 4px 0 #1d99f3, 4px -4px 0 #1d99f3, 4px -3px 0 #1d99f3, 4px -2px 0 #1d99f3, 4px -1px 0 #1d99f3, 4px 0px 0 #1d99f3, 4px 1px 0 #1d99f3, 4px 2px 0 #1d99f3, 4px 3px 0 #1d99f3, 4px 4px 0 #1d99f3; }
|
||||
}
|
||||
@keyframes sitenamehover {
|
||||
0% { text-shadow: -4px -4px 0 #1d99f3, -4px -3px 0 #1d99f3, -4px -2px 0 #1d99f3, -4px -1px 0 #1d99f3, -4px 0px 0 #1d99f3, -4px 1px 0 #1d99f3, -4px 2px 0 #1d99f3, -4px 3px 0 #1d99f3, -4px 4px 0 #1d99f3, -3px -4px 0 #1d99f3, -3px -3px 0 #1d99f3, -3px -2px 0 #1d99f3, -3px -1px 0 #1d99f3, -3px 0px 0 #1d99f3, -3px 1px 0 #1d99f3, -3px 2px 0 #1d99f3, -3px 3px 0 #1d99f3, -3px 4px 0 #1d99f3, -2px -4px 0 #1d99f3, -2px -3px 0 #1d99f3, -2px -2px 0 #1d99f3, -2px -1px 0 #1d99f3, -2px 0px 0 #1d99f3, -2px 1px 0 #1d99f3, -2px 2px 0 #1d99f3, -2px 3px 0 #1d99f3, -2px 4px 0 #1d99f3, -1px -4px 0 #1d99f3, -1px -3px 0 #1d99f3, -1px -2px 0 #1d99f3, -1px -1px 0 #1d99f3, -1px 0px 0 #1d99f3, -1px 1px 0 #1d99f3, -1px 2px 0 #1d99f3, -1px 3px 0 #1d99f3, -1px 4px 0 #1d99f3, 0px -4px 0 #1d99f3, 0px -3px 0 #1d99f3, 0px -2px 0 #1d99f3, 0px -1px 0 #1d99f3, 0px 0px 0 #1d99f3, 0px 1px 0 #1d99f3, 0px 2px 0 #1d99f3, 0px 3px 0 #1d99f3, 0px 4px 0 #1d99f3, 1px -4px 0 #1d99f3, 1px -3px 0 #1d99f3, 1px -2px 0 #1d99f3, 1px -1px 0 #1d99f3, 1px 0px 0 #1d99f3, 1px 1px 0 #1d99f3, 1px 2px 0 #1d99f3, 1px 3px 0 #1d99f3, 1px 4px 0 #1d99f3, 2px -4px 0 #1d99f3, 2px -3px 0 #1d99f3, 2px -2px 0 #1d99f3, 2px -1px 0 #1d99f3, 2px 0px 0 #1d99f3, 2px 1px 0 #1d99f3, 2px 2px 0 #1d99f3, 2px 3px 0 #1d99f3, 2px 4px 0 #1d99f3, 3px -4px 0 #1d99f3, 3px -3px 0 #1d99f3, 3px -2px 0 #1d99f3, 3px -1px 0 #1d99f3, 3px 0px 0 #1d99f3, 3px 1px 0 #1d99f3, 3px 2px 0 #1d99f3, 3px 3px 0 #1d99f3, 3px 4px 0 #1d99f3, 4px -4px 0 #1d99f3, 4px -3px 0 #1d99f3, 4px -2px 0 #1d99f3, 4px -1px 0 #1d99f3, 4px 0px 0 #1d99f3, 4px 1px 0 #1d99f3, 4px 2px 0 #1d99f3, 4px 3px 0 #1d99f3, 4px 4px 0 #1d99f3; }
|
||||
25% { text-shadow: -4px -4px 0 #3daee9, -4px -3px 0 #3daee9, -4px -2px 0 #3daee9, -4px -1px 0 #3daee9, -4px 0px 0 #3daee9, -4px 1px 0 #3daee9, -4px 2px 0 #3daee9, -4px 3px 0 #3daee9, -4px 4px 0 #3daee9, -3px -4px 0 #3daee9, -3px -3px 0 #3daee9, -3px -2px 0 #3daee9, -3px -1px 0 #3daee9, -3px 0px 0 #3daee9, -3px 1px 0 #3daee9, -3px 2px 0 #3daee9, -3px 3px 0 #3daee9, -3px 4px 0 #3daee9, -2px -4px 0 #3daee9, -2px -3px 0 #3daee9, -2px -2px 0 #3daee9, -2px -1px 0 #3daee9, -2px 0px 0 #3daee9, -2px 1px 0 #3daee9, -2px 2px 0 #3daee9, -2px 3px 0 #3daee9, -2px 4px 0 #3daee9, -1px -4px 0 #3daee9, -1px -3px 0 #3daee9, -1px -2px 0 #3daee9, -1px -1px 0 #3daee9, -1px 0px 0 #3daee9, -1px 1px 0 #3daee9, -1px 2px 0 #3daee9, -1px 3px 0 #3daee9, -1px 4px 0 #3daee9, 0px -4px 0 #3daee9, 0px -3px 0 #3daee9, 0px -2px 0 #3daee9, 0px -1px 0 #3daee9, 0px 0px 0 #3daee9, 0px 1px 0 #3daee9, 0px 2px 0 #3daee9, 0px 3px 0 #3daee9, 0px 4px 0 #3daee9, 1px -4px 0 #3daee9, 1px -3px 0 #3daee9, 1px -2px 0 #3daee9, 1px -1px 0 #3daee9, 1px 0px 0 #3daee9, 1px 1px 0 #3daee9, 1px 2px 0 #3daee9, 1px 3px 0 #3daee9, 1px 4px 0 #3daee9, 2px -4px 0 #3daee9, 2px -3px 0 #3daee9, 2px -2px 0 #3daee9, 2px -1px 0 #3daee9, 2px 0px 0 #3daee9, 2px 1px 0 #3daee9, 2px 2px 0 #3daee9, 2px 3px 0 #3daee9, 2px 4px 0 #3daee9, 3px -4px 0 #3daee9, 3px -3px 0 #3daee9, 3px -2px 0 #3daee9, 3px -1px 0 #3daee9, 3px 0px 0 #3daee9, 3px 1px 0 #3daee9, 3px 2px 0 #3daee9, 3px 3px 0 #3daee9, 3px 4px 0 #3daee9, 4px -4px 0 #3daee9, 4px -3px 0 #3daee9, 4px -2px 0 #3daee9, 4px -1px 0 #3daee9, 4px 0px 0 #3daee9, 4px 1px 0 #3daee9, 4px 2px 0 #3daee9, 4px 3px 0 #3daee9, 4px 4px 0 #3daee9; }
|
||||
50% { text-shadow: -4px -4px 0 #9ed6ff, -4px -3px 0 #9ed6ff, -4px -2px 0 #9ed6ff, -4px -1px 0 #9ed6ff, -4px 0px 0 #9ed6ff, -4px 1px 0 #9ed6ff, -4px 2px 0 #9ed6ff, -4px 3px 0 #9ed6ff, -4px 4px 0 #9ed6ff, -3px -4px 0 #9ed6ff, -3px -3px 0 #9ed6ff, -3px -2px 0 #9ed6ff, -3px -1px 0 #9ed6ff, -3px 0px 0 #9ed6ff, -3px 1px 0 #9ed6ff, -3px 2px 0 #9ed6ff, -3px 3px 0 #9ed6ff, -3px 4px 0 #9ed6ff, -2px -4px 0 #9ed6ff, -2px -3px 0 #9ed6ff, -2px -2px 0 #9ed6ff, -2px -1px 0 #9ed6ff, -2px 0px 0 #9ed6ff, -2px 1px 0 #9ed6ff, -2px 2px 0 #9ed6ff, -2px 3px 0 #9ed6ff, -2px 4px 0 #9ed6ff, -1px -4px 0 #9ed6ff, -1px -3px 0 #9ed6ff, -1px -2px 0 #9ed6ff, -1px -1px 0 #9ed6ff, -1px 0px 0 #9ed6ff, -1px 1px 0 #9ed6ff, -1px 2px 0 #9ed6ff, -1px 3px 0 #9ed6ff, -1px 4px 0 #9ed6ff, 0px -4px 0 #9ed6ff, 0px -3px 0 #9ed6ff, 0px -2px 0 #9ed6ff, 0px -1px 0 #9ed6ff, 0px 0px 0 #9ed6ff, 0px 1px 0 #9ed6ff, 0px 2px 0 #9ed6ff, 0px 3px 0 #9ed6ff, 0px 4px 0 #9ed6ff, 1px -4px 0 #9ed6ff, 1px -3px 0 #9ed6ff, 1px -2px 0 #9ed6ff, 1px -1px 0 #9ed6ff, 1px 0px 0 #9ed6ff, 1px 1px 0 #9ed6ff, 1px 2px 0 #9ed6ff, 1px 3px 0 #9ed6ff, 1px 4px 0 #9ed6ff, 2px -4px 0 #9ed6ff, 2px -3px 0 #9ed6ff, 2px -2px 0 #9ed6ff, 2px -1px 0 #9ed6ff, 2px 0px 0 #9ed6ff, 2px 1px 0 #9ed6ff, 2px 2px 0 #9ed6ff, 2px 3px 0 #9ed6ff, 2px 4px 0 #9ed6ff, 3px -4px 0 #9ed6ff, 3px -3px 0 #9ed6ff, 3px -2px 0 #9ed6ff, 3px -1px 0 #9ed6ff, 3px 0px 0 #9ed6ff, 3px 1px 0 #9ed6ff, 3px 2px 0 #9ed6ff, 3px 3px 0 #9ed6ff, 3px 4px 0 #9ed6ff, 4px -4px 0 #9ed6ff, 4px -3px 0 #9ed6ff, 4px -2px 0 #9ed6ff, 4px -1px 0 #9ed6ff, 4px 0px 0 #9ed6ff, 4px 1px 0 #9ed6ff, 4px 2px 0 #9ed6ff, 4px 3px 0 #9ed6ff, 4px 4px 0 #9ed6ff; }
|
||||
75% { text-shadow: -4px -4px 0 #3daee9, -4px -3px 0 #3daee9, -4px -2px 0 #3daee9, -4px -1px 0 #3daee9, -4px 0px 0 #3daee9, -4px 1px 0 #3daee9, -4px 2px 0 #3daee9, -4px 3px 0 #3daee9, -4px 4px 0 #3daee9, -3px -4px 0 #3daee9, -3px -3px 0 #3daee9, -3px -2px 0 #3daee9, -3px -1px 0 #3daee9, -3px 0px 0 #3daee9, -3px 1px 0 #3daee9, -3px 2px 0 #3daee9, -3px 3px 0 #3daee9, -3px 4px 0 #3daee9, -2px -4px 0 #3daee9, -2px -3px 0 #3daee9, -2px -2px 0 #3daee9, -2px -1px 0 #3daee9, -2px 0px 0 #3daee9, -2px 1px 0 #3daee9, -2px 2px 0 #3daee9, -2px 3px 0 #3daee9, -2px 4px 0 #3daee9, -1px -4px 0 #3daee9, -1px -3px 0 #3daee9, -1px -2px 0 #3daee9, -1px -1px 0 #3daee9, -1px 0px 0 #3daee9, -1px 1px 0 #3daee9, -1px 2px 0 #3daee9, -1px 3px 0 #3daee9, -1px 4px 0 #3daee9, 0px -4px 0 #3daee9, 0px -3px 0 #3daee9, 0px -2px 0 #3daee9, 0px -1px 0 #3daee9, 0px 0px 0 #3daee9, 0px 1px 0 #3daee9, 0px 2px 0 #3daee9, 0px 3px 0 #3daee9, 0px 4px 0 #3daee9, 1px -4px 0 #3daee9, 1px -3px 0 #3daee9, 1px -2px 0 #3daee9, 1px -1px 0 #3daee9, 1px 0px 0 #3daee9, 1px 1px 0 #3daee9, 1px 2px 0 #3daee9, 1px 3px 0 #3daee9, 1px 4px 0 #3daee9, 2px -4px 0 #3daee9, 2px -3px 0 #3daee9, 2px -2px 0 #3daee9, 2px -1px 0 #3daee9, 2px 0px 0 #3daee9, 2px 1px 0 #3daee9, 2px 2px 0 #3daee9, 2px 3px 0 #3daee9, 2px 4px 0 #3daee9, 3px -4px 0 #3daee9, 3px -3px 0 #3daee9, 3px -2px 0 #3daee9, 3px -1px 0 #3daee9, 3px 0px 0 #3daee9, 3px 1px 0 #3daee9, 3px 2px 0 #3daee9, 3px 3px 0 #3daee9, 3px 4px 0 #3daee9, 4px -4px 0 #3daee9, 4px -3px 0 #3daee9, 4px -2px 0 #3daee9, 4px -1px 0 #3daee9, 4px 0px 0 #3daee9, 4px 1px 0 #3daee9, 4px 2px 0 #3daee9, 4px 3px 0 #3daee9, 4px 4px 0 #3daee9; }
|
||||
100% { text-shadow: -4px -4px 0 #1d99f3, -4px -3px 0 #1d99f3, -4px -2px 0 #1d99f3, -4px -1px 0 #1d99f3, -4px 0px 0 #1d99f3, -4px 1px 0 #1d99f3, -4px 2px 0 #1d99f3, -4px 3px 0 #1d99f3, -4px 4px 0 #1d99f3, -3px -4px 0 #1d99f3, -3px -3px 0 #1d99f3, -3px -2px 0 #1d99f3, -3px -1px 0 #1d99f3, -3px 0px 0 #1d99f3, -3px 1px 0 #1d99f3, -3px 2px 0 #1d99f3, -3px 3px 0 #1d99f3, -3px 4px 0 #1d99f3, -2px -4px 0 #1d99f3, -2px -3px 0 #1d99f3, -2px -2px 0 #1d99f3, -2px -1px 0 #1d99f3, -2px 0px 0 #1d99f3, -2px 1px 0 #1d99f3, -2px 2px 0 #1d99f3, -2px 3px 0 #1d99f3, -2px 4px 0 #1d99f3, -1px -4px 0 #1d99f3, -1px -3px 0 #1d99f3, -1px -2px 0 #1d99f3, -1px -1px 0 #1d99f3, -1px 0px 0 #1d99f3, -1px 1px 0 #1d99f3, -1px 2px 0 #1d99f3, -1px 3px 0 #1d99f3, -1px 4px 0 #1d99f3, 0px -4px 0 #1d99f3, 0px -3px 0 #1d99f3, 0px -2px 0 #1d99f3, 0px -1px 0 #1d99f3, 0px 0px 0 #1d99f3, 0px 1px 0 #1d99f3, 0px 2px 0 #1d99f3, 0px 3px 0 #1d99f3, 0px 4px 0 #1d99f3, 1px -4px 0 #1d99f3, 1px -3px 0 #1d99f3, 1px -2px 0 #1d99f3, 1px -1px 0 #1d99f3, 1px 0px 0 #1d99f3, 1px 1px 0 #1d99f3, 1px 2px 0 #1d99f3, 1px 3px 0 #1d99f3, 1px 4px 0 #1d99f3, 2px -4px 0 #1d99f3, 2px -3px 0 #1d99f3, 2px -2px 0 #1d99f3, 2px -1px 0 #1d99f3, 2px 0px 0 #1d99f3, 2px 1px 0 #1d99f3, 2px 2px 0 #1d99f3, 2px 3px 0 #1d99f3, 2px 4px 0 #1d99f3, 3px -4px 0 #1d99f3, 3px -3px 0 #1d99f3, 3px -2px 0 #1d99f3, 3px -1px 0 #1d99f3, 3px 0px 0 #1d99f3, 3px 1px 0 #1d99f3, 3px 2px 0 #1d99f3, 3px 3px 0 #1d99f3, 3px 4px 0 #1d99f3, 4px -4px 0 #1d99f3, 4px -3px 0 #1d99f3, 4px -2px 0 #1d99f3, 4px -1px 0 #1d99f3, 4px 0px 0 #1d99f3, 4px 1px 0 #1d99f3, 4px 2px 0 #1d99f3, 4px 3px 0 #1d99f3, 4px 4px 0 #1d99f3; }
|
||||
}
|
||||
.logo-c { text-shadow: -4px -4px 0 #1d99f3, -4px -3px 0 #1d99f3, -4px -2px 0 #1d99f3, -4px -1px 0 #1d99f3, -4px 0px 0 #1d99f3, -4px 1px 0 #1d99f3, -4px 2px 0 #1d99f3, -4px 3px 0 #1d99f3, -4px 4px 0 #1d99f3, -3px -4px 0 #1d99f3, -3px -3px 0 #1d99f3, -3px -2px 0 #1d99f3, -3px -1px 0 #1d99f3, -3px 0px 0 #1d99f3, -3px 1px 0 #1d99f3, -3px 2px 0 #1d99f3, -3px 3px 0 #1d99f3, -3px 4px 0 #1d99f3, -2px -4px 0 #1d99f3, -2px -3px 0 #1d99f3, -2px -2px 0 #1d99f3, -2px -1px 0 #1d99f3, -2px 0px 0 #1d99f3, -2px 1px 0 #1d99f3, -2px 2px 0 #1d99f3, -2px 3px 0 #1d99f3, -2px 4px 0 #1d99f3, -1px -4px 0 #1d99f3, -1px -3px 0 #1d99f3, -1px -2px 0 #1d99f3, -1px -1px 0 #1d99f3, -1px 0px 0 #1d99f3, -1px 1px 0 #1d99f3, -1px 2px 0 #1d99f3, -1px 3px 0 #1d99f3, -1px 4px 0 #1d99f3, 0px -4px 0 #1d99f3, 0px -3px 0 #1d99f3, 0px -2px 0 #1d99f3, 0px -1px 0 #1d99f3, 0px 0px 0 #1d99f3, 0px 1px 0 #1d99f3, 0px 2px 0 #1d99f3, 0px 3px 0 #1d99f3, 0px 4px 0 #1d99f3, 1px -4px 0 #1d99f3, 1px -3px 0 #1d99f3, 1px -2px 0 #1d99f3, 1px -1px 0 #1d99f3, 1px 0px 0 #1d99f3, 1px 1px 0 #1d99f3, 1px 2px 0 #1d99f3, 1px 3px 0 #1d99f3, 1px 4px 0 #1d99f3, 2px -4px 0 #1d99f3, 2px -3px 0 #1d99f3, 2px -2px 0 #1d99f3, 2px -1px 0 #1d99f3, 2px 0px 0 #1d99f3, 2px 1px 0 #1d99f3, 2px 2px 0 #1d99f3, 2px 3px 0 #1d99f3, 2px 4px 0 #1d99f3, 3px -4px 0 #1d99f3, 3px -3px 0 #1d99f3, 3px -2px 0 #1d99f3, 3px -1px 0 #1d99f3, 3px 0px 0 #1d99f3, 3px 1px 0 #1d99f3, 3px 2px 0 #1d99f3, 3px 3px 0 #1d99f3, 3px 4px 0 #1d99f3, 4px -4px 0 #1d99f3, 4px -3px 0 #1d99f3, 4px -2px 0 #1d99f3, 4px -1px 0 #1d99f3, 4px 0px 0 #1d99f3, 4px 1px 0 #1d99f3, 4px 2px 0 #1d99f3, 4px 3px 0 #1d99f3, 4px 4px 0 #1d99f3; }
|
|
@ -0,0 +1,4 @@
|
|||
.modal-header, .modal-body, .modal-footer { color: #fcfcfc; }
|
||||
.modal-header { background: linear-gradient(to bottom, #b16cce 0%, #d898f3 34%, #cb81ea 100%); }
|
||||
.modal-body { background-color: #4d4d4d; }
|
||||
.modal-footer { background-color: #31363b; }
|
|
@ -0,0 +1 @@
|
|||
.modal-header { background: linear-gradient(to bottom, #f31de8 0%, #ea81e8 34%, #e93de9 100%); }
|
|
@ -0,0 +1 @@
|
|||
.modal-header { background: linear-gradient(to bottom, #1d99f3 0%, #6ec0fb 34%, #3daee9 100%); }
|
|
@ -0,0 +1,12 @@
|
|||
.bg-dark { background: radial-gradient(farthest-corner at 50% 85%, #9b59b6 0%, #232629 100%); border: 2px solid #cb81ea; box-shadow: 0 0 7px 3px #b16cce; }
|
||||
.navbar { padding: 0px; }
|
||||
.navbar-toggler { border: 0px solid transparent; }
|
||||
.navbar-nav .dropdown-menu { background-color: #31363b; color: #fcfcfc; border: 2px solid #cb81ea; box-shadow: 0 0 7px 3px #b16cce; }
|
||||
.dropdown-item { color: #fcfcfc; }
|
||||
.dropdown-item.active, .dropdown-item:active, .dropdown-item:hover, .dropdown-item:focus { color: #fcfcfc; background-color: #cb81ea; }
|
||||
.navbar-brand { padding: 5px; }
|
||||
.navbar-brand, .nav-item { transition: background 0.3s; border-radius: 2px; cursor: pointer; }
|
||||
.navbar-brand:hover, .nav-item:hover { background-color: #61237c; }
|
||||
.nav-tabs .nav-link:hover, .nav-tabs .nav-link:focus { border-color: #46195a; }
|
||||
.nav-tabs .nav-link.active, .nav-tabs .nav-item.show .nav-link { color: #fcfcfc; background-color: #b16cce; border-color: #46195a; }
|
||||
.nav-tabs { border-bottom: 1px solid #cb81ea; }
|
|
@ -0,0 +1,7 @@
|
|||
.bg-dark { background: radial-gradient(farthest-corner at 50% 85%, #db34d3 0%, #232629 100%); border: 2px solid #e93de9; box-shadow: 0 0 7px 3px #f31de8; }
|
||||
.navbar-nav .dropdown-menu { border: 2px solid #e93de9; box-shadow: 0 0 7px 3px #f31de8; }
|
||||
.dropdown-item.active, .dropdown-item:active, .dropdown-item:hover, .dropdown-item:focus { background-color: #e93de9; }
|
||||
.navbar-brand:hover, .nav-item:hover { background-color: #b459b6; }
|
||||
.nav-tabs .nav-link:hover, .nav-tabs .nav-link:focus { border-color: #7d2069; }
|
||||
.nav-tabs .nav-link.active, .nav-tabs .nav-item.show .nav-link { background-color: #f31de8; border-color: #7d2069; }
|
||||
.nav-tabs { border-bottom: 1px solid #e93de9; }
|
|
@ -0,0 +1,7 @@
|
|||
.bg-dark { background: radial-gradient(farthest-corner at 50% 85%, #3498db 0%, #232629 100%); border: 2px solid #3daee9; box-shadow: 0 0 7px 3px #1d99f3; }
|
||||
.navbar-nav .dropdown-menu { border: 2px solid #3daee9; box-shadow: 0 0 7px 3px #1d99f3; }
|
||||
.dropdown-item.active, .dropdown-item:active, .dropdown-item:hover, .dropdown-item:focus { background-color: #3daee9; }
|
||||
.navbar-brand:hover, .nav-item:hover { background-color: #2980b9; }
|
||||
.nav-tabs .nav-link:hover, .nav-tabs .nav-link:focus { border-color: #205e7d; }
|
||||
.nav-tabs .nav-link.active, .nav-tabs .nav-item.show .nav-link { background-color: #1d99f3; border-color: #205e7d; }
|
||||
.nav-tabs { border-bottom: 1px solid #3daee9; }
|
|
@ -0,0 +1,28 @@
|
|||
.page-link {
|
||||
background: linear-gradient(to bottom, #57229c 0%, #6b4386 34%, #2d1a46 100%);
|
||||
}
|
||||
|
||||
.page-link, .page-item .disabled {
|
||||
text-align: center;
|
||||
color: #fcfcfc;
|
||||
padding: 8px 20px;
|
||||
font-size: 28px;
|
||||
border-bottom: solid 2px #cb81ea;
|
||||
cursor: pointer;
|
||||
transition: background 0.3s, color 0.3s;
|
||||
margin: auto;
|
||||
}
|
||||
|
||||
.page-link > a { color: #fcfcfc; }
|
||||
|
||||
.page-link > a:hover { text-decoration: none; }
|
||||
|
||||
.page-link:hover {
|
||||
color: #fcfcfc;
|
||||
background: linear-gradient(to bottom, #6c29b9 0%, #916ead 34%, #5d2b8b 100%);
|
||||
}
|
||||
|
||||
.page-item.disabled > .page-link { color: #fcfcfc; background: linear-gradient(to bottom, #4d4d4d 0%, #727272 34%, #495051 100%); border-color: #b16cce; }
|
||||
.page-item.active > .page-link { color: #fcfcfc; background: linear-gradient(to bottom, #b16cce 0%, #e4b4f8 34%, #9b59b6 100%); border-color: #b16cce; }
|
||||
.page-item.active > .page-link:hover { color: #fcfcfc; background: linear-gradient(to bottom, #cb81ea 0%, #f1d0ff 34%, #d898f3 100%); }
|
||||
.pagination { margin: auto; padding: 8px; }
|
|
@ -0,0 +1,6 @@
|
|||
.page-link { background: linear-gradient(to bottom, #9c2296 0%, #864386 34%, #421a46 100%); }
|
||||
.page-link, .page-item .disabled { border-bottom: solid 2px #e93de9; }
|
||||
.page-link:hover { background: linear-gradient(to bottom, #b929ad 0%, #ad6ea8 34%, #832b8b 100%); }
|
||||
.page-item.disabled > .page-link { border-color: #f31de8; }
|
||||
.page-item.active > .page-link { background: linear-gradient(to bottom, #f31de8 0%, #e599e5 34%, #db34d3 100%); border-color: #f31de8; }
|
||||
.page-item.active > .page-link:hover { background: linear-gradient(to bottom, #e93de9 0%, #ffe6f9 34%, #ea81e8 100%); }
|
|
@ -0,0 +1,6 @@
|
|||
.page-link { background: linear-gradient(to bottom, #22699c 0%, #436a86 34%, #1a3746 100%); }
|
||||
.page-link, .page-item .disabled { border-bottom: solid 2px #3daee9; }
|
||||
.page-link:hover { background: linear-gradient(to bottom, #2980b9 0%, #6e93ad 34%, #2b6b8b 100%); }
|
||||
.page-item.disabled > .page-link { border-color: #1d99f3; }
|
||||
.page-item.active > .page-link { background: linear-gradient(to bottom, #1d99f3 0%, #8bb6d6 34%, #3498db 100%); border-color: #1d99f3; }
|
||||
.page-item.active > .page-link:hover { background: linear-gradient(to bottom, #3daee9 0%, #9ed6ff 34%, #6ec0fb 100%); }
|
長すぎる行があるためファイル差分は表示されません
|
@ -0,0 +1,5 @@
|
|||
::-webkit-scrollbar { width: 6px; }
|
||||
::-webkit-scrollbar-thumb { background: #cb81ea; transition: background 0.3s; }
|
||||
::-webkit-scrollbar-thumb:hover { background: #e4b4f8; }
|
||||
::-webkit-scrollbar-thumb:active { background: #46195a; }
|
||||
::-webkit-scrollbar-track { background-color: #fcfcfc; background: #232629; }
|
|
@ -0,0 +1,3 @@
|
|||
::-webkit-scrollbar-thumb { background: #e93de9; }
|
||||
::-webkit-scrollbar-thumb:hover { background: #e599e5; }
|
||||
::-webkit-scrollbar-thumb:active { background: #7d2069; }
|
|
@ -0,0 +1,3 @@
|
|||
::-webkit-scrollbar-thumb { background: #3daee9; }
|
||||
::-webkit-scrollbar-thumb:hover { background: #8bb6d6; }
|
||||
::-webkit-scrollbar-thumb:active { background: #205e7d; }
|
|
@ -0,0 +1 @@
|
|||
.custom-select { background-color: #232629; border: 1px solid #220a2c; color: #fcfcfc; }
|
|
@ -0,0 +1 @@
|
|||
.custom-select { border: 1px solid #5e345c; }
|
|
@ -0,0 +1 @@
|
|||
.custom-select { border: 1px solid #34495e; }
|
|
@ -0,0 +1,2 @@
|
|||
.sidemenu { border: 2px solid #cb81ea; box-shadow: 0 0 7px 3px #b16cce; }
|
||||
.nav-pills .nav-link { border-radius: 0px; }
|
|
@ -0,0 +1 @@
|
|||
.sidemenu { border: 2px solid #e93de9; box-shadow: 0 0 7px 3px #f31de8; }
|
|
@ -0,0 +1 @@
|
|||
.sidemenu { border: 2px solid #3daee9; box-shadow: 0 0 7px 3px #1d99f3; }
|
|
@ -0,0 +1,9 @@
|
|||
.table-dark {
|
||||
color: #fcfcfc;
|
||||
background-color: #4d4d4d;
|
||||
border: 2px solid #cb81ea;
|
||||
transition: background-color 0.3s;
|
||||
}
|
||||
.table-dark th, .table-dark td, .table-dark thead th { border-color: #cb81ea; }
|
||||
.table-dark.table-hover tbody tr { transition: background-color 0.3s; background-color: #4d4d4d; }
|
||||
.table-dark.table-hover tbody tr:hover { color: #fcfcfc; background-color: #61237c; }
|
|
@ -0,0 +1,3 @@
|
|||
.table-dark { border: 2px solid #e93de9; }
|
||||
.table-dark th, .table-dark td, .table-dark thead th { border-color: #e93de9; }
|
||||
.table-dark.table-hover tbody tr:hover { background-color: #b459b6; }
|
|
@ -0,0 +1,3 @@
|
|||
.table-dark { border: 2px solid #3daee9; }
|
||||
.table-dark th, .table-dark td, .table-dark thead th { border-color: #3daee9; }
|
||||
.table-dark.table-hover tbody tr:hover { background-color: #2980b9; }
|
長すぎる行があるためファイル差分は表示されません
長すぎる行があるためファイル差分は表示されません
長すぎる行があるためファイル差分は表示されません
|
@ -17,14 +17,10 @@ try {
|
|||
|
||||
window.axios.defaults.headers.common['X-Requested-With'] = 'XMLHttpRequest';
|
||||
|
||||
Vue.component('appbar', require('./components/appbar.vue').default);
|
||||
Vue.component('comments', require('./components/comments.vue').default);
|
||||
Vue.component('content-type', require('./components/contenttype.vue').default);
|
||||
Vue.component('delete-content', require('./components/deletecontent.vue').default);
|
||||
Vue.component('delete-video', require('./components/deletevideo.vue').default);
|
||||
Vue.component('delete-game', require('./components/deletegame.vue').default);
|
||||
Vue.component('discord', require('./components/discord.vue').default);
|
||||
Vue.component('gender', require('./components/gender.vue').default);
|
||||
|
||||
const app = new Vue({ el: '#app' });
|
||||
|
||||
|
|
|
@ -1,15 +0,0 @@
|
|||
<template>
|
||||
<span>
|
||||
<bash />
|
||||
<note />
|
||||
</span>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import Bash from './bash';
|
||||
import Note from './note';
|
||||
|
||||
export default {
|
||||
components: { Bash, Note }
|
||||
}
|
||||
</script>
|
|
@ -1,237 +0,0 @@
|
|||
<template>
|
||||
<span>
|
||||
<a href="#" @click="show = true"><img class="icon" src="/img/bash/app_icon.png" width="50" height="50" alt="ロリ端末" /></a>
|
||||
<span v-if="show">
|
||||
<label :for="`konsoleinput-${output.length-1}`">
|
||||
<vue-draggable-resizable style="border: 0px solid #232629;" :drag-handle="'.drag-handle'" class-name-handle="resize-handle" class="konsoleuser" :x="-50" :y="-100" :z="99999999">
|
||||
<div style="width: 100%; position: relative;">
|
||||
<div class="drag-handle-left"></div>
|
||||
<div class="drag-handle">ロリ端末</div>
|
||||
<div class="drag-handle-min"></div>
|
||||
<div class="drag-handle-max"></div>
|
||||
<div class="drag-handle-right" @click="show = false"></div>
|
||||
</div>
|
||||
<div class="konsole_left"></div>
|
||||
<div style="padding: 5px; height: 100%; overflow: scroll;">
|
||||
<div v-for="(o, i) in output" :key="`output-${i}`">
|
||||
<div v-html="o"></div>
|
||||
<div class="row">
|
||||
<div class="col-auto" style="padding-right: 6px;">shiken@technicalsuwako.jp:/$</div>
|
||||
<div class="col" style="padding-left: 0px;">
|
||||
<input :ref="`konsoleinput-${i}`" :id="`konsoleinput-${i}`" class="konsole_input" type="text" :disabled="i !== output.length-1" v-model="cmd[i]" @keyup.enter="exec(i)" />
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="konsole_right"></div>
|
||||
<div class="konsole_bottom_left"></div>
|
||||
<div class="konsole_bottom"></div>
|
||||
<div class="konsole_bottom_right"></div>
|
||||
</vue-draggable-resizable>
|
||||
</label>
|
||||
</span>
|
||||
</span>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import VueDraggableResizable from 'vue-draggable-resizable';
|
||||
import 'vue-draggable-resizable/dist/VueDraggableResizable.css';
|
||||
|
||||
Vue.component('vue-draggable-resizable', VueDraggableResizable);
|
||||
|
||||
export default {
|
||||
data: function () {
|
||||
return {
|
||||
cmd: [''],
|
||||
output: ['ロリコマンドラインですね〜♡'],
|
||||
show: false,
|
||||
width: 0,
|
||||
height: 0,
|
||||
x: 0,
|
||||
y: 0
|
||||
}
|
||||
},
|
||||
methods: {
|
||||
onResize: function (x, y, width, height) {
|
||||
this.x = x
|
||||
this.y = y
|
||||
this.width = width
|
||||
this.height = height
|
||||
},
|
||||
onDrag: function (x, y) {
|
||||
this.x = x
|
||||
this.y = y
|
||||
},
|
||||
exec (i) {
|
||||
axios.post('/api/rpc/bash/exec', { args: this.cmd[i] }).then(res => {
|
||||
this.output.push(res.data);
|
||||
this.cmd.push('');
|
||||
});
|
||||
}
|
||||
}
|
||||
}
|
||||
</script>
|
||||
|
||||
<style scoped>
|
||||
.konsole {
|
||||
width: 600px;
|
||||
height: 358px;
|
||||
margin: auto;
|
||||
color: #fcfcfc;
|
||||
}
|
||||
|
||||
.drag-handle-left {
|
||||
height: 30px;
|
||||
width: 30px;
|
||||
background: url('/img/bash/top_left.png') no-repeat;
|
||||
position: absolute;
|
||||
top: 0;
|
||||
left: 0;
|
||||
}
|
||||
|
||||
.drag-handle {
|
||||
cursor: default;
|
||||
height: 30px;
|
||||
background: url('/img/bash/top_bg.png') repeat-x;
|
||||
width: auto;
|
||||
margin-left: 30px;
|
||||
margin-right: 74px;
|
||||
padding-top: 7px;
|
||||
padding-left: 32px;
|
||||
text-align: center;
|
||||
font-weight: bold;
|
||||
}
|
||||
|
||||
.drag-handle-right {
|
||||
height: 30px;
|
||||
width: 28px;
|
||||
background: url('/img/bash/top_right.png') no-repeat;
|
||||
position: absolute;
|
||||
top: 0;
|
||||
right: 0;
|
||||
}
|
||||
|
||||
.drag-handle-right:hover {
|
||||
background: url('/img/bash/top_right_hover.png') no-repeat;
|
||||
cursor: default;
|
||||
}
|
||||
|
||||
.drag-handle-max {
|
||||
height: 30px;
|
||||
width: 23px;
|
||||
background: url('/img/bash/top_max.png') no-repeat;
|
||||
position: absolute;
|
||||
top: 0;
|
||||
right: 28px;
|
||||
}
|
||||
|
||||
.drag-handle-max:hover {
|
||||
background: url('/img/bash/top_max_hover.png') no-repeat;
|
||||
cursor: default;
|
||||
}
|
||||
|
||||
.drag-handle-min {
|
||||
height: 30px;
|
||||
width: 23px;
|
||||
background: url('/img/bash/top_min.png') no-repeat;
|
||||
position: absolute;
|
||||
top: 0;
|
||||
right: 51px;
|
||||
}
|
||||
|
||||
.drag-handle-min:hover {
|
||||
background: url('/img/bash/top_min_hover.png') no-repeat;
|
||||
cursor: default;
|
||||
}
|
||||
|
||||
.konsole_left {
|
||||
width: 2px;
|
||||
background: url('/img/bash/left_bg.png') repeat-y;
|
||||
position: absolute;
|
||||
top: 30px;
|
||||
left: 0;
|
||||
height: 325px;
|
||||
}
|
||||
|
||||
.konsole_right {
|
||||
width: 2px;
|
||||
background: url('/img/bash/right_bg.png') repeat-y;
|
||||
position: absolute;
|
||||
height: 325px;
|
||||
top: 30px;
|
||||
right: 0;
|
||||
}
|
||||
|
||||
.konsoleuser { background: url('/img/bash/user_bg.png') repeat; cursor: text; }
|
||||
.konsoleroot { background: url('/img/bash/root_bg.png') repeat; cursor: text; }
|
||||
|
||||
.vdr {
|
||||
background-size: cover;
|
||||
backdrop-filter: blur(17px);
|
||||
font-family: "Lucida Console", Monospace, "DejaVu Sans Mono", "Courier New", MiscFixed;
|
||||
font-size: 12px;
|
||||
/* white-space: pre; */
|
||||
color: #fcfcfc;
|
||||
overflow: hidden;
|
||||
position: absolute;
|
||||
top: 30px;
|
||||
left: 2px;
|
||||
height: 316px !important;
|
||||
width: 586px !important;
|
||||
padding: 0;
|
||||
}
|
||||
|
||||
.resize-handle-mr {
|
||||
width: 2px;
|
||||
background: url('/img/bash/right_bg.png') repeat-y;
|
||||
position: absolute;
|
||||
height: 325px;
|
||||
top: 30px;
|
||||
right: 0;
|
||||
}
|
||||
|
||||
.konsole_bottom_left {
|
||||
width: 3px;
|
||||
height: 3px;
|
||||
background: url('/img/bash/bottom_left.png') no-repeat;
|
||||
position: absolute;
|
||||
bottom: 0;
|
||||
left: 0;
|
||||
}
|
||||
|
||||
.konsole_bottom {
|
||||
height: 2px;
|
||||
background: url('/img/bash/bottom_bg.png') repeat-x;
|
||||
position: absolute;
|
||||
bottom: 0;
|
||||
left: 2px;
|
||||
width: 595px;
|
||||
}
|
||||
|
||||
.konsole_bottom_right {
|
||||
height: 3px;
|
||||
width: 3px;
|
||||
background: url('/img/bash/bottom_right.png') no-repeat;
|
||||
position: absolute;
|
||||
right: 0;
|
||||
bottom: 0;
|
||||
}
|
||||
|
||||
.konsole_input, .konsole_input:focus, .konsole_input:disabled {
|
||||
width: 100%;
|
||||
background: transparent;
|
||||
border-color: transparent;
|
||||
outline: none;
|
||||
caret-color: #fcfcfc;
|
||||
color: #fcfcfc;
|
||||
line-height: 14px;
|
||||
}
|
||||
|
||||
.icon {
|
||||
transition: background 0.3s;
|
||||
}
|
||||
|
||||
.icon:hover {
|
||||
background-color:#eff0f180;
|
||||
}
|
||||
</style>
|
|
@ -1,226 +0,0 @@
|
|||
<template>
|
||||
<span>
|
||||
<a href="#" @click="show = true"><img src="/img/discord.png" alt="ディスコード" /></a>
|
||||
<span v-if="show">
|
||||
<vue-draggable-resizable style="border: 0px solid #232629;" :drag-handle="'.drag-handle'" class-name-handle="resize-handle" class="disco" :x="-500" :y="10" :z="99999999">
|
||||
<div style="width: 100%; position: relative;">
|
||||
<div class="drag-handle-left"></div>
|
||||
<div class="drag-handle">ディスコードハンドル</div>
|
||||
<div class="drag-handle-right" @click="show = false"></div>
|
||||
</div>
|
||||
<div class="konsole_left"></div>
|
||||
<div style="text-align: center; font-size: 18px; padding-top: 10px;">テクニカル諏訪子#3116</div>
|
||||
<div style="text-align:right; line-height: 15; padding: 10px;"><button type="button" class="btn btn-popup" @click="show = false">OK</button></div>
|
||||
<div class="konsole_right"></div>
|
||||
<div class="konsole_bottom_left"></div>
|
||||
<div class="konsole_bottom"></div>
|
||||
<div class="konsole_bottom_right"></div>
|
||||
</vue-draggable-resizable>
|
||||
</span>
|
||||
</span>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import VueDraggableResizable from 'vue-draggable-resizable';
|
||||
import 'vue-draggable-resizable/dist/VueDraggableResizable.css';
|
||||
|
||||
Vue.component('vue-draggable-resizable', VueDraggableResizable);
|
||||
|
||||
export default {
|
||||
data: function () {
|
||||
return {
|
||||
show: false,
|
||||
text: (localStorage.shotanote || 'かいて〜♡'),
|
||||
width: 0,
|
||||
height: 0,
|
||||
x: 0,
|
||||
y: 0
|
||||
}
|
||||
},
|
||||
watch: { text (x) { localStorage.shotanote = x; } },
|
||||
methods: {
|
||||
onResize: function (x, y, width, height) {
|
||||
this.x = x
|
||||
this.y = y
|
||||
this.width = width
|
||||
this.height = height
|
||||
},
|
||||
onDrag: function (x, y) {
|
||||
this.x = x
|
||||
this.y = y
|
||||
}
|
||||
}
|
||||
}
|
||||
</script>
|
||||
|
||||
<style scoped>
|
||||
.konsole {
|
||||
width: 600px;
|
||||
height: 358px;
|
||||
margin: auto;
|
||||
color: #fcfcfc;
|
||||
}
|
||||
|
||||
::-webkit-scrollbar-thumb:hover {
|
||||
background: #452886;
|
||||
}
|
||||
|
||||
.drag-handle-left {
|
||||
height: 30px;
|
||||
width: 30px;
|
||||
background: url('/img/bash/discord_top_left.png') no-repeat;
|
||||
position: absolute;
|
||||
top: 0;
|
||||
left: 0;
|
||||
}
|
||||
|
||||
.drag-handle {
|
||||
cursor: default;
|
||||
height: 30px;
|
||||
background: url('/img/bash/top_bg.png') repeat-x;
|
||||
width: auto;
|
||||
margin-left: 30px;
|
||||
margin-right: 28px;
|
||||
padding-top: 7px;
|
||||
padding-right: 0px;
|
||||
text-align: center;
|
||||
font-weight: bold;
|
||||
}
|
||||
|
||||
.drag-handle-right {
|
||||
height: 30px;
|
||||
width: 28px;
|
||||
background: url('/img/bash/top_right.png') no-repeat;
|
||||
position: absolute;
|
||||
top: 0;
|
||||
right: 0;
|
||||
}
|
||||
|
||||
.drag-handle-right:hover {
|
||||
background: url('/img/bash/top_right_hover.png') no-repeat;
|
||||
cursor: default;
|
||||
}
|
||||
|
||||
.drag-handle-max {
|
||||
height: 30px;
|
||||
width: 23px;
|
||||
background: url('/img/bash/top_max.png') no-repeat;
|
||||
position: absolute;
|
||||
top: 0;
|
||||
right: 28px;
|
||||
}
|
||||
|
||||
.drag-handle-max:hover {
|
||||
background: url('/img/bash/top_max_hover.png') no-repeat;
|
||||
cursor: default;
|
||||
}
|
||||
|
||||
.drag-handle-min {
|
||||
height: 30px;
|
||||
width: 23px;
|
||||
background: url('/img/bash/top_min.png') no-repeat;
|
||||
position: absolute;
|
||||
top: 0;
|
||||
right: 51px;
|
||||
}
|
||||
|
||||
.drag-handle-min:hover {
|
||||
background: url('/img/bash/top_min_hover.png') no-repeat;
|
||||
cursor: default;
|
||||
}
|
||||
|
||||
.konsole_left {
|
||||
width: 2px;
|
||||
background: url('/img/bash/left_bg.png') repeat-y;
|
||||
position: absolute;
|
||||
top: 30px;
|
||||
left: 0;
|
||||
height: 167px;
|
||||
}
|
||||
|
||||
.konsole_right {
|
||||
width: 2px;
|
||||
background: url('/img/bash/right_bg.png') repeat-y;
|
||||
position: absolute;
|
||||
height: 167px;
|
||||
top: 30px;
|
||||
right: 0;
|
||||
}
|
||||
|
||||
.disco { background-color: #252a35; }
|
||||
|
||||
.noter, .noter:active, .noter:focus {
|
||||
background: transparent;
|
||||
border: 0;
|
||||
min-height: 360px;
|
||||
width: 290px;
|
||||
resize: none;
|
||||
}
|
||||
|
||||
.btn {
|
||||
width: 100px;
|
||||
border: 1px solid #4d4d4d;
|
||||
}
|
||||
|
||||
.btn:hover {
|
||||
cursor: default;
|
||||
border: 1px solid #3daee9;
|
||||
}
|
||||
|
||||
.btn-popup {
|
||||
color: #fcfcfc;
|
||||
background-color: #252a35;
|
||||
}
|
||||
|
||||
.vdr {
|
||||
background-size: cover;
|
||||
backdrop-filter: blur(17px);
|
||||
font-family: "Lucida Console", Monospace, "DejaVu Sans Mono", "Courier New", MiscFixed;
|
||||
font-size: 12px;
|
||||
/* white-space: pre; */
|
||||
color: #fcfcfc;
|
||||
overflow: hidden;
|
||||
position: absolute;
|
||||
top: 30px;
|
||||
left: 2px;
|
||||
height: 200px !important;
|
||||
width: 500px !important;
|
||||
padding: 0;
|
||||
}
|
||||
|
||||
.resize-handle-mr {
|
||||
width: 2px;
|
||||
background: url('/img/bash/right_bg.png') repeat-y;
|
||||
position: absolute;
|
||||
height: 325px;
|
||||
top: 30px;
|
||||
right: 0;
|
||||
}
|
||||
|
||||
.konsole_bottom_left {
|
||||
width: 3px;
|
||||
height: 3px;
|
||||
background: url('/img/bash/bottom_left.png') no-repeat;
|
||||
position: absolute;
|
||||
bottom: 0;
|
||||
left: 0;
|
||||
}
|
||||
|
||||
.konsole_bottom {
|
||||
height: 2px;
|
||||
background: url('/img/bash/bottom_bg.png') repeat-x;
|
||||
position: absolute;
|
||||
bottom: 0;
|
||||
left: 2px;
|
||||
width: 495px;
|
||||
}
|
||||
|
||||
.konsole_bottom_right {
|
||||
height: 3px;
|
||||
width: 3px;
|
||||
background: url('/img/bash/bottom_right.png') no-repeat;
|
||||
position: absolute;
|
||||
right: 0;
|
||||
bottom: 0;
|
||||
}
|
||||
</style>
|
|
@ -1,235 +0,0 @@
|
|||
<template>
|
||||
<span>
|
||||
<a href="#" @click="show = true"><img class="icon" src="/img/bash/note_icon.png" width="50" height="50" alt="ショタノート" /></a>
|
||||
<span v-if="show">
|
||||
<vue-draggable-resizable style="border: 0px solid #232629;" :drag-handle="'.drag-handle'" class-name-handle="resize-handle" class="shotanote" :x="50" :y="-100" :z="99999999">
|
||||
<div style="width: 100%; position: relative;">
|
||||
<div class="drag-handle-left"></div>
|
||||
<div class="drag-handle">ショタノート</div>
|
||||
<div class="drag-handle-min"></div>
|
||||
<div class="drag-handle-max"></div>
|
||||
<div class="drag-handle-right" @click="show = false"></div>
|
||||
</div>
|
||||
<div class="konsole_left"></div>
|
||||
<div style="padding: 5px; color: #232629;">
|
||||
<textarea cols="30" rows="10" class="noter" v-model="text"></textarea>
|
||||
</div>
|
||||
<div class="konsole_right"></div>
|
||||
<div class="konsole_bottom_left"></div>
|
||||
<div class="konsole_bottom"></div>
|
||||
<div class="konsole_bottom_right"></div>
|
||||
</vue-draggable-resizable>
|
||||
</span>
|
||||
</span>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import VueDraggableResizable from 'vue-draggable-resizable';
|
||||
import 'vue-draggable-resizable/dist/VueDraggableResizable.css';
|
||||
|
||||
Vue.component('vue-draggable-resizable', VueDraggableResizable);
|
||||
|
||||
export default {
|
||||
data: function () {
|
||||
return {
|
||||
show: false,
|
||||
text: (localStorage.shotanote || 'かいて〜♡'),
|
||||
width: 0,
|
||||
height: 0,
|
||||
x: 0,
|
||||
y: 0
|
||||
}
|
||||
},
|
||||
watch: { text (x) { localStorage.shotanote = x; } },
|
||||
methods: {
|
||||
onResize: function (x, y, width, height) {
|
||||
this.x = x
|
||||
this.y = y
|
||||
this.width = width
|
||||
this.height = height
|
||||
},
|
||||
onDrag: function (x, y) {
|
||||
this.x = x
|
||||
this.y = y
|
||||
}
|
||||
}
|
||||
}
|
||||
</script>
|
||||
|
||||
<style scoped>
|
||||
.konsole {
|
||||
width: 600px;
|
||||
height: 358px;
|
||||
margin: auto;
|
||||
color: #fcfcfc;
|
||||
}
|
||||
|
||||
::-webkit-scrollbar {
|
||||
width: 8px;
|
||||
}
|
||||
|
||||
::-webkit-scrollbar-track {
|
||||
background: #7f8c8d;
|
||||
}
|
||||
|
||||
::-webkit-scrollbar-thumb {
|
||||
border-radius: 5px;
|
||||
background: #ff80e0;
|
||||
}
|
||||
|
||||
::-webkit-scrollbar-thumb:hover {
|
||||
background: #452886;
|
||||
}
|
||||
|
||||
.drag-handle-left {
|
||||
height: 30px;
|
||||
width: 30px;
|
||||
background: url('/img/bash/note_top_left.png') no-repeat;
|
||||
position: absolute;
|
||||
top: 0;
|
||||
left: 0;
|
||||
}
|
||||
|
||||
.drag-handle {
|
||||
cursor: default;
|
||||
height: 30px;
|
||||
background: url('/img/bash/top_bg.png') repeat-x;
|
||||
width: auto;
|
||||
margin-left: 30px;
|
||||
margin-right: 74px;
|
||||
padding-top: 7px;
|
||||
padding-left: 26px;
|
||||
text-align: center;
|
||||
font-weight: bold;
|
||||
}
|
||||
|
||||
.drag-handle-right {
|
||||
height: 30px;
|
||||
width: 28px;
|
||||
background: url('/img/bash/top_right.png') no-repeat;
|
||||
position: absolute;
|
||||
top: 0;
|
||||
right: 0;
|
||||
}
|
||||
|
||||
.drag-handle-right:hover {
|
||||
background: url('/img/bash/top_right_hover.png') no-repeat;
|
||||
cursor: default;
|
||||
}
|
||||
|
||||
.drag-handle-max {
|
||||
height: 30px;
|
||||
width: 23px;
|
||||
background: url('/img/bash/top_max.png') no-repeat;
|
||||
position: absolute;
|
||||
top: 0;
|
||||
right: 28px;
|
||||
}
|
||||
|
||||
.drag-handle-max:hover {
|
||||
background: url('/img/bash/top_max_hover.png') no-repeat;
|
||||
cursor: default;
|
||||
}
|
||||
|
||||
.drag-handle-min {
|
||||
height: 30px;
|
||||
width: 23px;
|
||||
background: url('/img/bash/top_min.png') no-repeat;
|
||||
position: absolute;
|
||||
top: 0;
|
||||
right: 51px;
|
||||
}
|
||||
|
||||
.drag-handle-min:hover {
|
||||
background: url('/img/bash/top_min_hover.png') no-repeat;
|
||||
cursor: default;
|
||||
}
|
||||
|
||||
.konsole_left {
|
||||
width: 2px;
|
||||
background: url('/img/bash/left_bg.png') repeat-y;
|
||||
position: absolute;
|
||||
top: 30px;
|
||||
left: 0;
|
||||
height: 367px;
|
||||
}
|
||||
|
||||
.konsole_right {
|
||||
width: 2px;
|
||||
background: url('/img/bash/right_bg.png') repeat-y;
|
||||
position: absolute;
|
||||
height: 367px;
|
||||
top: 30px;
|
||||
right: 0;
|
||||
}
|
||||
|
||||
.shotanote { background: url('/img/bash/note_bg.png') repeat; }
|
||||
|
||||
.noter, .noter:active, .noter:focus {
|
||||
background: transparent;
|
||||
border: 0;
|
||||
min-height: 360px;
|
||||
width: 290px;
|
||||
resize: none;
|
||||
}
|
||||
|
||||
.vdr {
|
||||
background-size: cover;
|
||||
backdrop-filter: blur(17px);
|
||||
font-family: "Lucida Console", Monospace, "DejaVu Sans Mono", "Courier New", MiscFixed;
|
||||
font-size: 12px;
|
||||
/* white-space: pre; */
|
||||
color: #fcfcfc;
|
||||
overflow: hidden;
|
||||
position: absolute;
|
||||
top: 30px;
|
||||
left: 2px;
|
||||
height: 400px !important;
|
||||
width: 300px !important;
|
||||
padding: 0;
|
||||
}
|
||||
|
||||
.resize-handle-mr {
|
||||
width: 2px;
|
||||
background: url('/img/bash/right_bg.png') repeat-y;
|
||||
position: absolute;
|
||||
height: 325px;
|
||||
top: 30px;
|
||||
right: 0;
|
||||
}
|
||||
|
||||
.konsole_bottom_left {
|
||||
width: 3px;
|
||||
height: 3px;
|
||||
background: url('/img/bash/bottom_left.png') no-repeat;
|
||||
position: absolute;
|
||||
bottom: 0;
|
||||
left: 0;
|
||||
}
|
||||
|
||||
.konsole_bottom {
|
||||
height: 2px;
|
||||
background: url('/img/bash/bottom_bg.png') repeat-x;
|
||||
position: absolute;
|
||||
bottom: 0;
|
||||
left: 2px;
|
||||
width: 295px;
|
||||
}
|
||||
|
||||
.konsole_bottom_right {
|
||||
height: 3px;
|
||||
width: 3px;
|
||||
background: url('/img/bash/bottom_right.png') no-repeat;
|
||||
position: absolute;
|
||||
right: 0;
|
||||
bottom: 0;
|
||||
}
|
||||
|
||||
.icon {
|
||||
transition: background 0.3s;
|
||||
}
|
||||
|
||||
.icon:hover {
|
||||
background-color:#eff0f180;
|
||||
}
|
||||
</style>
|
|
@ -1,101 +0,0 @@
|
|||
.bar {
|
||||
background: linear-gradient(to bottom, $evil4 0%, $evil1 34%, $evil6 100%);
|
||||
}
|
||||
|
||||
.bara {
|
||||
background: linear-gradient(180deg, $suwa05 0, $suwa01 34%, $evil5 100%);
|
||||
}
|
||||
|
||||
.bar, .bara {
|
||||
text-align: center;
|
||||
color: $white1;
|
||||
padding: 5px;
|
||||
font-size: 20px;
|
||||
border-bottom: solid 2px $suwa03;
|
||||
cursor: pointer;
|
||||
transition: background 0.3s, color 0.3s;
|
||||
}
|
||||
|
||||
.bar > a {
|
||||
color: $white1;
|
||||
}
|
||||
|
||||
.bar > a:hover {
|
||||
text-decoration: none;
|
||||
}
|
||||
|
||||
.bar:hover {
|
||||
color: $white1;
|
||||
background: linear-gradient(to bottom, $evil3 0%, $evil0 34%, $evil2 100%);
|
||||
}
|
||||
|
||||
.indexborder {
|
||||
border: 2px solid $suwa03;
|
||||
box-shadow: 0px 0px 7px 3px $suwa04;
|
||||
padding: 8px;
|
||||
background-color: $black1;
|
||||
}
|
||||
|
||||
.meta {
|
||||
padding: 5px;
|
||||
text-align: left;
|
||||
background-color: $suwa09;
|
||||
border-bottom: solid 2px $suwa03;
|
||||
}
|
||||
|
||||
.comment {
|
||||
border-top: solid 2px $suwa03;
|
||||
}
|
||||
|
||||
.back, .comment {
|
||||
padding: 4px;
|
||||
background-color: $black2;
|
||||
text-align: left;
|
||||
}
|
||||
|
||||
.commentloop {
|
||||
padding: 10px 4px 40px 4px;
|
||||
}
|
||||
|
||||
.commentloop > .name {
|
||||
color: $ok3;
|
||||
}
|
||||
|
||||
.within {
|
||||
margin: 0 auto;
|
||||
border: 2px solid $suwa03;
|
||||
box-shadow: 0px 0px 7px 3px $suwa04;
|
||||
}
|
||||
|
||||
.wny {
|
||||
border: solid 2px $ng5;
|
||||
box-shadow: 0px 0px 20px 10px $ng4;
|
||||
}
|
||||
|
||||
.bny, .cny {
|
||||
background-color: $ng2;
|
||||
border-bottom: solid 2px $ng5;
|
||||
}
|
||||
|
||||
.mny {
|
||||
background-color: $ng6;
|
||||
border-bottom: solid 2px $ng5;
|
||||
}
|
||||
|
||||
.kero-section {
|
||||
width: 100%;
|
||||
font-size: 150%;
|
||||
font-weight: bolder;
|
||||
text-align: center;
|
||||
padding: 4px;
|
||||
margin: 8px 0;
|
||||
background: linear-gradient(to bottom, $suwa03 0%, $evil4 34%, $suwa02 100%);
|
||||
color: $white1;
|
||||
border-bottom-color: $suwa00;
|
||||
border-right-color: $suwa00;
|
||||
border-bottom-color: $suwa00;
|
||||
border-right-color: $suwa00;
|
||||
border-width: 1px;
|
||||
border-radius: 25px;
|
||||
cursor: default;
|
||||
}
|
|
@ -1,16 +0,0 @@
|
|||
// @font-face {
|
||||
// font-family: jpserriffont;
|
||||
// src: url('jpserriffont.woff');
|
||||
// }
|
||||
|
||||
@font-face {
|
||||
font-family: 'jpserriffont';
|
||||
font-style: normal;
|
||||
font-weight: 400;
|
||||
src: url('../fonts/jpserriffont.woff');
|
||||
font-display: swap;
|
||||
}
|
||||
|
||||
body {
|
||||
font-family: jpserriffont;
|
||||
}
|
|
@ -1,100 +0,0 @@
|
|||
.logo-img {
|
||||
border: 2px solid $suwa03;
|
||||
box-shadow: 0 0 7px 3px $suwa04;
|
||||
}
|
||||
|
||||
.logo-sns {
|
||||
transition: background 0.3s, color 0.3s;
|
||||
background-color: $black2;
|
||||
border: 1px solid $white2;
|
||||
padding: 8px;
|
||||
margin: 4px 10px;
|
||||
}
|
||||
|
||||
.logo-sns:hover {
|
||||
background-color: $white2;
|
||||
border: 1px solid $black2;
|
||||
}
|
||||
|
||||
.logo-play {
|
||||
transition: background 0.3s, color 0.3s;
|
||||
background-color: transparent;
|
||||
border-radius: 25%;
|
||||
padding: 2px;
|
||||
}
|
||||
|
||||
.logo-play:hover {
|
||||
background-color: $ng4;
|
||||
}
|
||||
|
||||
.logo-br {
|
||||
position: absolute;
|
||||
bottom: 8px;
|
||||
right: 16px;
|
||||
}
|
||||
|
||||
/// Stroke font-character
|
||||
/// @param {Integer} $stroke - Stroke width
|
||||
/// @param {Color} $color - Stroke color
|
||||
/// @return {List} - text-shadow list
|
||||
@function stroke($stroke, $color) {
|
||||
$shadow: ();
|
||||
$from: $stroke*-1;
|
||||
@for $i from $from through $stroke {
|
||||
@for $j from $from through $stroke {
|
||||
$shadow: append($shadow, $i*1px $j*1px 0 $color, comma);
|
||||
}
|
||||
}
|
||||
@return $shadow;
|
||||
}
|
||||
/// Stroke font-character
|
||||
/// @param {Integer} $stroke - Stroke width
|
||||
/// @param {Color} $color - Stroke color
|
||||
/// @return {Style} - text-shadow
|
||||
@mixin stroke($stroke, $color) {
|
||||
text-shadow: stroke($stroke, $color);
|
||||
}
|
||||
|
||||
@keyframes sitenamehover {
|
||||
0% { text-shadow: stroke(4, $suwa04); }
|
||||
25% { text-shadow: stroke(4, $suwa03); }
|
||||
50% { text-shadow: stroke(4, $suwa00); }
|
||||
75% { text-shadow: stroke(4, $suwa03); }
|
||||
100% { text-shadow: stroke(4, $suwa04); }
|
||||
}
|
||||
|
||||
.logo-c {
|
||||
font-size: 64px;
|
||||
font-weight: bolder;
|
||||
position: absolute;
|
||||
top: 50%;
|
||||
left: 50%;
|
||||
transform: translate(-50%, -50%);
|
||||
text-shadow: stroke(4, $suwa04);
|
||||
}
|
||||
|
||||
.logo-c:hover {
|
||||
animation: sitenamehover 2s linear infinite;
|
||||
}
|
||||
|
||||
@media (max-width : 1200px) {
|
||||
.logo-c {
|
||||
font-size: 32px;
|
||||
}
|
||||
}
|
||||
|
||||
@media (max-width : 968px) {
|
||||
.logo-c {
|
||||
font-size: 20px;
|
||||
}
|
||||
|
||||
.logo-br, .nomobile {
|
||||
display: none;
|
||||
}
|
||||
}
|
||||
|
||||
@media (max-width : 525px) {
|
||||
.logo-br, .nomobile {
|
||||
display: none;
|
||||
}
|
||||
}
|
|
@ -1,57 +0,0 @@
|
|||
.bg-dark {
|
||||
background: radial-gradient(farthest-corner at 50% 85%, $suwa06 0%, $black1 100%);
|
||||
border: 2px solid $suwa03;
|
||||
box-shadow: 0 0 7px 3px $suwa04;
|
||||
}
|
||||
|
||||
.navbar {
|
||||
padding: 0px;
|
||||
}
|
||||
|
||||
.navbar-toggler {
|
||||
border: 0px solid transparent;
|
||||
}
|
||||
|
||||
.navbar-nav .dropdown-menu {
|
||||
background-color: $black2;
|
||||
color: $white1;
|
||||
border: 2px solid $suwa03;
|
||||
box-shadow: 0 0 7px 3px $suwa04;
|
||||
}
|
||||
|
||||
.dropdown-item {
|
||||
color: $white1;
|
||||
}
|
||||
|
||||
.dropdown-item.active, .dropdown-item:active, .dropdown-item:hover, .dropdown-item:focus {
|
||||
color: $white1;
|
||||
background-color: $suwa03;
|
||||
}
|
||||
|
||||
.navbar-brand {
|
||||
padding: 5px;
|
||||
}
|
||||
|
||||
.navbar-brand, .nav-item {
|
||||
transition: background 0.3s;
|
||||
border-radius: 2px;
|
||||
cursor: pointer;
|
||||
}
|
||||
|
||||
.navbar-brand:hover, .nav-item:hover {
|
||||
background-color: $suwa07;
|
||||
}
|
||||
|
||||
.nav-tabs .nav-link:hover, .nav-tabs .nav-link:focus {
|
||||
border-color: $suwa08;
|
||||
}
|
||||
|
||||
.nav-tabs .nav-link.active, .nav-tabs .nav-item.show .nav-link {
|
||||
color: $white1;
|
||||
background-color: $suwa04;
|
||||
border-color: $suwa08;
|
||||
}
|
||||
|
||||
.nav-tabs {
|
||||
border-bottom: 1px solid $suwa03;
|
||||
}
|
|
@ -1,21 +0,0 @@
|
|||
::-webkit-scrollbar {
|
||||
width: 6px;
|
||||
}
|
||||
|
||||
::-webkit-scrollbar-thumb {
|
||||
background: $suwa03;
|
||||
transition: background 0.3s;
|
||||
}
|
||||
|
||||
::-webkit-scrollbar-thumb:hover {
|
||||
background: $suwa01;
|
||||
}
|
||||
|
||||
::-webkit-scrollbar-thumb:active {
|
||||
background: $suwa08;
|
||||
}
|
||||
|
||||
::-webkit-scrollbar-track {
|
||||
background-color: $white1;
|
||||
background: $black1;
|
||||
}
|
|
@ -1,8 +0,0 @@
|
|||
.sidemenu {
|
||||
border: 2px solid $suwa03;
|
||||
box-shadow: 0 0 7px 3px $suwa04;
|
||||
}
|
||||
|
||||
.nav-pills .nav-link {
|
||||
border-radius: 0px;
|
||||
}
|
|
@ -1,61 +0,0 @@
|
|||
// Variables
|
||||
@import "variables";
|
||||
|
||||
// Bootstrap
|
||||
@import '~bootstrap/scss/bootstrap';
|
||||
|
||||
// フォント
|
||||
@import "jpserriffont";
|
||||
|
||||
// ロゴ
|
||||
@import "logo";
|
||||
|
||||
// ナビバー
|
||||
@import "navbar";
|
||||
|
||||
// サイドメニュー
|
||||
@import "sidemenu";
|
||||
|
||||
// コンテンツ
|
||||
@import "contents";
|
||||
|
||||
// スクロール
|
||||
@import "scroll";
|
||||
|
||||
// コンポーネント
|
||||
@import "conponent/badge";
|
||||
@import "conponent/button";
|
||||
@import "conponent/check";
|
||||
@import "conponent/form";
|
||||
@import "conponent/modal";
|
||||
@import "conponent/pagination";
|
||||
@import "conponent/select";
|
||||
|
||||
// テーブル
|
||||
@import "conponent/table";
|
||||
|
||||
// その他
|
||||
#app {
|
||||
font-family: monospace;
|
||||
font-size: large;
|
||||
-webkit-font-smoothing: antialiased;
|
||||
-moz-osx-font-smoothing: grayscale;
|
||||
text-align: left;
|
||||
margin-top: 48px;
|
||||
margin-left: 0px;
|
||||
}
|
||||
|
||||
body {
|
||||
font-family: 'jpserriffont';
|
||||
text-align: center;
|
||||
color: $white1;
|
||||
background-color: $black1;
|
||||
}
|
||||
|
||||
a { color: $suwa04; }
|
||||
a:hover { color: $suwa03; }
|
||||
// .new { background-color: $suwa09; margin: 10px auto; padding: 0; }
|
||||
// .head > div { margin: 5px 0; }
|
||||
// .new-head, .new-body { padding: 10px; }
|
||||
// .new-head { border: 2px solid $suwa03; background-color: $suwa10; }
|
||||
// .new-body { border-bottom: 2px solid $suwa03; border-left: 2px solid $suwa03; border-right: 2px solid $suwa03; }
|
|
@ -1,62 +0,0 @@
|
|||
// Variables
|
||||
@import "variables";
|
||||
@import "variables_f";
|
||||
|
||||
// Bootstrap
|
||||
@import '~bootstrap/scss/bootstrap';
|
||||
|
||||
// フォント
|
||||
@import "jpserriffont";
|
||||
|
||||
// ロゴ
|
||||
@import "logo";
|
||||
|
||||
// ナビバー
|
||||
@import "navbar";
|
||||
|
||||
// サイドメニュー
|
||||
@import "sidemenu";
|
||||
|
||||
// コンテンツ
|
||||
@import "contents";
|
||||
|
||||
// スクロール
|
||||
@import "scroll";
|
||||
|
||||
// コンポーネント
|
||||
@import "conponent/badge";
|
||||
@import "conponent/button";
|
||||
@import "conponent/check";
|
||||
@import "conponent/form";
|
||||
@import "conponent/modal";
|
||||
@import "conponent/pagination";
|
||||
@import "conponent/select";
|
||||
|
||||
// テーブル
|
||||
@import "conponent/table";
|
||||
|
||||
// その他
|
||||
#app {
|
||||
font-family: monospace;
|
||||
font-size: large;
|
||||
-webkit-font-smoothing: antialiased;
|
||||
-moz-osx-font-smoothing: grayscale;
|
||||
text-align: left;
|
||||
margin-top: 48px;
|
||||
margin-left: 0px;
|
||||
}
|
||||
|
||||
body {
|
||||
font-family: 'jpserriffont';
|
||||
text-align: center;
|
||||
color: $white1;
|
||||
background-color: $black1;
|
||||
}
|
||||
|
||||
a { color: $suwa04; }
|
||||
a:hover { color: $suwa03; }
|
||||
// .new { background-color: $suwa09; margin: 10px auto; padding: 0; }
|
||||
// .head > div { margin: 5px 0; }
|
||||
// .new-head, .new-body { padding: 10px; }
|
||||
// .new-head { border: 2px solid $suwa03; background-color: $suwa10; }
|
||||
// .new-body { border-bottom: 2px solid $suwa03; border-left: 2px solid $suwa03; border-right: 2px solid $suwa03; }
|
|
@ -1,62 +0,0 @@
|
|||
// Variables
|
||||
@import "variables";
|
||||
@import "variables_m";
|
||||
|
||||
// Bootstrap
|
||||
@import '~bootstrap/scss/bootstrap';
|
||||
|
||||
// フォント
|
||||
@import "jpserriffont";
|
||||
|
||||
// ロゴ
|
||||
@import "logo";
|
||||
|
||||
// ナビバー
|
||||
@import "navbar";
|
||||
|
||||
// サイドメニュー
|
||||
@import "sidemenu";
|
||||
|
||||
// コンテンツ
|
||||
@import "contents";
|
||||
|
||||
// スクロール
|
||||
@import "scroll";
|
||||
|
||||
// コンポーネント
|
||||
@import "conponent/badge";
|
||||
@import "conponent/button";
|
||||
@import "conponent/check";
|
||||
@import "conponent/form";
|
||||
@import "conponent/modal";
|
||||
@import "conponent/pagination";
|
||||
@import "conponent/select";
|
||||
|
||||
// テーブル
|
||||
@import "conponent/table";
|
||||
|
||||
// その他
|
||||
#app {
|
||||
font-family: monospace;
|
||||
font-size: large;
|
||||
-webkit-font-smoothing: antialiased;
|
||||
-moz-osx-font-smoothing: grayscale;
|
||||
text-align: left;
|
||||
margin-top: 48px;
|
||||
margin-left: 0px;
|
||||
}
|
||||
|
||||
body {
|
||||
font-family: 'jpserriffont';
|
||||
text-align: center;
|
||||
color: $white1;
|
||||
background-color: $black1;
|
||||
}
|
||||
|
||||
a { color: $suwa04; }
|
||||
a:hover { color: $suwa03; }
|
||||
// .new { background-color: $suwa09; margin: 10px auto; padding: 0; }
|
||||
// .head > div { margin: 5px 0; }
|
||||
// .new-head, .new-body { padding: 10px; }
|
||||
// .new-head { border: 2px solid $suwa03; background-color: $suwa10; }
|
||||
// .new-body { border-bottom: 2px solid $suwa03; border-left: 2px solid $suwa03; border-right: 2px solid $suwa03; }
|
|
@ -1,13 +0,0 @@
|
|||
.badge-danger {
|
||||
color: $white1;
|
||||
background-color: $ng3;
|
||||
}
|
||||
|
||||
.badge-light {
|
||||
color: $black1;
|
||||
background-color: $white2;
|
||||
}
|
||||
|
||||
.badge {
|
||||
font-size: 100%;
|
||||
}
|
|
@ -1,189 +0,0 @@
|
|||
.btn, btn:hover {
|
||||
margin: 0 2px;
|
||||
border: 2px solid;
|
||||
}
|
||||
|
||||
.btn {
|
||||
border-left-color: $white1;
|
||||
border-top-color: $white1;
|
||||
}
|
||||
|
||||
.btn:hover {
|
||||
border-left-color: $grey3;
|
||||
border-top-color: $grey3;
|
||||
}
|
||||
|
||||
.btn-cwgames, .btn-cwgames.disabled, .btn-cwgames:disabled {
|
||||
background: radial-gradient(ellipse at top, $black3, transparent),
|
||||
radial-gradient(ellipse at bottom, $black1, transparent);
|
||||
color: $white1;
|
||||
border-bottom-color: $grey2;
|
||||
border-right-color: $grey2;
|
||||
}
|
||||
|
||||
.btn-cwgames:hover {
|
||||
color: $white1;
|
||||
background-color: $grey4;
|
||||
border-color: transparent;
|
||||
border-bottom-color: $black2;
|
||||
border-right-color: $black2;
|
||||
}
|
||||
|
||||
.btn-fumei, .btn-fumei.disabled, .btn-fumei:disabled {
|
||||
background: radial-gradient(ellipse at top, $kawaii3, transparent),
|
||||
radial-gradient(ellipse at bottom, $black1, transparent);
|
||||
color: $white1;
|
||||
background-color: $kawaii2;
|
||||
border-bottom-color: $kawaii1;
|
||||
border-right-color: $kawaii1;
|
||||
}
|
||||
|
||||
.btn-fumei:hover {
|
||||
color: $white1;
|
||||
background-color: $kawaii3;
|
||||
border-color: transparent;
|
||||
border-bottom-color: $kawaii2;
|
||||
border-right-color: $kawaii2;
|
||||
}
|
||||
|
||||
.btn-fumei-check {
|
||||
color: $white1;
|
||||
background-color: $kawaii3;
|
||||
border-color: transparent;
|
||||
border-bottom-color: $kawaii2;
|
||||
border-right-color: $kawaii2;
|
||||
box-shadow: 0px 0px 7px 3px $kawaii2;
|
||||
}
|
||||
|
||||
.btn-danshi, .btn-danshi.disabled, .btn-danshi:disabled {
|
||||
background: radial-gradient(ellipse at top, $dan2, transparent),
|
||||
radial-gradient(ellipse at bottom, $black1, transparent);
|
||||
color: $white1;
|
||||
background-color: $white1;
|
||||
border-bottom-color: $dan1;
|
||||
border-right-color: $dan1;
|
||||
}
|
||||
|
||||
.btn-danshi:hover {
|
||||
color: $white1;
|
||||
background-color: $dan4;
|
||||
border-color: transparent;
|
||||
border-bottom-color: $dan3;
|
||||
border-right-color: $dan3;
|
||||
}
|
||||
|
||||
.btn-danshi-check {
|
||||
color: $white1;
|
||||
background-color: $dan4;
|
||||
border-color: transparent;
|
||||
border-bottom-color: $dan3;
|
||||
border-right-color: $dan3;
|
||||
box-shadow: 0px 0px 7px 3px $dan3;
|
||||
}
|
||||
|
||||
.btn-joshi, .btn-joshi.disabled, .btn-joshi:disabled {
|
||||
background: radial-gradient(ellipse at top, $jo2, transparent),
|
||||
radial-gradient(ellipse at bottom, $black1, transparent);
|
||||
color: $white1;
|
||||
background-color: $white1;
|
||||
border-bottom-color: $jo1;
|
||||
border-right-color: $jo1;
|
||||
}
|
||||
|
||||
.btn-joshi:hover {
|
||||
color: $white1;
|
||||
background-color: $jo4;
|
||||
border-color: transparent;
|
||||
border-bottom-color: $jo3;
|
||||
border-right-color: $jo3;
|
||||
}
|
||||
|
||||
.btn-joshi-check {
|
||||
color: $white1;
|
||||
background-color: $jo4;
|
||||
border-color: transparent;
|
||||
border-bottom-color: $jo3;
|
||||
border-right-color: $jo3;
|
||||
box-shadow: 0px 0px 7px 3px $jo3;
|
||||
}
|
||||
|
||||
.btn-primary, .btn-primary.disabled, .btn-primary:disabled {
|
||||
background: radial-gradient(ellipse at top, $suwa03, transparent),
|
||||
radial-gradient(ellipse at bottom, $black1, transparent);
|
||||
color: $white1;
|
||||
border-bottom-color: $suwa00;
|
||||
border-right-color: $suwa00;
|
||||
}
|
||||
|
||||
.btn-primary:hover {
|
||||
color: $white1;
|
||||
background-color: $suwa08;
|
||||
border-color: transparent;
|
||||
border-bottom-color: $suwa04;
|
||||
border-right-color: $suwa04;
|
||||
}
|
||||
|
||||
.btn-secondary, .btn-secondary.disabled, .btn-secondary:disabled {
|
||||
background: radial-gradient(ellipse at top, $grey3, transparent),
|
||||
radial-gradient(ellipse at bottom, $black1, transparent);
|
||||
color: $white1;
|
||||
border-bottom-color: $grey1;
|
||||
border-right-color: $grey1;
|
||||
}
|
||||
|
||||
.btn-secondary:hover {
|
||||
color: $white1;
|
||||
background-color: $grey5;
|
||||
border-color: transparent;
|
||||
border-bottom-color: $grey2;
|
||||
border-right-color: $grey2;
|
||||
}
|
||||
|
||||
.btn-success, .btn-success.disabled, .btn-success:disabled, .alert-success {
|
||||
background: radial-gradient(ellipse at top, $ok2, transparent),
|
||||
radial-gradient(ellipse at bottom, $black1, transparent);
|
||||
color: $white1;
|
||||
border-bottom-color: $ok1;
|
||||
border-right-color: $ok1;
|
||||
}
|
||||
|
||||
.btn-success:hover {
|
||||
color: $white1;
|
||||
background-color: $ok5;
|
||||
border-color: transparent;
|
||||
border-bottom-color: $ok4;
|
||||
border-right-color: $ok4;
|
||||
}
|
||||
|
||||
.btn-danger, .btn-danger.disabled, .btn-danger:disabled, .alert-danger {
|
||||
background: radial-gradient(ellipse at top, $ng3, transparent),
|
||||
radial-gradient(ellipse at bottom, $black1, transparent);
|
||||
color: $white1;
|
||||
border-bottom-color: $ng1;
|
||||
border-right-color: $ng1;
|
||||
}
|
||||
|
||||
.btn-danger:hover {
|
||||
color: $white1;
|
||||
background-color: $ng7;
|
||||
border-color: transparent;
|
||||
border-bottom-color: $ng3;
|
||||
border-right-color: $ng3;
|
||||
}
|
||||
|
||||
|
||||
.btn-warning, .btn-warning.disabled, .btn-warning:disabled, .alert-warning {
|
||||
background: radial-gradient(ellipse at top, $yellow3, transparent),
|
||||
radial-gradient(ellipse at bottom, $black1, transparent);
|
||||
color: $white1;
|
||||
border-bottom-color: $yellow1;
|
||||
border-right-color: $yellow1;
|
||||
}
|
||||
|
||||
.btn-warning:hover {
|
||||
color: $white1;
|
||||
background-color: $yellow5;
|
||||
border-color: transparent;
|
||||
border-bottom-color: $yellow3;
|
||||
border-right-color: $yellow3;
|
||||
}
|
|
@ -1,16 +0,0 @@
|
|||
.form-control, .form-control:focus {
|
||||
background-color: $black1;
|
||||
color: $white1;
|
||||
}
|
||||
|
||||
.form-control {
|
||||
border: 1px solid $suwa10;
|
||||
}
|
||||
|
||||
.form-control:focus {
|
||||
border: 1px solid $suwa03;
|
||||
}
|
||||
|
||||
.form-control:disabled, .form-control[readonly] {
|
||||
background-color: $black1;
|
||||
}
|
|
@ -1,15 +0,0 @@
|
|||
.modal-header, .modal-body, .modal-footer {
|
||||
color: $white1;
|
||||
}
|
||||
|
||||
.modal-header {
|
||||
background: linear-gradient(to bottom, $suwa04 0%, $suwa02 34%, $suwa03 100%);
|
||||
}
|
||||
|
||||
.modal-body {
|
||||
background-color: $black3;
|
||||
}
|
||||
|
||||
.modal-footer {
|
||||
background-color: $black2;
|
||||
}
|
|
@ -1,49 +0,0 @@
|
|||
.page-link {
|
||||
background: linear-gradient(to bottom, $evil4 0%, $evil1 34%, $evil6 100%);
|
||||
}
|
||||
|
||||
.page-link, .page-item .disabled {
|
||||
text-align: center;
|
||||
color: $white1;
|
||||
padding: 8px 20px;
|
||||
font-size: 28px;
|
||||
border-bottom: solid 2px $suwa03;
|
||||
cursor: pointer;
|
||||
transition: background 0.3s, color 0.3s;
|
||||
margin: auto;
|
||||
}
|
||||
|
||||
.page-link > a {
|
||||
color: $white1;
|
||||
}
|
||||
|
||||
.page-link > a:hover {
|
||||
text-decoration: none;
|
||||
}
|
||||
|
||||
.page-link:hover {
|
||||
color: $white1;
|
||||
background: linear-gradient(to bottom, $evil3 0%, $evil0 34%, $evil2 100%);
|
||||
}
|
||||
|
||||
.page-item.disabled > .page-link {
|
||||
color: $white1;
|
||||
background: linear-gradient(to bottom, $black3 0%, $grey4 34%, $grey5 100%);
|
||||
border-color: $suwa04;
|
||||
}
|
||||
|
||||
.page-item.active > .page-link {
|
||||
color: $white1;
|
||||
background: linear-gradient(to bottom, $suwa04 0%, $suwa01 34%, $suwa06 100%);
|
||||
border-color: $suwa04;
|
||||
}
|
||||
|
||||
.page-item.active > .page-link:hover {
|
||||
color: $white1;
|
||||
background: linear-gradient(to bottom, $suwa03 0%, $suwa00 34%, $suwa02 100%);
|
||||
}
|
||||
|
||||
.pagination {
|
||||
margin: auto;
|
||||
padding: 8px;
|
||||
}
|
|
@ -1,5 +0,0 @@
|
|||
.custom-select {
|
||||
background-color: $black1;
|
||||
border: 1px solid $suwa10;
|
||||
color: $white1;
|
||||
}
|
|
@ -1,20 +0,0 @@
|
|||
.table-dark {
|
||||
color: $white1;
|
||||
background-color: $black3;
|
||||
border: 2px solid $suwa03;
|
||||
transition: background-color 0.3s;
|
||||
}
|
||||
|
||||
.table-dark th, .table-dark td, .table-dark thead th {
|
||||
border-color: $suwa03;
|
||||
}
|
||||
|
||||
.table-dark.table-hover tbody tr {
|
||||
transition: background-color 0.3s;
|
||||
background-color: $black3;
|
||||
}
|
||||
|
||||
.table-dark.table-hover tbody tr:hover {
|
||||
color: $white1;
|
||||
background-color: $suwa07;
|
||||
}
|
|
@ -0,0 +1,96 @@
|
|||
<div id="comments" class="comments-area clearfix">
|
||||
<h3 class="comments-count section-heading uppercase"><span>{{ $comment['total'] }} 件のコメント</span></h3>
|
||||
<div style="margin: 12px 0;">
|
||||
@if ($isvideo !== 'n')
|
||||
<hr />
|
||||
@if ($user == new stdClass())
|
||||
<div class="form-group row">
|
||||
<div class="col-md-4 col-lg-3">名前</div>
|
||||
<div class="input-group col-md col-lg">
|
||||
<input type="text" name="new-name" class="form-control" value="" placeholder="ご入力しない場合、名前は「名無しのテクニシャン」になります。" />
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-group row">
|
||||
<div class="col-md-4 col-lg-3">メールアドレス</div>
|
||||
<div class="input-group col-md col-lg">
|
||||
<input type="text" name="new-mail" class="form-control" value="" placeholder="返信される場合、メールに通知を送ります。" />
|
||||
</div>
|
||||
</div>
|
||||
@else
|
||||
<div class="form-group row">
|
||||
<div class="col-md-4 col-lg-3">名前</div>
|
||||
<div class="input-group col-md col-lg">
|
||||
<a href="/profile/{{ $user['user_id'] }}" style="{{ $user['showcol'] }}"><img style="width: 24px; height: 24px;" src="{{ $user['avatar'] }}" alt="{{ $user['showname'] }}さんのアイコン`"> {{ $user['showname'] }}</a>
|
||||
</div>
|
||||
</div>
|
||||
@endif
|
||||
<div class="row">
|
||||
<div class="col-md-4 col-lg-3">本文 <span class="badge badge-danger">必須</span></div>
|
||||
<div class="col-md col-lg">
|
||||
<textarea class="form-control" name="new-message" rows="4"></textarea>
|
||||
</div>
|
||||
</div>
|
||||
<div class="row" style="margin-top: 16px;">
|
||||
<div class="col">
|
||||
<input type="submit" class="btn btn-block btn-primary" value="送信" />
|
||||
</div>
|
||||
</div>
|
||||
</span>
|
||||
@endif
|
||||
@if ($comment['total'] == 0) コメントがありません。
|
||||
@else
|
||||
@foreach ($comment['come'] as $i => $c)
|
||||
<ul class="commentlist">
|
||||
<li class="comment even thread-even depth-1" id="li-comment-{{ $c->id }}">
|
||||
<div class="commentnumber">{{ (int)$i+1 }}({{ $c->src }})</div>
|
||||
<div id="comment-{{ $c->id }}">
|
||||
<div>
|
||||
<cite class="fn">
|
||||
@if ($c->isvideo == 'n')
|
||||
<img style="height: 24px;" src="{{ $c->icon }}" alt="{{ $c->name }}さんのアイコン">
|
||||
<a href="{{ $c->channel }}" style="overflow-wrap: break-word;">{{ ($c->name ?: '名無しのテクニシャン') }}</a>
|
||||
@else
|
||||
@if ($c->user_id)
|
||||
<a href="/profile/{{ $c->user_id }}`" style="{{ $c->showcol }}"><img style="width: 24px; height: 24px;" src="{{ $c->avatar }}" alt="{{ $c->showname }}さんのアイコン`"> {{ $c->showname }}</a>
|
||||
@else
|
||||
{{ ($c->name ?: '名無しのテクニシャン') }}
|
||||
@endif
|
||||
@endif
|
||||
</cite> <span class="says">より:</span>
|
||||
<span class="comment-meta commentmetadata" id="#comment-{{ $c->id }}"> <a href="#comment-{{ $c->id }}">{{ $c->created }}</a></span>
|
||||
</div>
|
||||
<p style="white-space: pre-wrap; word-wrap: break-word; width: 500px;"><?php echo $c->message; ?></p>
|
||||
<div class="reply">返信({{ $c->replyCount }})</div>
|
||||
</div>
|
||||
</li>
|
||||
@if (isset($c->replies))
|
||||
@foreach ($c->replies as $j => $r)
|
||||
<ul class="commentlist">
|
||||
<li class="comment even thread-even depth-2" id="li-comment-${{ $r->id }}">
|
||||
<div class="commentnumber">{{ $i+1 }}/{{ $j+1 }}({{ $c->src }})</div>
|
||||
<div id="comment-{{ $r->id }}">
|
||||
<div>
|
||||
<cite class="fn">
|
||||
@if ($c->isvideo != 'f')
|
||||
<img style="height: 24px;" src="{{ $r->icon }}" alt="{{ $r->name }}さんのアイコン">
|
||||
<a href="{{ $r->channel }}">{{ ($r->name ?: '名無しのテクニシャン') }}</a>
|
||||
@else
|
||||
@if ($r->user_id)
|
||||
<a href="/profile/{{ $r->user_id }}`" style="{{ $r->showcol }}"><img style="width: 24px; height: 24px;" src="{{ $r->avatar }}" alt="{{ $r->showname }}さんのアイコン`"> {{ $r->showname }}</a>
|
||||
@else
|
||||
{{ ($r->name ?: '名無しのテクニシャン') }}
|
||||
@endif
|
||||
@endif
|
||||
</cite> <span class="says">より:</span>
|
||||
<span class="comment-meta commentmetadata" id="#comment-{{ $r->id }}"> <a href="#comment-{{ $r->id }}">{{ $r->created }}</a></span>
|
||||
</div>
|
||||
<p style="white-space: pre-wrap; word-wrap: break-word; width: 500px;"><?php echo $r->message; ?></p>
|
||||
</div>
|
||||
</li>
|
||||
</ul>
|
||||
@endforeach
|
||||
@endif
|
||||
</ul>
|
||||
@endforeach
|
||||
@endif
|
||||
</div>
|
変更されたファイルが多すぎるため、一部のファイルは表示されません さらに表示
新しいイシューから参照