HEX
Server: Apache/2.4.46 (Ubuntu)
System: Linux localhost 5.11.0-49-generic #55-Ubuntu SMP Wed Jan 12 17:36:34 UTC 2022 x86_64
User: root (0)
PHP: 7.4.16
Disabled: pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wifcontinued,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_get_handler,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,pcntl_async_signals,pcntl_unshare,
Upload Files
File: /var/www/html/fieldsblaze-heroku/app/Http/Controllers/AdminController.php
<?php

namespace App\Http\Controllers;
use Illuminate\Http\Request;
use Validator;
use DB;
use App\Library\UserLib;
use App\Models\User;
use App\Models\Admin;
use Illuminate\Foundation\Bus\DispatchesJobs;
use Illuminate\Routing\Controller as BaseController;
use Illuminate\Foundation\Validation\ValidatesRequests;
use Illuminate\Foundation\Auth\Access\AuthorizesRequests;
use Illuminate\Support\Facades\Crypt;

class AdminController extends BaseController
{
    use AuthorizesRequests, DispatchesJobs, ValidatesRequests;
 
    protected $userLib;
    public function __construct(UserLib $userLib)
	{
		$this->userLib = $userLib;		 
	}

    public function index()
    {
        return view('welcome');
    }

 
    //User Login
    public function login(Request $request) {
		//TODO What is device_token
      //  $data = $request->json()->all();	
        
        $data = $request->all(); 

        $token = $this->userLib->tokenGenrator();
        $CreatedDate = date('Y-m-d H:i:s',time());            
        $tblData = array();
        
        
        //$UserId = $data['UserId']; 
		$validator = Validator::make($data, [
			'Email' => 'required|email|max:255',
			'Password' => 'required|max:255',
              			 
        ]);
        //check validation
        if ($validator->fails())
        {
            $response = [
                'Success' => false,
                'ResponseMessage' => "Email / Password is required!",
                'ResponseCode' => '220',
                'ApiVersion' => env('APP_VERSION'),    
            ];
            return response()->json($response);
        }         
        //Check Memeber is exist or not
        $user = Admin::where('Email', $data['Email'])->get();   
        if ($user->count() > 0)
        {   //user is exist            
            $user = $user->first();   
            $UserId = $user->UserId;
            $isActive = $user->isActive;             
            $Password = $user->Password;

            if($user->Status != 'Activated')
            {
                $response = [
                    'Success' => false,
                    'ResponseMessage' => "Your account is not active. Please email support@fieldsalesapp.co",
                    'ResponseCode' => "208",
                    'ApiVersion' => env('APP_VERSION'),    
                ];
                return response()->json($response);
            }

             

            if($isActive == 0)
            {
                $response = [
                    'success' => false,
                    'ResponseMessage' => "Your account is not active. Please contact to Admin",
                    'ResponseCode' => "208",
                    'ApiVersion' => env('APP_VERSION'),    
                ];
                return response()->json($response);
            }

            $tempPassword = isset($data['Password']) ? $data['Password'] : '';

            if(!$tempPassword)
            {
                $response = [
                    'success' => false,
                    'ResponseMessage' => "Please enter password",
                    'ResponseCode' => "206",
                    'ApiVersion' => env('APP_VERSION'),    
                ];
                return response()->json($response);
            }

            if(md5(Crypt::decryptString($Password)) == md5($tempPassword))
            {
                 
                //get user details
                $tblData['UserId'] = $UserId;
                $tblData['AuthToken'] = $token;
                $tblData['CreatedDate'] = $CreatedDate;                     
                $auth = DB::connection('DBD')->table('tbl_user_auth')->insert($tblData);
                unset($user->Password);
                unset($user->ResetKey);
                unset($user->TempPassword);
                unset($user->OtpPassword);
                unset($user->reset_key);
            
                
                if($auth)
                {   // success

                    $UserName = $user->FirstName.' '.$user->LastName;
                    $UserEmail = $user->Email;
                    

                    session(['UserId' => $UserId, 'UserName' => $UserName, 'UserEmail' => $UserEmail]);

                    $response = [
                        'Success' => true,
                        'ResponseMessage' => "Login successfully",
                        'ResponseCode' => "200",
                        'UserId' => $UserId,                            
                        'AuthToken' => $token,
                        'Auth' => $auth,
                        'User' => $user, 
                        'ApiUrl' => env('APP_URL'),  
                        'ApiVersion' => env('APP_VERSION'),                             
                    ];
                }
                else
                {
                    // fail
                    $response = [
                        'Success' => false,
                        'ResponseMessage' => "Invalid Auth",
                        'ResponseCode' => "203",
                        'Auth' => $auth ,
                        'ApiVersion' => env('APP_VERSION'),    
                    ];
                }
                return response()->json($response);                                                                         
                 
            }
            else
            {    
                $response = [
                    'Success' => false,
                    'ResponseMessage' => "Invalid password!",
                    'ResponseCode' => "203",
                    'ApiVersion' => env('APP_VERSION'),    
                ];
                return response()->json($response);                                                                                                
            }
             
        } 
        else
        {
            //email is not exist
            $response = [
                'success' => false,
                'ResponseMessage' => "Admin email does not exist!",
                'ResponseCode' => "202",
            ];
            return response()->json($response);
             
        }                
    }


