public function postComplete() { $this->loadQuestions(); $this->howfit = Session::get('result'); $this->baseline = Session::get('baseline'); $validate_data = Input::except('_token'); $rules = array('fname' => 'required', 'sname' => 'required', 'email' => 'required', 'company' => 'required', 'country' => 'required', 'terms' => 'required'); $validator = Validator::make($validate_data, $rules); if ($validator->passes()) { Session::put('user', $validate_data); $screener1 = $this->quiz['demographics']['pages']['page1']['questions']['s1']['selected']; $screener2 = $this->quiz['demographics']['pages']['page2']['questions']['s2']['selected']; $screener3 = $this->quiz['demographics']['pages']['page3']['questions']['s3']['selected']; //update source $currentLocal = App::getLocale(); $localQuestions = $currentLocal == 'en' ? '' : $currentLocal; $source = array('C_emailAddress' => $validate_data['email'], 'C_FirstName' => $validate_data['fname'], 'C_LastName' => $validate_data['sname'], 'C_Company' => $validate_data['company'], 'C_Country' => $validate_data['country'], 'C_BusPhone' => $validate_data['phone'], 'C_Job_Responsibilities_1' => $screener1 == Config::get($localQuestions . 'questions.screeners.pages.page1.questions.s1.options.0.label') ? "IT" : "Business / Operations", 'C_NumberofEmployees_Range_1' => $screener2, 'form_source' => Input::get('form_source')); Session::put('source', $source); //save in db $user = new User(); $user->fname = $validate_data['fname']; $user->lname = $validate_data['sname']; $user->email = $validate_data['email']; $user->company = $validate_data['company']; $user->country = $validate_data['country']; $user->tel = $validate_data['phone']; $user->referer = $validate_data['referer']; $user->quiz = json_encode($this->quiz); $user->result = json_encode($this->howfit); $user->save(); $this->userid = $user->id; $validate_data['userid'] = $user->id; //generate report $this->generateReport(); $curloc = App::getLocale(); /*if(!App::isLocal()){ //send guzzle request $client = new GuzzleHttp\Client(); $url = 'https://s2048.t.eloqua.com/e/f2.aspx'; //$url = 'http://www.google.com'; try { $request = $client->createRequest('GET', $url); $query = $request->getQuery(); $query['elqFormName'] = Lang::get('general.extFormName'); $query['elqSiteID'] = '2048'; foreach($source as $key=>$item){ $query[$key] = $item; } $response = $client->send($request); } catch (GuzzleHttp\Exception\RequestException $e) { Mail::queue('emails.errors', array('process'=>'Guzzle', 'message'=>$e->getMessage(), 'time'=>date('l jS \of F Y h:i:s A')), function($message) { $message->to('*****@*****.**', 'Roark McColgan')->subject('Error on Converged Infrastructure - Maturity Benchmark! ('.$curloc.')'); }); } }*/ $subject = Lang::get('email.report'); //send mail to user Mail::queue('emails.' . $curloc . 'download', array('fname' => $validate_data['fname'], 'sname' => $validate_data['sname'], 'userid' => $validate_data['userid']), function ($message) use($validate_data, $subject, $curloc) { $message->to($validate_data['email'], $validate_data['fname'] . ' ' . $validate_data['sname'])->subject($subject); }); //send mail to notification people if (App::isLocal()) { $emails = ['*****@*****.**']; } else { $emails = ['*****@*****.**', '*****@*****.**']; } Mail::queue('emails.notification', array('fname' => $validate_data['fname'], 'sname' => $validate_data['sname'], 'email' => $validate_data['email'], 'company' => $validate_data['company'], 'phone' => $validate_data['phone'], 'screener1' => $this->quiz['demographics']['pages']['page1']['questions']['s1']['selected'], 'screener2' => $this->quiz['demographics']['pages']['page2']['questions']['s2']['selected'], 'screener3' => $this->quiz['demographics']['pages']['page3']['questions']['s3']['selected'], 'score' => $this->howfit['overall']['score'], 'rating' => $this->howfit['overall']['rating'], 'userid' => $validate_data['userid']), function ($message) use($validate_data, $emails, $curloc) { $message->to($emails)->subject('Conferged Infrastructure Quiz completed (' . $curloc . ')'); }); $vars = array('heading' => Lang::get('general.title'), 'sub1' => Lang::get('general.hi') . ', ' . $validate_data['fname'], 'sub2' => Lang::get('general.soon'), 'tweet' => $this->baseline['overall']['types'][$this->howfit['overall']['rating']]['tweet'], 'colour' => 'orange', 'script' => [' _gaq.push([\'_trackEvent\', \'Form Submit\', \'Registration\']); '], 'quiz' => $this->quiz); /*if(Cookie::has('quiz_progress')){ $progress_id = Cookie::get('quiz_progress'); $progress = Progress::find($progress_id); if($progress) $progress->delete(); } $cookie = Cookie::forget('quiz_progress');*/ //return View::make('thankyou',$vars)->withCookie($cookie); return View::make('thankyou', $vars); } Input::flashExcept('_token'); return Redirect::to(getLang() . 'quiz/complete')->withErrors($validator); }
public function submitNewAccount() { if (Session::has('username') && Session::get('user_type') == "Root") { $user = Input::all(); $validator = Validator::make(array("username" => $user["username"], "first_name" => $user["first_name"], "last_name" => $user["last_name"], "password" => $user["password"], "password2" => $user["password2"], "user_class" => $user["user_class"], "user_type" => $user["user_type"]), array("username" => "required|alpha_dash|min:4|max:15", "first_name" => "required", "last_name" => "required", "password" => "required|min:8|max:20", "password2" => "required|min:8|max:20", "user_class" => "required", "user_type" => "required")); if ($validator->fails()) { Input::flashExcept("password", "password2"); return Redirect::to('accounts/addaccount')->with('message', $validator->messages()->first()); } else { if (!preg_match('/^[\\pL\\s]+$/u', $user["first_name"]) || !preg_match('/^[\\pL\\s]+$/u', $user["last_name"])) { Input::flash(); return Redirect::to('accounts/addaccount')->with('message', "First name and last name must only contain alpabetic characters and whitespaces."); } else { if ($user["password"] != $user["password2"]) { Input::flashExcept("password", "password2"); return Redirect::to('accounts/addaccount')->with('message', "Passwords didn't match. Please try again."); } else { if (User::where("username", "=", $user["username"])->first()) { Input::flashExcept("password", "password2"); return Redirect::to('accounts/addaccount')->with('message', "Username already exists!"); } else { $desc = "(" . Session::get('user_class') . " -> " . Session::get('user_type') . ") " . "<strong>" . Session::get('username') . "</strong> has created a new <strong>" . strtolower($user["user_type"]) . "</strong> account under " . $user["user_class"] . " department: <strong>" . $user["username"] . "</strong>."; $newUser = new User(); $newUser->username = trim($user["username"]); $newUser->first_name = trim($user["first_name"]); $newUser->last_name = trim($user["last_name"]); $newUser->password = Hash::make($user["password"]); $newUser->user_class = $user["user_class"]; $newUser->user_type = $user["user_type"]; $newUser->save(); //Log the changes made $newLog = new UserLog(); $newLog->description = $desc; $newLog->user_id = Session::get('user_id'); $newLog->type = "System"; $newLog->save(); return Redirect::to('accounts/addaccount')->with('success', "You have successfully created a new account."); } } } } } else { return Redirect::to('/'); } }
public function authenticate() { if (Session::has('username') && (Session::get('user_class') == "Root" || Session::get('user_class') == "IT" && Session::get('user_type') == "Admin" || Session::get('user_class') == "LAB" && Session::get('user_type') == "Admin")) { return Redirect::to('accounts'); } else { if (Session::has('username') && Session::get('user_class') == "IT") { if (Session::get('user_type') == "Admin") { return Redirect::to('accounts'); } else { if (Session::get('user_type') == "User") { return Redirect::to('assets'); } } } else { if (Session::has('username') && Session::get('user_class') == "LAB") { if (Session::get('user_type') == "Admin") { return Redirect::to('accounts'); } else { if (Session::get('user_type') == "User") { return Redirect::to('assets'); } } } else { $username = Input::get('username'); $password = Input::get('password'); $validator = Validator::make(array('username' => trim($username), 'password' => $password), array('username' => 'required|alphadash', 'password' => 'required')); if ($validator->fails()) { Input::flashExcept('password'); return Redirect::to('login')->with('message', $validator->messages()->first()); } else { if (!Auth::attempt(array('username' => $username, 'password' => $password))) { Input::flashExcept('password'); return Redirect::to('login')->with('message', 'Invalid login credentials.'); } else { if (!Auth::attempt(array('username' => $username, 'password' => $password, 'status' => 1))) { Input::flashExcept('password'); return Redirect::to('login')->with('message', 'Account not yet activated. Please contact your administrator.'); } else { $user = User::where('username', '=', $username)->first(); Session::put('user_id', $user->id); Session::put('username', $username); Session::put('first_name', $user->first_name); Session::put('last_name', $user->last_name); Session::put('user_type', $user->user_type); Session::put('user_class', $user->user_class); return Redirect::to('/'); } } } } } } }
/** * Update the specified resource in storage. * * @param int $id * @return Response */ public function update($id) { // if ($this->isAdminRequest()) { $rules = array('title' => 'required', 'warranty_icon' => 'image|max:20000', 'warranty_pdf' => 'mimes:pdf|max:20000', 'brochure_pdf' => 'mimes:pdf|max:20000', 'category_image' => 'image|max:20000'); $validator = Validator::make(Input::all(), $rules); // process the login if ($validator->fails()) { return Redirect::to('admin/products/' . $id . '/edit')->withErrors($validator)->withInput(Input::flashExcept('warranty_pdf', 'warranty_icon', 'brochure_pdf', 'category_image')); } else { if (Input::file('warranty_icon') && Input::file('warranty_icon')->isValid()) { $ext = Input::file('warranty_icon')->getClientOriginalExtension(); $warranty_icon_filename = $id . "_icon_" . time() . "." . $ext; Input::file('warranty_icon')->move(Config::get('uploads.warranty_icon'), $warranty_icon_filename); } if (Input::file('warranty_pdf') && Input::file('warranty_pdf')->isValid()) { $ext = Input::file('warranty_pdf')->getClientOriginalExtension(); $warranty_pdf_filename = $id . "_pdf_" . time() . "." . $ext; Input::file('warranty_pdf')->move(Config::get('uploads.warranty_pdf'), $warranty_pdf_filename); } if (Input::file('brochure_pdf') && Input::file('brochure_pdf')->isValid()) { $ext = Input::file('brochure_pdf')->getClientOriginalExtension(); $brochure_pdf_filename = $id . "_b_" . time() . "." . $ext; Input::file('brochure_pdf')->move(Config::get('uploads.brochure_pdf'), $brochure_pdf_filename); } if (Input::file('category_image') && Input::file('category_image')->isValid()) { $ext = Input::file('category_image')->getClientOriginalExtension(); $category_image_filename = $id . "_b_" . time() . "." . $ext; Input::file('category_image')->move(Config::get('uploads.category_image'), $category_image_filename); } $productcategory = ProductCategory::find($id); $productcategory->title = Input::get('title'); $productcategory->short_description = Input::get('short_description'); $productcategory->long_description = Input::get('long_description'); $productcategory->parent_category = Input::get('parent_category'); $productcategory->product_active = Input::get('product_active'); $productcategory->product_features = Input::get('product_features'); if (isset($warranty_icon_filename) && $warranty_icon_filename) { $productcategory->warranty_icon = $warranty_icon_filename; } if (isset($warranty_pdf_filename) && $warranty_pdf_filename) { $productcategory->warranty_pdf = $warranty_pdf_filename; } if (isset($brochure_pdf_filename) && $brochure_pdf_filename) { $productcategory->brochure_pdf = $brochure_pdf_filename; } if (isset($category_image_filename) && $category_image_filename) { $productcategory->category_image = $category_image_filename; } $productcategory->save(); // redirect Session::flash('message', 'Successfully updated ' . Input::get('title')); return Redirect::to('admin/products'); //return Redirect::route('register.confirm')->with('user', $user->id); } } }