/** * Login function * * @param \Illuminate\Http\Request $request * @return \Illuminate\Http\Response */ public function index(Request $request) { // find user object by username. $user = User::find($request->get('username')); // Is user exist in storage. if ($user == null) { $error = 1; $error_msg = "Login are incorrect. Please try again!"; return response()->json(['error' => $error, 'error_msg' => $error_msg]); } else { // Check password if ($user->password == sha1($request->get('password'))) { $error = 0; // generate session token $session = new Session(); $session->token = md5(microtime() . $_SERVER['REMOTE_ADDR']); $session->user_id = $user->id; $session->is_expired = 0; $session->save(); //return view('session')->with($session->toArray()); return response()->json(['error' => $error, 'token' => $session->token]); } else { $error = 1; $error_msg = "Login are incorrect. Please try again!"; return response()->json(['error' => $error, 'error_msg' => $error_msg]); } } //return view('index')->with($user->toArray()); }
public function addSession(SessionRequest $request, Session $session) { $session->session = $request->get('session'); $saved = $session->save(); if ($saved) { return redirect()->back()->with('info', 'Session saved succesfully'); } return redirect()->back()->with('info', 'An unknow error occured. Please try again.'); }
/** * Update the specified resource in storage. * * @param int $id * @return Response */ public function update(MonthlyReportRequest $request, $id) { //Find report $report = MonthlyReport::find($id); //Getting all the information of the form, expect the user id, //due to keep the report related with its creator $report->fill($request->except('user_id')); $report->save(); //If the student is absent, it is not necessary create the sessions if ($report->student_present == true) { //##Updating the old sessions $sessionsIds = array(); foreach ($request->input('old', array()) as $id => $sessionData) { $session = Session::find($id) ?: new Session(); $session->fill($sessionData); $session->save(); $sessionsIds[] = $session->id; } //##Delete the unused sessions //Getting all sessions ids $sessionsToRemove = array(); foreach ($report->sessions()->get() as $session) { $sessionsToRemove[] = $session->id; } //The ids that are different from sessionsIds, must be deleted $sessionsToRemove = array_diff($sessionsToRemove, $sessionsIds); foreach ($sessionsToRemove as $id) { Session::find($id)->delete(); } //##Inserting new sessions //Creating the new sessions $sessionsIds = array(); foreach ($request->input('new', array()) as $id => $sessionData) { $session = new Session(); $session->fill($sessionData); $session->monthly_report_id = $report->id; $session->save(); } } else { //If the student is absent, delete all recorded sessions foreach ($report->sessions()->get() as $session) { $session->delete(); } } //Sending the user to the monthly report return redirect()->route('monthlyreport/index'); }
private function recogniseAddress($saidWord, Session $session) { for ($i = 0, $l = count($this->addressPatterns); $i < $l; $i++) { $pattern = $this->addressPatterns[$i]; if (mb_strpos($saidWord, $pattern) !== false) { $session->Location = $saidWord; $session->save(); return (object) ['response' => $this->getResponse('thanks')]; } } }