diff --git a/app/Http/Controllers/ForumCategoryController.php b/app/Http/Controllers/ForumCategoryController.php new file mode 100644 index 000000000..721c8ea00 --- /dev/null +++ b/app/Http/Controllers/ForumCategoryController.php @@ -0,0 +1,66 @@ +parent_id != 0) { + return redirect()->route('forums.show', ['id' => $forum->id]); + } + + // Check if the user has permission to view the forum + $category = Forum::findOrFail($forum->id); + if ($category->getPermission()->show_forum != true) { + return redirect()->route('forums.index') + ->withErrors('You Do Not Have Access To This Category!'); + } + + // Fetch topics->posts in descending order + $topics = $forum->sub_topics()->latest('pinned')->latest('last_reply_at')->latest()->paginate(25); + + return view('forum.category', [ + 'forum' => $forum, + 'topics' => $topics, + 'category' => $category, + 'num_posts' => $num_posts, + 'num_forums' => $num_forums, + 'num_topics' => $num_topics, + ]); + } +} diff --git a/app/Http/Controllers/ForumController.php b/app/Http/Controllers/ForumController.php index 4b6590bb0..6b5118435 100644 --- a/app/Http/Controllers/ForumController.php +++ b/app/Http/Controllers/ForumController.php @@ -331,13 +331,13 @@ class ForumController extends Controller } /** - * Show The Forum Category. + * Show Forums And Topics Inside. * * @param $id * * @return \Illuminate\Contracts\View\Factory|\Illuminate\View\View */ - public function category($id) + public function show($id) { // Find the topic $forum = Forum::findOrFail($id); @@ -350,21 +350,21 @@ class ForumController extends Controller $num_topics = Topic::count(); // Check if this is a category or forum - if ($forum->parent_id != 0) { - return redirect()->route('forum_display', ['id' => $forum->id]); + if ($forum->parent_id == 0) { + return redirect()->route('forums.categories.show', ['id' => $forum->id]); } // Check if the user has permission to view the forum - $category = Forum::findOrFail($forum->id); + $category = Forum::findOrFail($forum->parent_id); if ($category->getPermission()->show_forum != true) { - return redirect()->route('forum_index') - ->withErrors('You Do Not Have Access To This Category!'); + return redirect()->route('forums.index') + ->withErrors('You Do Not Have Access To This Forum!'); } // Fetch topics->posts in descending order - $topics = $forum->sub_topics()->latest('pinned')->latest('last_reply_at')->latest()->paginate(25); + $topics = $forum->topics()->latest('pinned')->latest('last_reply_at')->latest()->paginate(25); - return view('forum.category', [ + return view('forum.display', [ 'forum' => $forum, 'topics' => $topics, 'category' => $category, diff --git a/app/Http/Controllers/InviteController.php b/app/Http/Controllers/InviteController.php index 33d525163..901f2e2d1 100644 --- a/app/Http/Controllers/InviteController.php +++ b/app/Http/Controllers/InviteController.php @@ -23,6 +23,25 @@ use Illuminate\Support\Facades\Mail; class InviteController extends Controller { + /** + * Invite Tree. + * + * @param \Illuminate\Http\Request $request + * @param $username + * + * @return \Illuminate\Contracts\View\Factory|\Illuminate\View\View + */ + public function index(Request $request, $username) + { + $user = $request->user(); + $owner = User::where('username', '=', $username)->firstOrFail(); + abort_unless($user->group->is_modo || $user->id === $owner->id, 403); + + $invites = Invite::with(['sender', 'receiver'])->where('user_id', '=', $owner->id)->latest()->paginate(25); + + return view('user.invites', ['owner' => $owner, 'invites' => $invites, 'route' => 'invite']); + } + /** * Invite Form. * @@ -30,7 +49,7 @@ class InviteController extends Controller * * @return \Illuminate\Contracts\View\Factory|\Illuminate\View\View */ - public function invite(Request $request) + public function create(Request $request) { $user = $request->user(); @@ -58,7 +77,7 @@ class InviteController extends Controller * @return Illuminate\Http\RedirectResponse * @throws \Exception */ - public function process(Request $request) + public function store(Request $request) { $current = new Carbon(); $user = $request->user(); @@ -69,14 +88,14 @@ class InviteController extends Controller } if ($user->invites <= 0) { - return redirect()->route('invite') + return redirect()->route('invites.create') ->withErrors('You do not have enough invites!'); } $exist = Invite::where('email', '=', $request->input('email'))->first(); if ($exist) { - return redirect()->route('invite') + return redirect()->route('invites.create') ->withErrors('The email address your trying to send a invite to has already been sent one.'); } @@ -106,7 +125,7 @@ class InviteController extends Controller } if ($v->fails()) { - return redirect()->route('invite') + return redirect()->route('invites.create') ->withErrors($v->errors()); } else { Mail::to($request->input('email'))->send(new InviteUser($invite)); @@ -118,7 +137,7 @@ class InviteController extends Controller // Activity Log \LogActivity::addToLog("Member {$user->username} has sent a invite to {$invite->email} ."); - return redirect()->route('invite') + return redirect()->route('invites.create') ->withSuccess('Invite was sent successfully!'); } } @@ -131,7 +150,7 @@ class InviteController extends Controller * * @return Illuminate\Http\RedirectResponse */ - public function reProcess(Request $request, $id) + public function send(Request $request, $id) { $user = $request->user(); $invite = Invite::findOrFail($id); @@ -139,7 +158,7 @@ class InviteController extends Controller abort_unless($invite->user_id === $user->id, 403); if ($invite->accepted_by !== null) { - return redirect()->route('user_invites', ['id' => $user->id]) + return redirect()->route('invites.index', ['username' => $user->username]) ->withErrors('The invite you are trying to resend has already been used.'); } @@ -148,26 +167,7 @@ class InviteController extends Controller // Activity Log \LogActivity::addToLog("Member {$user->username} has resent invite to {$invite->email} ."); - return redirect()->route('user_invites', ['id' => $user->id]) + return redirect()->route('invites.index', ['username' => $user->username]) ->withSuccess('Invite was resent successfully!'); } - - /** - * Invite Tree. - * - * @param \Illuminate\Http\Request $request - * @param $username - * - * @return \Illuminate\Contracts\View\Factory|\Illuminate\View\View - */ - public function invites(Request $request, $username) - { - $user = $request->user(); - $owner = User::where('username', '=', $username)->firstOrFail(); - abort_unless($user->group->is_modo || $user->id === $owner->id, 403); - - $invites = Invite::with(['sender', 'receiver'])->where('user_id', '=', $owner->id)->latest()->paginate(25); - - return view('user.invites', ['owner' => $owner, 'invites' => $invites, 'route' => 'invite']); - } } diff --git a/app/Http/Controllers/PostController.php b/app/Http/Controllers/PostController.php index 763b2698f..7c5db7e97 100644 --- a/app/Http/Controllers/PostController.php +++ b/app/Http/Controllers/PostController.php @@ -48,7 +48,7 @@ class PostController extends Controller // The user has the right to create a post here? if (! $category->getPermission()->reply_topic || ($topic->state == 'close' && ! $request->user()->group->is_modo)) { - return redirect()->route('forum_index') + return redirect()->route('forums.index') ->withErrors('You Cannot Reply To This Topic!'); } diff --git a/app/Http/Controllers/RssController.php b/app/Http/Controllers/RssController.php index a2b6e740d..92e1b0819 100644 --- a/app/Http/Controllers/RssController.php +++ b/app/Http/Controllers/RssController.php @@ -78,7 +78,8 @@ class RssController extends Controller 'torrent_repository' => $torrent_repository, 'categories' => Category::all()->sortBy('position'), 'types' => Type::all()->sortBy('position'), - 'user' => $user, ]); + 'user' => $user, + ]); } /** diff --git a/app/Http/Controllers/SubscriptionController.php b/app/Http/Controllers/SubscriptionController.php index 3c315e663..86a0f20bd 100644 --- a/app/Http/Controllers/SubscriptionController.php +++ b/app/Http/Controllers/SubscriptionController.php @@ -102,7 +102,7 @@ class SubscriptionController extends Controller $params = []; } if (! isset($logger)) { - $logger = 'forum_display'; + $logger = 'forums.show'; $params = ['id' => $forum->id]; } @@ -136,7 +136,7 @@ class SubscriptionController extends Controller $params = []; } if (! isset($logger)) { - $logger = 'forum_display'; + $logger = 'forums.show'; $params = ['id' => $forum->id]; } diff --git a/app/Http/Controllers/TopicController.php b/app/Http/Controllers/TopicController.php index 7586d907b..ccdbf8708 100644 --- a/app/Http/Controllers/TopicController.php +++ b/app/Http/Controllers/TopicController.php @@ -33,50 +33,6 @@ use App\Achievements\UserMadeFirstPost; class TopicController extends Controller { - /** - * Show Forums And Topics Inside. - * - * @param $id - * - * @return \Illuminate\Contracts\View\Factory|\Illuminate\View\View - */ - public function display($id) - { - // Find the topic - $forum = Forum::findOrFail($id); - - // Total Forums Count - $num_forums = Forum::count(); - // Total Posts Count - $num_posts = Post::count(); - // Total Topics Count - $num_topics = Topic::count(); - - // Check if this is a category or forum - if ($forum->parent_id == 0) { - return redirect()->route('forum_category', ['id' => $forum->id]); - } - - // Check if the user has permission to view the forum - $category = Forum::findOrFail($forum->parent_id); - if ($category->getPermission()->show_forum != true) { - return redirect()->route('forum_index') - ->withErrors('You Do Not Have Access To This Forum!'); - } - - // Fetch topics->posts in descending order - $topics = $forum->topics()->latest('pinned')->latest('last_reply_at')->latest()->paginate(25); - - return view('forum.display', [ - 'forum' => $forum, - 'topics' => $topics, - 'category' => $category, - 'num_posts' => $num_posts, - 'num_forums' => $num_forums, - 'num_topics' => $num_topics, - ]); - } - /** * Show The Topic. * @@ -104,7 +60,7 @@ class TopicController extends Controller // The user can post a topic here ? if ($category->getPermission()->read_topic != true) { // Redirect him to the forum index - return redirect()->route('forum_index') + return redirect()->route('forums.index') ->withErrors('You Do Not Have Access To Read This Topic!'); } @@ -136,7 +92,7 @@ class TopicController extends Controller // The user has the right to create a topic here? if ($category->getPermission()->start_topic != true) { - return redirect()->route('forum_index') + return redirect()->route('forums.index') ->withErrors('You Cannot Start A New Topic Here!'); } @@ -163,7 +119,7 @@ class TopicController extends Controller // The user has the right to create a topic here? if ($category->getPermission()->start_topic != true) { - return redirect()->route('forum_index') + return redirect()->route('forums.index') ->withErrors('You Cannot Start A New Topic Here!'); } @@ -193,7 +149,7 @@ class TopicController extends Controller ]); if ($v->fails()) { - return redirect()->route('forum_index') + return redirect()->route('forums.index') ->withErrors($v->errors()); } else { $topic->save(); @@ -210,7 +166,7 @@ class TopicController extends Controller ]); if ($v->fails()) { - return redirect()->route('forum_index') + return redirect()->route('forums.index') ->withErrors($v->errors()); } else { $post->save(); @@ -354,7 +310,7 @@ class TopicController extends Controller $posts->delete(); $topic->delete(); - return redirect()->route('forum_display', ['id' => $topic->forum->id]) + return redirect()->route('forums.show', ['id' => $topic->forum->id]) ->withSuccess('This Topic Is Now Deleted!'); } diff --git a/app/Http/Controllers/TopicLabelController.php b/app/Http/Controllers/TopicLabelController.php index de2e4166d..4d518af0b 100644 --- a/app/Http/Controllers/TopicLabelController.php +++ b/app/Http/Controllers/TopicLabelController.php @@ -18,13 +18,13 @@ use App\Models\Topic; class TopicLabelController extends Controller { /** - * Forum Tag System. + * Apply/Remove Approved Label. * * @param $id * * @return Illuminate\Http\RedirectResponse */ - public function approvedTopic($id) + public function approve($id) { $topic = Topic::findOrFail($id); if ($topic->approved == 0) { @@ -38,7 +38,14 @@ class TopicLabelController extends Controller ->withInfo('Label Change Has Been Applied'); } - public function deniedTopic($id) + /** + * Apply/Remove Denied Label. + * + * @param $id + * + * @return Illuminate\Http\RedirectResponse + */ + public function deny($id) { $topic = Topic::findOrFail($id); if ($topic->denied == 0) { @@ -52,7 +59,14 @@ class TopicLabelController extends Controller ->withInfo('Label Change Has Been Applied'); } - public function solvedTopic($id) + /** + * Apply/Remove Solved Label. + * + * @param $id + * + * @return Illuminate\Http\RedirectResponse + */ + public function solve($id) { $topic = Topic::findOrFail($id); if ($topic->solved == 0) { @@ -66,7 +80,14 @@ class TopicLabelController extends Controller ->withInfo('Label Change Has Been Applied'); } - public function invalidTopic($id) + /** + * Apply/Remove Invalid Label. + * + * @param $id + * + * @return Illuminate\Http\RedirectResponse + */ + public function invalid($id) { $topic = Topic::findOrFail($id); if ($topic->invalid == 0) { @@ -80,7 +101,14 @@ class TopicLabelController extends Controller ->withInfo('Label Change Has Been Applied'); } - public function bugTopic($id) + /** + * Apply/Remove Bug Label. + * + * @param $id + * + * @return Illuminate\Http\RedirectResponse + */ + public function bug($id) { $topic = Topic::findOrFail($id); if ($topic->bug == 0) { @@ -94,7 +122,14 @@ class TopicLabelController extends Controller ->withInfo('Label Change Has Been Applied'); } - public function suggestionTopic($id) + /** + * Apply/Remove Suggestion Label. + * + * @param $id + * + * @return Illuminate\Http\RedirectResponse + */ + public function suggest($id) { $topic = Topic::findOrFail($id); if ($topic->suggestion == 0) { @@ -108,7 +143,14 @@ class TopicLabelController extends Controller ->withInfo('Label Change Has Been Applied'); } - public function implementedTopic($id) + /** + * Apply/Remove Implemented Label. + * + * @param $id + * + * @return Illuminate\Http\RedirectResponse + */ + public function implement($id) { $topic = Topic::findOrFail($id); if ($topic->implemented == 0) { diff --git a/resources/js/wysibb/preset/phpbb3.js b/resources/js/wysibb/preset/phpbb3.js index a111ac9df..6947e1313 100644 --- a/resources/js/wysibb/preset/phpbb3.js +++ b/resources/js/wysibb/preset/phpbb3.js @@ -39,7 +39,7 @@ WBBPRESET = { { title: CURLANG.add_attach, html: - '