Support the ongoing development of Laravel.io →
Configuration Forms Validation
Last updated by @deepakgupta387 1 week ago.
0

Hello @deepakgupta387,

Have you verified that your App\User model implements the Illuminate\Contracts\Auth\MustVerifyEmail contract, as shown below:

class User extends Authenticatable implements MustVerifyEmail

And also have you enabled the email verification route in your web.php file as shown below:

Auth::routes(['verify' => true]);

Here is an article that you can follow to send email verification to the newly registered users.Example

Here is also the link to the official documentation Email Verification

Thanks.

Last updated 1 week ago.
0

Hi Faisal, Thank you for your prompt reply, I have followed your step and verified that App\User model implements the Illuminate\Contracts\Auth\MustVerifyEmail contract, as shown in your code. `namespace App;

use App\Http\Helpers\OtherHelper;

use Illuminate\Contracts\Auth\MustVerifyEmail;

use Illuminate\Foundation\Auth\User as Authenticatable;

use Illuminate\Notifications\Notifiable;

use Illuminate\Database\Eloquent\SoftDeletes;

class User extends Authenticatable implements MustVerifyEmail {`

Also, I enabled the email verification route in web.php. But still the same issue. Verification email not sent to the user end. Kindly help me out of this issue.

Thanks

Last updated 1 week ago.
0

Are you using Laravel's default email verification or you have built your own logic for the same?

0

I don't have extensive expertise in Laravel. Someone has developed the site. As per my research, there is a custom email verification. What you need from my end please let me know. I will try to provide you. I am sharing our web.php code below.

Route::get('/clear', function () {
    $exitCode = '';
    $exitCode .= Artisan::call('config:clear');
    $exitCode .= Artisan::call('cache:clear');
    $exitCode .= Artisan::call('config:cache');
    $exitCode .= Artisan::call('view:clear');
    return redirect()->back();
    // return what you want
});

// Frontend Routes

Route::group(['namespace' => 'frontend'], function () {
    Route::match(['get'], '/', [
        'uses'  => '[email protected]',
        'as'    => 'Home'
    ]);
    Route::match(['get'], '/video-gallery/{category_id?}', [
        'uses'  => '[email protected]',
        'as'    => 'videogallery'
    ]);

   
    Route::match(['get'], '/contact-us', [
        'uses'  => '[email protected]',
        'as'    => 'contactus'
    ]);

    Route::match(['get'], '/practice', [
        'uses'  => '[email protected]',
        'as'    => 'practice'
    ]);

    Route::match(['get','post'], '/findphysicianlocation/{locationView?}', [
        'uses'  => '[email protected]',
        'as'    => 'findPhysicianLocation'
    ]);

    Route::group(['namespace' => 'auth','middleware' => ['guest', 'web'] ], function () {

        Route::match(['get','post'], '/login', [
            'uses'  => '[email protected]',
            'as'    => 'patientLogin'
        ]);
        Route::match(['get','post'], '/forgotpassword', [
            'uses'  => '[email protected]',
            'as'    => 'patientForgotPassword'
        ]);
        Route::match(['get','post'], '/changepassword', [
            'uses'  => '[email protected]',
            'as'    => 'patientChangePassword'
        ]);
        Route::match(['get','post'], '/signup', [
            'uses'  => '[email protected]',
            'as'    => 'patientSignup',
        ]);

    });

    Route::match(['get', 'post'], '/emailverification', [
        'uses' => 'auth\[email protected]',
        'as' => 'getverify'
    ]);
});

// Frontend videoprotected & patient

Route::group([ 'middleware' => [ 'videoprotected'],  'namespace' => 'frontend'],function(){

    Route::match(['get'],'/video-details/{video_id}',[
        'uses'  => '[email protected]',
        'as'    => 'videdetails'
    ]);

});


Route::group([ 'middleware' => [ 'patient'],  'namespace' => 'frontend'],function(){

    Route::match(['get', 'post'], '/profile', [
        'uses' => '[email protected]',
        'as' => 'userprofile'
    ]); 
    Route::match(['get', 'post'], '/logout', [
        'uses' => 'auth\[email protected]',
        'as' => 'getLogout'
    ]);

});

// Frontend AjaxController

