File: /var/www/html/owlcrm/app/Helpers/helpers.php
<?php
use App\Models\User;
use Illuminate\Support\Facades\Auth;
use App\Models\Files;
use App\Models\SubscriptionPlan;
use App\Models\UserSubscription;
use Illuminate\Support\Facades\Storage;
const STATUS_DISABLED = 0;
const STATUS_ENABLED = 1;
if (!function_exists('getStatus')) {
function getStatus($sync_status)
{
switch ($sync_status) {
case STATUS_DISABLED:
$status_label = 'Disabled';
break;
case STATUS_ENABLED:
$status_label = 'Active';
break;
default:
$status_label = '';
break;
}
return $status_label;
}
}
if (!function_exists('setStatus')) {
function
setStatus($row, $update_url)
{
$display_inactive_status = $row->status === 0 ? 'display:block' : 'display:none';
$display_active_status = $row->status === 1 ? 'display:block' : 'display:none';
//return setStatus($row->status, $row->id, route('admin.update.staff.status',$row->id));
$status_label = '<a href="#" class="btn btn-danger update_status" id="update_status_0" data-current-status="0" data-update-url="' . $update_url . '" title="Make Active" style="' . $display_inactive_status . '; ">Inactive</a>';
$status_label .= '<a href="#" class="btn btn-primary update_status" id="update_status_1" data-current-status="1" data-update-url="' . $update_url . '" title="Make Inactive" style="' . $display_active_status . '">Active</a>';
return $status_label;
}
}
if (!function_exists('getCurrentDateTime')) {
function getCurrentDateTime()
{
$date_time_obj = Carbon\Carbon::now();
$date_time = $date_time_obj->toDateTimeString(); //This will output in the usual format of Y-m-d H:i:s
return $date_time;
}
}
if (!function_exists('formatDate')) {
function formatDate($date)
{
$date_time_obj = Carbon\Carbon::parse($date);
// $date_time = $date_time_obj->toDateTimeString(); //This will output in the usual format of Y-m-d H:i:s
// return $date_time;
$formatted_date = $date_time_obj->format('d/M/Y D g:i A');
return $formatted_date;
}
}
function getAdminId()
{
$currentUser = Auth::user();
// Initialize the properties
$parentId = $currentUser->is_admin == 1 ? $currentUser->id : $currentUser->parent_id;
$createdBy = $currentUser->id;
return (object) [
'parent_id' => $parentId,
'created_by' => $createdBy
];
}
if (!function_exists('upload_file')) {
function upload_file($file, $folder)
{
$file_size = $file->getSize();
$file_mime = $file->getClientMimeType();
$file_extension = $file->getClientOriginalExtension();
$file_name = date('Ymdhmsi') . $file->getClientOriginalName();
// $file_path = $file->store($folder);
Storage::putFileAs($folder, $file, $file_name);
$file_obj = Files::create([
'file_name' => $file_name,
'file_path' => 'resume/' . $file_name,
'file_size' => $file_size,
'file_mime' => $file_mime,
'file_extension' => $file_extension,
]);
return $file_obj;
}
}
function canAddMoreUsers($userId)
{
$subscription = UserSubscription::where('user_id', $userId)
->where('status', 'active')
->whereDate('end_date', '>=', now())
->first();
if (!$subscription) {
return false;
}
// Subscription plan fetch karein
$plan = SubscriptionPlan::where('subscription_plan_id', $subscription->subscription_plan_id)->first();
if (!$plan) {
dd('No plan found for subscription plan ID ' . $subscription->subscription_plan_id);
}
$existingUsersCount = User::where('created_by', $userId)->count();
return $existingUsersCount < $plan->max_users;
}
if (!function_exists('userHasActiveSubscription')) {
function userHasActiveSubscription($user)
{
return $user && $user->getHasActiveSubscriptionAttribute();
}
}