File: /var/www/html/fieldsblaze-heroku/app/Http/Controllers/UserController.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\UserAuth;
use App\Models\Countries;
use App\Models\States;
use App\Models\Profiles;
use App\Models\Departments;
use Illuminate\Support\Facades\Storage;
use Illuminate\Support\Facades\Crypt;
use Illuminate\Support\Facades\File;
use Illuminate\Support\Facades\URL;
use Illuminate\Support\Facades\App;
use Illuminate\Routing\Controller as BaseController;
class UserController extends Controller
{
protected $userLib;
protected $TeamList;
public function __construct(UserLib $userLib)
{
$this->userLib = $userLib;
}
// public function uploadprocess(Request $request)
// {
// $data = array();
// $data['ufile'] = $request->file('ufile');
// $imageName = $this->userLib->useridGenrator();
// if ($request->hasFile('ufile')) {
// $file = $request->file('ufile');
// $extension = $file->getClientOriginalExtension();
// $newFileName = $imageName . '-' . time() . '.' . $extension;
// Storage::putFileAs(
// 'public/products',
// $file,
// $newFileName
// );
// $path = Storage::url('products/' . $newFileName);
// $data['ThumbnailUrl'] = $path;
// }
// print_r($data);
// exit;
// }
public function uploadprocess(Request $request)
{
//echo "uploadprocess";
$data = array();
$imageName = $this->userLib->useridGenrator();
if ($request->hasFile('ufile')) {
$file = $request->file('ufile');
$extension = $file->getClientOriginalExtension();
$newFileName = $imageName . '-' . time() . '.' . $extension;
$destinationPath = 'storage/products';
$isUploaded = $file->move($destinationPath,$newFileName);
if($isUploaded)
{
$path = 'storage/products/' . $newFileName;
echo env('APP_URL').'/'.$path;
}
Storage::putFileAs(
'public/collection', $file, $newFileName
);
echo ", Path = ". $path = Storage::url('collection/'.$newFileName);
// $ok = Storage::putFileAs(
// 'public/collection', $file, $newFileName
// );
// $path = Storage::url('collection/'.$newFileName);
// $data['ufile'] = $path;
// $data['ok'] = $ok;
//print_r($data);
}
// print_r($ThumbnailUrl);
exit;
}
public function uploadprocessTT(Request $request)
{
$file = $request->file('ufile');
//Display File Name
echo 'File Name: '.$file->getClientOriginalName();
echo '<br>';
//Display File Extension
echo 'File Extension: '.$file->getClientOriginalExtension();
echo '<br>';
//Display File Real Path
echo 'File Real Path: '.$file->getRealPath();
echo '<br>';
//Display File Size
echo 'File Size: '.$file->getSize();
echo '<br>';
//Display File Mime Type
echo 'File Mime Type: '.$file->getMimeType();
//Move Uploaded File
$destinationPath = 'uploads';
echo "destinationPath = ".$destinationPath;
echo "getClientOriginalName = ".$file->getClientOriginalName();
$file->move($destinationPath,$file->getClientOriginalName());
exit;
}
public function upload(Request $request)
{
// echo url()->current()."<br/>";
// $environment = App::environment();
// echo $environment."<br/>";
// echo basename(__DIR__) ;
// echo env('APP_URL')."<br/>";
echo $path = storage_path();
return view('admin.upload');
}
public function getStates(Request $request)
{
$country_id = $request->post('country_id');
$state_data = States::where('country_id', $country_id)->orderBy('state_name', 'asc')->get();
echo "<option value=''>Please select state</option>";
foreach ($state_data as $state) {
$state_name = $state->state_name;
echo "<option value='" . $state_name . "'>" . $state_name . "</option>";
}
}
public function login()
{
if (!empty(session('UserId'))) {
return redirect('/dashboard');
}
return view('admin.login');
}
public function register()
{
return view('admin.register');
}
public function forgotPassword()
{
return view('admin.forgot-password');
}
public function recoverPassword()
{
return view('admin.recover-password');
}
public function addUser()
{
$countries_data = Countries::orderBy('country_name', 'asc')->get();
$profiles_data = Profiles::orderBy('ProfileName', 'asc')->get();
$departments_data = Departments::orderBy('DepartmentName', 'asc')->get();
$data = array();
$data['countries'] = $countries_data;
$data['profiles'] = $profiles_data;
$data['departments'] = $departments_data;
return view('admin.add-user', $data);
}
/*
Function: Add user process
Author: RS
Date: 14-06-2021
*/
public function addUserProcess(Request $request)
{
if (empty(session('UserId'))) {
return redirect('/admin/logout');
}
$CreatedDate = date('Y-m-d H:i:s', time());
$token = $this->userLib->tokenGenrator();
$g_userId = $this->userLib->useridGenrator();
$UserId = $g_userId;
$data = $request->all();
// $FirstName = $request->post('FirstName');
// $LastName = $request->post('LastName');
// print_r($data);exit;
//User Image
// if ($request->hasFile('ProfilePic')) {
// $imageName = $this->userLib->useridGenrator();
// $path = '';
// $file = $request->file('ProfilePic');
// $extension = $file->getClientOriginalExtension();
// $newFileName = $imageName . '-' . time() . '.' . $extension;
// Storage::putFileAs(
// 'public/user',
// $file,
// $newFileName
// );
// $path = Storage::url('user/' . $newFileName);
// $data['UserProfileImage'] = $path;
// }
// $imageName = $this->userLib->useridGenrator();
// if ($request->hasFile('ProfilePic'))
// {
// $path = '';
// $file = $request->file('ProfilePic');
// $extension = $file->getClientOriginalExtension();
// $newFileName = $imageName . '-' . time() . '.' . $extension;
// Storage::putFileAs(
// 'public/user',
// $file,
// $newFileName
// );
// $destinationPath = 'user';
// $isUploaded = $file->move($destinationPath,$newFileName);
// if($isUploaded)
// {
// $path = 'user/' . $newFileName;
// $ThumbnailUrl = $path;
// }
// $data['UserProfileImage'] = $ThumbnailUrl;
// }
$imageName = $this->userLib->useridGenrator();
if ($request->hasFile('ProfilePic')) {
$path = '';
$file = $request->file('ProfilePic');
$extension = $file->getClientOriginalExtension();
$newFileName = $imageName . '-' . time() . '.' . $extension;
Storage::putFileAs(
'public/user/',
$file,
$newFileName
);
$destinationPath = 'user/';
$isUploaded = $file->move($destinationPath,$newFileName);
$uploadedFileURL = '';
if($isUploaded)
{
$path = 'user/' . $newFileName;
$ThumbnailUrl = $path;
//File Upload Service as s3
$sourceFileURL = env('APP_URL').'/'.$path;
$curl = curl_init();
curl_setopt_array($curl, array(
CURLOPT_URL => 'http://172.105.42.62/s3-file-server/api-upload.php',
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => '',
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 0,
CURLOPT_FOLLOWLOCATION => true,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => 'POST',
CURLOPT_POSTFIELDS => array('file_url' => $sourceFileURL),
CURLOPT_HTTPHEADER => array(
'Cookie: private_content_version=3f7abce738dd8b52d0dcb8653bfe8e93; mage-messages=%5B%7B%22type%22%3A%22error%22%2C%22text%22%3A%22Invalid%20Form%20Key.%20Please%20refresh%20the%20page.%22%7D%2C%7B%22type%22%3A%22error%22%2C%22text%22%3A%22Invalid%20Form%20Key.%20Please%20refresh%20the%20page.%22%7D%2C%7B%22type%22%3A%22error%22%2C%22text%22%3A%22Invalid%20Form%20Key.%20Please%20refresh%20the%20page.%22%7D%5D'
),
));
$response = curl_exec($curl);
curl_close($curl);
$uploadedFile = json_decode($response,true);
$uploadedFileURL = isset($uploadedFile['url']) ? $uploadedFile['url'] : '';
}
$data['UserProfileImage'] = $uploadedFileURL;
}
$data['UserId'] = $UserId;
$data['TempPassword'] = $data['Password'];
$data['Password'] = Crypt::encryptString($data['Password']);
if ($data['AssignExpenseAmount']) {
$data['AssignExpenseAmount'] = $data['AssignExpenseAmount'];
} else {
$data['AssignExpenseAmount'] = '0.00';
}
$data['ModifiedDate'] = $CreatedDate;
$data['OtpCreatedDate'] = $CreatedDate;
$data['Created_at'] = $CreatedDate;
$data['Created_by'] = session('UserId');
$data['Updated_at'] = $CreatedDate;
$data['Updated_by'] = session('UserId');
unset($data['_token']);
unset($data['save']);
unset($data['ProfilePic']);
$user_insert = User::insert($data);
$UserId = $g_userId;
$FirstName = $request->post('FirstName');
if($request->post('LastName')){
$LastName = $request->post('LastName');
}
else{
$LastName = 'null';
}
$FullName = $FirstName." ".$LastName;
if($request->post('Email')){
$Email = $request->post('Email');
}
else{
$Email ='demo@gmail.com';
}
$Mobile = $request->post('Mobile');
$TemPassword = $request->post('Password');
$Password = Crypt::encryptString($request->post('Password'));
$CompanyName = $request->post('CompanyName');
$CompanyCode = $request->post('CrmId');
$Department = $request->post('Department');
$AboutMe = $request->post('AboutMe');
$CommunityNickname = $request->post('CommunityNickname');
$Address = $request->post('Address');
$City = $request->post('City');
$CountryPrimaryId = $request->post('Country');
$Country = '';
if($CountryPrimaryId){
$customer_details = Countries::select('tbl_countries.country_name')
->where('tbl_countries.id', $CountryPrimaryId)
->get()->first();
$Country = $customer_details->country_name;
}
$State = $request->post('State');
$PostalCode = $request->post('PostalCode');
$OtpCreatedDate = $CreatedDate;
$OtpVerified = $request->post('OtpVerified');
$ProfileId = $request->post('ProfileId');
$AssignExpenseAmount = $request->post('AssignExpenseAmount');
$Username = 'xyz@acme.com';
$Alias = 'xyz';
$TimeZoneSidKey = 'Asia/Kolkata';
$LocaleSidKey = 'en_US';
$EmailEncodingKey = 'UTF-8';
// $Profile_Id = '0052w00000CV72t123';ProfileId,'$Profile_Id',
$LanguageLocaleKey = 'en_US';
$IsDeleted = '1';
$Status = '0';
$active = '0';
DB::connection('pgsql')->insert("insert into salesforce.User__c (UserId__c,FirstName__c,LastName__c,Email__c,Mobile__c,Temp_Password__c,Password__c,Company_Name__c,CrmId__c,Department__c,About_Me__c,Community_Nick_name__c,Address__c,City__c,Country__c,State__c,PostalCode__c,Otp_Created_Date__c,Otp_Verified__c,ProfileId__c,Assign_Expense_Amount__c,Is_Deleted__c,Status__c,Name,isActive__c) values ('$UserId','$FirstName','$LastName','$Email','$Mobile','$TemPassword','$Password','$CompanyName','$CompanyCode','$Department','$AboutMe','$CommunityNickname','$Address','$City','$Country','$State','$PostalCode','$OtpCreatedDate','$OtpVerified','$ProfileId','$AssignExpenseAmount','$IsDeleted','$Status','$FullName','$active')");
if ($user_insert) {
return redirect('/all-user?m=success');
//echo "<br/><br/>Inserted<br/><br/>";
} else {
return redirect('/all-user?m=failed');
echo "<br/><br/>Not Inserted<br/><br/>";
}
}
#### Check Mobile Number In Add User Page
public function checkUserMobile(Request $request)
{
if (empty(session('UserId'))) {
return redirect('/admin/logout');
}
$CreatedDate = date('Y-m-d H:i:s', time());
$data = $request->all();
$user = User::where('Mobile', $data['Mobile'])->get();
if ($user->count() > 0) { //mobile exist
$user = $user->first();
$UserId = $user->UserId;
$response = [
'Success' => false,
'ResponseMessage' => "Number already exist in CRM!",
'ResponseCode' => '201',
];
return response()->json($response);
} else {
$response = [
'Success' => true,
'ResponseMessage' => "",
'ResponseCode' => '200',
];
return response()->json($response);
}
}
#### Check Mobile Number In Add User Modal
public function checkMobile(Request $request)
{
if (empty(session('UserId'))) {
return redirect('/admin/logout');
}
$Mobile = $request->input('MobileNumber');
$GetMobile = User::where('Mobile', $Mobile)
->get()->first();
if ($GetMobile) {
return response()->json(array("exists" => true));
} else {
return response()->json(array("exists" => false));
}
}
#### Check User Name In Add User Modal
public function checkUserName(Request $request)
{
if (empty(session('UserId'))) {
return redirect('/admin/logout');
}
$UserNameId = $request->input('UserNameId');
$GetUserNameId = User::where('UserNameId', $UserNameId)
->get()->first();
if ($GetUserNameId) {
return response()->json(array("exists" => true));
} else {
return response()->json(array("exists" => false));
}
}
#### All User
public function allUser()
{
if (empty(session('UserId'))) {
return redirect('/admin/logout');
}
//$user = User::orderBy('CreatedDate', 'desc')->get();
//$data = array();
//$data['users'] = $user;
$users = User::select('tbl_user.*', 'tbl_profiles.ProfileName as ProfileName', 'tbl_admin.FirstName as Updated_by', 'tbl_admin.FirstName as Created_by')
->leftJoin('tbl_profiles', 'tbl_user.ProfileId', '=', 'tbl_profiles.ProfileId')
//->leftJoin('tbl_countries', 'tbl_sales_area.Country', '=', 'tbl_countries.id')
->leftJoin('tbl_admin', 'tbl_user.Updated_by', '=', 'tbl_admin.UserId')
->where('tbl_user.IsDeleted', '=', '0')
//->where('tbl_user.Status', '=', 'Activated')
->orderBy('tbl_user.id', 'desc')
->get();
$ActiveUser = User::select('tbl_user.*', 'tbl_profiles.ProfileName as ProfileName', 'tbl_admin.FirstName as Updated_by', 'tbl_admin.FirstName as Created_by')
->leftJoin('tbl_profiles', 'tbl_user.ProfileId', '=', 'tbl_profiles.ProfileId')
//->leftJoin('tbl_countries', 'tbl_sales_area.Country', '=', 'tbl_countries.id')
->leftJoin('tbl_admin', 'tbl_user.Updated_by', '=', 'tbl_admin.UserId')
->where('tbl_user.IsDeleted', '=', '0')
->where('tbl_user.isActive', '=', '1')
->orderBy('tbl_user.id', 'desc')
->get();
$InActiveUser = User::select('tbl_user.*', 'tbl_profiles.ProfileName as ProfileName', 'tbl_admin.FirstName as Updated_by', 'tbl_admin.FirstName as Created_by')
->leftJoin('tbl_profiles', 'tbl_user.ProfileId', '=', 'tbl_profiles.ProfileId')
//->leftJoin('tbl_countries', 'tbl_sales_area.Country', '=', 'tbl_countries.id')
->leftJoin('tbl_admin', 'tbl_user.Updated_by', '=', 'tbl_admin.UserId')
->where('tbl_user.IsDeleted', '=', '0')
->where('tbl_user.isActive', '=', '0')
->orderBy('tbl_user.id', 'desc')
->get();
$TrashUser = User::select('tbl_user.*', 'tbl_profiles.ProfileName as ProfileName', 'tbl_admin.FirstName as Updated_by', 'tbl_admin.FirstName as Created_by')
->leftJoin('tbl_profiles', 'tbl_user.ProfileId', '=', 'tbl_profiles.ProfileId')
//->leftJoin('tbl_countries', 'tbl_sales_area.Country', '=', 'tbl_countries.id')
->leftJoin('tbl_admin', 'tbl_user.Updated_by', '=', 'tbl_admin.UserId')
->where('tbl_user.IsDeleted', '=', '1')
->orderBy('tbl_user.id', 'desc')
->get();
return view('admin.all-user', ['user' => $users, 'ActiveUser' => $ActiveUser, 'InActiveUser' => $InActiveUser, 'TrashUser' => $TrashUser]);
}
### Active User
public function activeUser()
{
if (empty(session('UserId'))) {
return redirect('/admin/logout');
}
$users = User::select('tbl_user.*', 'tbl_profiles.ProfileName as ProfileName', 'tbl_admin.FirstName as Updated_by', 'tbl_admin.FirstName as Created_by')
->leftJoin('tbl_profiles', 'tbl_user.ProfileId', '=', 'tbl_profiles.ProfileId')
//->leftJoin('tbl_countries', 'tbl_sales_area.Country', '=', 'tbl_countries.id')
->leftJoin('tbl_admin', 'tbl_user.Updated_by', '=', 'tbl_admin.UserId')
->where('tbl_user.IsDeleted', '=', '0')
//->where('tbl_user.Status', '=', 'Activated')
->orderBy('tbl_user.id', 'desc')
->get();
$ActiveUser = User::select('tbl_user.*', 'tbl_profiles.ProfileName as ProfileName', 'tbl_admin.FirstName as Updated_by', 'tbl_admin.FirstName as Created_by')
->leftJoin('tbl_profiles', 'tbl_user.ProfileId', '=', 'tbl_profiles.ProfileId')
//->leftJoin('tbl_countries', 'tbl_sales_area.Country', '=', 'tbl_countries.id')
->leftJoin('tbl_admin', 'tbl_user.Updated_by', '=', 'tbl_admin.UserId')
->where('tbl_user.IsDeleted', '=', '0')
->where('tbl_user.isActive', '=', '1')
->orderBy('tbl_user.id', 'desc')
->get();
$InActiveUser = User::select('tbl_user.*', 'tbl_profiles.ProfileName as ProfileName', 'tbl_admin.FirstName as Updated_by', 'tbl_admin.FirstName as Created_by')
->leftJoin('tbl_profiles', 'tbl_user.ProfileId', '=', 'tbl_profiles.ProfileId')
//->leftJoin('tbl_countries', 'tbl_sales_area.Country', '=', 'tbl_countries.id')
->leftJoin('tbl_admin', 'tbl_user.Updated_by', '=', 'tbl_admin.UserId')
->where('tbl_user.IsDeleted', '=', '0')
->where('tbl_user.isActive', '=', '0')
->orderBy('tbl_user.id', 'desc')
->get();
$TrashUser = User::select('tbl_user.*', 'tbl_profiles.ProfileName as ProfileName', 'tbl_admin.FirstName as Updated_by', 'tbl_admin.FirstName as Created_by')
->leftJoin('tbl_profiles', 'tbl_user.ProfileId', '=', 'tbl_profiles.ProfileId')
//->leftJoin('tbl_countries', 'tbl_sales_area.Country', '=', 'tbl_countries.id')
->leftJoin('tbl_admin', 'tbl_user.Updated_by', '=', 'tbl_admin.UserId')
->where('tbl_user.IsDeleted', '=', '1')
->orderBy('tbl_user.id', 'desc')
->get();
return view('admin.active-user', ['user' => $users, 'ActiveUser' => $ActiveUser, 'InActiveUser' => $InActiveUser, 'TrashUser' => $TrashUser]);
}
### In-aActive User
public function inActiveUser()
{
if (empty(session('UserId'))) {
return redirect('/admin/logout');
}
$users = User::select('tbl_user.*', 'tbl_profiles.ProfileName as ProfileName', 'tbl_admin.FirstName as Updated_by', 'tbl_admin.FirstName as Created_by')
->leftJoin('tbl_profiles', 'tbl_user.ProfileId', '=', 'tbl_profiles.ProfileId')
//->leftJoin('tbl_countries', 'tbl_sales_area.Country', '=', 'tbl_countries.id')
->leftJoin('tbl_admin', 'tbl_user.Updated_by', '=', 'tbl_admin.UserId')
->where('tbl_user.IsDeleted', '=', '0')
//->where('tbl_user.Status', '=', 'Activated')
->orderBy('tbl_user.id', 'desc')
->get();
$ActiveUser = User::select('tbl_user.*', 'tbl_profiles.ProfileName as ProfileName', 'tbl_admin.FirstName as Updated_by', 'tbl_admin.FirstName as Created_by')
->leftJoin('tbl_profiles', 'tbl_user.ProfileId', '=', 'tbl_profiles.ProfileId')
//->leftJoin('tbl_countries', 'tbl_sales_area.Country', '=', 'tbl_countries.id')
->leftJoin('tbl_admin', 'tbl_user.Updated_by', '=', 'tbl_admin.UserId')
->where('tbl_user.IsDeleted', '=', '0')
->where('tbl_user.isActive', '=', '1')
->orderBy('tbl_user.id', 'desc')
->get();
$InActiveUser = User::select('tbl_user.*', 'tbl_profiles.ProfileName as ProfileName', 'tbl_admin.FirstName as Updated_by', 'tbl_admin.FirstName as Created_by')
->leftJoin('tbl_profiles', 'tbl_user.ProfileId', '=', 'tbl_profiles.ProfileId')
//->leftJoin('tbl_countries', 'tbl_sales_area.Country', '=', 'tbl_countries.id')
->leftJoin('tbl_admin', 'tbl_user.Updated_by', '=', 'tbl_admin.UserId')
->where('tbl_user.IsDeleted', '=', '0')
->where('tbl_user.isActive', '=', '0')
->orderBy('tbl_user.id', 'desc')
->get();
$TrashUser = User::select('tbl_user.*', 'tbl_profiles.ProfileName as ProfileName', 'tbl_admin.FirstName as Updated_by', 'tbl_admin.FirstName as Created_by')
->leftJoin('tbl_profiles', 'tbl_user.ProfileId', '=', 'tbl_profiles.ProfileId')
//->leftJoin('tbl_countries', 'tbl_sales_area.Country', '=', 'tbl_countries.id')
->leftJoin('tbl_admin', 'tbl_user.Updated_by', '=', 'tbl_admin.UserId')
->where('tbl_user.IsDeleted', '=', '1')
->orderBy('tbl_user.id', 'desc')
->get();
return view('admin.inactive-user', ['user' => $users, 'ActiveUser' => $ActiveUser, 'InActiveUser' => $InActiveUser, 'TrashUser' => $TrashUser]);
}
### Trash User
public function trashUser()
{
if (empty(session('UserId'))) {
return redirect('/admin/logout');
}
$users = User::select('tbl_user.*', 'tbl_profiles.ProfileName as ProfileName', 'tbl_admin.FirstName as Updated_by', 'tbl_admin.FirstName as Created_by')
->leftJoin('tbl_profiles', 'tbl_user.ProfileId', '=', 'tbl_profiles.ProfileId')
//->leftJoin('tbl_countries', 'tbl_sales_area.Country', '=', 'tbl_countries.id')
->leftJoin('tbl_admin', 'tbl_user.Updated_by', '=', 'tbl_admin.UserId')
->where('tbl_user.IsDeleted', '=', '0')
//->where('tbl_user.Status', '=', 'Activated')
->orderBy('tbl_user.id', 'desc')
->get();
$ActiveUser = User::select('tbl_user.*', 'tbl_profiles.ProfileName as ProfileName', 'tbl_admin.FirstName as Updated_by', 'tbl_admin.FirstName as Created_by')
->leftJoin('tbl_profiles', 'tbl_user.ProfileId', '=', 'tbl_profiles.ProfileId')
//->leftJoin('tbl_countries', 'tbl_sales_area.Country', '=', 'tbl_countries.id')
->leftJoin('tbl_admin', 'tbl_user.Updated_by', '=', 'tbl_admin.UserId')
->where('tbl_user.IsDeleted', '=', '0')
->where('tbl_user.isActive', '=', '1')
->orderBy('tbl_user.id', 'desc')
->get();
$InActiveUser = User::select('tbl_user.*', 'tbl_profiles.ProfileName as ProfileName', 'tbl_admin.FirstName as Updated_by', 'tbl_admin.FirstName as Created_by')
->leftJoin('tbl_profiles', 'tbl_user.ProfileId', '=', 'tbl_profiles.ProfileId')
//->leftJoin('tbl_countries', 'tbl_sales_area.Country', '=', 'tbl_countries.id')
->leftJoin('tbl_admin', 'tbl_user.Updated_by', '=', 'tbl_admin.UserId')
->where('tbl_user.IsDeleted', '=', '0')
->where('tbl_user.isActive', '=', '0')
->orderBy('tbl_user.id', 'desc')
->get();
$TrashUser = User::select('tbl_user.*', 'tbl_profiles.ProfileName as ProfileName', 'tbl_admin.FirstName as Updated_by', 'tbl_admin.FirstName as Created_by')
->leftJoin('tbl_profiles', 'tbl_user.ProfileId', '=', 'tbl_profiles.ProfileId')
//->leftJoin('tbl_countries', 'tbl_sales_area.Country', '=', 'tbl_countries.id')
->leftJoin('tbl_admin', 'tbl_user.Updated_by', '=', 'tbl_admin.UserId')
->where('tbl_user.IsDeleted', '=', '1')
->orderBy('tbl_user.id', 'desc')
->get();
return view('admin.trash-user', ['user' => $users, 'ActiveUser' => $ActiveUser, 'InActiveUser' => $InActiveUser, 'TrashUser' => $TrashUser]);
}
//Team List
public function getManagerTeamList($ManagerId='') {
//Check user is exist or not
$users = User::select('UserId', 'FirstName', 'LastName', 'Email','Mobile', 'ManagerId')
->leftJoin('tbl_profiles', 'tbl_user.ProfileId', '=', 'tbl_profiles.ProfileId')
->where('tbl_user.ManagerId',$ManagerId)
->orderBy('tbl_profiles.InOrder', 'asc')
->get();
if ($users->count() > 0)
{
foreach ($users as $key => $UValue)
{
$UserId = $UValue['UserId'];
$FirstName = $UValue['FirstName'];
$LastName = $UValue['LastName'];
$ManagerId = $UValue['ManagerId'];
//echo "Userid = ".$UserId.", Name = ".$FirstName."<br/>";
if($UserId) {
$this->TeamList[] = $UserId;
$this->getManagerTeamList($UserId);
}
}
}
return $responseData = $this->TeamList;
}
#### View Record
public function viewUser($UserId)
{
if (empty(session('UserId'))) {
return redirect('/admin/logout');
}
$user = User::select('tbl_user.*', 'tbl_profiles.ProfileName as ProfileName', 'tbl_admin.FirstName as Updated_by', 'tbl_admin.FirstName as Created_by', 'tbl_countries.country_name as Country')
->where('tbl_user.UserId', '=', $UserId)
->leftJoin('tbl_profiles', 'tbl_user.ProfileId', '=', 'tbl_profiles.ProfileId')
//->leftJoin('tbl_countries', 'tbl_sales_area.Country', '=', 'tbl_countries.id')
->leftJoin('tbl_admin', 'tbl_user.Updated_by', '=', 'tbl_admin.UserId')
->leftJoin('tbl_countries', 'tbl_user.Country', '=', 'tbl_countries.id')
//->where('tbl_user.Status', '=', 'Activated')
->get()->first();
$ManagerId = $user['ManagerId'];
if ($ManagerId) {
$Manager = '';
$ManagerName = User::select('tbl_user.FirstName as ManagerFirstName', 'tbl_user.LastName as ManagerLastName')
->where('tbl_user.UserId', '=', $ManagerId)
->get()->first();
if ($ManagerName) {
$Manager = $ManagerName->ManagerFirstName . ' ' . $ManagerName->ManagerLastName ;
}
} else {
$Manager = 'N/A';
}
// Team List
$TeamUserIds = "";
$TeamUserIds = $this->getManagerTeamList($UserId);
$TeamUser = array();
if($TeamUserIds){
$TeamUser = User::select('tbl_user.*', 'tbl_profiles.ProfileName as ProfileName', 'tbl_admin.FirstName as Updated_by', 'tbl_admin.FirstName as Created_by')
->leftJoin('tbl_profiles', 'tbl_user.ProfileId', '=', 'tbl_profiles.ProfileId')
->leftJoin('tbl_admin', 'tbl_user.Updated_by', '=', 'tbl_admin.UserId')
->whereIn('tbl_user.UserId', $TeamUserIds)
->where('tbl_user.IsDeleted', '=', '0')
//->where('tbl_user.Status', '=', '1')
->orderBy('tbl_profiles.InOrder', 'asc')
->get();
if ($TeamUser->count() > 0)
{ //email is exist
foreach ($TeamUser as $key => $UValue)
{
$ManagerId = $UValue->ManagerId;
$usersDeatils = User::select('UserId', 'FirstName', 'LastName', 'Email','Mobile', 'ManagerId', 'ProfileId')
->where('UserId',$ManagerId)
// ->where('IsDeleted', '=', '0')
// ->where('Status', '=', '1')
->get();
$fullname = '';
if($usersDeatils->count() > 0){
$userData = $usersDeatils->first();
$FirstName = $userData->FirstName;
$LastName = $userData->LastName;
$fullname = $FirstName.' '.$LastName;
}
$UValue['ManagerName'] = $fullname;
}
}
}
return view('admin.view-user', compact(['user', 'Manager', 'TeamUser']));
// if ($ManagerId) {
// return view('admin.view-user', compact(['user', 'ManagerName']));
// } else {
// return view('admin.view-user', ['user' => $user]);
// }
}
#### Delete Temporary
public function deleteUser($id)
{
if (empty(session('UserId'))) {
return redirect('/admin/logout');
}
$CreatedDate = date('Y-m-d H:i:s', time());
$value = array();
$value['Updated_at'] = $CreatedDate;
$value['IsDeleted'] = '1';
$value['isActive'] = '0';
$delete_user = User::where('UserId', $id)->update($value);
DB::connection('pgsql')->update("update salesforce.User__c set Is_Deleted__c='1',Status__c='0' where UserId__c='$id'");
if ($delete_user) {
$UserData = User::where('UserId', $id)
->get()->first();
$UserId = $UserData->UserId;
if ($UserId) {
$UserAuthData = UserAuth::where('UserId', $UserId)->delete();
}
// if ($UserAuthData) {
// return response()->json('status_success');
// } else {
// return response()->json('status_failed');
// }
}
}
#### Delete Selected User
public function deleteSelectedUser(Request $request)
{
if (empty(session('UserId'))) {
return redirect('/admin/logout');
}
$id = $request->input('SelectedUser');
if ($id) {
foreach ($id as $user) {
$checkData = User::find($user);
if ($checkData->IsDeleted == '0') {
$CreatedDate = date(
'Y-m-d H:i:s',
time()
);
$data = array();
$data['Updated_at'] = $CreatedDate;
$data['IsDeleted'] = '1';
$data['Status'] = '0';
$selected_user = User::where('id', $user)->update($data);
// DB::connection('pgsql')->update("update salesforce.User__c set Is_Deleted__c='1',Status__c='0' where UserId__c='$user'");
if ($selected_user) {
echo '1';
} else {
echo '0';
}
} else {
$selected_user = User::where('UserId', $user);
$selected_user->delete();
}
}
}
return redirect()->back()->with('status_success');
}
#### Restore
public function restoreUser($id)
{
if (empty(session('UserId'))) {
return redirect('/admin/logout');
}
$value = array('IsDeleted' => '0', 'isActive' => '0', 'Status' => 'In-Active');
User::where('UserId', $id)->update($value);
DB::connection('pgsql')->update("update salesforce.User__c set Is_Deleted__c='0',Status__c='0' where UserId__c='$id'");
}
#### Delete Permanent
public function destroyUser($id)
{
if (empty(session('UserId'))) {
return redirect('/admin/logout');
}
$destroyData = User::where('UserId', $id);
$destroyData->delete();
}
#### Approve User
public function approveUser($id)
{
if (empty(session('UserId'))) {
return redirect('/admin/logout');
}
$CreatedDate = date('Y-m-d H:i:s', time());
$value = array();
$value['Updated_at'] = $CreatedDate;
$value['Updated_by'] = session('UserId');
$value['isActive'] = '1';
$value['Status'] = 'Activated';
User::where('UserId', $id)->update($value);
}
#### Activate User
public function activateUser($id)
{
if (empty(session('UserId'))) {
return redirect('/admin/logout');
}
$CreatedDate = date('Y-m-d H:i:s', time());
$value = array();
$value['Updated_at'] = $CreatedDate;
$value['Updated_by'] = session('UserId');
$value['isActive'] = '1';
$value['Status'] = 'Activated';
$is_active = User::where('UserId', $id)->update($value);
if($is_active)
{
DB::connection('pgsql')->update("update salesforce.User__c set isActive__c='1' where UserId__c='$id'");
}
}
#### De-Activate User
public function deActivateUser($id)
{
if (empty(session('UserId'))) {
return redirect('/admin/logout');
}
$CreatedDate = date('Y-m-d H:i:s', time());
$value = array();
$value['Updated_at'] = $CreatedDate;
$value['Updated_by'] = session('UserId');
$value['isActive'] = '0';
$value['Status'] = 'In-Active';
$deactivate_user = User::where('UserId', $id)->update($value);
if ($deactivate_user) {
$UserData = User::where('UserId', $id)
->get()->first();
$UserId = $UserData->UserId;
DB::connection('pgsql')->update("update salesforce.User__c set isActive__c='0' where UserId__c='$id'");
if ($UserId) {
$UserAuthData = UserAuth::where('UserId', $UserId)->delete();
}
}
}
### Edit User
public function editUser($id)
{
if (empty(session('UserId'))) {
return redirect('/admin/logout');
}
$User = User::select('tbl_user.*', 'tbl_profiles.ProfileName as ProfileName')
->leftJoin('tbl_profiles', 'tbl_user.ProfileId', '=', 'tbl_profiles.ProfileId')
->where('tbl_user.UserId', $id)
->get()->first();
return response()->json([
'Status' => 200,
'User' => $User
]);
}
### Update User
public function updateUser(Request $request)
{
if (empty(session('UserId'))) {
return redirect('/admin/logout');
}
$input = $request->all();
$data = $input;
// print_r($data);exit;
$UserId = $input['UserId'];
##User Image
// $imageName = $this->userLib->useridGenrator();
// if ($request->hasFile('ProfilePic')) {
// $path = '';
// $file = $request->file('ProfilePic');
// $extension = $file->getClientOriginalExtension();
// $newFileName = $imageName . '-' . time() . '.' . $extension;
// Storage::putFileAs(
// 'public/user',
// $file,
// $newFileName
// );
// $destinationPath = 'user';
// $isUploaded = $file->move($destinationPath,$newFileName);
// if($isUploaded)
// {
// $path = Storage::url('user/') . $newFileName;
// $ThumbnailUrl = $path;
// }
// $data['UserProfileImage'] = $ThumbnailUrl;
// }
$imageName = $this->userLib->useridGenrator();
if ($request->hasFile('ProfilePic')) {
$path = '';
$file = $request->file('ProfilePic');
$extension = $file->getClientOriginalExtension();
$newFileName = $imageName . '-' . time() . '.' . $extension;
Storage::putFileAs(
'public/user/',
$file,
$newFileName
);
$destinationPath = 'user/';
$isUploaded = $file->move($destinationPath,$newFileName);
$uploadedFileURL = '';
if($isUploaded)
{
$path = 'user/' . $newFileName;
$ThumbnailUrl = $path;
//File Upload Service as s3
$sourceFileURL = env('APP_URL').'/'.$path;
$curl = curl_init();
curl_setopt_array($curl, array(
CURLOPT_URL => 'http://172.105.42.62/s3-file-server/api-upload.php',
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => '',
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 0,
CURLOPT_FOLLOWLOCATION => true,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => 'POST',
CURLOPT_POSTFIELDS => array('file_url' => $sourceFileURL),
CURLOPT_HTTPHEADER => array(
'Cookie: private_content_version=3f7abce738dd8b52d0dcb8653bfe8e93; mage-messages=%5B%7B%22type%22%3A%22error%22%2C%22text%22%3A%22Invalid%20Form%20Key.%20Please%20refresh%20the%20page.%22%7D%2C%7B%22type%22%3A%22error%22%2C%22text%22%3A%22Invalid%20Form%20Key.%20Please%20refresh%20the%20page.%22%7D%2C%7B%22type%22%3A%22error%22%2C%22text%22%3A%22Invalid%20Form%20Key.%20Please%20refresh%20the%20page.%22%7D%5D'
),
));
$response = curl_exec($curl);
curl_close($curl);
$uploadedFile = json_decode($response,true);
$uploadedFileURL = isset($uploadedFile['url']) ? $uploadedFile['url'] : '';
}
$data['UserProfileImage'] = $uploadedFileURL;
}
$data['Updated_by'] = session('UserId');
$data['Updated_at'] = date('Y-m-d H:i:s', time());
$isActiveTemp = isset($data['isActive']) ? $data['isActive'] : '';
if($isActiveTemp == '1')
{
$data['Status'] = 'Activated';
}
else if($isActiveTemp == '0')
{
$data['Status'] = 'In-Active';
}
unset($data['_token']);
unset($data['ProfilePic']);
$update_user = User::where('UserId', $UserId)->update($data);
$FirstName = $request->post('FirstName');
$LastName = $request->post('LastName');
$FullName = $FirstName." ".$LastName;
$Email = $request->post('Email');
$Mobile = $request->post('Mobile');
$CompanyName = $request->post('CompanyName');
$CompanyCode = $request->post('CrmId');
$Department = $request->post('Department');
$AboutMe = $request->post('AboutMe');
$CommunityNickname = $request->post('CommunityNickname');
$Street = $request->post('Address');
$City = $request->post('City');
$State = $request->post('State');
$CountryPrimaryId = $request->post('Country');
$Country = '';
if($CountryPrimaryId){
$customer_details = Countries::select('tbl_countries.country_name')
->where('tbl_countries.id', $CountryPrimaryId)
->get()->first();
$Country = $customer_details->country_name;
}
$PostalCode = $request->post('PostalCode');
$OtpVerified = $request->post('OtpVerified');
$ProfileId = $request->post('ProfileId');
$AssignExpenseAmount = $request->post('AssignExpenseAmount');
$UpdatedBy = session('UserId');
DB::connection('pgsql')->update("update salesforce.User__c set FirstName__c='$FirstName',LastName__c='$LastName',Email__c='$Email',Mobile__c='$Mobile',Company_Name__c='$CompanyName',CrmId__c='$CompanyCode',Department__c='$Department',About_Me__c='$AboutMe',Community_Nick_name__c='$CommunityNickname',Address__c='$Street',City__c='$City',Country__c='$Country',State__c='$State',PostalCode__c='$PostalCode',Otp_Verified__c='$OtpVerified',ProfileId__c='$ProfileId',Assign_Expense_Amount__c='$AssignExpenseAmount',Updated_by__c='$UpdatedBy',
Name='$FullName' where UserId__c='$UserId'");
if ($update_user) {
return response()->json('status_success');
} else {
return response()->json('status_failed');
}
}
### Update User Password
public function updatePassword(Request $request)
{
if (empty(session('UserId'))) {
return redirect('/admin/logout');
}
$UserId = $request->input('UserId');
$Password = $request->input('Password');
$data['TempPassword'] = $Password;
$data['Password'] = Crypt::encryptString($Password);
$data['Updated_by'] = session('UserId');
$data['Updated_at'] = date('Y-m-d H:i:s', time());
$update_password = User::where('UserId', $UserId)->update($data);
$TempPassword = $Password;
$NPassword = Crypt::encryptString($Password);
DB::connection('pgsql')->update("update salesforce.User__c set Temp_Password__c='$TempPassword',Password__c='$NPassword' where userid__c='$UserId'");
if ($update_password) {
return response()->json('status_success');
} else {
return response()->json('status_failed');
}
}
}