Route::group([], function () {

    Route::match(['post'], '/trackingvideoview', [
        'uses'  => '[email protected]',
        'as'    => 'trackingvideoview'
    ]);
    Route::match(['post'], '/updatetrackingvideoview', [
        'uses'  => '[email protected]',
        'as'    => 'updatetrackingvideoview'
    ]);
    Route::match(['post'], '/updatevideorating', [
        'uses'  => '[email protected]',
        'as'    => 'updatevideorating'
    ]);
    Route::match(['post'], '/getfeedbackform', [
        'uses'  => '[email protected]',
        'as'    => 'getfeedbackform'
    ]);

    Route::match(['post'], '/sendemail', [
        'uses'  => '[email protected]',
        'as'    => 'sendemail'
    ]);
    Route::match(['post'], '/getfeaturedvideos', [
        'uses'  => '[email protected]',
        'as'    => 'getfeaturedvideos'
    ]);

    Route::match(['post'], '/getallvideos', [
        'uses'  => '[email protected]',
        'as'    => 'getallvideos'
    ]);
    Route::match(['post'], '/getcategoryvideo', [
        'uses'  => '[email protected]',
        'as'    => 'getcategoryvideo'
    ]);
    Route::match(['post'], '/getgalleryvideos', [
        'uses'  => '[email protected]',
        'as'    => 'getgalleryvideos'
    ]);
    Route::match(['post'], '/getallcategoryvideo', [
        'uses'  => '[email protected]',
        'as'    => 'getallcategoryvideo'
    ]);
    Route::match(['post'], '/getsidevideos', [
        'uses'  => '[email protected]',
        'as'    => 'getsidevideos'
    ]);
    Route::match(['post'], '/userpagestracking', [
        'uses'  => '[email protected]',
        'as'    => 'userpagestracking'
    ]);
    Route::match(['post'], '/usertrackingupdate', [
        'uses'  => '[email protected]',
        'as'    => 'usertrackingupdate'
    ]);
    Route::match(['post'], '/userexternalurl', [
        'uses'  => '[email protected]',
        'as'    => 'userexternalurl'
    ]);
    Route::match(['post'], '/ajaxgetneareastlocation', [
        'uses'  => '[email protected]',
        'as'    => 'ajaxgetneareastlocation'
    ]);
    Route::match(['get', 'post'], '/getcities/{is_ajax?}', [
        'uses'  => '[email protected]',
        'as'    => 'AjaxController.getcities',
    ]);
    Route::match(['get', 'post'], '/getPhysicians/{is_ajax?}', [
        'uses'  => '[email protected]',
        'as'    => 'AjaxController.getPhysicians',
    ]);
    Route::match(['get', 'post'], '/getPrivacyPolicy/{is_ajax?}', [
        'uses'  => '[email protected]',
        'as'    => 'AjaxController.getPrivacyPolicy',
    ]);
    Route::match(['get', 'post'], '/getSignupPolicy/{is_ajax?}', [
        'uses'  => '[email protected]',
        'as'    => 'AjaxController.getSignupPolicy',
    ]);
    Route::match(['get', 'post'], '/getneareastnephrologist/{is_ajax?}', [
        'uses'  => '[email protected]',
        'as'    => 'AjaxController.getneareastnephrologist',
    ]);
});


// SecureLogin Routes

Route::group(['middleware' => ['guest', 'web'], 'prefix' => 'securelogin', 'namespace' => 'securelogin'], function () {

    Route::match(['get', 'post'], '/', [
        'uses' => 'auth\[email protected]',
        'as' => 'getlogin'
    ]);

    Route::match(['get', 'post'], '/forgotPassword', [
        'uses' => 'auth\[email protected]',
        'as' => 'getforgotPassword'
    ]);
    Route::match(['get', 'post'], '/changepassword', [
        'uses' => 'auth\[email protected]',
        'as' => 'getchangepassword'
    ]);
});


// SecureLogin AjaxController Routes

Route::group(['middleware' => ['admin']], function () {
    Route::match(['get', 'post'], '/sorting/{is_ajax?}', [
        'uses'  => '[email protected]',
        'as'    => 'AjaxController.sorting',
    ]);
    Route::match(['get', 'post'], '/getvideodescription/{is_ajax?}', [
        'uses'  => '[email protected]',
        'as'    => 'AjaxController.getVideoDescription',
    ]);
    Route::match(['get', 'post'], '/removecategory/{is_ajax?}', [
        'uses'  => '[email protected]',
        'as'    => 'AjaxController.removeCategory',
    ]);
    Route::match(['get', 'post'], '/getlongnlat/{is_ajax?}', [
        'uses'  => '[email protected]',
        'as'    => 'AjaxController.getlongnlat',
    ]);
    Route::match(['get', 'post'], '/getaddress/{is_ajax?}', [
        'uses'  => '[email protected]',
        'as'    => 'AjaxController.getaddress',
    ]);
    Route::match(['get', 'post'], '/getpracticelocation/{is_ajax?}', [
        'uses'  => '[email protected]',
        'as'    => 'AjaxController.getpracticelocation',
    ]);
    Route::match(['get', 'post'], '/getpracticephysician/{is_ajax?}', [
        'uses'  => '[email protected]',
        'as'    => 'AjaxController.getpracticephysician',
    ]);
});

