Guest User

Untitled

a guest
Dec 11th, 2018
56
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 7.73 KB | None | 0 0
  1. //register.blade.php
  2.  
  3. <!doctype html>
  4. <html lang="{{ app()->getLocale() }}">
  5. <head>
  6. <meta charset="utf-8">
  7. <meta http-equiv="X-UA-Compatible" content="IE=edge">
  8. <meta name="viewport" content="width=device-width, initial-scale=1">
  9. <link rel="stylesheet" href="{{ asset('css/bootstrap.min.css') }}">
  10. <link rel="stylesheet" href="{{ asset('css/layout.css') }}">
  11. <title>{{ $title }}</title>
  12. </head>
  13. <body>
  14. <div class="container">
  15. <a class="btn btn-default btn-primary" href='/auth' role="button">Назад</a>
  16. <a class="btn btn-default btn-primary" href='/' role="button">Главная страница</a>
  17. <form action="register" method="post" class="form-horizontal">
  18. <!--input name="_token" type="hidden" value="{{ csrf_token() }}"><!-- this string may be problem -->
  19. <div class="form-group">
  20. <div class="col-md-offset-4 col-md-4">
  21. <label for="form_login">Логин</label>
  22. <input type="text" class="form-control" id="form_login" name="login" placeholder="Логин" value=" {{ $login }}">
  23. </div>
  24. </div>
  25. <div class="form-group">
  26. <div class="col-md-offset-4 col-md-4">
  27. <label for="form_password">Пароль</label>
  28. <input type="password" class="form-control" id="form_password" name="password" placeholder="Пароль">
  29. </div>
  30. </div>
  31. <div class="form-group">
  32. <div class="col-md-offset-4 col-md-4">
  33. <label for="form_fio">Ф.И.О.</label>
  34. <input type="text" class="form-control" id="form_fio" name="fio" placeholder="Ф.И.О." value="{{ $fio }}">
  35. </div>
  36. </div>
  37. <div class="form-group">
  38. <div class="col-md-offset-4 col-md-4">
  39. <label for="form_email">Email</label>
  40. <input type="email" class="form-control" id="form_email" name="email" placeholder="Email" value="{{ $email }}">
  41. </div>
  42. </div>
  43. <div class="form-group">
  44. <div class="col-md-offset-4 col-md-4">
  45. <input id="submit" class="form-control btn btn-block btn-primary" type="submit" value="Отправить">
  46. </div>
  47. </div>
  48. </form>
  49. <!-- </*?php
  50. TestValidation::showErrors($args['errors']);
  51. ?*/> -->
  52. </div>
  53. <script src="{{ asset('js/jquery-3.2.0.js') }}"></script>
  54. <script src="{{ asset('js/validationMessage.js') }}"></script>
  55. </body>
  56. </html>
  57.  
  58. // RegisterController.php
  59.  
  60. <?php
  61.  
  62. namespace App\Http\Controllers;
  63.  
  64. use App\User;
  65. use Illuminate\Http\Request;
  66. use Illuminate\Support\Facades\Validator;
  67.  
  68. class RegisterController extends Controller
  69. {
  70. public static function route(Request $request){
  71. $controller = new RegisterController();
  72. $cookie = new SessionController();
  73. $cookie->forbiddenAccess(true);
  74.  
  75. if($request->has('register')){
  76. $email = $request->input('email');
  77. $login = $request->input('login');
  78. $fio = $request->input('fio');
  79. $result = $controller->validateReg($request,1000,5);
  80. } else {
  81. $email = null;
  82. $login = null;
  83. $fio = null;
  84. $result = null;
  85. }
  86. return view('register')->with([
  87. //'sitename' => IndexController::$name,
  88. 'title' => 'Регистрация'.PageInfoController::getTitle(),
  89. 'login' => $login,
  90. 'email' => $email,
  91. 'fio' => $fio,
  92. //'code' => $code,
  93. 'result' => $result
  94. ]);
  95. echo $result;//may be error;
  96. }
  97.  
  98. public function validateReg(Request $request,$account,$status){
  99. $modelUser = new User();
  100. $input = array(
  101. 'login' => $request->input('login'),
  102. 'password' => $request->input('password'),
  103. 'email' => $request->input('email'),
  104. 'fio' => $request->input('fio')
  105. );
  106. $rules = array(
  107. 'login' => 'required|unique:users,login',
  108. 'password' => 'required|min:8',
  109. 'email' => 'required|email|unique:users,email',
  110. 'fio' => 'required'
  111.  
  112. );
  113. $messages = array(
  114. 'same' => 'Поле :attribute и :other не совпадают.',
  115. 'required' => 'Заполните обязательные поля.',
  116. 'email' => 'Введенный :attribute содержит ошибки.',
  117. 'unique' => 'Введенный :attribute уже был зарегистрирован ранее.',
  118. 'date_format' => 'Дата введена в неверном формате.',
  119. 'before' => 'День рождения не может быть задан в будущем.',
  120. 'min' => 'Длина поля :attribute должна быть более :min',
  121. );
  122. $validator = Validator::make($input,$rules,$messages);
  123.  
  124. if(!$validator->fails()){
  125. $user = new User();
  126. $session = new SessionController();
  127. $user->add($request,$account,$status);//this method create node in user
  128. $session->setSession($modelUser->getIdByLogin($request->input('login')));
  129. echo $session."<br>".$modelUser;//may be error;
  130.  
  131. return header('Location: /');
  132. echo $session."<br>".$modelUser;//may be error;
  133. } else {
  134. $messages = $validator->messages();
  135. foreach ($messages->all(':message') as $message) return $message;
  136. }
  137. }
  138. }
  139.  
  140. // User.php
  141.  
  142. <?php
  143.  
  144. namespace App;
  145.  
  146. use Illuminate\Database\Eloquent\Model;
  147. use Illuminate\Http\Request;
  148.  
  149. class User extends Model
  150. {
  151. public function add(Request $request,$account,$status){
  152. $notification = new Notifications();
  153. $user = new User();
  154. $user->login = $request->input('login');
  155. $user->password = password_hash($request->input('password'), PASSWORD_DEFAULT, ['cost' => 12]);
  156. $user->fio = $request->input('fio');
  157. $user->email = $request->input('email');
  158. $user->status = $status;//instad role_id
  159. $user->save();
  160. $title = 'Поздравляем Вас с упешной регистрацией!';
  161. $notification->add($user->id,$title);
  162. }
  163.  
  164. public function isAuth($login,$password){
  165. $user = User::where('login', $login)->first();
  166. if ($user !== null)
  167. if (password_verify($password, $user->password))
  168. return true;
  169. return false;
  170. }
  171.  
  172. public function isEmailExist($email){
  173. $user = User::where('email', $email)->first();
  174. if($user !== null)
  175. return true;
  176. return false;
  177. }
  178.  
  179. public function isLoginExist($login){
  180. $user = User::where('login', $login)->first();
  181. if($user !== null)
  182. return true;
  183. return false;
  184. }
  185.  
  186. public function getIdByEmail($email){
  187. $user = User::where('email', $email)->first();
  188. return $user->id;
  189. }
  190. public function getFioById($id){
  191. $user = User::where('id',$id)->first();
  192. return $user->fio;
  193. }
  194.  
  195. public function getLoginById($id){
  196. $user = User::where('id', $id)->first();
  197. return $user->login;
  198. }
  199.  
  200. public function getEmailById($id){
  201. $user = User::where('id', $id)->first();
  202. return $user->email;
  203. }
  204.  
  205. public function isAdmin($id){
  206. $user = User::where('id', $id)->first();
  207. if($user!=null)
  208. if($user->status == 1)
  209. return true;
  210. return false;
  211. }
  212.  
  213. public function get($id){
  214. $user = User::find($id);
  215. return $user;
  216. }
  217. public $timestamps = false;
  218. }
Add Comment
Please, Sign In to add comment