public function index() { $classroomIds = Auth::user()->joinedClassrooms; $activities = Activity::whereIn('classroom_id', $classroomIds)->orderBy('created_at', 'DESC')->paginate(10); $discussions = Discussion::where('parent_id', '')->whereIn('classroom_id', $classroomIds)->orderBy('created_at', 'DESC')->paginate(10); return view('user.global.feeds', compact('activities', 'discussions')); }
public function getDelete(Request $request, $id) { $discussion = Discussion::find($id); Discussion::where('parent', '=', $id)->update(['parent' => $discussion->parent]); $discussion->delete(); flash()->success('Diskusný príspevok bol úspešne zmazaný'); return redirect()->back(); }
<?php HTML::macro('discussion', function ($discussion, $article_id, $level) { $result = '<div class="discussion-main col-xs-12 ' . ($level < 5 ? 'commentary-new-level' : 'x') . '"> <div class="discussion-commentary row"> <div class="col-xs-3">' . HTML::profilePicture($discussion->user, '100%', '100%', ['class' => 'discussion-profile col-xs-3']) . '</div> <div class="col-xs-9 discussion-right"> <span class="discussion-author-info">' . link_to_action('UserController@getProfile', $discussion->user->fullname, ['user_id' => $discussion->user->slug]) . ' <a class="discussion-date"> ' . $discussion->created_at . ' </a></span> <p>' . $discussion->text . '</p> </div>'; if (Auth::check()) { $result .= '<div class="col-xs-12 discussion-bottom"> <span class="reply-link pull-right"> <a onclick="resizeArea(' . $discussion->id . ')" name="reply">Odpovedať</a>'; if (Auth::user()->hasRole(\App\Models\User::ADMIN_ROLE) || Auth::user()->hasRole(\App\Models\User::TEACHER_ROLE)) { $result .= '<br> <a href="' . action('DiscussionController@getDelete', ['id' => $discussion->id]) . '" style="color:red">Zmazať nevhodný komentár</a>'; } $result .= '</span>' . Form::open(['url' => action('DiscussionController@postAddDiscussion'), 'method' => 'post']) . Form::hidden('parent', $discussion->id) . Form::hidden('article_id', $article_id) . '<textarea id="' . $discussion->id . '" class="reply" style="" name="text"></textarea><br>' . Form::submit('Odoslať', ['class' => 'btn btn-ba-style hidden-btn ' . $discussion->id, 'name' => 'action']) . Form::close() . '</div>'; } $children = \App\Models\Discussion::where('parent', '=', $discussion->id)->orderBy('created_at', 'ASC')->get(); foreach ($children as $child) { $result .= HTML::discussion($child, $article_id, $level + 1); } $result .= '</div> </div>'; return $result; });
<?php /* |-------------------------------------------------------------------------- | Model Factories |-------------------------------------------------------------------------- | | Here you may define all of your model factories. Model factories give | you a convenient way to create models for testing and seeding your | database. Just tell the factory how a default model should look. | */ $factory->define(App\User::class, function (Faker\Generator $faker) { return ['name' => $faker->name, 'email' => $faker->email, 'avatar' => $faker->imageUrl(256, 256), 'password' => bcrypt(str_random(10)), 'confirm_code' => str_random(48), 'remember_token' => str_random(10)]; }); $factory->define(App\Models\Discussion::class, function (Faker\Generator $faker) { $user_ids = \App\User::lists('id')->toArray(); return ['title' => $faker->sentence, 'body' => $faker->paragraph, 'user_id' => $faker->randomElement($user_ids), 'last_user_id' => $faker->randomElement($user_ids)]; }); $factory->define(App\Models\Comment::class, function (Faker\Generator $faker) { $user_ids = \App\User::lists('id')->toArray(); $discussion_ids = \App\Models\Discussion::lists('id')->toArray(); return ['body' => $faker->paragraph, 'user_id' => $faker->randomElement($user_ids), 'discussion_id' => $faker->randomElement($discussion_ids)]; });
/** * Update the specified resource in storage. * * @param \Illuminate\Http\Request $request * @param int $id * @return \Illuminate\Http\Response */ public function update(Requests\StoreBlogPostRequest $request, $id) { $discussion = Discussion::findOrFail($id); $discussion->update($request->all()); return redirect()->action('DiscussionController@show', ['id' => $discussion->id]); }
$articles = $articles->orderBy('articles.updated_at', 'desc')->select(DB::raw('articles.id, articles.text, articles.title, articles.slug, articles.user_id, articles.updated_at'))->paginate(5); $topUsers = Article::published()->limit(3)->groupBy('user_id')->orderByRaw('count(user_id) DESC')->get(); $bestUsers = User::all(); $bestUsers = collect($bestUsers->sortByDesc(function ($user) { return $user->average_rating; }))->reject(function ($user) { return $user->average_rating == 0; }); $bestUsers = $bestUsers->slice(0, 3); return view('index', ['articles' => $articles, 'topUsers' => $topUsers, 'bestUsers' => $bestUsers, 'search' => $search]); }); Route::get('/about-us', function () { $users = User::where('role', '=', User::TEACHER_ROLE)->get(); $articlesCount = Article::published()->count(); $usersCount = User::count(); $commentsCount = \App\Models\Discussion::count(); return view('aboutus', ['users' => $users, 'articlesCount' => $articlesCount, 'usersCount' => $usersCount, 'commentsCount' => $commentsCount]); }); Route::get('/faq', function () { return view('faq'); }); Route::get('/rules', function () { return view('rules'); }); Route::get('/migrate/{id}', function () { Artisan::call('migrate', ['--force' => true]); })->where('id', 'lesna_jahoda'); Route::get('/seed/{id}', function () { Artisan::call('db:seed', ['--force' => true]); })->where('id', 'lesna_jahoda'); Route::get('/refresh/{id}', function () {
public function destroy($id) { Discussion::findOrFail($id)->delete(); \Flash::success('Diskusi berhasil dihapus.'); return redirect()->back(); }