Viewing file: FrontController.php (7.18 KB) -rw-r--r-- Select action/file-type: (+) | (+) | (+) | Code (+) | Session (+) | (+) | SDB (+) | (+) | (+) | (+) | (+) | (+) |
<?php
namespace App\Http\Controllers;
use App\Models\Contact; use App\Models\Customer; use App\Models\CustomerStep; use App\Models\CustomerStepDetail; use App\Models\FAQ; use App\Models\Plan; use App\Models\Step; use App\Models\StepDetail; use GuzzleHttp\Client; use Illuminate\Http\Request; use Illuminate\Support\Facades\DB; use Illuminate\Support\Facades\File;
class FrontController extends Controller { public function home(Request $request){ if(get_settings('landing_page_status')=='disable'){ return redirect()->route('login'); } $data['local_setting'] = json_decode(get_settings('local_setting')); $data['faqs'] = FAQ::where('status', 'active')->get();
$data['plans']=Plan::where('status', 'active')->get();
return view('front.index',$data); }
public function chooseProgram(){ $data['steps']=Step::where('status','active')->with('step_details')->orderBy('id', 'asc')->get();
if(isset(auth('customer')->user()->plan) && isset(auth('customer')->user()->plan->plan_id)){ $data['plans']=Plan::where('status', 'active')->where('id', '!=', auth('customer')->user()->plan->plan_id)->get(); }else{ $data['plans']=Plan::where('status', 'active')->get(); }
return view('front.choose_program', $data); }
public function page($page){
$data['page'] = Page::where('url',$page)->where('status','published')->firstOrFail(); return view('front.page',$data); }
public function saveData(Request $request){
// dd($request->all());
DB::beginTransaction();
try{ $plan= Plan::where('id', $request->plan_id)->first(); if(!auth('customer')->user()) { $request->validate([ 'first_name'=>'required', 'last_name'=>'required', 'email'=>'required', ]);
$customer = new Customer(); $customer->first_name = $request->first_name; $customer->last_name = $request->last_name; $customer->email = $request->email; $customer->password = bcrypt('123456'); $customer->email_verified_at = now(); $customer->save(); }else{ $customer=auth('customer')->user(); }
$new_customer_step= new CustomerStep(); $new_customer_step->customer_id=$customer->id; $new_customer_step->plan_id=$request->plan_id; $new_customer_step->save();
unset($request['_token']);
foreach ($request->all() as $key => $req) {
$key_name = explode('_', $key); $step_detail = ''; if (isset($key_name[1]) && $key_name) { if (is_numeric($key_name[1])) { $step_details_id=$key_name[1]; if(isset($key_name[0]) && $key_name[0]=='fordesign'){ $specific_step = explode('==', $req); $step_details_id=isset($specific_step[0])?$specific_step[0]:''; $req=isset($specific_step[1])?$specific_step[1]:''; } $step_detail = StepDetail::where('id', $step_details_id)->first();
if ($step_detail) { $step = Step::where('id', $step_detail->step_id)->first();
$customer_step_detail = new CustomerStepDetail(); $customer_step_detail->title = $step ? $step->title : '';
if (isset($key_name[0]) && $key_name[0] == 'stepdetail') { $step_details = StepDetail::where('id', $key_name[1])->first(); $value = $step_details->value ? json_decode($step_details->value) : ''; $req = isset($value->title) ? $value->title : ''; }
if (is_array($req)) { if (isset($req['lb']) && $req['lb']) { $customer_step_detail->value = $req['lb'] . ' lb'; } else { $customer_step_detail->value = isset($req['kg']) ? $req['kg'] . ' kg' : ''; } } else { $customer_step_detail->value = $req ? $req : 'null'; }
$customer_step_detail->customer_step_id =$new_customer_step->id;
$customer_step_detail->step_details_id =$step_detail->id; $customer_step_detail->save(); } } } }
DB::commit();
if(!auth('customer')->user()){ auth('customer')->loginUsingId($customer->id);
return view('customer.demo_view', compact('plan')); }else{
return view('customer.demo_view', compact('plan')); }
}catch(\Exception $ex){
DB::rollBack(); return redirect()->back()->withErrors(['failed',$ex->getMessage()]); }
}
public function aboutUs(){ return view('front.about_us'); }
public function support(){ return view('front.support'); } public function review(){ return view('front.review'); } public function my_account(){ return view('front.my_account'); } public function terms_and_condition(){ return view('front.terms_and_condition'); }
public function contactUsStore(Request $request){ $request->validate([ 'name'=>'required', 'email'=>'required', 'subject'=>'required', 'message'=>'required', ]);
$contact= new Contact(); $contact->name=$request->name; $contact->email=$request->email; $contact->subject=$request->subject; $contact->message=$request->message; $contact->save();
return redirect()->back()->with('success', 'Contact request successfully send'); }
public function verifyCode(Request $request){ $code=$request->purchase_code; if(!$code){ abort(404); } $client = new Client(['verify'=>false]); $res = $client->request('GET', 'http://verify.picotech.app/verify.php?purchase_code='.$code); $response= json_decode($res->getBody());
if(isset($response->id) && $response->id){ $data=[ 'code'=>$code, 'id'=>$response->id, 'checked_at'=>now() ]; File::put(storage_path().'/framework/build',base64_encode(json_encode($data))); if($request->verify){ return back(); } return back()->with('success','Purchase code verified successfully');
}else{ File::delete(storage_path().'/framework/build'); return back()->withErrors(['msg'=>'Invalid purchase code']); }
}
}
|