public function form($attr, $content = null, $name = null)
 {
     $idForm = (int) array_get($attr, 'id');
     $form = Forms::find($idForm);
     if ($form->id) {
         $templateForm = 'formbuilder::front.form';
         $content = view($templateForm, compact('form', 'attr'))->render();
     }
     return $content;
 }
Beispiel #2
0
 public static function submitData($data, $dataFiles)
 {
     $bResult = false;
     $formId = array_get($data, 'formbuilder_id');
     $locale = array_get($data, 'formbuilder_locale');
     $clientIp = array_get($data, 'client_ip');
     $formBuilder = Forms::find($formId);
     if ($formBuilder->id) {
         DB::beginTransaction();
         try {
             $formSubmit = new self();
             $formSubmit->form_id = $formId;
             $formSubmit->locale = $locale;
             $formSubmit->client_ip = $clientIp;
             $formSubmit->save();
             $formSubmitId = $formSubmit->id;
             $order = 0;
             foreach ($data as $key => $value) {
                 if (!in_array($key, $formSubmit->unSaveField)) {
                     $formSubmitData = new FormSubmitData();
                     $formSubmitData->submit_id = $formSubmitId;
                     $formSubmitData->field_name = $key;
                     $formSubmitData->field_value = $value;
                     $formSubmitData->field_order = $order;
                     $formSubmitData->save();
                     ++$order;
                     FormbuilderShortcode::registerSubmitShortcode($key, $value);
                 }
             }
             foreach ($dataFiles as $key => $value) {
                 if (!in_array($key, $formSubmit->unSaveField)) {
                     $formSubmitData = new FormSubmitData();
                     $formSubmitData->submit_id = $formSubmitId;
                     $formSubmitData->field_name = $key;
                     $formSubmitData->field_value = $value;
                     $formSubmitData->field_order = $order;
                     $formSubmitData->is_file = 1;
                     $formSubmitData->save();
                     ++$order;
                     FormbuilderShortcode::registerSubmitShortcode($key, $value);
                 }
             }
             DB::commit();
             $formMail = new FormMail();
             $formMail->sendMail($formSubmitId, $locale);
             event(new FormbuilderEvent('submit_form', $data));
             $bResult = true;
         } catch (\Exception $ex) {
             Log::info($ex);
             DB::rollback();
         }
     }
     return $bResult;
 }
 /**
  * Store a newly created resource in storage.
  *
  * @param Request $request
  *
  * @return Response
  */
 public function send(FormcustomRequest $request)
 {
     $data = $request->all();
     $formId = array_get($data, 'formbuilder_id');
     $locale = array_get($data, 'formbuilder_locale');
     $data['client_ip'] = $request->ip();
     $files = $request->file();
     $form = Forms::find($formId);
     $image = new Securimage();
     $fields = $form->getFields();
     $successMsg = trans('formbuilder::formbuilder.message.success_submit');
     $errorMsg = trans('formbuilder::formbuilder.message.error_submit');
     if (!$this->checkCaptcha($fields, $image)) {
         flash()->error(trans('formbuilder::formbuilder.message.error_captcha'));
         return redirect()->back()->withInput();
     }
     $dataFiles = array();
     if (is_array($files)) {
         $dataFiles = $this->handleFiles($files, $formId);
     }
     if ($form->id) {
         $formMessages = $form->getFormMessages($locale);
         if ($formMessages->success != '') {
             $successMsg = $formMessages->success;
         }
         if ($formMessages->failure != '') {
             $errorMsg = $formMessages->failure;
         }
     }
     $result = FormsSubmits::submitData($data, $dataFiles);
     if ($result) {
         flash()->success($successMsg);
     } else {
         flash()->error($errorMsg);
     }
     return redirect()->back();
 }
 /**
  * @return array
  */
 public function messages()
 {
     $messages = [];
     $data = $this->request->all();
     $formId = array_get($data, 'formbuilder_id');
     $locale = array_get($data, 'formbuilder_locale');
     $formBuilder = Forms::find($formId);
     if ($formBuilder->id) {
         $formMessages = $formBuilder->getFormMessages($locale);
         if ($formMessages->invalid_required != '') {
             $messages['required'] = $formMessages->invalid_required;
         }
         if ($formMessages->invalid_email != '') {
             $messages['email'] = $formMessages->invalid_email;
         }
         if ($formMessages->invalid_url != '') {
             $messages['url'] = $formMessages->invalid_url;
         }
         if ($formMessages->invalid_date != '') {
             $messages['date_format'] = $formMessages->invalid_date;
         }
         if ($formMessages->invalid_number != '') {
             $messages['numeric'] = $formMessages->invalid_number;
         }
         if ($formMessages->invalid_number_too_small != '') {
             $messages['min'] = $formMessages->invalid_number_too_small;
         }
         if ($formMessages->invalid_number_too_large != '') {
             $messages['max'] = $formMessages->invalid_number_too_large;
         }
         if ($formMessages->invalid_phone != '') {
             $messages['regex'] = $formMessages->invalid_phone;
         }
     }
     return $messages;
 }