// SecureLogin Auth Route
Route::group(['middleware' => ['admin'], 'namespace' => 'securelogin', 'prefix' => 'securelogin'], function () {
    Route::get('/clear', function () {
        $exitCode = '';
        $exitCode .= Artisan::call('config:clear');
        $exitCode .= Artisan::call('cache:clear');
        $exitCode .= Artisan::call('config:cache');
        $exitCode .= Artisan::call('view:clear');
        return redirect()->back();
        // return what you want
    });

    Route::match(['get', 'post'], '/dashboard', [
        'uses' => 'dashboard\[email protected]',
        'as' => 'dashboard'
    ]);

    Route::group(['namespace' => 'managepatients', 'prefix' => 'managepatients'], function () {
        Route::match(['get', 'post'], '/view/{view_filter?}', [
            'uses'  => '[email protected]',
            'as'    => 'viewPatient',
        ]);
        Route::match(
            ['get'],
            '/changeStatus/{user_id}/{status}',
            [
                'uses' => '[email protected]',
                'as' => 'changeStatus'
            ]
        );
    });

    Route::group(['namespace' => 'manageadminusers', 'prefix' => 'manageadminusers'], function () {
        Route::match(['get', 'post'], '/view/{view_filter?}', [
            'uses'  => '[email protected]',
            'as'    => 'viewAdminuser',
        ]);
        Route::match(['get'], '/create', [
            'uses'  => '[email protected]',
            'as'    => 'createAdminuser',
        ]);
        Route::match(['get'], '/edit/{edit_id}', [
            'uses'  => '[email protected]',
            'as'    => 'editAdminuser',
        ]);
        Route::match(['get'], '/delete/{delete_id}', [
            'uses'  => '[email protected]',
            'as'    => 'deleteAdminuser',
        ]);
        Route::match(['post'], '/save', [
            'uses'  => '[email protected]',
            'as'    => 'saveAdminuser',
        ]);
    });
    Route::group(['namespace' => 'manageclinicalcommittee', 'prefix' => 'manageclinicalcommittee'], function () {
        Route::match(['get', 'post'], '/view/{view_filter?}', [
            'uses'  => '[email protected]',
            'as'    => 'viewClinicalCommittee',
        ]);
        Route::match(['get'], '/create', [
            'uses'  => '[email protected]',
            'as'    => 'createClinicalCommittee',
        ]);
        Route::match(['get'], '/edit/{edit_id}', [
            'uses'  => '[email protected]',
            'as'    => 'editClinicalCommittee',
        ]);
        Route::match(['get'], '/delete/{delete_id}', [
            'uses'  => '[email protected]',
            'as'    => 'deleteClinicalCommittee',
        ]);
        Route::match(['post'], '/save', [
            'uses'  => '[email protected]',
            'as'    => 'saveClinicalCommittee',
        ]);
    });

    Route::group(['namespace' => 'managecategories', 'prefix' => 'managecategories'], function () {
        Route::match(
            ['get'],
            '/view/{view_filter?}',
            [
                'uses' => '[email protected]',
                'as' => 'viewCategory'
            ]
        );
        Route::match(
            ['get'],
            '/edit/{edit_filter}',
            [
                'uses' => '[email protected]',
                'as' => 'editCategory'
            ]
        );
        Route::match(
            ['get'],
            '/delete/{delete_filter}',
            [
                'uses' => '[email protected]',
                'as' => 'deleteCategory'
            ]
        );
        Route::match(
            ['get'],
            '/create',
            [
                'uses' => '[email protected]',
                'as' => 'createCategory'
            ]
        );
        Route::match(
            ['post'],
            '/save',
            [
                'uses' => '[email protected]',
                'as' => 'saveCategory'
            ]
        );
        Route::match(
            ['post'],
            '/sorting',
            [
                'uses' => '[email protected]',
                'as' => 'sortingCategory'
            ]
        );
        Route::match(
            ['post'],
            '/videoSorting',
            [
                'uses' => '[email protected]',
                'as' => 'videoSortingCategory'
            ]
        );
    });

    Route::group(['namespace' => 'managepractices', 'prefix' => 'managepractices'], function () {
        Route::match(
            ['get'],
            '/view/{view_filter?}',
            [
                'uses' => '[email protected]',
                'as' => 'viewPractice'
            ]
        );
        Route::match(
            ['get'],
            '/edit/{edit_filter}',
            [
                'uses' => '[email protected]',
                'as' => 'editPractice'
            ]
        );
        Route::match(
            ['get'],
            '/delete/{delete_filter}',
            [
                'uses' => '[email protected]',
                'as' => 'deletePractice'
            ]
        );
        Route::match(
            ['get'],
            '/create',
            [
                'uses' => '[email protected]',
                'as' => 'createPractice'
            ]
        );
        Route::match(
            ['post'],
            '/save',
            [
                'uses' => '[email protected]',
                'as' => 'savePractice'
            ]
        );
        Route::match(
            ['post'],
            '/sorting',
            [
                'uses' => '[email protected]',
                'as' => 'sortingPractice'
            ]
        );
    });

    Route::group(['namespace' => 'managepracticelocation', 'prefix' => 'managepracticelocation'], function () {
        Route::match(
            ['get'],
            '/view/{view_filter?}',
            [
                'uses' => '[email protected]',
                'as' => 'viewPracticesLocation'
            ]
        );
        Route::match(
            ['get'],
            '/edit/{edit_filter}',
            [
                'uses' => '[email protected]',
                'as' => 'editPracticesLocation'
            ]
        );
        Route::match(
            ['get'],
            '/delete/{delete_filter}',
            [
                'uses' => '[email protected]',
                'as' => 'deletePracticesLocation'
            ]
        );
        Route::match(
            ['get'],
            '/create',
            [
                'uses' => '[email protected]',
                'as' => 'createPracticesLocation'
            ]
        );
        Route::match(
            ['post'],
            '/save',
            [
                'uses' => '[email protected]',
                'as' => 'savePracticesLocation'
            ]
        );
        Route::match(
            ['post'],
            '/sorting',
            [
                'uses' => '[email protected]',
                'as' => 'sortingPracticesLocation'
            ]
        );
    });
    Route::group(['namespace' => 'managephysician', 'prefix' => 'managephysician'], function () {
        Route::match(
            ['get'],
            '/view/{view_filter?}',
            [
                'uses' => '[email protected]',
                'as' => 'viewPhysician'
            ]
        );
        Route::match(
            ['get'],
            '/edit/{edit_filter}',
            [
                'uses' => '[email protected]',
                'as' => 'editPhysician'
            ]
        );
        Route::match(
            ['get'],
            '/delete/{delete_filter}',
            [
                'uses' => '[email protected]',
                'as' => 'deletePhysician'
            ]
        );
        Route::match(
            ['get'],
            '/create',
            [
                'uses' => '[email protected]',
                'as' => 'createPhysician'
            ]
        );
        Route::match(
            ['post'],
            '/save',
            [
                'uses' => '[email protected]',
                'as' => 'savePhysician'
            ]
        );
        Route::match(
            ['post'],
            '/sorting',
            [
                'uses' => '[email protected]',
                'as' => 'sortingPhysician'
            ]
        );
    });

    Route::group(['namespace' => 'practicelocations', 'prefix' => 'practicelocations'], function () {
        Route::match(
            ['get'],
            '/view/{view_filter?}',
            [
                'uses' => '[email protected]',
                'as' => 'viewPracticeLocations'
            ]
        );
        Route::match(
            ['get'],
            '/edit/{edit_filter}',
            [
                'uses' => '[email protected]',
                'as' => 'editPracticeLocations'
            ]
        );
        Route::match(
            ['get'],
            '/delete/{delete_filter}',
            [
                'uses' => '[email protected]',
                'as' => 'deletePracticeLocations'
            ]
        );
        Route::match(
            ['get'],
            '/create',
            [
                'uses' => '[email protected]',
                'as' => 'createPracticeLocations'
            ]
        );
        Route::match(
            ['post'],
            '/save',
            [
                'uses' => '[email protected]',
                'as' => 'savePracticeLocations'
            ]
        );
        Route::match(
            ['post'],
            '/sorting',
            [
                'uses' => '[email protected]',
                'as' => 'sortingPracticeLocations'
            ]
        );
    });

    Route::group(['namespace' => 'managevideo', 'prefix' => 'managevideo'], function () {
        Route::match(
            ['get'],
            '/view/{view_filter?}',
            [
                'uses' => '[email protected]',
                'as' => 'viewVideos'
            ]
        );
        Route::match(
            ['get'],
            '/edit/{edit_filter}',
            [
                'uses' => '[email protected]',
                'as' => 'editVideo'
            ]
        );
        Route::match(
            ['get'],
            '/delete/{delete_filter}',
            [
                'uses' => '[email protected]',
                'as' => 'deleteVideo'
            ]
        );
        Route::match(
            ['get'],
            '/create',
            [
                'uses' => 'C[email protected]',
                'as' => 'createVideo'
            ]
        );
        Route::match(
            ['post'],
            '/save',
            [
                'uses' => '[email protected]',
                'as' => 'saveVideo'
            ]
        );
    });

    Route::group(['namespace' => 'manageprofile', 'prefix' => 'manageprofile'], function () {
        Route::match(['get'], '/profile/{profile_id}', [
            'uses' => '[email protected]',
            'as' => 'get.profile'
        ]);
        Route::match(
            ['post'],
            '/save',
            [
                'uses' => '[email protected]',
                'as' => 'saveProfile'
            ]
        );
    });

    Route::group(['namespace' => 'manageslider', 'prefix' => 'manageslider'], function () {
        Route::match(
            ['get'],
            '/view/{view_filter?}',
            [
                'uses' => '[email protected]',
                'as' => 'viewSlider'
            ]
        );
        Route::match(
            ['get'],
            '/edit/{edit_filter}',
            [
                'uses' => '[email protected]',
                'as' => 'editSlider'
            ]
        );
        Route::match(
            ['get'],
            '/delete/{delete_filter}',
            [
                'uses' => '[email protected]',
                'as' => 'deleteSlider'
            ]
        );
        Route::match(
            ['get'],
            '/create',
            [
                'uses' => '[email protected]',
                'as' => 'createSlider'
            ]
        );
        Route::match(
            ['post'],
            '/save',
            [
                'uses' => '[email protected]',
                'as' => 'saveSlider'
            ]
        );
        Route::match(
            ['post'],
            '/sorting',
            [
                'uses' => '[email protected]',
                'as' => 'sortingSlider'
            ]
        );
    });


    Route::match(['get', 'post'], '/logout', [
        'uses' => 'auth\[email protected]',
        'as' => 'get.Logout'
    ]);

    Route::group(['namespace' => 'cms', 'prefix' => 'cms'], function () {
        Route::match(
            ['get'],
            '/page/{page}', [
                'uses' => '[email protected]',
                'as' => 'page.get'
            ]
        );
        Route::match(
            ['post'],
            '/save/{page}', [
                'uses' => '[email protected]',
                'as' => 'page.save'
            ]
        );
    });

    Route::get('/laravel-filemanager', '\UniSharp\LaravelFilemanager\Controllers\[email protected]');
    Route::post('/laravel-filemanager/upload', '\UniSharp\LaravelFilemanager\Controllers\[email protected]');
});

