From da30d2a706a19ef381d8de44859f0ea98b218eb3 Mon Sep 17 00:00:00 2001 From: HDVinnie Date: Tue, 29 Oct 2019 20:26:54 -0400 Subject: [PATCH] (Update) CRUDDY PT.8 :rocket: --- app/Helpers/SystemInformation.php | 46 ++ app/Http/Controllers/AlbumController.php | 1 - app/Http/Controllers/BookmarkController.php | 2 +- app/Http/Controllers/ForumController.php | 13 - app/Http/Controllers/PlaylistController.php | 2 +- app/Http/Controllers/PostController.php | 5 +- app/Http/Controllers/RequestController.php | 25 + ...tsController.php => ChatBotController.php} | 6 +- .../Controllers/Staff/ChatRoomController.php | 122 +++++ ...ontroller.php => ChatStatusController.php} | 97 +--- .../Controllers/Staff/CheaterController.php | 12 +- .../Controllers/Staff/FlushController.php | 4 +- app/Http/Controllers/Staff/HomeController.php | 4 + .../Staff/MassActionController.php | 48 ++ .../Controllers/Staff/MassPMController.php | 69 --- .../Staff/ModerationController.php | 25 - app/Http/Controllers/TopicController.php | 15 +- app/Http/Controllers/TopicLabelController.php | 3 +- app/Http/Controllers/TorrentController.php | 2 +- app/Http/Controllers/UserController.php | 2 - app/Http/Controllers/WarningController.php | 3 +- app/Listeners/AchievementUnlocked.php | 3 +- config/other.php | 8 +- resources/js/unit3d/helper.js | 6 +- resources/sass/main/_custom.scss | 4 +- resources/sass/main/_modals.scss | 518 ++++++++++++++++++ resources/sass/main/main.scss | 2 +- .../views/Staff/{ => chat}/bot/edit.blade.php | 0 .../Staff/{ => chat}/bot/index.blade.php | 0 .../chat/{ => room}/chatroom_modals.blade.php | 4 +- .../views/Staff/chat/room/index.blade.php | 82 +++ .../chatstatuses_modals.blade.php | 4 +- .../Staff/chat/{ => status}/index.blade.php | 77 +-- resources/views/Staff/cheater/index.blade.php | 2 +- .../views/Staff/dashboard/index.blade.php | 48 +- resources/views/Staff/masspm/index.blade.php | 4 +- resources/views/layout/default.blade.php | 9 +- .../partials/achievement_modal.blade.php | 31 ++ .../views/partials/dashboardmenu.blade.php | 17 +- resources/views/torrent/results.blade.php | 12 +- routes/web.php | 61 ++- 41 files changed, 1034 insertions(+), 364 deletions(-) rename app/Http/Controllers/Staff/{BotsController.php => ChatBotController.php} (97%) create mode 100644 app/Http/Controllers/Staff/ChatRoomController.php rename app/Http/Controllers/Staff/{ChatController.php => ChatStatusController.php} (53%) delete mode 100644 app/Http/Controllers/Staff/MassPMController.php create mode 100644 resources/sass/main/_modals.scss rename resources/views/Staff/{ => chat}/bot/edit.blade.php (100%) rename resources/views/Staff/{ => chat}/bot/index.blade.php (100%) rename resources/views/Staff/chat/{ => room}/chatroom_modals.blade.php (93%) create mode 100644 resources/views/Staff/chat/room/index.blade.php rename resources/views/Staff/chat/{ => status}/chatstatuses_modals.blade.php (94%) rename resources/views/Staff/chat/{ => status}/index.blade.php (56%) create mode 100644 resources/views/partials/achievement_modal.blade.php diff --git a/app/Helpers/SystemInformation.php b/app/Helpers/SystemInformation.php index 0200d7622..74d12087b 100644 --- a/app/Helpers/SystemInformation.php +++ b/app/Helpers/SystemInformation.php @@ -115,4 +115,50 @@ class SystemInformation return $results[0]->{'version()'}; } + + /** + * Get all the directory permissions as well as the recommended ones + * + * @return array + */ + public function directoryPermissions() + { + return [ + [ + 'directory' => base_path('bootstrap/cache'), + 'permission' => $this->getDirectoryPermission('bootstrap/cache'), + 'recommended' => '0775', + ], + [ + 'directory' => base_path('public'), + 'permission' => $this->getDirectoryPermission('public'), + 'recommended' => '0775', + ], + [ + 'directory' => base_path('storage'), + 'permission' => $this->getDirectoryPermission('storage'), + 'recommended' => '0775', + ], + [ + 'directory' => base_path('vendor'), + 'permission' => $this->getDirectoryPermission('vendor'), + 'recommended' => '0775', + ], + ]; + } + + /** + * Get the file permissions for a specific path/file + * + * @param $path + * @return string|\Symfony\Component\Translation\TranslatorInterface + */ + public function getDirectoryPermission($path) + { + try { + return substr(sprintf('%o', fileperms(base_path($path))), -4); + } catch (\Exception $ex) { + return trans('site.error'); + } + } } diff --git a/app/Http/Controllers/AlbumController.php b/app/Http/Controllers/AlbumController.php index bab94b437..c8da341e3 100644 --- a/app/Http/Controllers/AlbumController.php +++ b/app/Http/Controllers/AlbumController.php @@ -49,7 +49,6 @@ class AlbumController extends Controller return view('album.index')->with('albums', $albums); } - /** * Show Album Create Form. * diff --git a/app/Http/Controllers/BookmarkController.php b/app/Http/Controllers/BookmarkController.php index 70418902d..d687a48d9 100644 --- a/app/Http/Controllers/BookmarkController.php +++ b/app/Http/Controllers/BookmarkController.php @@ -13,8 +13,8 @@ namespace App\Http\Controllers; -use App\Models\Torrent; use App\Models\User; +use App\Models\Torrent; use Illuminate\Http\Request; use App\Models\PersonalFreeleech; diff --git a/app/Http/Controllers/ForumController.php b/app/Http/Controllers/ForumController.php index 1781c8f75..4b6590bb0 100644 --- a/app/Http/Controllers/ForumController.php +++ b/app/Http/Controllers/ForumController.php @@ -16,21 +16,8 @@ namespace App\Http\Controllers; use App\Models\Post; use App\Models\Forum; use App\Models\Topic; -use Illuminate\Support\Str; use Illuminate\Http\Request; use App\Repositories\ChatRepository; -use App\Achievements\UserMade25Posts; -use App\Achievements\UserMade50Posts; -use App\Achievements\UserMade100Posts; -use App\Achievements\UserMade200Posts; -use App\Achievements\UserMade300Posts; -use App\Achievements\UserMade400Posts; -use App\Achievements\UserMade500Posts; -use App\Achievements\UserMade600Posts; -use App\Achievements\UserMade700Posts; -use App\Achievements\UserMade800Posts; -use App\Achievements\UserMade900Posts; -use App\Achievements\UserMadeFirstPost; use App\Repositories\TaggedUserRepository; class ForumController extends Controller diff --git a/app/Http/Controllers/PlaylistController.php b/app/Http/Controllers/PlaylistController.php index f8a6b9228..941c54676 100644 --- a/app/Http/Controllers/PlaylistController.php +++ b/app/Http/Controllers/PlaylistController.php @@ -13,12 +13,12 @@ namespace App\Http\Controllers; -use App\Services\MovieScrapper; use Image; use App\Models\Torrent; use App\Models\Playlist; use Illuminate\Http\Request; use App\Models\PlaylistTorrent; +use App\Services\MovieScrapper; use App\Repositories\ChatRepository; class PlaylistController extends Controller diff --git a/app/Http/Controllers/PostController.php b/app/Http/Controllers/PostController.php index c391e3ae2..763b2698f 100644 --- a/app/Http/Controllers/PostController.php +++ b/app/Http/Controllers/PostController.php @@ -15,7 +15,6 @@ namespace App\Http\Controllers; use App\Models\Post; use App\Models\Topic; -use Illuminate\Support\Str; use Illuminate\Http\Request; use App\Achievements\UserMade25Posts; use App\Achievements\UserMade50Posts; @@ -48,7 +47,7 @@ class PostController extends Controller $category = $forum->getCategory(); // The user has the right to create a post here? - if (!$category->getPermission()->reply_topic || ($topic->state == 'close' && !$request->user()->group->is_modo)) { + if (! $category->getPermission()->reply_topic || ($topic->state == 'close' && ! $request->user()->group->is_modo)) { return redirect()->route('forum_index') ->withErrors('You Cannot Reply To This Topic!'); } @@ -226,4 +225,4 @@ class PostController extends Controller return redirect()->route('forum_topic', ['id' => $post->topic->id]) ->withSuccess('This Post Is Now Deleted!'); } -} \ No newline at end of file +} diff --git a/app/Http/Controllers/RequestController.php b/app/Http/Controllers/RequestController.php index b88aafdad..d976f9869 100644 --- a/app/Http/Controllers/RequestController.php +++ b/app/Http/Controllers/RequestController.php @@ -837,4 +837,29 @@ class RequestController extends Controller ->withErrors('Nothing To Unclaim.'); } } + + /** + * Resets the filled and approved attributes on a given request. + * + * @param \Illuminate\Http\Request $request + * @param $id + * + * @return Illuminate\Http\RedirectResponse + */ + public function resetRequest(Request $request, $id) + { + $user = $request->user(); + abort_unless($user->group->is_modo, 403); + + $torrentRequest = TorrentRequest::findOrFail($id); + $torrentRequest->filled_by = null; + $torrentRequest->filled_when = null; + $torrentRequest->filled_hash = null; + $torrentRequest->approved_by = null; + $torrentRequest->approved_when = null; + $torrentRequest->save(); + + return redirect()->route('request', ['id' => $id]) + ->withSuccess('The request has been reset!'); + } } diff --git a/app/Http/Controllers/Staff/BotsController.php b/app/Http/Controllers/Staff/ChatBotController.php similarity index 97% rename from app/Http/Controllers/Staff/BotsController.php rename to app/Http/Controllers/Staff/ChatBotController.php index 4c77dbcd2..6b1bc67fb 100644 --- a/app/Http/Controllers/Staff/BotsController.php +++ b/app/Http/Controllers/Staff/ChatBotController.php @@ -18,7 +18,7 @@ use Illuminate\Support\Str; use Illuminate\Http\Request; use App\Http\Controllers\Controller; -class BotsController extends Controller +class ChatBotController extends Controller { /** * Display a listing of the Bots resource. @@ -30,7 +30,7 @@ class BotsController extends Controller { $bots = Bot::orderBy('position', 'ASC')->get(); - return view('Staff.bot.index', [ + return view('Staff.chat.bot.index', [ 'bots' => $bots, ]); } @@ -48,7 +48,7 @@ class BotsController extends Controller $user = $request->user(); $bot = Bot::findOrFail($id); - return view('Staff.bot.edit', [ + return view('Staff.chat.bot.edit', [ 'user' => $user, 'bot' => $bot, ]); diff --git a/app/Http/Controllers/Staff/ChatRoomController.php b/app/Http/Controllers/Staff/ChatRoomController.php new file mode 100644 index 000000000..f69aa5a1c --- /dev/null +++ b/app/Http/Controllers/Staff/ChatRoomController.php @@ -0,0 +1,122 @@ +chat = $chat; + } + + /** + * Display All Chat Rooms. + * + * @return \Illuminate\Contracts\View\Factory|\Illuminate\View\View + */ + public function index() + { + $chatrooms = $this->chat->rooms(); + + return view('Staff.chat.room.index', [ + 'chatrooms' => $chatrooms, + ]); + } + + /** + * Store A New Chatroom. + * + * @param \Illuminate\Http\Request $request + * + * @return Illuminate\Http\RedirectResponse + */ + public function store(Request $request) + { + $chatroom = new Chatroom(); + $chatroom->name = $request->input('name'); + + $v = validator($chatroom->toArray(), [ + 'name' => 'required', + ]); + + if ($v->fails()) { + return redirect()->route('staff.rooms.index') + ->withErrors($v->errors()); + } else { + $chatroom->save(); + + return redirect()->route('staff.rooms.index') + ->withSuccess('Chatroom Successfully Added'); + } + } + + /** + * Update A Chatroom. + * + * @param \Illuminate\Http\Request $request + * @param $id + * + * @return Illuminate\Http\RedirectResponse + */ + public function update(Request $request, $id) + { + $chatroom = Chatroom::findOrFail($id); + $chatroom->name = $request->input('name'); + + $v = validator($chatroom->toArray(), [ + 'name' => 'required', + ]); + + if ($v->fails()) { + return redirect()->route('staff.rooms.index') + ->withErrors($v->errors()); + } else { + $chatroom->save(); + + return redirect()->route('staff.rooms.index') + ->withSuccess('Chatroom Successfully Modified'); + } + } + + /** + * Delete A Chatroom. + * + * @param $id + * + * @return Illuminate\Http\RedirectResponse + */ + public function destroy($id) + { + $chatroom = Chatroom::findOrFail($id); + $chatroom->delete(); + + return redirect()->route('staff.rooms.index') + ->withSuccess('Chatroom Successfully Deleted'); + } +} diff --git a/app/Http/Controllers/Staff/ChatController.php b/app/Http/Controllers/Staff/ChatStatusController.php similarity index 53% rename from app/Http/Controllers/Staff/ChatController.php rename to app/Http/Controllers/Staff/ChatStatusController.php index d19338dcd..21b271d1f 100644 --- a/app/Http/Controllers/Staff/ChatController.php +++ b/app/Http/Controllers/Staff/ChatStatusController.php @@ -19,7 +19,7 @@ use Illuminate\Http\Request; use App\Http\Controllers\Controller; use App\Repositories\ChatRepository; -class ChatController extends Controller +class ChatStatusController extends Controller { /** * @var ChatRepository @@ -43,94 +43,21 @@ class ChatController extends Controller */ public function index() { - $chatrooms = $this->chat->rooms(); $chatstatuses = $this->chat->statuses(); - return view('Staff.chat.index', [ - 'chatrooms' => $chatrooms, + return view('Staff.chat.status.index', [ 'chatstatuses' => $chatstatuses, ]); } /** - * Add A Chatroom. + * Store A New Chat Status. * * @param \Illuminate\Http\Request $request * * @return Illuminate\Http\RedirectResponse */ - public function addChatroom(Request $request) - { - $chatroom = new Chatroom(); - $chatroom->name = $request->input('name'); - - $v = validator($chatroom->toArray(), [ - 'name' => 'required', - ]); - - if ($v->fails()) { - return redirect()->route('staff.chat.index') - ->withErrors($v->errors()); - } else { - $chatroom->save(); - - return redirect()->route('staff.chat.index') - ->withSuccess('Chatroom Successfully Added'); - } - } - - /** - * Edit A Chatroom. - * - * @param \Illuminate\Http\Request $request - * @param $id - * - * @return Illuminate\Http\RedirectResponse - */ - public function editChatroom(Request $request, $id) - { - $chatroom = Chatroom::findOrFail($id); - $chatroom->name = $request->input('name'); - - $v = validator($chatroom->toArray(), [ - 'name' => 'required', - ]); - - if ($v->fails()) { - return redirect()->route('staff.chat.index') - ->withErrors($v->errors()); - } else { - $chatroom->save(); - - return redirect()->route('staff.chat.index') - ->withSuccess('Chatroom Successfully Modified'); - } - } - - /** - * Delete A Chatroom. - * - * @param $id - * - * @return Illuminate\Http\RedirectResponse - */ - public function deleteChatroom($id) - { - $chatroom = Chatroom::findOrFail($id); - $chatroom->delete(); - - return redirect()->route('staff.chat.index') - ->withSuccess('Chatroom Successfully Deleted'); - } - - /** - * Add A Chat Status. - * - * @param \Illuminate\Http\Request $request - * - * @return Illuminate\Http\RedirectResponse - */ - public function addChatStatus(Request $request) + public function store(Request $request) { $chatstatus = new ChatStatus(); $chatstatus->name = $request->input('name'); @@ -144,25 +71,25 @@ class ChatController extends Controller ]); if ($v->fails()) { - return redirect()->route('staff.chat.index') + return redirect()->route('staff.statuses.index') ->withErrors($v->errors()); } else { $chatstatus->save(); - return redirect()->route('staff.chat.index') + return redirect()->route('staff.statuses.index') ->withSuccess('Chat Status Successfully Added'); } } /** - * Edit A Chat Status. + * Update A Chat Status. * * @param \Illuminate\Http\Request $request * @param $id * * @return Illuminate\Http\RedirectResponse */ - public function editChatStatus(Request $request, $id) + public function update(Request $request, $id) { $chatstatus = ChatStatus::findOrFail($id); $chatstatus->name = $request->input('name'); @@ -176,12 +103,12 @@ class ChatController extends Controller ]); if ($v->fails()) { - return redirect()->route('staff.chat.index') + return redirect()->route('staff.statuses.index') ->withErrors($v->errors()); } else { $chatstatus->save(); - return redirect()->route('staff.chat.index') + return redirect()->route('staff.statuses.index') ->withSuccess('Chat Status Successfully Modified'); } } @@ -193,12 +120,12 @@ class ChatController extends Controller * * @return Illuminate\Http\RedirectResponse */ - public function deleteChatStatus($id) + public function destroy($id) { $chatstatus = ChatStatus::findOrFail($id); $chatstatus->delete(); - return redirect()->route('staff.chat.index') + return redirect()->route('staff.statuses.index') ->withSuccess('Chat Status Successfully Deleted'); } } diff --git a/app/Http/Controllers/Staff/CheaterController.php b/app/Http/Controllers/Staff/CheaterController.php index 7f5d9bd3f..4877d9ecd 100644 --- a/app/Http/Controllers/Staff/CheaterController.php +++ b/app/Http/Controllers/Staff/CheaterController.php @@ -24,7 +24,7 @@ class CheaterController extends Controller * * @return \Illuminate\Contracts\View\Factory|\Illuminate\View\View */ - public function leechCheaters() + public function index() { $cheaters = History::with('user') ->select(['*']) @@ -45,14 +45,4 @@ class CheaterController extends Controller return view('Staff.cheater.index', ['cheaters' => $cheaters]); } - - /** - * Possible Ratio Cheaters. - * - * @return void - */ - public function ratioCheaters() - { - // - } } diff --git a/app/Http/Controllers/Staff/FlushController.php b/app/Http/Controllers/Staff/FlushController.php index 4c3fa62e1..f90a6290b 100644 --- a/app/Http/Controllers/Staff/FlushController.php +++ b/app/Http/Controllers/Staff/FlushController.php @@ -13,11 +13,11 @@ namespace App\Http\Controllers\Staff; -use App\Events\MessageDeleted; -use App\Models\Message; use Carbon\Carbon; use App\Models\Peer; use App\Models\History; +use App\Models\Message; +use App\Events\MessageDeleted; use App\Http\Controllers\Controller; class FlushController extends Controller diff --git a/app/Http/Controllers/Staff/HomeController.php b/app/Http/Controllers/Staff/HomeController.php index 60bd7a03f..de64b5d0d 100644 --- a/app/Http/Controllers/Staff/HomeController.php +++ b/app/Http/Controllers/Staff/HomeController.php @@ -70,6 +70,9 @@ class HomeController extends Controller $avg = $sys->avg(); $basic = $sys->basic(); + // Directory Permissions + $file_permissions = $sys->directoryPermissions(); + // Pending Applications Count $app_count = Application::pending()->count(); @@ -90,6 +93,7 @@ class HomeController extends Controller 'disk' => $disk, 'avg' => $avg, 'basic' => $basic, + 'file_permissions' => $file_permissions, 'app_count' => $app_count, ]); } diff --git a/app/Http/Controllers/Staff/MassActionController.php b/app/Http/Controllers/Staff/MassActionController.php index 304b6137b..d8f28da41 100644 --- a/app/Http/Controllers/Staff/MassActionController.php +++ b/app/Http/Controllers/Staff/MassActionController.php @@ -13,6 +13,7 @@ namespace App\Http\Controllers\Staff; +use App\Jobs\ProcessMassPM; use App\Models\User; use App\Models\Group; @@ -43,4 +44,51 @@ class MassActionController extends Controller return redirect()->route('staff.dashboard.index') ->withSuccess('Unvalidated Accounts Are Now Validated'); } + + /** + * Mass PM Form. + * + * @return \Illuminate\Contracts\View\Factory|\Illuminate\View\View + */ + public function create() + { + return view('Staff.masspm.index'); + } + + /** + * Send The Mass PM. + * + * @param \Illuminate\Http\Request $request + * + * @return Illuminate\Http\RedirectResponse + */ + public function store(Request $request) + { + $staff = $request->user(); + $users = User::all(); + + $sender_id = 1; + $subject = $request->input('subject'); + $message = $request->input('message'); + + $v = validator($request->all(), [ + 'subject' => 'required|min:5', + 'message' => 'required|min:5', + ]); + + if ($v->fails()) { + return redirect()->route('staff.mass-pm.create') + ->withErrors($v->errors()); + } else { + foreach ($users as $user) { + $this->dispatch(new ProcessMassPM($sender_id, $user->id, $subject, $message)); + } + + // Activity Log + \LogActivity::addToLog("Staff Member {$staff->username} has sent a MassPM."); + + return redirect()->route('staff.mass-pm.create') + ->withSuccess('MassPM Sent'); + } + } } diff --git a/app/Http/Controllers/Staff/MassPMController.php b/app/Http/Controllers/Staff/MassPMController.php deleted file mode 100644 index 5243a7fff..000000000 --- a/app/Http/Controllers/Staff/MassPMController.php +++ /dev/null @@ -1,69 +0,0 @@ -user(); - $users = User::all(); - - $sender_id = 1; - $subject = $request->input('subject'); - $message = $request->input('message'); - - $v = validator($request->all(), [ - 'subject' => 'required|min:5', - 'message' => 'required|min:5', - ]); - - if ($v->fails()) { - return redirect()->route('massPM') - ->withErrors($v->errors()); - } else { - foreach ($users as $user) { - $this->dispatch(new ProcessMassPM($sender_id, $user->id, $subject, $message)); - } - - // Activity Log - \LogActivity::addToLog("Staff Member {$staff->username} has sent a MassPM."); - - return redirect()->route('massPM') - ->withSuccess('MassPM Sent'); - } - } -} diff --git a/app/Http/Controllers/Staff/ModerationController.php b/app/Http/Controllers/Staff/ModerationController.php index f27850da6..ea629bcfb 100644 --- a/app/Http/Controllers/Staff/ModerationController.php +++ b/app/Http/Controllers/Staff/ModerationController.php @@ -167,29 +167,4 @@ class ModerationController extends Controller ->withSuccess('Torrent Rejected'); } } - - /** - * Resets the filled and approved attributes on a given request. - * - * @param \Illuminate\Http\Request $request - * @param $id - * - * @return Illuminate\Http\RedirectResponse - */ - public function resetRequest(Request $request, $id) - { - $user = $request->user(); - abort_unless($user->group->is_modo, 403); - - $torrentRequest = TorrentRequest::findOrFail($id); - $torrentRequest->filled_by = null; - $torrentRequest->filled_when = null; - $torrentRequest->filled_hash = null; - $torrentRequest->approved_by = null; - $torrentRequest->approved_when = null; - $torrentRequest->save(); - - return redirect()->route('request', ['id' => $id]) - ->withSuccess('The request has been reset!'); - } } diff --git a/app/Http/Controllers/TopicController.php b/app/Http/Controllers/TopicController.php index 00f6d28d1..7586d907b 100644 --- a/app/Http/Controllers/TopicController.php +++ b/app/Http/Controllers/TopicController.php @@ -13,22 +13,23 @@ namespace App\Http\Controllers; +use App\Models\Post; +use App\Models\Forum; +use App\Models\Topic; +use Illuminate\Support\Str; +use Illuminate\Http\Request; +use App\Achievements\UserMade25Posts; +use App\Achievements\UserMade50Posts; use App\Achievements\UserMade100Posts; use App\Achievements\UserMade200Posts; -use App\Achievements\UserMade25Posts; use App\Achievements\UserMade300Posts; use App\Achievements\UserMade400Posts; use App\Achievements\UserMade500Posts; -use App\Achievements\UserMade50Posts; use App\Achievements\UserMade600Posts; use App\Achievements\UserMade700Posts; use App\Achievements\UserMade800Posts; use App\Achievements\UserMade900Posts; use App\Achievements\UserMadeFirstPost; -use App\Models\Forum; -use App\Models\Post; -use App\Models\Topic; -use Illuminate\Http\Request; class TopicController extends Controller { @@ -390,4 +391,4 @@ class TopicController extends Controller return redirect()->route('forum_topic', ['id' => $topic->id]) ->withSuccess('This Topic Is Now Unpinned!'); } -} \ No newline at end of file +} diff --git a/app/Http/Controllers/TopicLabelController.php b/app/Http/Controllers/TopicLabelController.php index 5cbf89f86..de2e4166d 100644 --- a/app/Http/Controllers/TopicLabelController.php +++ b/app/Http/Controllers/TopicLabelController.php @@ -14,7 +14,6 @@ namespace App\Http\Controllers; use App\Models\Topic; -use Illuminate\Http\Request; class TopicLabelController extends Controller { @@ -122,4 +121,4 @@ class TopicLabelController extends Controller return redirect()->route('forum_topic', ['id' => $topic->id]) ->withInfo('Label Change Has Been Applied'); } -} \ No newline at end of file +} diff --git a/app/Http/Controllers/TorrentController.php b/app/Http/Controllers/TorrentController.php index e6988416a..7697b78af 100644 --- a/app/Http/Controllers/TorrentController.php +++ b/app/Http/Controllers/TorrentController.php @@ -1146,7 +1146,7 @@ class TorrentController extends Controller $pmuser->sender_id = 1; $pmuser->receiver_id = $pm->user_id; $pmuser->subject = 'Torrent Deleted!'; - $pmuser->message = "[b]Attention:[/b] Torrent {$torrent->name} has been removed from our site. Our system shows that you were either the uploader, a seeder or a leecher on said torrent. We just wanted to let you know you can safely remove it from your client. + $pmuser->message = "[b]Attention:[/b] Torrent {$torrent->name} has been removed from our site. Our system shows that you were either the uploader, a seeder or a leecher on said torrent. We just wanted to let you know you can safley remove it from your client. [b]Removal Reason:[/b] {$request->message} [color=red][b]THIS IS AN AUTOMATED SYSTEM MESSAGE, PLEASE DO NOT REPLY![/b][/color]"; $pmuser->save(); diff --git a/app/Http/Controllers/UserController.php b/app/Http/Controllers/UserController.php index e67ecb963..627eb0e18 100644 --- a/app/Http/Controllers/UserController.php +++ b/app/Http/Controllers/UserController.php @@ -15,7 +15,6 @@ namespace App\Http\Controllers; use Image; use ZipArchive; -use Carbon\Carbon; use App\Models\Ban; use App\Models\Peer; use App\Models\Post; @@ -31,7 +30,6 @@ use App\Helpers\Bencode; use App\Models\Graveyard; use App\Models\UserPrivacy; use Illuminate\Http\Request; -use App\Models\PrivateMessage; use App\Models\TorrentRequest; use App\Models\BonTransactions; use App\Models\UserNotification; diff --git a/app/Http/Controllers/WarningController.php b/app/Http/Controllers/WarningController.php index 5ee8ebc49..76c87c31a 100644 --- a/app/Http/Controllers/WarningController.php +++ b/app/Http/Controllers/WarningController.php @@ -13,9 +13,9 @@ namespace App\Http\Controllers; -use App\Models\PrivateMessage; use App\Models\User; use App\Models\Warning; +use App\Models\PrivateMessage; class WarningController extends Controller { @@ -188,7 +188,6 @@ class WarningController extends Controller ->withSuccess('All Warnings Were Successfully Deleted'); } - /** * Restore A Soft Deleted Warning. * diff --git a/app/Listeners/AchievementUnlocked.php b/app/Listeners/AchievementUnlocked.php index a3baece12..0353ac783 100644 --- a/app/Listeners/AchievementUnlocked.php +++ b/app/Listeners/AchievementUnlocked.php @@ -13,6 +13,7 @@ namespace App\Listeners; +use Session; use App\Models\User; use App\Repositories\ChatRepository; use Gstt\Achievements\Event\Unlocked; @@ -37,7 +38,7 @@ class AchievementUnlocked { // There's an AchievementProgress instance located on $event->progress $user = User::where('id', '=', $event->progress->achiever_id)->first(); - session()->flash('achievement', $event->progress->details->name); + Session::flash('achievement', $event->progress->details->name); if ($user->private_profile == 0) { $profile_url = hrefProfile($user); diff --git a/config/other.php b/config/other.php index a7291bea3..96d06f2ee 100755 --- a/config/other.php +++ b/config/other.php @@ -181,15 +181,15 @@ return [ |-------------------------------------------------------------------------- | Rules Page URL |-------------------------------------------------------------------------- - | Example: rules.1 + | Example: 1 */ - 'rules_url' => 'https://'.parse_url(env('APP_URL'), PHP_URL_HOST).'/page/rules.1', + 'rules_url' => 'https://'.parse_url(env('APP_URL'), PHP_URL_HOST).'/pages/1', /* |-------------------------------------------------------------------------- | FAQ Page URL |-------------------------------------------------------------------------- - | Example: faq.2 + | Example: 2 */ - 'faq_url' => 'https://'.parse_url(env('APP_URL'), PHP_URL_HOST).'/page/faq.2', + 'faq_url' => 'https://'.parse_url(env('APP_URL'), PHP_URL_HOST).'/pages/2', ]; diff --git a/resources/js/unit3d/helper.js b/resources/js/unit3d/helper.js index b218b76f5..f9d108429 100644 --- a/resources/js/unit3d/helper.js +++ b/resources/js/unit3d/helper.js @@ -736,7 +736,7 @@ class facetedSearchBuilder { init(type) { this.type = type; if (this.type == 'card') { - this.api = '/filterTorrents'; + this.api = '/torrents/filter'; this.view = 'card'; } else if (this.type == 'request') { @@ -744,11 +744,11 @@ class facetedSearchBuilder { this.view = 'request'; } else if (this.type == 'group') { - this.api = '/filterTorrents'; + this.api = '/torrents/filter'; this.view = 'group'; } else { - this.api = '/filterTorrents'; + this.api = '/torrents/filter'; this.view = 'list'; } diff --git a/resources/sass/main/_custom.scss b/resources/sass/main/_custom.scss index 0e95fa6bf..bb072a384 100755 --- a/resources/sass/main/_custom.scss +++ b/resources/sass/main/_custom.scss @@ -4942,9 +4942,9 @@ img.torrent-poster-popup { } img.torrent-poster-img-small { - width: 60px; - border: 3px solid; + width: 53px; border-radius: 5px; + box-shadow: 0 10px 30px -12px rgba(0,0,0,.42),0 4px 25px 0 rgba(0,0,0,.12),0 8px 10px -5px rgba(0,0,0,.2) !important; } .torrent-poster { diff --git a/resources/sass/main/_modals.scss b/resources/sass/main/_modals.scss new file mode 100644 index 000000000..25c0efd0e --- /dev/null +++ b/resources/sass/main/_modals.scss @@ -0,0 +1,518 @@ +.modal-content { + border: 0; + border-radius: .3rem +} + +.modal-fluid .modal-dialog { + margin-top: 0; + margin-bottom: 0 +} + +.modal-fluid .modal-content { + border-radius: 0 +} + +.modal-primary .modal-title { + color: #fff +} + +.modal-primary .modal-footer, .modal-primary .modal-header { + border-color: rgba(255, 255, 255, .075) +} + +.modal-primary .modal-content { + background-color: #274991; + color: #fff +} + +.modal-primary .modal-content .heading { + color: #fff +} + +.modal-primary .close > span:not(.sr-only) { + color: #fff +} + +.modal-secondary .modal-title { + color: #fff +} + +.modal-secondary .modal-footer, .modal-secondary .modal-header { + border-color: rgba(255, 255, 255, .075) +} + +.modal-secondary .modal-content { + background-color: #10ab7c; + color: #fff +} + +.modal-secondary .modal-content .heading { + color: #fff +} + +.modal-secondary .close > span:not(.sr-only) { + color: #fff +} + +.modal-success .modal-title { + color: #fff +} + +.modal-success .modal-footer, .modal-success .modal-header { + border-color: rgba(255, 255, 255, .075) +} + +.modal-success .modal-content { + background-color: #00bf9a; + color: #fff +} + +.modal-success .modal-content .heading { + color: #fff +} + +.modal-success .close > span:not(.sr-only) { + color: #fff +} + +.modal-info .modal-title { + color: #fff +} + +.modal-info .modal-footer, .modal-info .modal-header { + border-color: rgba(255, 255, 255, .075) +} + +.modal-info .modal-content { + background-color: #1e90ff; + color: #fff +} + +.modal-info .modal-content .heading { + color: #fff +} + +.modal-info .close > span:not(.sr-only) { + color: #fff +} + +.modal-warning .modal-title { + color: #fff +} + +.modal-warning .modal-footer, .modal-warning .modal-header { + border-color: rgba(255, 255, 255, .075) +} + +.modal-warning .modal-content { + background-color: #f5b759; + color: #fff +} + +.modal-warning .modal-content .heading { + color: #fff +} + +.modal-warning .close > span:not(.sr-only) { + color: #fff +} + +.modal-danger .modal-title { + color: #fff +} + +.modal-danger .modal-footer, .modal-danger .modal-header { + border-color: rgba(255, 255, 255, .075) +} + +.modal-danger .modal-content { + background-color: #fa5252; + color: #fff +} + +.modal-danger .modal-content .heading { + color: #fff +} + +.modal-danger .close > span:not(.sr-only) { + color: #fff +} + +.modal-light .modal-title { + color: #506690 +} + +.modal-light .modal-footer, .modal-light .modal-header { + border-color: rgba(80, 102, 144, .075) +} + +.modal-light .modal-content { + background-color: #dde1ed; + color: #506690 +} + +.modal-light .modal-content .heading { + color: #506690 +} + +.modal-light .close > span:not(.sr-only) { + color: #fff +} + +.modal-dark .modal-title { + color: #fff +} + +.modal-dark .modal-footer, .modal-dark .modal-header { + border-color: rgba(255, 255, 255, .075) +} + +.modal-dark .modal-content { + background-color: #2a354f; + color: #fff +} + +.modal-dark .modal-content .heading { + color: #fff +} + +.modal-dark .close > span:not(.sr-only) { + color: #fff +} + +.modal-default .modal-title { + color: #fff +} + +.modal-default .modal-footer, .modal-default .modal-header { + border-color: rgba(255, 255, 255, .075) +} + +.modal-default .modal-content { + background-color: #274991; + color: #fff +} + +.modal-default .modal-content .heading { + color: #fff +} + +.modal-default .close > span:not(.sr-only) { + color: #fff +} + +.modal-tertiary .modal-title { + color: #fff +} + +.modal-tertiary .modal-footer, .modal-tertiary .modal-header { + border-color: rgba(255, 255, 255, .075) +} + +.modal-tertiary .modal-content { + background-color: #ff7f66; + color: #fff +} + +.modal-tertiary .modal-content .heading { + color: #fff +} + +.modal-tertiary .close > span:not(.sr-only) { + color: #fff +} + +.modal-white .modal-title { + color: #506690 +} + +.modal-white .modal-footer, .modal-white .modal-header { + border-color: rgba(80, 102, 144, .075) +} + +.modal-white .modal-content { + background-color: #fff; + color: #506690 +} + +.modal-white .modal-content .heading { + color: #506690 +} + +.modal-white .close > span:not(.sr-only) { + color: #fff +} + +.modal-gray .modal-title { + color: #fff +} + +.modal-gray .modal-footer, .modal-gray .modal-header { + border-color: rgba(255, 255, 255, .075) +} + +.modal-gray .modal-content { + background-color: #869ab8; + color: #fff +} + +.modal-gray .modal-content .heading { + color: #fff +} + +.modal-gray .close > span:not(.sr-only) { + color: #fff +} + +.modal-neutral .modal-title { + color: #506690 +} + +.modal-neutral .modal-footer, .modal-neutral .modal-header { + border-color: rgba(80, 102, 144, .075) +} + +.modal-neutral .modal-content { + background-color: #fff; + color: #506690 +} + +.modal-neutral .modal-content .heading { + color: #506690 +} + +.modal-neutral .close > span:not(.sr-only) { + color: #fff +} + +.modal-soft .modal-title { + color: #506690 +} + +.modal-soft .modal-footer, .modal-soft .modal-header { + border-color: rgba(80, 102, 144, .075) +} + +.modal-soft .modal-content { + background-color: #eff2f5; + color: #506690 +} + +.modal-soft .modal-content .heading { + color: #506690 +} + +.modal-soft .close > span:not(.sr-only) { + color: #fff +} + +.modal-black .modal-title { + color: #fff +} + +.modal-black .modal-footer, .modal-black .modal-header { + border-color: rgba(255, 255, 255, .075) +} + +.modal-black .modal-content { + background-color: #111; + color: #fff +} + +.modal-black .modal-content .heading { + color: #fff +} + +.modal-black .close > span:not(.sr-only) { + color: #fff +} + +.modal-purple .modal-title { + color: #fff +} + +.modal-purple .modal-footer, .modal-purple .modal-header { + border-color: rgba(255, 255, 255, .075) +} + +.modal-purple .modal-content { + background-color: #8965e0; + color: #fff +} + +.modal-purple .modal-content .heading { + color: #fff +} + +.modal-purple .close > span:not(.sr-only) { + color: #fff +} + +.modal-gray-100 .modal-title { + color: #506690 +} + +.modal-gray-100 .modal-footer, .modal-gray-100 .modal-header { + border-color: rgba(80, 102, 144, .075) +} + +.modal-gray-100 .modal-content { + background-color: #eff2f5; + color: #506690 +} + +.modal-gray-100 .modal-content .heading { + color: #506690 +} + +.modal-gray-100 .close > span:not(.sr-only) { + color: #fff +} + +.modal-gray-200 .modal-title { + color: #506690 +} + +.modal-gray-200 .modal-footer, .modal-gray-200 .modal-header { + border-color: rgba(80, 102, 144, .075) +} + +.modal-gray-200 .modal-content { + background-color: #e9ecef; + color: #506690 +} + +.modal-gray-200 .modal-content .heading { + color: #506690 +} + +.modal-gray-200 .close > span:not(.sr-only) { + color: #fff +} + +.modal-gray-300 .modal-title { + color: #506690 +} + +.modal-gray-300 .modal-footer, .modal-gray-300 .modal-header { + border-color: rgba(80, 102, 144, .075) +} + +.modal-gray-300 .modal-content { + background-color: #dde1ed; + color: #506690 +} + +.modal-gray-300 .modal-content .heading { + color: #506690 +} + +.modal-gray-300 .close > span:not(.sr-only) { + color: #fff +} + +.modal-gray-400 .modal-title { + color: #506690 +} + +.modal-gray-400 .modal-footer, .modal-gray-400 .modal-header { + border-color: rgba(80, 102, 144, .075) +} + +.modal-gray-400 .modal-content { + background-color: #ced4da; + color: #506690 +} + +.modal-gray-400 .modal-content .heading { + color: #506690 +} + +.modal-gray-400 .close > span:not(.sr-only) { + color: #fff +} + +.modal-gray-500 .modal-title { + color: #fff +} + +.modal-gray-500 .modal-footer, .modal-gray-500 .modal-header { + border-color: rgba(255, 255, 255, .075) +} + +.modal-gray-500 .modal-content { + background-color: #adb5bd; + color: #fff +} + +.modal-gray-500 .modal-content .heading { + color: #fff +} + +.modal-gray-500 .close > span:not(.sr-only) { + color: #fff +} + +.modal-gray-600 .modal-title { + color: #fff +} + +.modal-gray-600 .modal-footer, .modal-gray-600 .modal-header { + border-color: rgba(255, 255, 255, .075) +} + +.modal-gray-600 .modal-content { + background-color: #869ab8; + color: #fff +} + +.modal-gray-600 .modal-content .heading { + color: #fff +} + +.modal-gray-600 .close > span:not(.sr-only) { + color: #fff +} + +.modal-gray-700 .modal-title { + color: #fff +} + +.modal-gray-700 .modal-footer, .modal-gray-700 .modal-header { + border-color: rgba(255, 255, 255, .075) +} + +.modal-gray-700 .modal-content { + background-color: #66799e; + color: #fff +} + +.modal-gray-700 .modal-content .heading { + color: #fff +} + +.modal-gray-700 .close > span:not(.sr-only) { + color: #fff +} + +.modal-gray-800 .modal-title { + color: #fff +} + +.modal-gray-800 .modal-footer, .modal-gray-800 .modal-header { + border-color: rgba(255, 255, 255, .075) +} + +.modal-gray-800 .modal-content { + background-color: #506690; + color: #fff +} + +.modal-gray-800 .modal-content .heading { + color: #fff +} + +.modal-gray-800 .close > span:not(.sr-only) { + color: #fff +} + diff --git a/resources/sass/main/main.scss b/resources/sass/main/main.scss index 194d8a52a..25282efd8 100644 --- a/resources/sass/main/main.scss +++ b/resources/sass/main/main.scss @@ -1,3 +1,3 @@ @import 'custom'; -@import 'advbuttons'; @import 'featured'; +@import 'modals'; diff --git a/resources/views/Staff/bot/edit.blade.php b/resources/views/Staff/chat/bot/edit.blade.php similarity index 100% rename from resources/views/Staff/bot/edit.blade.php rename to resources/views/Staff/chat/bot/edit.blade.php diff --git a/resources/views/Staff/bot/index.blade.php b/resources/views/Staff/chat/bot/index.blade.php similarity index 100% rename from resources/views/Staff/bot/index.blade.php rename to resources/views/Staff/chat/bot/index.blade.php diff --git a/resources/views/Staff/chat/chatroom_modals.blade.php b/resources/views/Staff/chat/room/chatroom_modals.blade.php similarity index 93% rename from resources/views/Staff/chat/chatroom_modals.blade.php rename to resources/views/Staff/chat/room/chatroom_modals.blade.php index 38ccbfabe..b13984d46 100644 --- a/resources/views/Staff/chat/chatroom_modals.blade.php +++ b/resources/views/Staff/chat/room/chatroom_modals.blade.php @@ -7,7 +7,7 @@

Edit Chatroom ({{ $chatroom->name }})

-
+ @csrf - + @csrf
-
+ @csrf - + @csrf - + @csrf - -
-

Chat Rooms

- - - {{--Add Chatroom Modal--}} - - {{--/Add Chatroom Modal--}} - -
- - - - - - - - - - @foreach ($chatrooms as $chatroom) - - - - - - @endforeach - -
IDNameAction
- {{ $chatroom->id }} - - - {{ $chatroom->name }} - - - - - @include('Staff.chat.chatroom_modals', ['chatroom' => $chatroom]) -
-
-
-@endsection +@endsection \ No newline at end of file diff --git a/resources/views/Staff/cheater/index.blade.php b/resources/views/Staff/cheater/index.blade.php index 6fed0e206..fa4fc7820 100644 --- a/resources/views/Staff/cheater/index.blade.php +++ b/resources/views/Staff/cheater/index.blade.php @@ -15,7 +15,7 @@
  • -
  • diff --git a/resources/views/Staff/dashboard/index.blade.php b/resources/views/Staff/dashboard/index.blade.php index 7104f079e..54666a5e1 100644 --- a/resources/views/Staff/dashboard/index.blade.php +++ b/resources/views/Staff/dashboard/index.blade.php @@ -35,7 +35,7 @@

    - Codebase + Codebase

    Currently Running {{ config('unit3d.codebase') }} {{ config('unit3d.version') }}

    @@ -78,7 +78,7 @@

    - {{ config('other.title') }} Statistics + Statistics

    @@ -210,7 +210,51 @@
    + +
    +
    +
    +

    + Directory Permissions +

    +
    +
    + + + + + + + + + + + @foreach ($file_permissions as $permission) + + + + + + @endforeach + +
    DirectoryCurrentRecommended
    {{ $permission['directory'] }} + @if ($permission['permission'] == $permission['recommended']) + + + {{ $permission['permission'] }} + + @else + + + {{ $permission['permission'] }} + + @endif + {{ $permission['recommended'] }}
    + +
    +
    + @endsection \ No newline at end of file diff --git a/resources/views/Staff/masspm/index.blade.php b/resources/views/Staff/masspm/index.blade.php index 703d828a4..743b746e1 100644 --- a/resources/views/Staff/masspm/index.blade.php +++ b/resources/views/Staff/masspm/index.blade.php @@ -15,7 +15,7 @@
  • -
  • @@ -24,7 +24,7 @@ @section('content')

    Mass PM

    -
    + @csrf
    diff --git a/resources/views/layout/default.blade.php b/resources/views/layout/default.blade.php index 59b7b4610..8723ea35e 100644 --- a/resources/views/layout/default.blade.php +++ b/resources/views/layout/default.blade.php @@ -19,6 +19,9 @@ @include('partials.breadcrumb') @include('cookieConsent::index') @include('partials.alerts') + @if (Session::has('achievement')) + @include('partials.achievement_modal') + @endif
    @if ($errors->any())