'That vendor no longer exists.']); exit; } $client_id = intval($vendor['vendor_client_id']); if ($client_id) { enforceUserPermission('module_client'); enforceClientAccess(); } $vendor_name = escapeHtml($vendor['vendor_name']); $vendor_archived = !empty($vendor['vendor_archived_at']); $vendor_phone = contactPhoneLink($vendor['vendor_phone'], $vendor['vendor_phone_country_code'], $vendor['vendor_extension']); $vendor_dial = vendorDialNumber($vendor['vendor_phone'], $vendor['vendor_phone_country_code']); $vendor_email = escapeHtml($vendor['vendor_email']); $vendor_website_url = vendorWebsiteUrl($vendor['vendor_website']); $vendor_status_url = vendorWebsiteUrl($vendor['vendor_status_page']); $vendor_portal_url = vendorWebsiteUrl($vendor['vendor_portal']); $vendor_account = escapeHtml($vendor['vendor_account_number']); $vendor_pin = vendorSecretHtml($vendor['vendor_code']); $vendor_notes = escapeHtml($vendor['vendor_notes']); $manager_phone = contactPhoneLink($vendor['vendor_contact_phone'], $vendor['vendor_contact_phone_country_code']); $manager_email = escapeHtml($vendor['vendor_contact_email']); $can_edit = vendorCan($client_id, 2) && !$vendor_archived; $can_support = lookupUserPermission('module_support') >= 1; $can_support_edit = lookupUserPermission('module_support') >= 2; $can_credentials = lookupUserPermission('module_credential') >= 1; $can_financial = lookupUserPermission('module_financial') >= 1; $cases = $licenses = $assets = $logins = []; if ($can_support) { $cases = ticketRows("tickets.ticket_client_id = $client_id AND tickets.ticket_vendor_id = $vendor_id AND " . TICKET_OPEN_SQL); $sql = mysqli_query($mysqli, "SELECT software_id AS id, software_name AS name, software_type, software_version, software_license_type, software_seats, software_expire, " . softwareSeatsUsedSql('software.software_id') . " AS seats_used FROM software WHERE software_client_id = $client_id AND software_vendor_id = $vendor_id AND software_archived_at IS NULL ORDER BY software_expire IS NULL, software_expire ASC, software_name ASC"); while ($row = mysqli_fetch_assoc($sql)) { $licenses[] = $row; } $sql = mysqli_query($mysqli, "SELECT asset_id AS id, asset_name AS name, asset_type, asset_make, asset_model, asset_warranty_expire FROM assets WHERE asset_client_id = $client_id AND asset_vendor_id = $vendor_id AND asset_archived_at IS NULL ORDER BY asset_type ASC, asset_name ASC"); while ($row = mysqli_fetch_assoc($sql)) { $assets[] = $row; } } if ($can_credentials && $client_id) { $logins = linkedRecords('vendor', $vendor_id, 'credential'); } $spend = !$client_id && $can_financial ? vendorSpend($vendor_id) : null; $quick_tabs = array_filter([ 'cases' => ['label' => 'Open cases', 'count' => count($cases)], 'licenses' => ['label' => 'Licenses', 'count' => count($licenses)], 'assets' => ['label' => 'Assets', 'count' => count($assets)], 'logins' => ['label' => 'Logins', 'count' => count($logins)], ], function ($tab) { return $tab['count'] > 0; }); $first_tab = array_key_first($quick_tabs); $quick_id = "vendor-quick-$vendor_id"; $page_url = 'vendor.php?' . ($client_id ? "client_id=$client_id&" : '') . "vendor_id=$vendor_id"; ob_start(); ?>