// CMS Route

Route::group( ['namespace' => 'frontend' ],function(){
    Route::get('{slug}', [
        'uses' => '[email protected]',
        'as' => 'pages',
    ])
    ->where('slug', '([A-Za-z0-9\-]+)');

});
Last updated 1 week ago.
0

Here is my controller.

<?php
namespace App\Http\Controllers;

use App\Http\Helpers\OtherHelper;
use App\Http\Library\RoleManagement;
use FFMpeg;
use Illuminate\Support\Facades\Auth;
use Illuminate\Support\Facades\Config;
use Illuminate\Support\Facades\File;
use Illuminate\Support\Facades\Request;
use Illuminate\Support\Facades\Session;
use Illuminate\Support\Facades\Storage;
use Illuminate\Support\Facades\URL;
use Illuminate\Support\Str;
use PHPMailer\PHPMailer\PHPMailer;
use PHPMailer\PHPMailer\Exception;

use Validator;

class MY_Controller extends Controller
{
    function __construct()
    {
        $this->middleware(function ($request, $next) {

            return $next($request);
        });
    }

    public function _auth_current_logged_in_ID($compare_with, $guard = "")
    {
        if (\Auth::guard($guard)->check()) {
            if ($compare_with == \Auth::guard($guard)->ID()) {
                return TRUE;
            }
        }


        return FALSE;
    }

