Viewing file: FrontController.php (9.29 KB) -rw-r--r-- Select action/file-type: (+) | (+) | (+) | Code (+) | Session (+) | (+) | SDB (+) | (+) | (+) | (+) | (+) | (+) |
<?php
namespace App\Http\Controllers;
use App\Models\Contact; use App\Models\Coverage; use App\Models\Customer; use App\Models\Domain; use App\Models\FAQ; use App\Models\Page; use App\Models\Plan; use App\Models\ShortLink; use App\Models\ShortLinkOverView; use App\Models\Subscribe; use App\Models\Template; use App\Models\User; use App\Models\UserMessage; use GuzzleHttp\Client; use Illuminate\Http\Request; use Illuminate\Support\Facades\Auth; use Illuminate\Support\Facades\File;
class FrontController extends Controller {
public function demoView(){ if (!config('app.demo_mode')) { return abort('404'); } return view('demo'); } public function maintenance(){
$maintence=get_settings('maintence_mode');
if($maintence && $maintence=='disable'){ return redirect()->route('customer.dashboard'); }
return view('welcome'); }
public function shortLink($code, Request $request) { $short_url=ShortLink::where('short_code', $code)->firstOrFail(); if(!$short_url->url || !$request->c){ return abort('404'); }
$data['contact_id']=$request->c; $data['short_url_id']=$short_url->id;
return view('fetch_ip', $data); }
public function shortLinkRedirect($code, Request $request) { try { $short_url = ShortLink::where('id', $code)->firstOrFail();
$contact = Contact::where('id', $request->contact_id)->firstOrFail();
$preView=ShortLinkOverView::where('short_link_id', $short_url->id)->where('campaign_id', $short_url->campaign_id)->where('contact_id', $request->contact_id)->where('ip_address', $request->ip_address)->first(); if($preView){ return redirect()->to($short_url->url); }
$shLiOverView = new ShortLinkOverView(); $shLiOverView->contact_id = $request->contact_id; $shLiOverView->campaign_id = $short_url->campaign_id; $shLiOverView->ip_address = $request->ip_address; $shLiOverView->short_link_id = $short_url->id; $shLiOverView->number = $contact->contact_dial_code.$contact->number; $shLiOverView->save();
return redirect()->to($short_url->url); } catch (\Exception $ex) { return abort('404'); } }
public function home(Request $request){
if (config('app.demo_mode') && !$request->type) { return redirect()->route('demo'); }
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(); $host=$request->getHost(); $domain=Domain::where('host', $host)->first(); if ($domain && $domain->status !='approved'){ echo "<div style='text-align: center; font-weight: 800; color: red; padding: 15rem'><h4>Your domain is not approved, contact with administrator</h4></div>"; return; }
if ($domain) { $customer = Customer::find($domain->customer_id); $module= isset($customerPlan->module)?json_decode($customerPlan->module):[]; if (!in_array('landing_page', $module)){ return redirect()->route('login'); }
$data['plans'] = Plan::where('admin_id',$customer->id)->where('status', 'active')->where('added_by', $customer->type)->get(); }else { $data['plans'] = Plan::where('id', '!=', 1)->where('status', 'active')->where('added_by', 'admin')->where('plan_type', 'normal')->get(); } return view('front.index',$data); }
public function coverage($id){ $plan=Plan::findOrFail($id); if(!$plan->coverage_ids){ return abort('404'); }
$coverages=Coverage::whereIn('id', json_decode($plan->coverage_ids))->get(); $data['coverages']=$coverages; $data['coverage']=isset($coverages[0])?$coverages[0]:''; $data['plan_id']=$plan->id; $data['plan_title']=$plan->title;
return view('front.coverage', $data); }
public function get_coverage(Request $request){
$coverage=Coverage::where('id', $request->country)->select('plain_sms','receive_sms','send_mms','receive_mms','send_voice_sms','receive_voice_sms','send_whatsapp_sms','receive_whatsapp_sms')->first(); if(!$coverage){ return response()->json(['status'=>'failed']); }
return response()->json(['data'=>$coverage,'status'=>'success']); }
public function aboutUs(Request $request){ $host=$request->getHost(); $domain=Domain::where('host', $host)->first(); if ($domain) { $customer = Customer::find($domain->customer_id); $customerPlan=isset($customer->plan)?$customer->plan:''; $module = isset($customerPlan->module) ? json_decode($customerPlan->module) : []; if (!in_array('landing_page', $module)) { return redirect()->route('login'); } } return view('front.about_us'); }
public function services(Request $request){
$host=$request->getHost(); $domain=Domain::where('host', $host)->first(); if ($domain) { $customer = Customer::find($domain->customer_id); $customerPlan=isset($customer->plan)?$customer->plan:''; $module = isset($customerPlan->module) ? json_decode($customerPlan->module) : []; if (!in_array('landing_page', $module)) { return redirect()->route('login'); } } return view('front.service'); } public function pricing(Request $request){ $host=$request->getHost(); $domain=Domain::where('host', $host)->where('status', 'approved')->first();
if ($domain) { $customer = Customer::find($domain->customer_id); $customerPlan=isset($customer->plan)?$customer->plan:''; $module = isset($customerPlan->module) ? json_decode($customerPlan->module) : []; if (!in_array('landing_page', $module)) { return redirect()->route('login'); } $data['plans'] = Plan::where('admin_id',$customer->id)->where('status', 'active')->where('added_by', $customer->type)->get(); }else { $data['plans'] = Plan::where('id', '!=', 1)->where('status', 'active')->where('added_by', 'admin')->where('plan_type', 'normal')->get(); } return view('front.pricing',$data); } public function contact(Request $request){ $host=$request->getHost(); $domain=Domain::where('host', $host)->first(); if ($domain) { $customer = Customer::find($domain->customer_id); $customerPlan=isset($customer->plan)?$customer->plan:''; $module = isset($customerPlan->module) ? json_decode($customerPlan->module) : []; if (!in_array('landing_page', $module)) { return redirect()->route('login'); } } return view('front.contact_us'); } public function page($page){
$data['page'] = Page::where('url',$page)->where('status','published')->firstOrFail(); return view('front.page',$data); } public function demo_login(){
return view('front.login_demo'); } 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']); }
}
public function demoLogin(Request $request) { $demo=env('APP_DEMO'); if(!$demo){ return abort('404'); }
if ($request->type == 'front') {
return redirect()->route('home',['type'=>'front']);
}if ($request->type == 'admin') { $admin=User::first();
auth()->loginUsingId($admin->id);
return redirect()->route('admin.dashboard');
}elseif($request->type=='reseller'){ $customer=Customer::where('type', 'reseller')->firstOrFail();
auth('customer')->loginUsingId($customer->id);
return redirect()->route('customer.dashboard'); }else{ $customer=Customer::firstOrFail(); auth('customer')->loginUsingId($customer->id);
return redirect()->route('customer.dashboard'); }
return redirect()->back()->withErrors(['failed'=>'Something went wrong, try again after sometimes']); }
}
|