Ejemplo n.º 1
0
 /**
  * Run the database seeds.
  *
  * @return void
  */
 public function run()
 {
     $category = Utils::CATEGORY;
     foreach (range(0, 29) as $i) {
         $archive = new Archive();
         $archive->title = str_random(8);
         $archive->category = $category[rand(0, 3)];
         $archive->view = rand(0, 999);
         $archive->like = rand(0, 999);
         $archive->content = str_random(8) . ' ' . str_random(8);
         $archive->save();
     }
 }
Ejemplo n.º 2
0
 public function getEntries()
 {
     if (Auth::user()->isTeacher()) {
         $users = [];
         $archive = Archive::with('user', 'test', 'test.course', 'test.questions')->has('test')->has('user');
         foreach (Auth::user()->groups as $group) {
             foreach ($group->users as $user) {
                 $users[$user->id] = true;
             }
         }
         $archive->where(function ($query) use($users) {
             foreach (array_keys($users) as $key => $user_id) {
                 if ($key == 0) {
                     $query->where('user_id', $user_id);
                 } else {
                     $query->orWhere('user_id', $user_id);
                 }
             }
         });
         $archive = $archive->orderBy('created_at', 'ASC');
     } else {
         $archive = Archive::with('user', 'test', 'test.course', 'test.questions')->has('test')->has('user')->orderBy('created_at', 'ASC');
     }
     return $archive;
 }
Ejemplo n.º 3
0
 public function isCompleted($requireFullCompletion = false, $user = false)
 {
     if (Auth::check() || $user !== false) {
         $archive = Archive::where(['test_id' => $this->id, 'user_id' => $user === false ? Auth::user()->id : $user->id])->first();
         if ($archive) {
             $data = json_decode($archive->data, true);
             return $data['all_correct'] || $archive->replied_to || $archive->discarded == \App\Archive::FULLY_DISCARDED || !$requireFullCompletion && $data['num_correct'] >= $data['total'] * 0.5;
         }
     }
     return false;
 }
Ejemplo n.º 4
0
 /**
  * Run the database seeds.
  *
  * @return void
  */
 public function run()
 {
     $archives = Archive::all();
     $count = $archives->count();
     foreach (range(0, 299) as $i) {
         $comment = new Comment();
         $comment->nickname = str_random(4);
         $comment->archive_id = rand(1, $count);
         $comment->content = str_random(8) . ' ' . str_random(8);
         $comment->save();
     }
 }
Ejemplo n.º 5
0
 /**
  * 更新文章
  *
  * @param PostUpdateRequest $request 文章更新表单
  * @param int $id 文章id
  */
 public function update(PostUpdateRequest $request, $id)
 {
     $post = Post::findOrFail($id);
     $check = $post->archive;
     $post->fill($request->postFillData());
     $post->save();
     if ($request->archive != $check) {
         $counts = Archive::where('name', '=', $check)->first()->counts;
         $archive = Archive::where('name', '=', $check)->update(['counts' => $counts - 1]);
         $counts = Archive::where('name', '=', $request->archive)->first()->counts;
         $archive = Archive::where('name', '=', $request->archive)->update(['counts' => $counts + 1]);
     }
     return redirect()->route('admin.post.index')->withSuccess('Post saved.');
 }
Ejemplo n.º 6
0
 public static function make()
 {
     $date = Carbon::now()->toDateTimeString();
     $sitemap = App::make("sitemap");
     $sitemap->add(route('index'), $date, "1.0", "daily");
     $sitemap->add(route('sharpen'), $date, "0.9", "daily");
     $sitemap->add(route('anecdote'), $date, "0.9", "daily");
     $sitemap->add(route('mind'), $date, "0.9", "daily");
     $archives = Archive::where("published", "=", 1)->get();
     foreach ($archives as $archive) {
         $sitemap->add(route('archive', ['id' => $archive->id]), $archive->updated_at, "0.8", "daily");
     }
     $sitemap->store('xml', 'sitemap');
 }