    public function default_data()
    {

        $data["TRACKING_INTERVAL"]                                  = Config::get('constants.TRACKING_INTERVAL');
        $data["SITE_KEY"]                                           = Config::get('constants.SITE_KEY');
        $data["admin_path"]                                         = "securelogin/";
        $data["front_path"]                                         = "frontend/";
        $data["frontend_path"]                                      = "account/";

        $data["video_dir"]                                          = "public/files/video/listing/";
        $data["image_dir"]                                          = "public/files/practice/images/";
        $data["slider_dir"]                                         = "public/files/slider/";
        $data["image_dir_load"]                                     = "files/practice/images/";
        $data["video_DirView"]                                      = "/files/video/listing/";
        $data["thumbnail_dir"]                                      = Config::get('constants.THUMBNAIL_URL');

        $data['video_types']                                        = "mp4";
        $data['video_mime_types']                                   = [ 'video/mp4' ];

        $data['image_types']                                        = "png,jpeg,jpg,bmp";
        $data['image_mime_types']                                   = ['image/jpeg','image/bmp','image/png'];

        $data["_directory"]                                         = "";
        $data["_heading"]                                           = "";
        $data["_pagetitle"]                                         = "";
        $data["_pageview"]                                          = "";

        $data['_messageBundle']                                     = $this->_messageBundle('', '');

        $data['dataTableDOM_PARENT']                                = $this->getDataTableDOM();
        $data['dataTableDOM_CHILD']                                 = $this->getDataTableDOM();


        $data['dataTableLENGTH_PARENT']                             = $this->getDataTableLENGTH();
        $data['dataTableLENGTH_CHILD']                              = $this->getDataTableLENGTH();


        $data['_messageBundle_unauthorized']                        = $this->_messageBundle('danger', trans("general_lang.not_authorized_message"), trans("general_lang.not_authorized_heading"));

        $this->default_data_extend($data);

        $max_upload                                                 = ini_get('upload_max_filesize');
		$data["max_upload_validate"]                                = str_replace('M', '', $max_upload);
		$data["max_upload"]                                         = $data["max_upload_validate"].'MB' ;

        return  $data;
    }
    public function default_data_extend(&$data)
    {
        $data['datatable_properties']                = FALSE;
        return $data;
    }

    static function getDataTableLENGTH()
    {
        return     json_encode([[10, 25, 50, -1], [10, 25, 50, "All"]]);
    }

    public function _messageBundle($class = FALSE, $msg = FALSE, $heading = '', $jAlert = false, $inline_alert = false)
    {

        $data['_ALERT_mode']            = "";
        $data['_call_name']                = "";
        $data['_redirect_to']            = "";
        $TMP_messages                     = "";

        if ($heading == "use_as_ajax_content") {
            $msg                                = $msg;
        } else {
            if (is_object($msg)) {
                #$TMP_messages                   = "<ul>";


                foreach ($msg->all() as $a => $message) {

                    $TMP_messages               .= "<p>" . $message . "</p>";
                }
                #$TMP_messages                   .= "</ul>";
                $msg                            = $TMP_messages;
            } else if (is_array($msg)) {
                foreach ($msg as $a => $message) {

                    $TMP_messages               .= "<p>" . $message . "</p>";
                }

                $msg                            = $TMP_messages;
            }
        }


        if ($jAlert and !$inline_alert) {
            $data['_ALERT_mode']            = "inline";
            $data['_CSS_show_messages']        = $class;
            $data['_TEXT_show_messages']    = $msg;
            $data['_HEADING_show_messages']    = $heading;

            return $data;
        } else if ($inline_alert) {



            Session::flash('_flash_data_inline', TRUE);
            Session::flash('_flash_messages_type', $class);
            Session::flash('_flash_messages_content', $msg);
            Session::flash('_flash_messages_title', $heading);
        } else {

            $data['_CSS_show_messages']        = $class;
            $data['_TEXT_show_messages']    = $msg;
            $data['_HEADING_show_messages']    = $heading;

            return $data;
        }
    }

