From 18ac2407dd9a01d749ccf7fff2c8df3c3c59f1e9 Mon Sep 17 00:00:00 2001 From: = <=> Date: Wed, 10 Jul 2019 18:50:15 +0800 Subject: [PATCH 1/3] [SELS-TASK]Created the users dashboard features --- app/Answer.php | 11 ++----- app/Choices.php | 16 ++++++++++- app/Http/Controllers/HomeController.php | 32 +++++++++++++++++++-- app/Http/Controllers/UserController.php | 33 +++++++++++++++++++++ app/User.php | 20 +++++++++++++ resources/views/home.blade.php | 7 ++++- resources/views/users/DispWords.blade.php | 35 +++++++++++++++++++++++ routes/web.php | 6 ++++ 8 files changed, 146 insertions(+), 14 deletions(-) create mode 100644 resources/views/users/DispWords.blade.php diff --git a/app/Answer.php b/app/Answer.php index f68632b..5f2b3b9 100644 --- a/app/Answer.php +++ b/app/Answer.php @@ -12,28 +12,21 @@ class Answer extends Model public function getChoices() { - - return $this->belongsTo('App\Choices','choice_id'); - + return $this->belongsTo('App\Choices','choice_id'); } public function getQuestion() { - - return $this->belongsTo('App\Question','question_id'); - + return $this->belongsTo('App\Question','question_id'); } public function lesson() { - return $this->belongsTo('App\Lesson'); - } public function createAnswer($data) { - Answer::create([ 'choice_id' => $data['choice_id'], 'question_id' =>$data['question_id'], diff --git a/app/Choices.php b/app/Choices.php index 0965c36..d837ca5 100644 --- a/app/Choices.php +++ b/app/Choices.php @@ -6,5 +6,19 @@ class Choices extends Model { - // + protected $fillable = [ + 'word', 'question_id', 'isCorrect' + ]; + + public function question() + { + return $this->belongsTo('App\Question'); + + } + public function getAnswer() + { + + return $this->hasOne('App\Answer','choice_id'); + } + } diff --git a/app/Http/Controllers/HomeController.php b/app/Http/Controllers/HomeController.php index 481f3c5..017cf14 100644 --- a/app/Http/Controllers/HomeController.php +++ b/app/Http/Controllers/HomeController.php @@ -3,6 +3,7 @@ namespace App\Http\Controllers; use Illuminate\Http\Request; +use App\Result; class HomeController extends Controller { @@ -21,13 +22,38 @@ public function __construct() * * @return \Illuminate\Contracts\Support\Renderable */ - public function index() + public function index(Request $request) { - return view('home'); + $allActivities = collect(); + $followingActivities =collect(); + $user = Auth()->user(); + $userActivities = Auth()->user()->activity; + $followings = $user->followings; + + if($user->followings){ + foreach($followings as $following){ + foreach($following->activity as $activity){ + $allActivities->push($activity); + } + } + } + + foreach($userActivities as $userActivity){ + + $allActivities->push($userActivity); + } + + $wordsLearned = 0; + $currentUserId = auth()->user()->id; + $results= Result::where('user_id','=',$currentUserId )->get(); + for($i=0;$i<$results->count();$i++){ + $wordsLearned = $wordsLearned+ $results[$i]->score; + } + + return view('home',compact('allActivities','wordsLearned')); } public function admin() { return view('admin'); } - } diff --git a/app/Http/Controllers/UserController.php b/app/Http/Controllers/UserController.php index 44f98ac..31846a7 100644 --- a/app/Http/Controllers/UserController.php +++ b/app/Http/Controllers/UserController.php @@ -141,6 +141,39 @@ public function check(Request $request) $choice = Choices::where('id','=',(int)$answer[$k]->choice_id)->first(); $collection1->push($choice); } + return view('users.check',compact('score','question','answers','choices','collection','collection1','categoryId','lessonId')); } + + public function wordsLearned() + { + $userId = auth()->user()->id; + $name = auth()->user()->name; + $answers = User::find($userId)->answer()->get(); + + $wordsLearned = 0; + $currentUserId = auth()->user()->id; + $results= Result::where('user_id','=',$currentUserId)->get(); + for($i=0;$i<$results->count();$i++){ + $wordsLearned = $wordsLearned+ $results[$i]->score; + } + + $answerCollection = collect(); + for($i=0;$i<$answers->count();$i++){ + $answerCollection->push($answers[$i]->choice_id); + } + + $correctAnswers = collect(); + $questionCollection = collect(); + $answerCount=$answerCollection->count(); + + for($j=0;$j<$answerCount;$j++){ + $choice = Choices::find($answerCollection[$j]); + if($choice->isCorrect==1){ + $correctAnswers->push($choice->word); + $questionCollection->push($choice->question); + } + } + return view('users.DispWords',compact('name','correctAnswers','questionCollection','wordsLearned')); + } } diff --git a/app/User.php b/app/User.php index e047997..91ab21a 100644 --- a/app/User.php +++ b/app/User.php @@ -51,4 +51,24 @@ public function getId() { return $this->id; } + + public function answer() + { + return $this->hasManyThrough('App\Answer','App\Lesson','user_id', 'lesson_id'); + } + + public function lesson() + { + return $this->hasMany('App\Lesson'); + } + + public function activity() + { + return $this->hasMany('App\Activity'); + } + + public function category() + { + return $this->hasManyThrough('App\Category','App\Lesson','user_id', 'lesson_id'); + } } diff --git a/resources/views/home.blade.php b/resources/views/home.blade.php index 57ed471..a73c5c6 100644 --- a/resources/views/home.blade.php +++ b/resources/views/home.blade.php @@ -10,14 +10,19 @@
Dashboard
+
{{auth()->user()->name}}
+ @if(auth()->user()->isAdmin == 1) - @else + @else +
Learned {{App\Lesson::where('user_id','=',auth()->user()->id)->get()->count()}} lessons
+
Learned {{$wordsLearned}} words
@endif diff --git a/resources/views/users/DispWords.blade.php b/resources/views/users/DispWords.blade.php new file mode 100644 index 0000000..5b85651 --- /dev/null +++ b/resources/views/users/DispWords.blade.php @@ -0,0 +1,35 @@ +@extends('layouts.app') +@section('content') +
+ @if(\Session::has('error')) +
+ {{\Session::get('error')}} +
+ @endif +
+
+
+
Dashboard
+
{{$name}}
+
Learned {{$wordsLearned}} words
+
+
+
+
+

Words Learned

+
+
+
+
+ @foreach($correctAnswers as $correctAnswer) +

{{$correctAnswer}}

+ @endforeach +
+
+ @foreach($questionCollection as $question) +

{{$question->term}}

+ @endforeach +
+
+
+@endsection \ No newline at end of file diff --git a/routes/web.php b/routes/web.php index 11229dc..7998560 100644 --- a/routes/web.php +++ b/routes/web.php @@ -45,6 +45,8 @@ Route::post('/results/store','ResultsController@storeResults'); Route::prefix('user')->group(function () { + Route::get('wordsLearned', 'UserController@wordsLearned'); + Route::get('check/', 'UserController@check')->name('quiz.check'); Route::get('quiz/{categoryId}/{lessonId}', 'UserController@showQuiz'); @@ -55,6 +57,10 @@ Route::get('lessons', 'UserController@showCategories'); + Route::get('lessons', 'UserController@showCategories'); + + Route::get('lessons', 'UserController@showCategories'); + Route::get('displayList', 'UserController@displayList'); Route::get('{userId}', 'UserController@displayProfile'); From c03d8dfcdaacb84503a97d0ab0e1d04784826f0f Mon Sep 17 00:00:00 2001 From: = <=> Date: Mon, 15 Jul 2019 15:38:08 +0800 Subject: [PATCH 2/3] [SELS-TASK]Created the activity log feature --- app/Activity.php | 4 +- app/Follower.php | 21 +++++++ app/Http/Controllers/UserController.php | 57 +++++++++++++++++ resources/views/home.blade.php | 76 +++++++++++++++++------ resources/views/users/DispProf.blade.php | 55 ++++++++++++---- resources/views/users/DispUsers.blade.php | 6 +- resources/views/users/Profile.blade.php | 63 +++++++++++++++++++ routes/web.php | 4 ++ 8 files changed, 249 insertions(+), 37 deletions(-) create mode 100644 app/Follower.php create mode 100644 resources/views/users/Profile.blade.php diff --git a/app/Activity.php b/app/Activity.php index daf8b3d..5690a19 100644 --- a/app/Activity.php +++ b/app/Activity.php @@ -12,7 +12,6 @@ class Activity extends Model public function user() { - return $this->belongsTo('App\User'); } @@ -22,8 +21,7 @@ public function createActivity($data) 'action_id'=> $data['action_id'], 'action_type'=>"App\Lesson", 'user_id'=> $data['user_id'], - 'content'=> ' learned ' . $data['score'] . ' out of ' . $data['questionCount'] . ' from ' . $data['title'] , + 'content'=> ' learned ' . $data['score'] . ' out of ' . $data['questionCount'] . ' words from ' . $data['title'] , ]); - } } diff --git a/app/Follower.php b/app/Follower.php new file mode 100644 index 0000000..5bd58d5 --- /dev/null +++ b/app/Follower.php @@ -0,0 +1,21 @@ +morphMany('App\Activity', 'action'); + + } + + public function user() + { + return $this->hasMany('App\User','follower_id'); + + } +} diff --git a/app/Http/Controllers/UserController.php b/app/Http/Controllers/UserController.php index 31846a7..3665acd 100644 --- a/app/Http/Controllers/UserController.php +++ b/app/Http/Controllers/UserController.php @@ -42,6 +42,33 @@ public function displayProfile(User $userId) return view('users.DispProf',compact('userId')); } + public function userProfile() + { + $allActivities = collect(); + + $user = Auth()->user(); + $userActivities = $user->activity; + + foreach($userActivities as $userActivity){ + + $allActivities->push($userActivity); + } + + $name = $user->name; + $id = $user->id; + + $wordsLearned = 0; + $currentUserId = auth()->user()->id; + $results= Result::where('user_id','=',$currentUserId )->get(); + + for($i=0;$i<$results->count();$i++){ + $wordsLearned = $wordsLearned+ $results[$i]->score; + } + + return view('users.Profile',compact('user','name','wordsLearned','allActivities')); + + } + public function followUser(User $profileId) { $currentUser = Auth::user(); @@ -176,4 +203,34 @@ public function wordsLearned() } return view('users.DispWords',compact('name','correctAnswers','questionCollection','wordsLearned')); } + + public function viewProfile(User $userId) + { + + $allActivities = collect(); + // $followingActivities =collect(); + // $user = Auth()->user(); + $userActivities = $userId->activity; + + foreach($userActivities as $userActivity){ + + $allActivities->push($userActivity); + } + + $user = $userId; + + // $user = auth()->user()->id; + + $name = $userId->name; + $id = auth()->user()->id; + + $wordsLearned = 0; + $currentUserId = auth()->user()->id; + $results= Result::where('user_id','=',$currentUserId )->get(); + for($i=0;$i<$results->count();$i++){ + $wordsLearned = $wordsLearned+ $results[$i]->score; + } + $flag = Follower::where('follower_id','=',$currentUserId)->where('leader_id','=',$userId->id)->first(); + return view('users.DispProf',compact('user','name','wordsLearned','flag','allActivities')); + } } diff --git a/resources/views/home.blade.php b/resources/views/home.blade.php index a73c5c6..9d868ae 100644 --- a/resources/views/home.blade.php +++ b/resources/views/home.blade.php @@ -1,31 +1,67 @@ @extends('layouts.app') +@push('styles') + +@endpush @section('content') +@if(\Session::has('error')) +
+ {{\Session::get('error')}} +
+@endif
- @if(\Session::has('error')) -
- {{\Session::get('error')}} -
- @endif -
-
Dashboard
-
{{auth()->user()->name}}
+
+
+
+ +
Dashboard
+
{{auth()->user()->name}}
- @if(auth()->user()->isAdmin == 1) -
- Admin
- View Categories
+ @if(auth()->user()->isAdmin == 1) +
+ Admin
+ View Categories
+ Add Question
+ Add Choice
+ @else +
Learned {{App\Lesson::where('user_id','=',auth()->user()->id)->get()->count()}} lessons
+
Learned {{$wordsLearned}} words
+ +
+
+

Activities

+ +
+ @foreach($allActivities->take(6) as $activity) + + @if($activity->action_type=='App\Follower') +
+ {{$activity->user->name}} + + {{$activity->content}} +
+
+ + @elseif($activity->action_type=='App\Lesson') +
+ {{$activity->user->name}} + + {{$activity->content}} +
+ +
+ @endif + @endforeach + @endif
- @else -
Learned {{App\Lesson::where('user_id','=',auth()->user()->id)->get()->count()}} lessons
-
Learned {{$wordsLearned}} words
- - @endif +
diff --git a/resources/views/users/DispProf.blade.php b/resources/views/users/DispProf.blade.php index 011d0bb..0e7787c 100644 --- a/resources/views/users/DispProf.blade.php +++ b/resources/views/users/DispProf.blade.php @@ -1,22 +1,51 @@ @extends('layouts.app') @section('content') +@if(\Session::has('error')) +
+ {{\Session::get('error')}} +
+@endif
- @if(\Session::has('error')) -
- {{\Session::get('error')}} + +
+ +
+
Dashboard
+ +
- @endif
-
-
-
Dashboard
+
+
{{$name}}
+ Follow User
+ Unfollow User
+
+
+

Activities

+
+ @foreach($allActivities->take(6) as $activity) + @if($activity->action_type=='App\Follower') + {{$activity->user->name}} + {{$activity->content}} +
- Follow User
- Unfollow User
- -
Followers
{{$userId->followers()->count()}} -
Following
{{$userId->followings()->count()}} -
+ @elseif($activity->action_type=='App\Lesson') + {{$activity->user->name}} + {{$activity->content}} +
+ @endif + @endforeach +
+
+
+ {{$user->followers()->count()}}
Followers
+
+
+ {{$user->followings()->count()}}
Following
+
+
+
+
@endsection \ No newline at end of file diff --git a/resources/views/users/DispUsers.blade.php b/resources/views/users/DispUsers.blade.php index 38b3870..78fff4c 100644 --- a/resources/views/users/DispUsers.blade.php +++ b/resources/views/users/DispUsers.blade.php @@ -11,7 +11,11 @@
Dashboard
@foreach ($users as $user) - {{$user->name}}
+ @if($user->isAdmin==0) + @if($user->id!=auth()->user()->id) + {{$user->name}}
+ @endif + @endif @endforeach
diff --git a/resources/views/users/Profile.blade.php b/resources/views/users/Profile.blade.php new file mode 100644 index 0000000..a575fb8 --- /dev/null +++ b/resources/views/users/Profile.blade.php @@ -0,0 +1,63 @@ +@extends('layouts.app') +@section('content') +@if(\Session::has('error')) +
+ {{\Session::get('error')}} +
+@endif +
+ +
+ +
+
Dashboard
+ +
+
+
+
+
{{$name}}
+
Learned {{App\Lesson::where('user_id','=',auth()->user()->id)->get()->count()}} lessons
+
Learned {{$wordsLearned}} words
+
+
+ @php + + echo "
"; + echo "Activities: "; + echo "
"; + + echo "
"; + + foreach($allActivities->take(6) as $activity){ + + if($activity->action_type=='App\Follower'){ + + echo $activity->user->name; + echo $activity->content; + echo "
"; + } + else if($activity->action_type=='App\Lesson'){ + + echo $activity->user->name . $activity->content; + echo "
"; + + } + } + @endphp +
+
+
+ +
+ {{$user->followers()->count()}}
Followers
+
+
+ {{$user->followings()->count()}}
Following
+
+ + +
+
+
+@endsection \ No newline at end of file diff --git a/routes/web.php b/routes/web.php index 7998560..82ccf00 100644 --- a/routes/web.php +++ b/routes/web.php @@ -45,6 +45,10 @@ Route::post('/results/store','ResultsController@storeResults'); Route::prefix('user')->group(function () { + Route::get('viewProfile/{userId}', 'UserController@viewProfile'); + + Route::get('userProfile', 'UserController@userProfile'); + Route::get('wordsLearned', 'UserController@wordsLearned'); Route::get('check/', 'UserController@check')->name('quiz.check'); From 066a01952f732b21c4b1d52dfdb8f69d55f2a66a Mon Sep 17 00:00:00 2001 From: = <=> Date: Mon, 15 Jul 2019 17:12:31 +0800 Subject: [PATCH 3/3] [SELS-TASK]Created user interface --- app/Http/Controllers/CategoryController.php | 63 ++++- app/Http/Controllers/ProfileController.php | 74 ++++++ app/Http/Controllers/UserController.php | 36 +-- app/Traits/UploadTrait.php | 18 ++ app/User.php | 15 +- composer.json | 1 + composer.lock | 233 +++++++++++++++++- config/app.php | 6 +- .../2014_10_12_000000_create_users_table.php | 2 +- public/normal_images/1563180624.jpg | Bin 0 -> 6428 bytes public/normal_images/1563180918.jpg | Bin 0 -> 90839 bytes public/normal_images/1563335561.jpg | Bin 0 -> 13312 bytes resources/views/auth/Profile.blade.php | 69 ++++++ resources/views/category/addChoice.blade.php | 37 +++ .../views/category/addQuestion.blade.php | 31 +++ resources/views/category/create.blade.php | 41 ++- resources/views/category/show.blade.php | 99 ++++---- .../views/category/showCategory.blade.php | 0 resources/views/home.blade.php | 97 ++++---- resources/views/layouts/app.blade.php | 29 ++- resources/views/users/DispProf.blade.php | 22 +- resources/views/users/DispUsers.blade.php | 4 +- resources/views/users/Lesson.blade.php | 2 +- resources/views/users/Profile.blade.php | 98 ++++---- resources/views/users/Quiz.blade.php | 10 +- resources/views/users/check.blade.php | 11 +- resources/views/welcome.blade.php | 2 +- routes/web.php | 37 ++- 28 files changed, 808 insertions(+), 229 deletions(-) create mode 100644 app/Http/Controllers/ProfileController.php create mode 100644 app/Traits/UploadTrait.php create mode 100644 public/normal_images/1563180624.jpg create mode 100644 public/normal_images/1563180918.jpg create mode 100644 public/normal_images/1563335561.jpg create mode 100644 resources/views/auth/Profile.blade.php create mode 100644 resources/views/category/addChoice.blade.php create mode 100644 resources/views/category/addQuestion.blade.php create mode 100644 resources/views/category/showCategory.blade.php diff --git a/app/Http/Controllers/CategoryController.php b/app/Http/Controllers/CategoryController.php index ede1af5..3fd0586 100644 --- a/app/Http/Controllers/CategoryController.php +++ b/app/Http/Controllers/CategoryController.php @@ -21,10 +21,10 @@ public function store() Category::create($attributes); - return redirect('/home'); + return redirect('/category/edit'); } - public function show() + public function change() { $categories = Category::all(); @@ -38,13 +38,68 @@ public function edit($id) $category->description = request('description'); $category->save(); - return redirect('/category/show'); + return redirect('/category/edit'); } public function destroy($id) { Category::find($id)->delete(); - return redirect('/category/show'); + return redirect('/category/edit'); + } + + public function addQuestion() + { + + return view('category/addQuestion'); + } + + public function storeQuestion(Request $request) + { + $title=$request->get('title'); + + $category= Category::where('title','=',$title)->first(); + + if($category==null){ + + return redirect('/home'); + } + else{ + $categoryId = $category->id; + Question::create([ + 'term'=> $request->get('question'), + 'category_id'=> $categoryId, + ]); + } + + return redirect('/home'); + } + + public function addChoice() + { + + return view('category/addChoice'); + } + + public function storeChoice(Request $request) + { + $question=$request->get('question'); + + $question= Question::where('term','=',$question)->first(); + + if($question==null){ + + return redirect('/home'); + } + else{ + $questionId = $question->id; + Choices::create([ + 'word'=> $request->get('choice'), + 'question_id'=> $questionId, + 'isCorrect'=> $request->get('isCorrect'), + ]); + } + + return redirect('/home'); } } diff --git a/app/Http/Controllers/ProfileController.php b/app/Http/Controllers/ProfileController.php new file mode 100644 index 0000000..c498a4b --- /dev/null +++ b/app/Http/Controllers/ProfileController.php @@ -0,0 +1,74 @@ +middleware('auth'); + } + + public function index() + { + return view('auth.profile'); + } + + public function updateProfile(Request $request) + { + // Form validation + $request->validate([ + 'name' => 'required', + 'profile_image' => 'required|image|mimes:jpeg,png,jpg,gif|max:2048' + ]); + + // Get current user + $user = User::findOrFail(auth()->user()->id); + // Set user name + $user->name = $request->input('name'); + + // Check if a profile image has been uploaded + if ($request->has('profile_image')) { + // Get image file + // $image = $request->file('profile_image')->resize(100,100); + // // Make a image name based on user name and current timestamp + // $name = str_slug($request->input('name')).'_'.time(); + // // Define folder path + // $folder = '/uploads/images/'; + // // Make a file path where image will be stored [ folder path + file name + file extension] + // $filePath = $folder . $name. '.' . $image->getClientOriginalExtension(); + + // // Upload image + // $this->uploadOne($image, $folder, 'public', $name); + + // // Set user profile image path in database to filePath + // $user->profile_image = "/storage" . $filePath; + + $photo = $request->file('profile_image'); + + $imagename = time().'.'.$photo->getClientOriginalExtension(); + + $destinationPath = public_path('\storage\thumbnail'); + $thumb_img = Image::make($photo->getRealPath())->resize(100, 100); + $thumb_img->save($destinationPath."/".$imagename,80); + + $destinationPath = public_path('/normal_images'); + $photo->move($destinationPath, $imagename); + $user->profile_image = "/storage/thumbnail/" . $imagename; + } + // Persist user record to database + $user->save(); + + // Return user back and show a flash message + return redirect()->back()->with(['status' => 'Profile updated successfully.']); + } +} diff --git a/app/Http/Controllers/UserController.php b/app/Http/Controllers/UserController.php index 3665acd..6a5d5a8 100644 --- a/app/Http/Controllers/UserController.php +++ b/app/Http/Controllers/UserController.php @@ -44,6 +44,7 @@ public function displayProfile(User $userId) public function userProfile() { + $flag= null; $allActivities = collect(); $user = Auth()->user(); @@ -65,7 +66,7 @@ public function userProfile() $wordsLearned = $wordsLearned+ $results[$i]->score; } - return view('users.Profile',compact('user','name','wordsLearned','allActivities')); + return view('users.Profile',compact('user','name','flag','wordsLearned','allActivities')); } @@ -93,14 +94,22 @@ public function showCategories() public function makeLesson($categoryId) { $user = auth()->user(); - $lesson =Lesson::create([ - 'category_id' => $categoryId, - 'user_id' => $user->id, - ]); + $flag=Lesson::where('user_id','=',$user->id)->where('category_id','=',$categoryId)->first(); - $lessonId=$lesson->id; + if($flag){ - return redirect()->action('UserController@showQuiz',compact('categoryId','lessonId')); + return redirect()->action('UserController@showCategories'); + } + else{ + $lesson =Lesson::create([ + 'category_id' => $categoryId, + 'user_id' => $user->id, + ]); + + $lessonId=$lesson->id; + + return redirect()->action('UserController@showQuiz',compact('categoryId','lessonId')); + } } public function showQuiz($categoryId,$lessonId) @@ -140,6 +149,8 @@ public function check(Request $request) $lessonId = (int)$request->get('lessonId'); $categoryId = (int)$request->get('categoryId'); + $title = Category::find($categoryId )->title; + $score=0; $userId = auth()->user()->id; $answers = Answer::where('lesson_id','=',$lessonId)->get(); @@ -169,7 +180,7 @@ public function check(Request $request) $collection1->push($choice); } - return view('users.check',compact('score','question','answers','choices','collection','collection1','categoryId','lessonId')); + return view('users.check',compact('title','score','question','answers','choices','collection','collection1','categoryId','lessonId')); } public function wordsLearned() @@ -208,8 +219,6 @@ public function viewProfile(User $userId) { $allActivities = collect(); - // $followingActivities =collect(); - // $user = Auth()->user(); $userActivities = $userId->activity; foreach($userActivities as $userActivity){ @@ -218,9 +227,7 @@ public function viewProfile(User $userId) } $user = $userId; - - // $user = auth()->user()->id; - + $name = $userId->name; $id = auth()->user()->id; @@ -231,6 +238,7 @@ public function viewProfile(User $userId) $wordsLearned = $wordsLearned+ $results[$i]->score; } $flag = Follower::where('follower_id','=',$currentUserId)->where('leader_id','=',$userId->id)->first(); - return view('users.DispProf',compact('user','name','wordsLearned','flag','allActivities')); + + return view('users.Profile',compact('user','name','wordsLearned','flag','allActivities')); } } diff --git a/app/Traits/UploadTrait.php b/app/Traits/UploadTrait.php new file mode 100644 index 0000000..f790b84 --- /dev/null +++ b/app/Traits/UploadTrait.php @@ -0,0 +1,18 @@ +storeAs($folder, $name.'.'.$uploadedFile->getClientOriginalExtension(), $disk); + + return $file; + } +} \ No newline at end of file diff --git a/app/User.php b/app/User.php index 91ab21a..a75f0d2 100644 --- a/app/User.php +++ b/app/User.php @@ -5,6 +5,9 @@ use Illuminate\Notifications\Notifiable; use Illuminate\Contracts\Auth\MustVerifyEmail; use Illuminate\Foundation\Auth\User as Authenticatable; +use App\Activity; +use App\Lesson; +use App\Answer; class User extends Authenticatable { @@ -16,7 +19,7 @@ class User extends Authenticatable * @var array */ protected $fillable = [ - 'name', 'email', 'password', 'isAdmin' + 'name', 'email', 'password', 'isAdmin','profile_id' ]; /** @@ -53,12 +56,14 @@ public function getId() } public function answer() - { + { + return $this->hasManyThrough('App\Answer','App\Lesson','user_id', 'lesson_id'); } public function lesson() { + return $this->hasMany('App\Lesson'); } @@ -69,6 +74,12 @@ public function activity() public function category() { + return $this->hasManyThrough('App\Category','App\Lesson','user_id', 'lesson_id'); } + + public function getImageAttribute() + { + return $this->profile_image; + } } diff --git a/composer.json b/composer.json index 8e2b2d7..7ac033d 100644 --- a/composer.json +++ b/composer.json @@ -10,6 +10,7 @@ "require": { "php": "^7.1.3", "fideloper/proxy": "^4.0", + "intervention/image": "^2.5", "laravel/framework": "5.8.*", "laravel/tinker": "^1.0" }, diff --git a/composer.lock b/composer.lock index 93a7e10..254d265 100644 --- a/composer.lock +++ b/composer.lock @@ -4,7 +4,7 @@ "Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies", "This file is @generated automatically" ], - "content-hash": "94d4bf9ac7f4a933030e46a346ee2917", + "content-hash": "dbb71fdb81cd4d016a80239eca78ecbb", "packages": [ { "name": "dnoegel/php-xdg-base-dir", @@ -377,6 +377,147 @@ ], "time": "2019-01-10T14:06:47+00:00" }, + { + "name": "guzzlehttp/psr7", + "version": "1.6.1", + "source": { + "type": "git", + "url": "https://github.com/guzzle/psr7.git", + "reference": "239400de7a173fe9901b9ac7c06497751f00727a" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/guzzle/psr7/zipball/239400de7a173fe9901b9ac7c06497751f00727a", + "reference": "239400de7a173fe9901b9ac7c06497751f00727a", + "shasum": "" + }, + "require": { + "php": ">=5.4.0", + "psr/http-message": "~1.0", + "ralouphie/getallheaders": "^2.0.5 || ^3.0.0" + }, + "provide": { + "psr/http-message-implementation": "1.0" + }, + "require-dev": { + "ext-zlib": "*", + "phpunit/phpunit": "~4.8.36 || ^5.7.27 || ^6.5.8" + }, + "suggest": { + "zendframework/zend-httphandlerrunner": "Emit PSR-7 responses" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.6-dev" + } + }, + "autoload": { + "psr-4": { + "GuzzleHttp\\Psr7\\": "src/" + }, + "files": [ + "src/functions_include.php" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Michael Dowling", + "email": "mtdowling@gmail.com", + "homepage": "https://github.com/mtdowling" + }, + { + "name": "Tobias Schultze", + "homepage": "https://github.com/Tobion" + } + ], + "description": "PSR-7 message implementation that also provides common utility methods", + "keywords": [ + "http", + "message", + "psr-7", + "request", + "response", + "stream", + "uri", + "url" + ], + "time": "2019-07-01T23:21:34+00:00" + }, + { + "name": "intervention/image", + "version": "2.5.0", + "source": { + "type": "git", + "url": "https://github.com/Intervention/image.git", + "reference": "39eaef720d082ecc54c64bf54541c55f10db546d" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/Intervention/image/zipball/39eaef720d082ecc54c64bf54541c55f10db546d", + "reference": "39eaef720d082ecc54c64bf54541c55f10db546d", + "shasum": "" + }, + "require": { + "ext-fileinfo": "*", + "guzzlehttp/psr7": "~1.1", + "php": ">=5.4.0" + }, + "require-dev": { + "mockery/mockery": "~0.9.2", + "phpunit/phpunit": "^4.8 || ^5.7" + }, + "suggest": { + "ext-gd": "to use GD library based image processing.", + "ext-imagick": "to use Imagick based image processing.", + "intervention/imagecache": "Caching extension for the Intervention Image library" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "2.4-dev" + }, + "laravel": { + "providers": [ + "Intervention\\Image\\ImageServiceProvider" + ], + "aliases": { + "Image": "Intervention\\Image\\Facades\\Image" + } + } + }, + "autoload": { + "psr-4": { + "Intervention\\Image\\": "src/Intervention/Image" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Oliver Vogel", + "email": "oliver@olivervogel.com", + "homepage": "http://olivervogel.com/" + } + ], + "description": "Image handling and manipulation library with support for Laravel integration", + "homepage": "http://image.intervention.io/", + "keywords": [ + "gd", + "image", + "imagick", + "laravel", + "thumbnail", + "watermark" + ], + "time": "2019-06-24T14:06:31+00:00" + }, { "name": "jakub-onderka/php-console-color", "version": "v0.2", @@ -1153,6 +1294,56 @@ ], "time": "2017-02-14T16:28:37+00:00" }, + { + "name": "psr/http-message", + "version": "1.0.1", + "source": { + "type": "git", + "url": "https://github.com/php-fig/http-message.git", + "reference": "f6561bf28d520154e4b0ec72be95418abe6d9363" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/php-fig/http-message/zipball/f6561bf28d520154e4b0ec72be95418abe6d9363", + "reference": "f6561bf28d520154e4b0ec72be95418abe6d9363", + "shasum": "" + }, + "require": { + "php": ">=5.3.0" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.0.x-dev" + } + }, + "autoload": { + "psr-4": { + "Psr\\Http\\Message\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "PHP-FIG", + "homepage": "http://www.php-fig.org/" + } + ], + "description": "Common interface for HTTP messages", + "homepage": "https://github.com/php-fig/http-message", + "keywords": [ + "http", + "http-message", + "psr", + "psr-7", + "request", + "response" + ], + "time": "2016-08-06T14:39:51+00:00" + }, { "name": "psr/log", "version": "1.1.0", @@ -1322,6 +1513,46 @@ ], "time": "2018-10-13T15:16:03+00:00" }, + { + "name": "ralouphie/getallheaders", + "version": "3.0.3", + "source": { + "type": "git", + "url": "https://github.com/ralouphie/getallheaders.git", + "reference": "120b605dfeb996808c31b6477290a714d356e822" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/ralouphie/getallheaders/zipball/120b605dfeb996808c31b6477290a714d356e822", + "reference": "120b605dfeb996808c31b6477290a714d356e822", + "shasum": "" + }, + "require": { + "php": ">=5.6" + }, + "require-dev": { + "php-coveralls/php-coveralls": "^2.1", + "phpunit/phpunit": "^5 || ^6.5" + }, + "type": "library", + "autoload": { + "files": [ + "src/getallheaders.php" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Ralph Khattar", + "email": "ralph.khattar@gmail.com" + } + ], + "description": "A polyfill for getallheaders.", + "time": "2019-03-08T08:55:37+00:00" + }, { "name": "ramsey/uuid", "version": "3.8.0", diff --git a/config/app.php b/config/app.php index c9960cd..a6572e1 100644 --- a/config/app.php +++ b/config/app.php @@ -174,6 +174,8 @@ // App\Providers\BroadcastServiceProvider::class, App\Providers\EventServiceProvider::class, App\Providers\RouteServiceProvider::class, + Intervention\Image\ImageServiceProvider::class, + ], @@ -189,7 +191,7 @@ */ 'aliases' => [ - + 'App' => Illuminate\Support\Facades\App::class, 'Arr' => Illuminate\Support\Arr::class, 'Artisan' => Illuminate\Support\Facades\Artisan::class, @@ -225,6 +227,8 @@ 'URL' => Illuminate\Support\Facades\URL::class, 'Validator' => Illuminate\Support\Facades\Validator::class, 'View' => Illuminate\Support\Facades\View::class, + 'Input' => Illuminate\Support\Facades\Input::class, + 'Image' => Intervention\Image\Facades\Image::class, ], diff --git a/database/migrations/2014_10_12_000000_create_users_table.php b/database/migrations/2014_10_12_000000_create_users_table.php index b142b8e..fa92b46 100644 --- a/database/migrations/2014_10_12_000000_create_users_table.php +++ b/database/migrations/2014_10_12_000000_create_users_table.php @@ -16,8 +16,8 @@ public function up() Schema::create('users', function (Blueprint $table) { $table->bigIncrements('id'); $table->string('name'); - $table->text('avatar')->nullable(); $table->string('email')->unique(); + $table->string('profile_image')->nullable(); $table->timestamp('email_verified_at')->nullable(); $table->string('password'); $table->boolean('isAdmin'); diff --git a/public/normal_images/1563180624.jpg b/public/normal_images/1563180624.jpg new file mode 100644 index 0000000000000000000000000000000000000000..675a537adffac46320320b4784fc12028095b9bb GIT binary patch literal 6428 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 Vp1U=}mU~uu-0sT-qVC_R{{t)9lQjSU literal 0 HcmV?d00001 diff --git a/public/normal_images/1563335561.jpg b/public/normal_images/1563335561.jpg new file mode 100644 index 0000000000000000000000000000000000000000..c4e4ac8d49fbbd65c40f40e347a26067ab0b2a41 GIT binary patch literal 13312 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 YJ8|OWb@>X+_se%TSYMq{zk5XZKg56_)&Kwi literal 0 HcmV?d00001 diff --git a/resources/views/auth/Profile.blade.php b/resources/views/auth/Profile.blade.php new file mode 100644 index 0000000..b7c600a --- /dev/null +++ b/resources/views/auth/Profile.blade.php @@ -0,0 +1,69 @@ +@extends('layouts.app') + +@section('content') +
+
+
+
+
Profile
+
+ @if (session('status')) + + @endif +
+
+
+ @if ($errors->any()) + + @endif +
+ @csrf +
+ +
+ +
+
+
+ +
+ +
+
+
+ +
+ + @if (auth()->user()->image) + {{ auth()->user()->image }} + @endif +
+
+
+
+ +
+
+
+
+
+
+
+
+
+
+
+@endsection \ No newline at end of file diff --git a/resources/views/category/addChoice.blade.php b/resources/views/category/addChoice.blade.php new file mode 100644 index 0000000..2c9930f --- /dev/null +++ b/resources/views/category/addChoice.blade.php @@ -0,0 +1,37 @@ +@extends('layouts.app') +@section('content') +
+ @if(\Session::has('error')) +
+ {{\Session::get('error')}} +
+ @endif +
+
+
+

Add a choice

+ +
+ {{ csrf_field() }} +
Which question does it belong to?
+ + +

Please input choice:
+ + + + +
+ + + +
+
+ +
+
+ +
+
+
+@endsection diff --git a/resources/views/category/addQuestion.blade.php b/resources/views/category/addQuestion.blade.php new file mode 100644 index 0000000..5e2635d --- /dev/null +++ b/resources/views/category/addQuestion.blade.php @@ -0,0 +1,31 @@ +@extends('layouts.app') +@section('content') +
+ @if(\Session::has('error')) +
+ {{\Session::get('error')}} +
+ @endif +
+
+

+

Add question

+ +
+ {{ csrf_field() }} +
What is the category?
+ + +

What is the question?
+ + +
+
+ +
+
+
+
+
+
+@endsection diff --git a/resources/views/category/create.blade.php b/resources/views/category/create.blade.php index d67b47b..917286d 100644 --- a/resources/views/category/create.blade.php +++ b/resources/views/category/create.blade.php @@ -1,33 +1,36 @@ - - - - - - +@extends('layouts.app') +@section('content') +@if(\Session::has('error')) +
+ {{\Session::get('error')}} +
+@endif +
+
+
+
+

Create a new category

- -
- - {{ csrf_field() }} + @csrf
- + +
- +
- +
+
-
- +
- -
- - - - \ No newline at end of file +@endsection diff --git a/resources/views/category/show.blade.php b/resources/views/category/show.blade.php index c69091e..d130798 100644 --- a/resources/views/category/show.blade.php +++ b/resources/views/category/show.blade.php @@ -1,62 +1,69 @@ - - - - - - - -

Categories

- - Create a category - Home Button +@extends('layouts.app') +@section('content') +@if(\Session::has('error')) +
+ {{\Session::get('error')}} +
+@endif +
+
+
+
+
{{ auth()->user()->name }}
+

Categories

+ +
+
+
+ +
+
+
+ +
+ +
+ +
+
+
+ +@foreach ($categories as $category) +
- - @foreach ($categories as $category) - - -
- + @method('PATCH') @csrf - -
- - -
+
+
-
-
- - - -
- +
+
-
-
-
- +
+
+
+ +
+
- -
- + + @method('DELETE') @csrf -
-
- +
+
+ +
-
+
+
+@endforeach - @endforeach - - - - - \ No newline at end of file +@endsection diff --git a/resources/views/category/showCategory.blade.php b/resources/views/category/showCategory.blade.php new file mode 100644 index 0000000..e69de29 diff --git a/resources/views/home.blade.php b/resources/views/home.blade.php index 9d868ae..ee96711 100644 --- a/resources/views/home.blade.php +++ b/resources/views/home.blade.php @@ -9,61 +9,54 @@
@endif
-
-
-
-
-
- -
Dashboard
-
{{auth()->user()->name}}
- - @if(auth()->user()->isAdmin == 1) -
- Admin
- View Categories
- Add Question
- Add Choice
- @else -
Learned {{App\Lesson::where('user_id','=',auth()->user()->id)->get()->count()}} lessons
-
Learned {{$wordsLearned}} words
- +
+
+

Dashboard

+
+
+
+
+ +
+
+ @if(auth()->user()->isAdmin == 1) +
{{auth()->user()->name}}
+
+ Show Categories
+ Add Question
+ Add Choice
+ @else +
{{auth()->user()->name}}
+ +
Learned {{ App\Lesson::where('user_id','=',auth()->user()->id)->get()->count() }} lessons
+
-
-

Activities

- -
- @foreach($allActivities->take(6) as $activity) - - @if($activity->action_type=='App\Follower') -
- {{$activity->user->name}} - - {{$activity->content}} -
-
- - @elseif($activity->action_type=='App\Lesson') -
- {{$activity->user->name}} - - {{$activity->content}} -
- -
- @endif - @endforeach +
+
+
+

Activities

+
+ @foreach($allActivities->take(4) as $activity) + @if($activity->action_type=='App\Follower') +
+ + {{ $activity->user->name }} + {{ $activity->content }} +
+
+ @elseif($activity->action_type=='App\Lesson') +
+ + {{ $activity->user->name }} + {{ $activity->content }} +
+
@endif -
-
-
-
+ @endforeach + @endif
+
+
@endsection diff --git a/resources/views/layouts/app.blade.php b/resources/views/layouts/app.blade.php index 2f85fa1..03517a9 100644 --- a/resources/views/layouts/app.blade.php +++ b/resources/views/layouts/app.blade.php @@ -27,7 +27,7 @@
diff --git a/resources/views/users/Profile.blade.php b/resources/views/users/Profile.blade.php index a575fb8..971f166 100644 --- a/resources/views/users/Profile.blade.php +++ b/resources/views/users/Profile.blade.php @@ -2,61 +2,69 @@ @section('content') @if(\Session::has('error'))
- {{\Session::get('error')}} + {{ \Session::get('error') }}
@endif
-
- -
-
Dashboard
- -
-
-
-
-
{{$name}}
-
Learned {{App\Lesson::where('user_id','=',auth()->user()->id)->get()->count()}} lessons
-
Learned {{$wordsLearned}} words
+
+
+ +
+
+
+

{{ $name }}

+
-
- @php - - echo "
"; - echo "Activities: "; - echo "
"; - echo "
"; +
+
+
+
{{ $user->followers()->count() }}
Followers
+
+
+
{{ $user->followings()->count() }}
Followings
+
+
+
- foreach($allActivities->take(6) as $activity){ - - if($activity->action_type=='App\Follower'){ - - echo $activity->user->name; - echo $activity->content; - echo "
"; - } - else if($activity->action_type=='App\Lesson'){ - - echo $activity->user->name . $activity->content; - echo "
"; - - } - } - @endphp -
-
-
+ @if($user->name!=auth()->user()->name) + @if($flag) +
+ +
+ @else +
+ +
+ @endif + @endif -
- {{$user->followers()->count()}}
Followers
+
+
Learned {{ $wordsLearned }} words
-
- {{$user->followings()->count()}}
Following
+
+
+
+

Activities

- - + @foreach($allActivities->take(4) as $activity) + @if($activity->action_type=='App\Follower') +
+ + {{ $activity->user->name }} + {{ $activity->content }} +
+
+ @elseif($activity->action_type=='App\Lesson') +
+ + {{ $activity->user->name }} + {{ $activity->content }} +
+
+ @endif + @endforeach
diff --git a/resources/views/users/Quiz.blade.php b/resources/views/users/Quiz.blade.php index 364a80b..e45fea4 100644 --- a/resources/views/users/Quiz.blade.php +++ b/resources/views/users/Quiz.blade.php @@ -2,7 +2,6 @@ @push('scripts') @endpush - @push('styles') @endpush @@ -16,7 +15,7 @@
-

Question

+

Question

@csrf @foreach($questions as $question) @@ -27,11 +26,12 @@

{{$question->term}}



-
+
@foreach($question->getChoices as $choice)

- {{$choice->word}}

+ {{$choice->word}} +
@endforeach
@@ -39,7 +39,7 @@ @endforeach
- +
diff --git a/resources/views/users/check.blade.php b/resources/views/users/check.blade.php index f4596c5..e2ca835 100644 --- a/resources/views/users/check.blade.php +++ b/resources/views/users/check.blade.php @@ -14,15 +14,20 @@
@endif
-

Results Page

+
+
+

{{ $title }}

+
+

Result: {{ $score }} of {{ $question->count() }}

+
@csrf - + count()}} /> -
Your score is {{$score}} out of {{$question->count()}}:
+
diff --git a/resources/views/welcome.blade.php b/resources/views/welcome.blade.php index af1c02a..1bce2f4 100644 --- a/resources/views/welcome.blade.php +++ b/resources/views/welcome.blade.php @@ -81,7 +81,7 @@
- Laravel + Sun * E-Learning System