    //logout
    //User logout
    public function logout(Request $request) {
		//TODO What is device_token
      //  $data = $request->json()->all();	
        
        $data = $request->all(); 

        $token = $this->userLib->tokenGenrator();
        $CreatedDate = date('Y-m-d H:i:s',time());            
        $tblData = array();
        
        $UserEmail = session('UserEmail');
                
        //Check user is exist or not
        $user = Admin::where('Email', $UserEmail)->get();   
        if ($user->count() > 0)
        {   //user is exist            
            $user = $user->first();   
            $UserId = $user->UserId;
                         
            //get user details                           
            $auth = DB::connection('DBD')->table('tbl_user_auth')->where('UserId',$UserId)->delete();
                                            
            if($auth)
            {   // success

                $UserName = $user->FirstName.' '.$user->LastName;
                $UserEmail = $user->Email;
                
                $request->session()->flush();
                

                $response = [
                    'Success' => true,
                    'ResponseMessage' => "logout successfully",
                    'ResponseCode' => "200",                     
                    'ApiUrl' => env('APP_URL'),  
                    'ApiVersion' => env('APP_VERSION'),                             
                ];
            }
            else
            {
                // fail
                $response = [
                    'Success' => false,
                    'ResponseMessage' => "Invalid Auth",
                    'ResponseCode' => "203",
                    'Auth' => $auth ,
                    'ApiVersion' => env('APP_VERSION'),    
                ];
            }
            return response()->json($response);                                                                                                                   
        } 
        else
        {
            //email is not exist
            $response = [
                'success' => false,
                'ResponseMessage' => "Admin email does not exist!",
                'ResponseCode' => "202",
            ];
            return response()->json($response);
             
        }                
    }

    //logout direct
    //User logout direct
    public function logoutDirect(Request $request) {
		//TODO What is device_token
      //  $data = $request->json()->all();	
        
        $data = $request->all(); 

        $token = $this->userLib->tokenGenrator();
        $CreatedDate = date('Y-m-d H:i:s',time());            
        $tblData = array();
        
        $UserEmail = session('UserEmail');
                
        //Check user is exist or not
        $user = Admin::where('Email', $UserEmail)->get();   
        if ($user->count() > 0)
        {   //user is exist            
            $user = $user->first();   
            $UserId = $user->UserId;
                         
            //get user details                           
            $auth = DB::connection('DBD')->table('tbl_user_auth')->where('UserId',$UserId)->delete();               
            $request->session()->flush();            
            return redirect('/login'); 
                                                                                                                              
        } 
        else
        {
            $request->session()->flush();
            return redirect('/login');              
        }                
    }
     
    
     
}