    static function getDataTableDOM($custom_syntax = false, $other_syntax = false, $show_custom_datatable_loader = TRUE)
    {
        if ($custom_syntax) {
            $MultiArray            = $custom_syntax;
        } else {
            $MultiArray            = array(
                array(
                    array(
                        "size"        => 6,
                        "value"        => "l"
                    ),

                    array(
                        "size"        => 6,
                        "value"        => "f"
                    )
                ),


                array(
                    array(
                        "size"        => 6,
                        "value"        => "i"
                    ),

                    array(
                        "size"        => 6,
                        "value"        => "p"
                    )
                ),

                array(
                    array(
                        "size"        => 12,
                        "value"        => "t"
                    ),

                    array(
                        "size"        => 12,
                        "value"        => "r"
                    )
                ),

                array(
                    array(
                        "size"        => 6,
                        "value"        => "i"
                    ),

                    array(
                        "size"        => 6,
                        "value"        => "p"
                    )
                ),


            );
        }


        $syntax_code        = '';
        foreach ($MultiArray as $i => $v) {

            $syntax_code        .= '<"row"';
            foreach ($v as $index => $value) {
                if ($value['value'] == "r" and $show_custom_datatable_loader) {
                    $syntax_code    .= '<"col-sm-' . $value['size'] . ' datatTable_lock_loader"' . $value['value'] . '>';
                } else {
                    $syntax_code    .= '<"col-sm-' . $value['size'] . '"' . $value['value'] . '>';
                }
            }
            $syntax_code        .= ">";
        }



        return  $syntax_code;
    }

    public function uploadUserFile($request, &$validator, array $config_controls = [], $thumb_controls, array $other_controls = null, bool $BOOL = FALSE,$is_video = true)
    {
        if($is_video)
        {
            $videoFIle                                       = File::allFiles(public_path($this->data['video_DirView']));
        }

        $upload_file_array                             = [];
        $destinationPath                                = $config_controls['upload_path'];
        $input_field                                    = $other_controls["input_field"];

        $_POST[$input_field]                            = $input_field;

        if (!array_key_exists('id', $other_controls))
        {
            $other_controls['id']                   = strtotime("now");
        }

        if (!array_key_exists('validate', $other_controls))
        {
            $other_controls['validate']             = FALSE;
        }

        if (!array_key_exists('db_field', $other_controls))
        {
            $other_controls['db_field']             = "";
        }

        if (!array_key_exists('hdn_field', $other_controls))
        {
            $other_controls['hdn_field']            = "";
        }

        if (!array_key_exists('input_nick', $other_controls))
        {
            $other_controls['input_nick']           = "";
        }

        if (!array_key_exists('only_validate', $other_controls))
        {
            $other_controls['only_validate']        = FALSE;
        }

        $saveData['id']                             = $other_controls['id'];
        $db_field                                   = $other_controls['db_field'];
        $FILE_uploaded                              = TRUE;
        $fileName                                   = null;


        $file                                       = [
            $other_controls["hdn_field"] => Request::file($input_field)
        ];
        $rule_set = $other_controls['validate'] . '|mimes:' . $config_controls['allowed_types'];



        if (isset($other_controls['allowed_mime_types']))
        {
            $rule_set            .= '|mimetypes:' . $config_controls['allowed_mime_types'];
        }

        $rules                  = [
                                    $other_controls["hdn_field"] => $rule_set
                                    ];
        $file_validation = Validator::make($file, $rules);

        $input_labelName = [
                                $other_controls["hdn_field"]            => $other_controls['input_nick']
                            ];

        $file_validation->setAttributeNames($input_labelName);

        if ($file_validation->fails())
        {
            $upload_file_array             = [
                                                    "error"         => 3,
                                                    "reason"        => "upload_error",
                                                    "msg"           => $validator->messages()
                                                ];

            $validator->after(
                function ($validator) use ($other_controls, $file_validation)
                {
                    $validator
                        ->errors()
                        ->add($other_controls["hdn_field"], $file_validation->errors()->first($other_controls["hdn_field"]));
                }
            );
        }
        else {

            if ($other_controls['only_validate'])
            {
                $upload_file_array     = [
                                            "error"             => 1,
                                            "reason"            => "pass",
                                            "hdn_array"         => "Only Validate"
                                        ];
            }
            else if (Request::file($input_field) == NULL)
            {
                $FILE_uploaded                          = FALSE;
            }
            else if (Request::file($input_field)->isValid())
            {
                $extension                  = Request::file($input_field)->getClientOriginalExtension();
                $fileName                   = Request::file($input_field)->getClientOriginalName();
                $ext                        = pathinfo($fileName, PATHINFO_EXTENSION);
                $fileName                   = basename($fileName, "." . $ext);
                $fileName                   = Str::slug($fileName);
                $thumbnail_name              = $fileName . '-' . time();

                if (isset($config_controls['encrypt_name']) && $config_controls['encrypt_name'] == TRUE) {

                    $fileName = $fileName . '-' . time() . '.' . $extension;
                } else {

                    $fileName = $fileName . '.' . $extension;
                }
                $TMP_input              = Request::file($input_field)->move(base_path($destinationPath), $fileName);

                if($is_video)
                {
                    $this->generateThumbnailWithVideoDetials($fileName, $this->data, $thumbnail_name);
                }

                $videoData                = [$other_controls["db_field"] => $destinationPath . $TMP_input->getBasename()];

                $upload_file_array     = [
                                            "error"             => 1,
                                            "reason"            => "pass",
                                            "hdn_array"         => $videoData
                                        ];
            } else {
                $upload_file_array     = [
                                            "error"             => 3,
                                            "reason"            => "upload_error",
                                            "msg"               => $other_controls["input_nick"] . " is not Valid"
                                        ];


                $validator->after(
                    function ($validator) use ($other_controls, $file_validation, $upload_file_array)
                    {
                        $validator
                            ->errors()
                            ->add($other_controls["hdn_field"], $upload_file_array["msg"]);
                    }
                );
            }
        }



        if (!$FILE_uploaded) {


            if ($request[$other_controls['hdn_field']] != '')
            {
                $videoData                        = [
                    $db_field   => $request[$other_controls['hdn_field']],
                    'id'        => @$saveData['id']
                ];


                $upload_file_array            =    [
                                                        "error"         =>    2,
                                                        "reason"        =>   "hidden",
                                                        "hdn_array"     =>    $videoData
                                                    ];
            }
            else if ($other_controls['validate'])
            {

                $upload_file_array            =    [
                                                        "error"         => 3,
                                                        "reason"        => "upload_error",
                                                        "msg"           => "The " . $other_controls["input_nick"] . " field is required"
                                                    ];



                $validator->after(
                    function ($validator) use ($other_controls, $file_validation, $upload_file_array) {
                        $validator
                            ->errors()
                            ->add($other_controls["hdn_field"], $upload_file_array["msg"]);
                    }
                );
            }
            else {

                $upload_file_array            = [
                                                    "error"             =>    0,
                                                    "reason"            =>  "none",
                                                    "msg"               =>    ''
                                                ];
            }
        }



        $upload_file_array["upload_path"]                  = $config_controls['upload_path'];
        $upload_file_array["hdn_field"]                    = $other_controls['hdn_field'];
        $upload_file_array["db_field"]                     = $other_controls['db_field'];
        $upload_file_array["tmp_table_field"]              = $other_controls['tmp_table_field'];
        $upload_file_array["file_name"]                    = $fileName;

        return $upload_file_array;
    }

