Server : Apache System : Linux 145.162.205.92.host.secureserver.net 5.14.0-611.45.1.el9_7.x86_64 #1 SMP PREEMPT_DYNAMIC Wed Apr 1 05:56:53 EDT 2026 x86_64 User : tradze ( 1001) PHP Version : 8.1.34 Disable Function : NONE Directory : /home/tradze/www/app/Modules/Pages/Http/Controllers/Frontend/ |
<?php
namespace App\Modules\Pages\Http\Controllers\Frontend;
use App\Http\Controllers\SiteController;
use App\Http\Requests;
use App\User;
use App\Modules\Banners\Repositories\BannersRepo;
use App\Modules\Pages\Http\Requests\ContactFormRequest;
use App\Modules\Pages\Models\ContactForm;
use App\Modules\Pages\Models\Page;
use App\Modules\Pages\Repositories\PageRepository;
use Illuminate\Support\Facades\Mail;
use Illuminate\Support\Facades\Storage;
use Illuminate\Support\Facades\Session;
use App\Modules\Notifications\Facades\NotifRepository; // code by Rishi
class PagesController extends SiteController
{
/**
* The page repository instance.
*
* @var pageRepository
*/
protected $pages;
/**
* Create a new controller instance.
*
* @param TaskRepository $tasks
* @return void
*/
public function __construct(BannersRepo $banners, PageRepository $pages)
{
parent::__construct($banners);
$this->pages = $pages;
}
/**
* Home Page
*/
public function home()
{
$booking = Session::get('booking');
//get home page
$page = Page::where('slug','=', 'home-page')->active()->first();
//get page banners
$slides = $this->banners->getBanners($page);
//promototedOffer
$promotedOffer = collect();
if ($this->pages->get_promoted_offers()->count()>0){
$promotedOffer = $this->pages->get_promoted_offers()->random();
}
$a = User::getFeaturedSalonUser();
$b = User::getFeaturedTherapistUser();
$c = $a->merge($b);
// dd($c);
$this->data['featured_salon_users'] = $a;
$this->data['featured_therapist_users'] = $b;
// dd($this->data['featured_salon_users'][0]->salon_overall_rating['salon_rating']);
//create array
$this->data['layout'] = $this->pages->get_page_layout($page);
$this->data['page'] = $page;
$this->data['slides'] = $slides;
$this->data['pageRepo'] = $this->pages;
$this->data['offerSlider'] = $promotedOffer;
$this->data['booking'] = $this->session_booking_info();
// dd($this->data);
//render page
return view('pages::frontend_new.home',$this->data);
}
protected function session_booking_info()
{
$booking = Session::get('booking');
if (!isset($booking['therapists_opt']))
$booking['therapists_opt']=null;
if (!isset($booking['focal_points']))
$booking['focal_points']=[];
return $booking;
}
/**
* Page details
* @param $slug
*/
public function show($slug)
{
//get page by slug
$page = Page::where('slug','=',$slug)->active()->first();
//abort if page does not exists
if (!$page)
return abort(404,'page not found');
//get page banners
$slides = $this->banners->getBanners($page);
//get page widget
$widget=$this->pages->compose_partial($page);
// New change
if($slug == "our-therapists" || $slug == "zenstars-service-providers"){
$this->data['booking'] = Session::get('booking');
// dd($this->data['booking']);
}
//create data array
$this->data['layout'] = $this->pages->get_page_layout($page);
$this->data['page'] = $page;
if (is_array($widget)){
foreach($widget as $w=>$html)
$this->data[$w] = $html;
}
else
$this->data['partial'] = $widget;
//promototedOffer
$promotedOffer = collect();
if ($this->pages->get_promoted_offers()->count()>0){
$promotedOffer = $this->pages->get_promoted_offers()->random();
}
$this->data['slides'] = $slides;
$this->data['slug'] = $slug;
$this->data['offerSlider'] = $promotedOffer;
//if($slug === 'about-us')
//$this->sendNotification();
//render page
return view("pages::frontend_new.page_int",$this->data);
}
/**
* Contact form
*
* @return Response
*/
public function contact_form(ContactFormRequest $request)
{
//create data array
$data = [
'name' => $request->name,
'phone' => $request->phone,
'email' => $request->email,
'body' => $request->body,
];
//save new contact form
$obj = ContactForm::create($data);
$responseData = ['success' => true,'message'=>'Thank you! We will contact you as soon as possible.'];
//send email
Mail::send('pages::frontend.emails.contactform', ['data' => $data], function ($m) use ($data) {
$m->from(env('MAIL_FROM'), env('APP_NAME'));
$m->to(env('MAIL_ADMIN_ADDR'), env('MAIL_ADMIN_NAME'));
$m->bcc(explode(',',env('MAIL_NEWORDER_BCC')), env('MAIL_NEWORDER_BCC_NAME'));
$m->subject(env('APP_NAME').' – Contact form');
});
//redirect
return response(json_encode($responseData),200);
}
/*
* Code by Rishi
*/
public function sendNotification() {
$res = NotifRepository::send();
}
}