コード例 #1
0
ファイル: AuthController.php プロジェクト: nattaphat/cuse2
 public function registerAction()
 {
     Input::flash();
     $data = Input::all();
     $nhc_config = Config::get('nhc/site.init_privacy');
     $rules = array('fname' => 'required', 'agency_id' => 'required', 'username' => 'required | alpha_dash', 'username' => 'required', 'password' => 'required | min:6 |same:password_confirmation', 'password_confirmation' => 'required', 'email' => 'required | email ');
     $messages = array('fname.required' => 'กรุณาระบุชื่อผู้ใช้งาน', 'agency_id.required' => 'กรุณาระหน่วยงานสังกัด', 'username.required' => 'กรุณาระบุชื่อผู้ใช้งาน', 'username.alpha_dash' => 'ชื่อผู้ใช้งานต้องประกอบด้วยตัวอักษร ตัวเลข หรืออันเดอร์สกอร์เท่านั้น', 'password.required' => 'กรุณาระบุรหัสผ่าน', 'password.min' => 'ความยามรหัสผ่านอย่างน้อย :min อักษร', 'password.same' => 'รหัสผ่านที่กรอกไม่ตรงกัน', 'password_confirmation.required' => 'กรุณาระบุรหัสผ่านอีกครั้ง', 'email.required' => 'กรุณาระบุอีเมล์', 'email.email' => 'รูปแบบอีเมล์ไม่ถูกต้อง');
     $validator = Validator::make($data, $rules, $messages);
     if ($validator->passes()) {
         $usernhc = new Usernhc();
         $ck_email = $usernhc->checkUserByEmail($data['email']);
         $ck_username = $usernhc->checkUsername($data['username']);
         if (!$ck_email && !$ck_username) {
             $usernhc->agency_id = $data['agency_id'];
             $usernhc->grp_id = $data['grp_id'];
             $usernhc->username = $data['username'];
             $usernhc->password = Hash::make($data['password']);
             $usernhc->email = $data['email'];
             $usernhc->fname = $data['fname'];
             $usernhc->lname = $data['lname'];
             $usernhc->telno = $data['telno'];
             $usernhc->status = $data['status'];
             $usernhc->save();
             //set basic privacy to new user
             $privacy = new Privacy();
             $privacy->userid = $usernhc->getUserIdByUserName($data['username']);
             // $privacy->fname = true;
             // $privacy->lname = false;
             // $privacy->email = false;
             // $privacy->telno = false;
             // $privacy->agency = false;
             // $privacy->ministry = false;
             // $privacy->role = false;
             $rs = PrivacyInit::all()->toArray();
             foreach ($rs as $key => $value) {
                 $result[$value['name_en']]['val'] = $value['init_value'];
                 $result[$value['name_en']]['th'] = $value['name_th'];
                 $result[$value['name_en']]['en'] = $value['name_en'];
             }
             $privacy->fname = $result['fname']['val'];
             $privacy->lname = $result['lname']['val'];
             $privacy->email = $result['email']['val'];
             $privacy->telno = $result['telno']['val'];
             $privacy->agency = $result['agency']['val'];
             $privacy->ministry = $result['ministry']['val'];
             $privacy->role = $result['role']['val'];
             $privacy->save();
             $role = new RoleUser();
             $role->role_id = 6;
             $role->user_id = $usernhc->getUserIdByUserName($data['username']);
             $role->save();
             return Redirect::route('login')->with('success', 'ระบบบันทึกการลงทะเบียนสำเร็จกรุณารอ 24 ชั่วโมงจึงจะสามารถเข้าใช้งานระบบได้');
         } else {
             return Redirect::route('regis')->withInput()->withErrors(array('message' => 'อีเมล์หรือชื่อผู้ใช้งานมีอยู่ในระบบแล้ว'));
         }
     } else {
         return Redirect::route('regis')->withErrors($validator);
     }
 }