Ejemplo n.º 7
0
 protected function getCategoryView($category)
 {
     $archives = Archive::where('category', '=', $category)->where("published", "=", 1)->orderBy("created_at", "desc")->paginate(6);
     $this->filterList($archives);
     $data = ['pageName' => $category, 'category' => $category, 'archives' => $archives];
     $this->dataFilter($data);
     return view('category', $data);
 }
Ejemplo n.º 8
0
 public function showPapers($archive, $paper)
 {
     $archive = Archive::findOrFail($archive);
     $paper = $archive->papers()->with(['category.langs' => function ($query) {
         $query->lang();
     }, 'criteria.langs' => function ($query) {
         $query->lang();
     }, 'criteria.options.langs' => function ($query) {
         $query->lang();
     }])->where('id', $paper)->first();
     return view('admin.archive.papers.show', ['archive' => $archive, 'paper' => $paper]);
 }
 public function adminEmailUsr(Request $requests, $user_id)
 {
     $user_email = Input::get('email');
     if (UserMod::where('id', $user_id)->where('role', '=', 'Administrator')->exists() and UserMod::where('email', $user_email)->exists()) {
         // This is where system stores "Archive" of mails been sent from Admin to any person
         Archive::create(array('email_subject' => Input::get('subject'), 'rec_name' => Input::get('getterName'), 'rec_email' => Input::get('email'), 'message' => Input::get('message')));
         // This is where system generates e-mail from information taking from "form"
         $contactName = Input::get('getterName');
         $contactEmail = Input::get('email');
         $contactMessage = Input::get('message');
         $messageSubject = Input::get('subject');
         $admin = UserMod::where('id', $user_id)->where('role', '=', 'Administrator')->first();
         $data = array('name' => $contactName, 'Recemail' => $contactEmail, 'Emessage' => $contactMessage, 'sender' => $admin->name);
         Mail::send('emailUsr', $data, function ($message) use($contactEmail, $contactName, $messageSubject) {
             $message->to($contactEmail, $contactName)->subject($messageSubject);
         });
         Session::flash('user_email_success', "");
         return back()->withInput();
     } else {
         Session::flash('failed', "Something went wrong, please try again!");
         return back()->withInput();
     }
 }
Ejemplo n.º 10
0
 function revalidate($id, TestValidator $testvalidator)
 {
     $archive = Archive::findOrFail($id);
     $archive->data = json_decode($archive->data, true);
     $old_data = $archive->data;
     $data = $testvalidator->WithAnswers($archive->test, $archive->data['given_answers']);
     if (@$old_data['feedback']) {
         $data['feedback'] = $old_data['feedback'];
     }
     $archive->data = json_encode($data);
     $archive->save();
     return ['success' => true, 'data' => $data];
 }
Ejemplo n.º 11
0
 public function archiveAjax()
 {
     $v = Validator::make(Input::all(), ['title' => 'required', 'category' => 'required', 'content' => 'required']);
     if ($v->fails()) {
         return response()->json(["message" => $v->messages()], 403);
     }
     $archive = Archive::findOrNew(Input::get('id', -1));
     $archive->title = Input::get('title');
     $archive->category = Input::get('category');
     $archive->content = Input::get('content');
     $archive->save();
     return response()->json(["id" => $archive->id]);
 }