    public function generateThumbnailWithVideoDetials($input_file = false, &$data, $fileName)
    {
        $fileName       = $fileName . '.jpg';
        $ffmpeg         = FFMpeg\FFMpeg::create();
        $video_Url      = base_path($this->data["video_dir"] . $input_file);
        $video          = $ffmpeg->open($video_Url);

        $ffprobe = FFMpeg\FFProbe::create();
        $totalSecs          = $ffprobe->format($video_Url)->get('duration');



        $frame = $video->frame(FFMpeg\Coordinate\TimeCode::fromSeconds((ceil($totalSecs) / 2)))
            ->save(base_path($this->data["thumbnail_dir"] . $fileName));



        $video_dimensions = $ffprobe
                                ->streams($video_Url)
                                ->videos()
                                ->first()
                                ->getDimensions();

        $width      = $video_dimensions->getWidth();
        $height     = $video_dimensions->getHeight();


        $data['thumbnail_file']     = $fileName;
        $data['width']              = $width;
        $data['height']             = $height;
        $data['duration']           = OtherHelper::getDuration($totalSecs);
        $data['video_file']         = $input_file;
    }

    public function tmp_record_uploads_in_db($request, $linked_with_path, $tmp_upload_video_1 = array(), $is_multiple = FALSE)
    {


        if ($tmp_upload_video_1["error"] == "1" and $tmp_upload_video_1["reason"] == "pass") {

            $tmp_record                 = Tmp_Videos_Upload::where("unique_formid", $request["unique_formid"]);

            $i                          = $tmp_upload_video_1["hdn_array"][$tmp_upload_video_1["db_field"]];

            if ($linked_with_path) {
                $i                    = $tmp_upload_video_1["upload_path"] . $tmp_upload_video_1["hdn_array"][$tmp_upload_video_1["db_field"]];
            }


            if ($tmp_record->count() > 0) {

                $insert_id                = $tmp_record->get()->first();


                $insert_upload_file        = [
                    $tmp_upload_video_1["tmp_table_field"]                  => $i,
                    "unique_formid"                                         => $request["unique_formid"]
                ];


                $saveData = Tmp_Videos_Upload::where([
                    'id'    => $insert_id
                ])
                    ->update($insert_upload_file);


                $request->request->add([$tmp_upload_video_1["hdn_field"] => $i]);
            } else {


                $insert_upload_file        = [
                    $tmp_upload_video_1["tmp_table_field"]            => $i,
                    "unique_formid"                                   => $request["unique_formid"]
                ];

                $TT = new Tmp_Videos_Upload();
                $__UPLOAD_FIELD            =  $tmp_upload_video_1["tmp_table_field"];


                $TT->$__UPLOAD_FIELD                                        = $i;
                $TT->unique_formid                                          = $request["unique_formid"];

                if ($tmp_upload_video_1["tmp_table_field"] == "upload_2") {
                    $TT->upload_1                = "";
                }
                if ($tmp_upload_video_1["tmp_table_field"] == "upload_1") {
                    $TT->upload_2                = "";
                }

                $TT->save();


                $request->request->add([$tmp_upload_video_1["hdn_field"] => $i]);
            }
        }
    }


