HEX
Server: Apache/2.4.58 (Ubuntu)
System: Linux ip-172-26-0-120 6.17.0-1009-aws #9~24.04.2-Ubuntu SMP Fri Mar 6 23:50:29 UTC 2026 x86_64
User: ubuntu (1000)
PHP: 8.3.6
Disabled: NONE
Upload Files
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();
    }
}