public function request() { $api = new Api(); $data = []; if ($api->key()) { try { $data = $api->ContrInfo(); } catch (\Exception $e) { } } $rules = ['address1' => 'required', 'address2' => 'required', 'orderText' => 'required', 'comment' => '']; // тип формы "новый клиент" (иначе - авторизованный) if (!$api->key()) { Validation::prepareInput(['phone']); $rules['phone'] = 'required|phone'; $rules['email'] = 'required|email'; } Input::merge(array_map('trim', Input::all())); $validator = \Validator::make(Input::all(), $rules); if ($validator->fails()) { return $this->responseError($validator, $validator->errors()->first()); } $fields = array_keys($rules); foreach ($fields as $key) { $data[$key] = Input::get($key); } Mailer::requestOrderMessage($data); OrderRequest::unguard(); OrderRequest::create(['email' => $data['email'], 'phone' => Customer::instance()->phone($data['phone']), 'address1' => $data['address1'], 'address2' => $data['address2'], 'orderText' => $data['orderText'], 'comment' => $data['comment']]); return $this->responseSuccess(['email' => $data['email'], 'phone' => Customer::instance()->phone($data['phone']), 'address' => $data['address1']], 'Заказ оформлен'); }
public function boot() { View::addNamespace('mailer', __DIR__ . '/../src/Components/views/mailer'); View::addNamespace('cmd', app_path() . '/commands/views'); View::addNamespace('socials', app_path('/src/Components/views/socials')); View::addNamespace('flash', app_path('src/Components/views/flashes')); View::addExtension('html', 'php'); Validation::extend(); }
public function create() { Validation::prepareInput(['phone']); $validator = Validator::make(Input::all(), ['name' => 'required|min:3', 'phone' => 'required|min:10', 'email' => 'required|email', 'text' => 'required|min:10']); if ($validator->fails()) { return $this->responseError($validator, 'Исправьте ошибки в полях формы'); } Mailer::feedbackMessage(['name' => Input::get('name'), 'phone' => Input::get('phone'), 'email' => Input::get('email'), 'text' => Input::get('text')]); return $this->responseSuccess(); }
public function boot() { View::addNamespace('ac', __DIR__ . '/../src/Account/views'); View::addExtension('html', 'php'); Validation::extend(); }
/** * изменение данных клиентом * * @return \Illuminate\Http\JsonResponse */ public function formUser() { Validation::prepareInput(['phone', 'phone2']); $fields = ['name', 'phone', 'phone2', 'email', 'address']; $validator = Validation::validator($fields); if ($validator->fails()) { return $this->responseError($validator, 'Некорректные данные'); } $api = new Api(); $api->SaveInfo(Input::only($fields)); return Response::json(['data' => '', 'message' => 'Данные успешно сохранены']); }
/** * регистрация * @return \Response */ public function register() { Validation::prepareInput(['phone']); // всегда обязательные поля $fields = ['name', 'phone', 'email']; // регистрация может быть основна на адресе, // который был определен по промокоду if (\Input::get('address_id')) { $fields[] = 'address_id'; } elseif (\Input::get('address')) { $fields[] = 'address'; } else { // или при регистрации указывается полный адрес $fields[] = 'city'; $fields[] = 'street'; $fields[] = 'house'; $fields[] = 'room'; $fields[] = 'float'; } $validator = Validation::validator($fields); if ($validator->fails()) { return $this->responseError($validator, 'Некорректные данные'); } try { $api = new Api(); $message = $api->RegistrNew(\Input::only($fields)); // инвайт $invite = new InviteComponent(); $cookie = $invite->registerInviteExternal($validator->getData()['phone']); $response = $this->responseSuccess([], $message); if ($cookie) { $response->withCookie($cookie); } return $response; } catch (\Exception $e) { return $this->responseException($e, 'Не удалось обработать данные'); } }