    public function email($e)
    {

            try {

                
                $mail                              = new PHPMailer();

                $mail->IsSMTP();
                $mail->SMTPDebug                   = false;
                $mail->Host                        = Config::get('constants.MAIL_HOST');
                $mail->SMTPAuth                    = true;
                $mail->Username                    = Config::get('constants.MAIL_USERNAME');
                $mail->Password                    = Config::get('constants.MAIL_PASSWORD');
                $mail->SMTPSecure                  = Config::get('constants.MAIL_ENCRYPTION');
                $mail->Port                        = Config::get('constants.MAIL_PORT');
                $mail->setFrom(Config::get('constants.MAIL_FORM'), $e['from_name']);
                       
                
          
                $mail->IsHTML(true);

                $mail->Subject                    = $e['subject'];

                if ($e['email_attachment'] != "") {
                    $mail->AddAttachment($e['email_attachment']);
                }

                $mail->MsgHTML($e['message']);



                if (is_array($e['to'])) {
                    if (count($e['to']) > 0) {
                        foreach ($e['to'] as $to_email) {
                            if ($to_email != '') {
                                $mail->AddAddress(trim($to_email));
                            }
                        }
                    }
                } else {
                    $mail->AddAddress($e['to']);
                }




                if (is_array($e['bcc'])) {
                    if (count($e['bcc']) > 0) {
                        foreach ($e['bcc'] as $bcc_email) {
                            if ($bcc_email != '') {
                                $mail->AddBCC(trim($bcc_email));
                            }
                        }
                    }
                } else {
                    $mail->AddBCC($e['bcc']);
                }
                $a = $mail->Send();

                return TRUE;
            } catch (phpmailerException $e) { } catch (Exception $e) {

                    
                return false;
            }

    }

    public function sendEmail($email_template)
    {
        if (!isset($email_template["email_heading"])) {
            $email_template["email_heading"]        = "";
        }

        if (!isset($email_template["email_to"])) {
            $email_template["email_to"]                = Config::get('constants.EMAIL_TO');
        }

        if (!isset($email_template["email_from"])) {
            $email_template["email_from"]            = Config::get('constants.MAIL_FORM');
        }

        if (!isset($email_template["email_from_name"])) {
            $email_template["email_from_name"]        = Config::get('constants.MAIL_FORMNAME');
        }

        if (!isset($email_template["email_post"])) {
            $email_template["email_post"]            = Request::all();
        }

        if (!isset($email_template["email_attachment"])) {
            $email_template["email_attachment"]        = "";
        }

        if (!isset($email_template["email_bcc"])) {
            $email_template["email_bcc"]            = Config::get('constants.EMAIL_BCC');
        }


        if (!isset($email_template["default_subject"])) {
            $email_template["default_subject"]        = "";
        } else {
            $email_template["default_subject"]        = Config::get('constants.EMAIL_SUBJECT')  . " - ";
        }

        if (isset($email_template["email_file_HTML"])) {
            $email_body                                = $email_template["email_file_HTML"];
        } else {

            $email_body                                    = view(Config::get('constants.EMAIL_TEMPLATE'), $email_template);
        }


        $email_array        =   [
                                    "from"                  => $email_template["email_from"],
                                    "from_name"             => $email_template["email_from_name"],
                                    "to"                    => $email_template["email_to"],
                                    "cc"                    => "",
                                    "bcc"                   => $email_template["email_bcc"],
                                    "subject"               => $email_template["default_subject"] . $email_template["email_subject"],
                                    "email_attachment"      => $email_template["email_attachment"],
                                    "message"               => ($email_body)
                                ];


        if (isset($email_template["debug"])) {
            echo $email_body;
            dd($email_array);
            die;
        }

        return $this->email($email_array);
    }

    public function userPagesTracking($tracked_url = null)
    {

        $IpAddress              = Request::getClientIp(true);
        $url                    = ( $tracked_url ==  null ? Request::url() : $tracked_url );
        $TimeSpentOnPage        = OtherHelper::getCurrentDate();
        $tempSecs               = 0 ;

        $usertrackingdata                    =  new  \App\UserPageView();
        $usertrackingdata->IpAddress         = $IpAddress;
        $usertrackingdata->Url               = $url;
        $usertrackingdata->TimeSpentOnPage   = gmdate("H:i:s", (int) $tempSecs); //gmdate("H:i:s", (int) $tempSecs['s']);

        if( Auth::guard( 'patient' )->check() )
        {
            $UserID                              = RoleManagement::getUserLogggedInInfo()->UserID;
            $usertrackingdata->UserID            = $UserID;
        }else
        {
            $usertrackingdata->UserID            =  null;
        }

        $usertrackingdata->save();

        return $usertrackingdata->UserPageViewID;
    }

    public static function getCMSMenu()
    {
        $menu = \App\ContentFragment::all();
        return $menu;
    }
}

``

Last updated 1 week ago.
0

@tvbeek Sorry to bother you, but can you please update the above reply so that I can properly see the code. Thanks

0
moderator

@faisal No problem I have updated the posts.

@deepakgupta387 if you want to add a code block you can wrap it in 3 ` instead of 1 :)

1

@deepakgupta387 you need to see the definition of the sendEmailVerificationNotification function that is invoked in the create method of the RegisterController

0

Bro Recently I faced issues for sending user verification email in API for use laravel default function. Then use custom code thats very simple . Now its works properly .

0

@developeralamin If the below code is what you have on your (.env) file; you need to fill in a proper SMTP mail credentials.

SMTP SETTING

MAIL_MAILER=smtp MAIL_HOST=mail.example.com MAIL_PORT=465 MAIL_USERNAME=[email protected] MAIL_PASSWORD=*********** MAIL_ENCRYPTION=ssl MAIL_FROM_ADDRESS=[email protected] MAIL_FROM_NAME="Your name" EMAIL_TO=[email protected] EMAIL_SUBJECT=Subject Here

0

Sign in to participate in this thread!

Full Stack Europe

Your banner here too?

Moderators

We'd like to thank these amazing companies for supporting us

Your logo here?

Laravel.io

The Laravel portal for problem solving, knowledge sharing and community building.

© 2023 Laravel.io - All rights reserved.