public function register() { if (Request::ajax()) { $data = Input::all(); $error = false; $errorMsg = ''; try { // Validate $this->registerForm->validate($data); } catch (FormValidationException $e) { $error = true; $errorMsg = $e->getErrors(); } if (!$error) { if ($this->customersCls->getUserByEmail($data['email'])) { $errorMsg = (object) array('email' => 'Email này đã được đăng kí. Vui lòng nhập email khác!'); $error = true; } else { $insertArray = array('customer_email' => $data['email'], 'customer_password' => $data['password'], 'customer_code' => AutoGenerate::generateUniqueCustomersCode(), 'customer_name' => $data['username'], 'customer_address' => $data['address'], 'customer_phone' => $data['phone']); if ($this->customersCls->insert($insertArray)) { Session::put('customer_email', $data['email']); Session::put('customer_name', $data['username']); Session::put('register_flag', true); } } } $result = array("error" => $error, "error_msg" => $errorMsg); return json_encode($result); } }
/** * Check user login, then insert or update info of user * @param object $userData */ public function findByUserNameOrCreate($userData) { $user = $this->getUserByEmail($userData->email); if (!$user) { $user = array('customer_email' => $userData->email, 'customer_name' => $userData->name, 'customer_code' => AutoGenerate::generateUniqueCustomersCode()); $this->insert($user); } $this->checkIfUserNeedsUpdating($userData, $user); Session::put('customer_email', $userData->email); Session::put('customer_name', $userData->name); }