Sh3ll
OdayForums


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/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Current File : /home/tradze/www/app/Modules/Pages/Http/Controllers/Frontend/PagesController.php
<?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();
    }
}

ZeroDay Forums Mini