Ejemplo n.º 12
0
 public function check($id, Request $request, TestValidator $testvalidator)
 {
     $test = Test::findOrFail($id);
     $validation = $testvalidator->WithRequest($test, $request);
     $hasPassed = $validation['num_correct'] / $validation['total'] >= 0.5;
     $hasPassedFull = $validation['num_correct'] == $validation['total'];
     $minimumToPass = ceil($validation['total'] * 0.5);
     $customErrors = new MessageBag();
     $errors = [];
     if (!Auth::check()) {
         $authenticationType = $request->input('authentication_type');
         switch ($authenticationType) {
             case 0:
                 $authvalidator = \Validator::make($request->all(), ['user-name' => 'required', 'user-email' => 'required|email|unique:users,email', 'user-password' => 'required|min:8|confirmed'], ['user-name.required' => 'Nimi on pakollinen.', 'user-email.required' => 'Sähköpostiosoite on pakollinen.', 'user-email.email' => 'Annettu sähköpostiosoite ei ole pätevä.', 'user-email.unique' => 'Tunnus samalla sähköpostiosoitteella on jo olemassa.', 'user-password.required' => 'Salasana on pakollinen.', 'user-password.min' => 'Salasanan pitää olla ainakin :min merkkiä pitkä.', 'user-password.confirmed' => 'Salasanat eivät täsmää.']);
                 break;
             case 1:
                 $authvalidator = \Validator::make($request->all(), ['user-login-email' => 'required|email', 'user-login-password' => 'required'], ['user-login-email.required' => 'Sähköpostiosoite on pakollinen.', 'user-login-email.email' => 'Annettu sähköpostiosoite ei ole pätevä.', 'user-login-password.required' => 'Salasana on pakollinen.']);
                 break;
         }
         $group = false;
         $shouldJoinGroup = false;
         if (strlen($request->input('group-code')) > 0) {
             $group = Group::where('code', $request->input('group-code'));
             if (!$group->exists()) {
                 $customErrors->add('group-code', 'Annettua ryhmää ei löytynyt. Syötä oikea ryhmäkoodi.');
             } else {
                 $shouldJoinGroup = true;
             }
         }
         if ($authvalidator->passes() && $customErrors->isEmpty()) {
             switch ($authenticationType) {
                 case 0:
                     $user = new User();
                     $user->name = $request->input('user-name');
                     $user->email = $request->input('user-email');
                     $user->password = Hash::make($request->input('user-password'));
                     $user->access_level = 'USER';
                     $user->save();
                     Mail::send('email.user_account_created', ['user' => $user], function ($m) use($user) {
                         $m->to($user->email, $user->name)->subject('Käyttäjätunnus luotu Media7 raamattuopistoon');
                     });
                     Auth::login($user);
                     if ($shouldJoinGroup) {
                         $group->first()->join();
                     }
                     break;
                 case 1:
                     $credentials = ['email' => $request->input('user-login-email'), 'password' => $request->input('user-login-password')];
                     $remember = $request->input('remember_me');
                     if (!Auth::attempt($credentials, $remember)) {
                         $customErrors->add('user-login-email', 'Kirjautuminen annetuilla tunnuksilla ei onnistunut!');
                     } else {
                         if ($shouldJoinGroup) {
                             $group->first()->join();
                         }
                         return redirect('/test/' . $test->id);
                     }
                     break;
             }
         }
         $errors = array_merge($authvalidator->errors()->all(), $customErrors->all());
     }
     if (Auth::check() && $customErrors->isEmpty()) {
         $archive = Auth::user()->archives()->where('test_id', $id)->first();
         $data = $validation;
         if (!$archive) {
             $archive = new Archive();
             $archive->user_id = Auth::user()->id;
             $archive->test_id = $test->id;
         } else {
             $old_data = json_decode($archive->data, true);
             if (@$old_data['feedback']) {
                 $data['feedback'] = $old_data['feedback'];
             }
         }
         $archive->data = json_encode($data);
         $archive->save();
     }
     return view('test.show')->with(array_merge($validation, ['test' => $test, 'feedback' => @$data['feedback'], 'hasPassed' => @$hasPassed, 'hasPassedFull' => @$hasPassedFull, 'minimumToPass' => @$minimumToPass, 'authentication_type' => @$authenticationType, 'isMaterialPage' => false, 'authFailed' => !Auth::check() && !$authvalidator->passes(), 'old' => $request->all()]))->withInput($request)->withErrors(@$errors);
 }
Ejemplo n.º 13
0
 /**
  * 删除分类
  *
  * @param int $id 分类id
  */
 public function destroy($id)
 {
     $archive = Archive::findOrFail($id);
     $archive->delete();
     return redirect('/admin/archive')->withSuccess("The '{$archive->name}' archive has been deleted.'");
 }