'That license no longer exists.']); exit; } $client_id = intval($license['software_client_id']); enforceClientAccess(); $software_name = escapeHtml($license['software_name']); $software_version = escapeHtml($license['software_version']); $software_description = escapeHtml($license['software_description']); $software_purchase_reference = escapeHtml($license['software_purchase_reference']); $software_notes = escapeHtml($license['software_notes']); $software_archived = !empty($license['software_archived_at']); $vendor_id = intval($license['vendor_id']); $vendor_name = escapeHtml($license['vendor_name']); $vendor_account = escapeHtml($license['vendor_account_number']); $vendor_phone = contactPhoneLink($license['vendor_phone'], $license['vendor_phone_country_code'], $license['vendor_extension']); $seats = softwareSeats($license['seats_used'], $license['software_seats']); $renewal = softwareRenewal($license['software_expire']); $can_edit = lookupUserPermission('module_support') >= 2 && !$software_archived; $can_credentials = lookupUserPermission('module_credential') >= 1; $holders = softwareSeatHolders($software_id); $keys = softwareKeys($software_id); $credentials = $can_credentials ? linkedRecords('software', $software_id, 'credential') : []; $documents = linkedRecords('software', $software_id, 'document'); $files = linkedRecords('software', $software_id, 'file'); $quick_tabs = array_filter([ 'devices' => ['label' => 'Devices', 'count' => count($holders['assets'])], 'users' => ['label' => 'Users', 'count' => count($holders['contacts'])], 'keys' => ['label' => 'Keys', 'count' => count($keys)], 'credentials' => ['label' => 'Credentials', 'count' => count($credentials)], 'documents' => ['label' => 'Documents', 'count' => count($documents)], 'files' => ['label' => 'Files', 'count' => count($files)], ], function ($tab) { return $tab['count'] > 0; }); $first_tab = array_key_first($quick_tabs); $quick_id = "license-quick-$software_id"; ob_start(); ?>