Modulo de forms independiente de universal3 (cuidado)
Showing
| ... | @@ -10,7 +10,7 @@ use Yajra\Datatables\Datatables; | ... | @@ -10,7 +10,7 @@ use Yajra\Datatables\Datatables; |
| use App\Notifications\WelcomeInterested; | use App\Notifications\WelcomeInterested; | ||
| use App\Notifications\NewInterestd; | use App\Notifications\NewInterestd; | ||
| use App\Notifications\EmailInvalid; | use App\Notifications\EmailInvalid; | ||
| use App\Interested; | use Onestartup\CrmForms\Model\Interested; | ||
| use App\User; | use App\User; | ||
| use Jenssegers\Agent\Agent; | use Jenssegers\Agent\Agent; | ||
| use Onestartup\CrmForms\Model\InterestedDetail; | use Onestartup\CrmForms\Model\InterestedDetail; | ||
| ... | @@ -22,90 +22,37 @@ class CrmFormsController extends Controller | ... | @@ -22,90 +22,37 @@ class CrmFormsController extends Controller |
| { | { | ||
| public function store(RequestInterested $request) | public function store(RequestInterested $request) | ||
| { | { | ||
| error_log("$request"); | |||
| $agent = new Agent(); | |||
| $agent->setUserAgent($request->header('User-Agent')); | |||
| $browser = $agent->browser(); | |||
| $browser_version = $agent->version($browser); | |||
| $devise = $agent->device(); | |||
| $platform = $agent->platform(); | |||
| $platform_version = $agent->version($platform); | |||
| $session_time = $request->session_time; | |||
| if ($agent->isMobile()){ | |||
| $devise_type = "Mobil"; | |||
| }elseif($agent->isTablet()){ | |||
| $devise_type = "Tablet"; | |||
| }elseif($agent->isDesktop()){ | |||
| $devise_type = "Desktop"; | |||
| }else{ | |||
| $devise_type = "Otro"; | |||
| } | |||
| $agent->isMobile(); | |||
| $agent->isTablet(); | |||
| $user = User::find(1); | $user = User::find(1); | ||
| if($request->desc2 == "" && $request->email2 == "[email protected]" && strpos($request->email, "@mail.ru") === false){ | if(!($request->desc2 == "" && $request->email2 == "[email protected]" && strpos($request->email, "@mail.ru") === false)){ | ||
| return redirect()->back()->withInput(); | |||
| if (config('crmforms.validate_email')) { //Se activa la opcion de validar emails por API | } | ||
| $url = "https://apps.emaillistverify.com/api/verifyEmail?secret=".env('KEY_VERIFY')."&email=".$request->email; | |||
| $client = new \GuzzleHttp\Client(); | |||
| $res = $client->request('GET', $url); | |||
| $respuesta = $res->getBody(); | |||
| if ( $respuesta == 'ok') { //Si el correo es valido | |||
| $interested = Interested::create($request->all()); | |||
| $interested->notify(new WelcomeInterested()); | |||
| $user->notify(new NewInterestd($interested)); | |||
| $interested_details = InterestedDetail::firstOrNew(['interested_id' => $interested->id]); | |||
| $interested_details->browser = $browser; | |||
| $interested_details->browser_version = $browser_version; | |||
| $interested_details->devise = $devise; | |||
| $interested_details->platform = $platform; | |||
| $interested_details->platform_version = $platform_version; | |||
| $interested_details->session_time = $session_time; | |||
| $interested_details->devise_type = $devise_type; | |||
| $interested_details->save(); | |||
| } else { // Si el correo no es valido | |||
| $user->notify(new EmailInvalid($request->all())); | |||
| return redirect() | |||
| ->back() | |||
| ->withInput() | |||
| ->with('fail', 'fail'); | |||
| } | |||
| } else { // No se valida el correo por api, va directo a la bd | |||
| $interested = Interested::create($request->all()); | |||
| $interested->notify(new WelcomeInterested()); | |||
| $user->notify(new NewInterestd($interested)); | |||
| $interested_details = InterestedDetail::firstOrNew(['interested_id' => $interested->id]); | |||
| $interested_details->browser = $browser; | |||
| $interested_details->browser_version = $browser_version; | |||
| $interested_details->devise = $devise; | |||
| $interested_details->plataform = $platform; | |||
| $interested_details->plataform_version = $platform_version; | |||
| $interested_details->session_time = $session_time; | |||
| $interested_details->devise_type = $devise_type; | |||
| $interested_details->save(); | |||
| } | |||
| return redirect() | if (config('crmforms.validate_email')) { //Se activa la opcion de validar emails por API | ||
| ->route('crmforms.redirect', $request->landing) | $url = "https://apps.emaillistverify.com/api/verifyEmail?secret=".env('KEY_VERIFY')."&email=".$request->email; | ||
| ->with('registrado', 'registrado') | $client = new \GuzzleHttp\Client(); | ||
| ->with('message_success', 'Hemos recibido tu solicitud, en breve nos comunicaremos contigo'); | $res = $client->request('GET', $url); | ||
| $respuesta = $res->getBody(); | |||
| if ( $respuesta == 'ok') { //Si el correo es valido | |||
| $this->createInterested($request, $user); | |||
| } else { // Si el correo no es valido | |||
| $user->notify(new EmailInvalid($request->all())); | |||
| return redirect() | |||
| ->back() | |||
| ->withInput() | |||
| ->with('fail', 'fail'); | |||
| } | |||
| } else { // No se valida el correo por api, va directo a la bd | |||
| $this->createInterested($request, $user); | |||
| } | |||
| }else{ | return redirect() | ||
| return redirect()->back(); | ->route('crmforms.redirect', $request->landing) | ||
| } | ->with('registrado', 'registrado') | ||
| ->with('message_success', 'Hemos recibido tu solicitud, en breve nos comunicaremos contigo'); | |||
| } | } | ||
| public function redirect($landing) | public function redirect($landing) | ||
| ... | @@ -128,4 +75,56 @@ class CrmFormsController extends Controller | ... | @@ -128,4 +75,56 @@ class CrmFormsController extends Controller |
| } | } | ||
| } | } | ||
| private function createInterested($request, $user){ | |||
| $agent = new Agent(); | |||
| $agent->setUserAgent($request->header('User-Agent')); | |||
| $browser = $agent->browser(); | |||
| $browser_version = $agent->version($browser); | |||
| $devise = $agent->device(); | |||
| $platform = $agent->platform(); | |||
| $platform_version = $agent->version($platform); | |||
| $session_time = $request->session_time; | |||
| if ($agent->isMobile()){ | |||
| $devise_type = "Mobil"; | |||
| }elseif($agent->isTablet()){ | |||
| $devise_type = "Tablet"; | |||
| }elseif($agent->isDesktop()){ | |||
| $devise_type = "Desktop"; | |||
| }else{ | |||
| $devise_type = "Otro"; | |||
| } | |||
| $agent->isMobile(); | |||
| $agent->isTablet(); | |||
| $interested = Interested::create($request->all()); | |||
| $interested->notify(new WelcomeInterested()); | |||
| $user->notify(new NewInterestd($interested)); | |||
| $interested_details = InterestedDetail::firstOrNew(['interested_id' => $interested->id]); | |||
| $interested_details->browser = $browser; | |||
| $interested_details->browser_version = $browser_version; | |||
| $interested_details->devise = $devise; | |||
| $interested_details->platform = $platform; | |||
| $interested_details->platform_version = $platform_version; | |||
| $interested_details->session_time = $session_time; | |||
| $interested_details->devise_type = $devise_type; | |||
| $interested_details->save(); | |||
| } | |||
| public static function functionName($slug) { | |||
| $slug_landing = preg_replace('/[,]|[:]|[.]|[,]|[ ]/','-',$slug); | |||
| $slug_landing = str_replace(["â","á","à","ä"],'a',$slug_landing); | |||
| $slug_landing = str_replace(["ê","é","è","ë"],'e',$slug_landing); | |||
| $slug_landing = str_replace(['í','ì','î','ï'],'i',$slug_landing); | |||
| $slug_landing = str_replace(['ó','ò','ô','ö'],'o',$slug_landing); | |||
| $slug_landing = str_replace(['ú','ù','û','ü'],'u',$slug_landing); | |||
| $slug_landing = str_replace(['ñ'],'n',$slug_landing); | |||
| $slug_landing = strtolower($slug_landing); | |||
| return $slug_landing; | |||
| } | |||
| } | } |
src/model/Interested.php
0 → 100644
Please
register
or
sign in
to comment