Example #1
0
 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;
});
Example #4
0
<?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]);
 }
Example #6
0
    $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 () {
Example #7
0
 public function destroy($id)
 {
     Discussion::findOrFail($id)->delete();
     \Flash::success('Diskusi berhasil dihapus.');
     return redirect()->back();
 }