Initial migration from AdminLTE 3 to 4, bootstrap 4 to 5

This commit is contained in:
johnnyq
2026-08-14 13:22:11 -04:00
parent 691059aab2
commit a084e37c39
458 changed files with 6069 additions and 8634 deletions

View File

@@ -23,18 +23,16 @@ $num_rows = mysqli_fetch_row(mysqli_query($mysqli, "SELECT FOUND_ROWS()"));
<div class="card card-dark">
<div class="card-header py-2">
<h3 class="card-title mt-2"><i class="fa fa-fw fa-piggy-bank mr-2"></i>Accounts</h3>
<h3 class="card-title mt-2"><i class="fa fa-fw fa-piggy-bank me-2"></i>Accounts</h3>
<div class="card-tools">
<button type="button" class="btn btn-primary ajax-modal" data-modal-url="modals/account/account_add.php"><i class="fas fa-plus mr-2"></i>New Account</button>
<button type="button" class="btn btn-primary ajax-modal" data-modal-url="modals/account/account_add.php"><i class="fas fa-plus me-2"></i>New Account</button>
</div>
</div>
<div class="card-body">
<form autocomplete="off">
<div class="input-group">
<input type="search" class="form-control col-md-4" name="q" value="<?php if (isset($q)) { echo stripslashes(escapeHtml($q)); } ?>" placeholder="Search Accounts">
<div class="input-group-append">
<button class="btn btn-primary"><i class="fa fa-search"></i></button>
</div>
</div>
</form>
<hr>
@@ -52,7 +50,7 @@ $num_rows = mysqli_fetch_row(mysqli_query($mysqli, "SELECT FOUND_ROWS()"));
Currency <?php if ($sort == 'account_currency_code') { echo $order_icon; } ?>
</a>
</th>
<th class="text-right">Balance</th>
<th class="text-end">Balance</th>
<th class="text-center">Action</th>
</tr>
</thead>
@@ -89,21 +87,21 @@ $num_rows = mysqli_fetch_row(mysqli_query($mysqli, "SELECT FOUND_ROWS()"));
</a>
</td>
<td><?= $account_currency_code ?></td>
<td class="text-right text-monospace"><?= numfmt_format_currency($currency_format, $balance, $account_currency_code) ?></td>
<td class="text-end font-monospace"><?= numfmt_format_currency($currency_format, $balance, $account_currency_code) ?></td>
<td>
<div class="dropdown dropleft text-center">
<button class="btn btn-secondary btn-sm" type="button" data-toggle="dropdown">
<div class="dropdown dropstart text-center">
<button class="btn btn-secondary btn-sm" type="button" data-bs-toggle="dropdown">
<i class="fas fa-ellipsis-h"></i>
</button>
<div class="dropdown-menu">
<a class="dropdown-item ajax-modal" href="#"
data-modal-url="modals/account/account_edit.php?id=<?= $account_id ?>">
<i class="fas fa-fw fa-edit mr-2"></i>Edit
<i class="fas fa-fw fa-edit me-2"></i>Edit
</a>
<?php if ($balance == 0 && $account_id != $config_stripe_account) { //Cannot Archive an Account until it reaches 0 Balance and cant be selected as an online account ?>
<div class="dropdown-divider"></div>
<a class="dropdown-item text-danger" href="post.php?archive_account=<?= $account_id ?>&csrf_token=<?= $_SESSION['csrf_token'] ?>">
<i class="fas fa-fw fa-archive mr-2"></i>Archive
<i class="fas fa-fw fa-archive me-2"></i>Archive
</a>
<?php } ?>
</div>

View File

@@ -141,10 +141,10 @@ if (isset($_GET['ticket_query_views'])) {
$users = array_unique($users);
if (count($users) > 1) {
// Multiple viewers
$response['message'] = "<i class='fas fa-fw fa-eye mr-2'></i>" . escapeHtml(implode(", ", $users) . " are viewing this ticket.");
$response['message'] = "<i class='fas fa-fw fa-eye me-2'></i>" . escapeHtml(implode(", ", $users) . " are viewing this ticket.");
} else {
// Single viewer
$response['message'] = "<i class='fas fa-fw fa-eye mr-2'></i>" . escapeHtml(implode("", $users) . " is viewing this ticket.");
$response['message'] = "<i class='fas fa-fw fa-eye me-2'></i>" . escapeHtml(implode("", $users) . " is viewing this ticket.");
}
} else {
// No viewers
@@ -797,7 +797,7 @@ if (isset($_GET['client_duplicate_check'])) {
if (mysqli_num_rows($sql_clients) > 0) {
while ($row = mysqli_fetch_assoc($sql_clients)) {
$response['message'] = "<i class='fas fa-fw fa-copy mr-2'></i> Potential duplicate: <i>" . escapeHtml($row['client_name']) . "</i> already exists.";
$response['message'] = "<i class='fas fa-fw fa-copy me-2'></i> Potential duplicate: <i>" . escapeHtml($row['client_name']) . "</i> already exists.";
}
}
}
@@ -819,13 +819,13 @@ if (isset($_GET['contact_email_check'])) {
$sql_contacts = mysqli_query($mysqli, "SELECT contact_email FROM contacts WHERE contact_email = '$email' LIMIT 1");
if (mysqli_num_rows($sql_contacts) > 0) {
while ($row = mysqli_fetch_assoc($sql_contacts)) {
$response['message'] = "<i class='fas fa-fw fa-copy mr-2'></i> Potential duplicate: <i>" . escapeHtml($row['contact_email']) . "</i> already exists.";
$response['message'] = "<i class='fas fa-fw fa-copy me-2'></i> Potential duplicate: <i>" . escapeHtml($row['contact_email']) . "</i> already exists.";
}
}
// 2. MX record check
if (!checkdnsrr($domain, 'MX')) {
$response['message'] = "<i class='fas fa-fw fa-exclamation-triangle mr-2'></i> E-mail domain invalid.";
$response['message'] = "<i class='fas fa-fw fa-exclamation-triangle me-2'></i> E-mail domain invalid.";
}
}
@@ -1035,7 +1035,7 @@ if (isset($_GET['apex_domain_check'])) {
// SOA record check
// This isn't 100%, as sub-domains can have their own SOA but will capture 99%
if (!checkdnsrr($domain, 'SOA')) {
$response['message'] = "<i class='fas fa-fw fa-exclamation-triangle mr-2'></i> Domain name is invalid.";
$response['message'] = "<i class='fas fa-fw fa-exclamation-triangle me-2'></i> Domain name is invalid.";
}
}

View File

@@ -148,7 +148,7 @@ if (isset($_GET['asset_id'])) {
}
$asset_tag_id_array[] = $asset_tag_id;
$asset_tag_name_display_array[] = "<a href='client_assets.php?client_id=$client_id&q=$asset_tag_name'><span class='badge text-light p-1 mr-1' style='background-color: $asset_tag_color;'><i class='fa fa-fw fa-$asset_tag_icon mr-2'></i>$asset_tag_name</span></a>";
$asset_tag_name_display_array[] = "<a href='client_assets.php?client_id=$client_id&q=$asset_tag_name'><span class='badge text-light p-1 me-1' style='background-color: $asset_tag_color;'><i class='fa fa-fw fa-$asset_tag_icon me-2'></i>$asset_tag_name</span></a>";
}
$asset_tags_display = implode('', $asset_tag_name_display_array);
@@ -299,11 +299,11 @@ if (isset($_GET['asset_id'])) {
<div class="card">
<div class="card-header">
<button type="button" class="btn btn-light float-right ajax-modal"
<button type="button" class="btn btn-light float-end ajax-modal"
data-modal-url="modals/asset/asset_edit.php?id=<?= $asset_id ?>">
<i class="fas fa-fw fa-edit"></i>
</button>
<h4 class="text-bold"><i class="fa fa-fw text-secondary fa-<?= $device_icon; ?> mr-2"></i><?= $asset_name; ?>
<h4 class="text-bold"><i class="fa fa-fw text-secondary fa-<?= $device_icon; ?> me-2"></i><?= $asset_name; ?>
<?php if ($asset_favorite) { ?><i class="fas fa-fw text-warning fa-star" title="Favorite"></i><?php } ?>
</h4>
<?php if ($asset_photo) { ?>
@@ -320,25 +320,25 @@ if (isset($_GET['asset_id'])) {
</div>
<?php } ?>
<?php if ($asset_type) { ?>
<div class="mt-1"><i class="fa fa-fw fa-tag text-secondary mr-2"></i><?= $asset_type; ?></div>
<div class="mt-1"><i class="fa fa-fw fa-tag text-secondary me-2"></i><?= $asset_type; ?></div>
<?php }
if ($asset_make) { ?>
<div class="mt-2"><i class="fa fa-fw fa-circle text-secondary mr-2"></i><?= "$asset_make $asset_model"; ?></div>
<div class="mt-2"><i class="fa fa-fw fa-circle text-secondary me-2"></i><?= "$asset_make $asset_model"; ?></div>
<?php }
if ($asset_os) { ?>
<div class="mt-2"><i class="fab fa-fw fa-windows text-secondary mr-2"></i><?= "$asset_os"; ?></div>
<div class="mt-2"><i class="fab fa-fw fa-windows text-secondary me-2"></i><?= "$asset_os"; ?></div>
<?php }
if ($asset_serial) { ?>
<div class="mt-2"><i class="fa fa-fw fa-barcode text-secondary mr-1"></i><span class="badge"><?= $asset_serial; ?></span></div>
<div class="mt-2"><i class="fa fa-fw fa-barcode text-secondary me-1"></i><span class="badge"><?= $asset_serial; ?></span></div>
<?php }
if ($asset_purchase_date) { ?>
<div class="mt-2"><i class="fa fa-fw fa-shopping-cart text-secondary mr-2"></i><?= date('Y-m-d', strtotime($asset_purchase_date)); ?></div>
<div class="mt-2"><i class="fa fa-fw fa-shopping-cart text-secondary me-2"></i><?= date('Y-m-d', strtotime($asset_purchase_date)); ?></div>
<?php }
if ($asset_install_date) { ?>
<div class="mt-2"><i class="fa fa-fw fa-calendar-check text-secondary mr-2"></i><?= date('Y-m-d', strtotime($asset_install_date)); ?></div>
<div class="mt-2"><i class="fa fa-fw fa-calendar-check text-secondary me-2"></i><?= date('Y-m-d', strtotime($asset_install_date)); ?></div>
<?php }
if ($asset_warranty_expire) { ?>
<div class="mt-2"><i class="fa fa-fw fa-exclamation-triangle text-secondary mr-2"></i><?= date('Y-m-d', strtotime($asset_warranty_expire)); ?></div>
<div class="mt-2"><i class="fa fa-fw fa-exclamation-triangle text-secondary me-2"></i><?= date('Y-m-d', strtotime($asset_warranty_expire)); ?></div>
<?php } ?>
</div>
</div>
@@ -349,23 +349,23 @@ if (isset($_GET['asset_id'])) {
</div>
<div class="card-body">
<?php if ($asset_ip) { ?>
<div><i class="fa fa-fw fa-globe text-secondary mr-2"></i><span class="text-monospace"><?= $asset_ip; ?></span></div>
<div><i class="fa fa-fw fa-globe text-secondary me-2"></i><span class="font-monospace"><?= $asset_ip; ?></span></div>
<?php } ?>
<?php if ($asset_nat_ip) { ?>
<div class="mt-2"><i class="fa fa-fw fa-random text-secondary mr-2"></i><span class="text-monospace"><?= $asset_nat_ip; ?></span></div>
<div class="mt-2"><i class="fa fa-fw fa-random text-secondary me-2"></i><span class="font-monospace"><?= $asset_nat_ip; ?></span></div>
<?php }
if ($asset_mac) { ?>
<div class="mt-2"><i class="fa fa-fw fa-ethernet text-secondary mr-2"></i><span class="text-monospace"><?= $asset_mac; ?></span></div>
<div class="mt-2"><i class="fa fa-fw fa-ethernet text-secondary me-2"></i><span class="font-monospace"><?= $asset_mac; ?></span></div>
<?php }
if ($asset_uri) { ?>
<div class="mt-2"><i class="fa fa-fw fa-link text-secondary mr-2"></i><a href="<?= $asset_uri; ?>" target="_blank" title="<?= $asset_uri; ?>"><?= truncate($asset_uri, 40); ?></a></div>
<div class="mt-2"><i class="fa fa-fw fa-link text-secondary me-2"></i><a href="<?= $asset_uri; ?>" target="_blank" title="<?= $asset_uri; ?>"><?= truncate($asset_uri, 40); ?></a></div>
<?php }
if ($asset_uri_2) { ?>
<div class="mt-2"><i class="fa fa-fw fa-link text-secondary mr-2"></i><a href="<?= $asset_uri_2; ?>" target="_blank" title="<?= $asset_uri_2; ?>"><?= truncate($asset_uri_2, 40); ?></a></div>
<div class="mt-2"><i class="fa fa-fw fa-link text-secondary me-2"></i><a href="<?= $asset_uri_2; ?>" target="_blank" title="<?= $asset_uri_2; ?>"><?= truncate($asset_uri_2, 40); ?></a></div>
<?php } ?>
<?php
if ($asset_uri_client) { ?>
<div class="mt-2"><i class="fa fa-fw fa-link text-secondary mr-2"></i>Client URI: <a href="<?= $asset_uri_client; ?>" target="_blank" title="<?= $asset_uri_client ?>"><?= truncate($asset_uri_client, 40); ?></a></div>
<div class="mt-2"><i class="fa fa-fw fa-link text-secondary me-2"></i>Client URI: <a href="<?= $asset_uri_client; ?>" target="_blank" title="<?= $asset_uri_client ?>"><?= truncate($asset_uri_client, 40); ?></a></div>
<?php } ?>
</div>
</div>
@@ -377,22 +377,22 @@ if (isset($_GET['asset_id'])) {
</div>
<div class="card-body">
<?php if ($location_name) { ?>
<div><i class="fa fa-fw fa-map-marker-alt text-secondary mr-2"></i><?= $location_name_display; ?></div>
<div><i class="fa fa-fw fa-map-marker-alt text-secondary me-2"></i><?= $location_name_display; ?></div>
<?php }
if ($contact_name) { ?>
<div class="mt-2"><i class="fa fa-fw fa-user text-secondary mr-2"></i><?= $contact_name_display; ?></div>
<div class="mt-2"><i class="fa fa-fw fa-user text-secondary me-2"></i><?= $contact_name_display; ?></div>
<?php }
if ($contact_email) { ?>
<div class="mt-2"><i class="fa fa-fw fa-envelope text-secondary mr-2"></i><a href='mailto:<?= $contact_email; ?>'><?= $contact_email; ?></a><button class='btn btn-sm clipboardjs' data-clipboard-text='<?= $contact_email; ?>'><i class='far fa-copy text-secondary'></i></button></div>
<div class="mt-2"><i class="fa fa-fw fa-envelope text-secondary me-2"></i><a href='mailto:<?= $contact_email; ?>'><?= $contact_email; ?></a><button class='btn btn-sm clipboardjs' data-clipboard-text='<?= $contact_email; ?>'><i class='far fa-copy text-secondary'></i></button></div>
<?php }
if ($contact_phone) { ?>
<div class="mt-2"><i class="fa fa-fw fa-phone text-secondary mr-2"></i><?= $contact_phone ?></div>
<div class="mt-2"><i class="fa fa-fw fa-phone text-secondary me-2"></i><?= $contact_phone ?></div>
<?php }
if ($contact_extension) { ?>
<div class="mt-1"><i class="fa fa-fw text-secondary mr-2"></i><?= "ext. $contact_extension" ?></div>
<div class="mt-1"><i class="fa fa-fw text-secondary me-2"></i><?= "ext. $contact_extension" ?></div>
<?php }
if ($contact_mobile) { ?>
<div class="mt-2"><i class="fa fa-fw fa-mobile-alt text-secondary mr-2"></i><?= $contact_mobile ?></div>
<div class="mt-2"><i class="fa fa-fw fa-mobile-alt text-secondary me-2"></i><?= $contact_mobile ?></div>
<?php } ?>
</div>
@@ -423,62 +423,62 @@ if (isset($_GET['asset_id'])) {
</ol>
<div class="btn-group mb-3">
<div class="dropdown dropleft mr-2">
<button type="button" class="btn btn-primary" data-toggle="dropdown"><i class="fas fa-plus mr-2"></i>New</button>
<div class="dropdown dropstart me-2">
<button type="button" class="btn btn-primary" data-bs-toggle="dropdown"><i class="fas fa-plus me-2"></i>New</button>
<div class="dropdown-menu">
<a class="dropdown-item text-dark ajax-modal" href="#" data-modal-url="modals/ticket/ticket_add.php?<?= $client_url ?>&asset_id=<?= $asset_id ?>" data-modal-size="lg">
<i class="fa fa-fw fa-life-ring mr-2"></i>New Ticket
<i class="fa fa-fw fa-life-ring me-2"></i>New Ticket
</a>
<div class="dropdown-divider"></div>
<a class="dropdown-item text-dark ajax-modal" href="#" data-modal-url="modals/recurring_ticket/recurring_ticket_add.php?<?= $client_url ?>&asset_id=<?= $asset_id ?>" data-modal-size="lg">
<i class="fa fa-fw fa-recycle mr-2"></i>New Recurring Ticket
<i class="fa fa-fw fa-recycle me-2"></i>New Recurring Ticket
</a>
<div class="dropdown-divider"></div>
<a class="dropdown-item text-dark ajax-modal" href="#" data-modal-url="modals/credential/credential_add.php?<?= $client_url ?>asset_id=<?= $asset_id ?>">
<i class="fa fa-fw fa-key mr-2"></i>New Credential
<i class="fa fa-fw fa-key me-2"></i>New Credential
</a>
<div class="dropdown-divider"></div>
<a class="dropdown-item text-dark ajax-modal" href="#" data-modal-url="modals/document/document_add.php?<?= $client_url ?>&asset_id=<?= $asset_id ?>" data-modal-size="lg">
<i class="fa fa-fw fa-file-alt mr-2"></i>New Document
<i class="fa fa-fw fa-file-alt me-2"></i>New Document
</a>
<div class="dropdown-divider"></div>
<a class="dropdown-item text-dark ajax-modal" href="#" data-modal-url="modals/file/file_upload.php?<?= $client_url ?>&asset_id=<?= $asset_id ?>">
<i class="fa fa-fw fa-upload mr-2"></i>Upload file(s)
<i class="fa fa-fw fa-upload me-2"></i>Upload file(s)
</a>
<div class="dropdown-divider"></div>
<a class="dropdown-item text-dark ajax-modal" href="#"
data-modal-url="modals/asset/asset_note_add.php?id=<?= $asset_id ?>">
<i class="fas fa-fw fa-sticky-note mr-2"></i>New Note
<i class="fas fa-fw fa-sticky-note me-2"></i>New Note
</a>
</div>
</div>
<div class="dropdown dropleft">
<button type="button" class="btn btn-outline-primary" data-toggle="dropdown"><i class="fas fa-link mr-2"></i>Link</button>
<div class="dropdown dropstart">
<button type="button" class="btn btn-outline-primary" data-bs-toggle="dropdown"><i class="fas fa-link me-2"></i>Link</button>
<div class="dropdown-menu">
<a class="dropdown-item text-dark ajax-modal" href="#"
data-modal-url="modals/asset/asset_link_software.php?id=<?= $asset_id ?>">
<i class="fa fa-fw fa-cube mr-2"></i>License
<i class="fa fa-fw fa-cube me-2"></i>License
</a>
<div class="dropdown-divider"></div>
<a class="dropdown-item text-dark ajax-modal" href="#"
data-modal-url="modals/asset/asset_link_credential.php?id=<?= $asset_id ?>">
<i class="fa fa-fw fa-key mr-2"></i>Credential
<i class="fa fa-fw fa-key me-2"></i>Credential
</a>
<div class="dropdown-divider"></div>
<a class="dropdown-item text-dark ajax-modal" href="#"
data-modal-url="modals/asset/asset_link_service.php?id=<?= $asset_id ?>">
<i class="fa fa-fw fa-stream mr-2"></i>Service
<i class="fa fa-fw fa-stream me-2"></i>Service
</a>
<div class="dropdown-divider"></div>
<a class="dropdown-item text-dark ajax-modal" href="#"
data-modal-url="modals/asset/asset_link_document.php?id=<?= $asset_id ?>">
<i class="fa fa-fw fa-folder mr-2"></i>Document
<i class="fa fa-fw fa-folder me-2"></i>Document
</a>
<div class="dropdown-divider"></div>
<a class="dropdown-item text-dark ajax-modal" href="#"
data-modal-url="modals/asset/asset_link_file.php?id=<?= $asset_id ?>">
<i class="fa fa-fw fa-paperclip mr-2"></i>File
<i class="fa fa-fw fa-paperclip me-2"></i>File
</a>
</div>
</div>
@@ -486,51 +486,51 @@ if (isset($_GET['asset_id'])) {
<div class="card card-dark">
<div class="card-header py-2">
<h3 class="card-title mt-1"><i class="fa fa-fw fa-ethernet mr-2"></i>Interfaces</h3>
<h3 class="card-title mt-1"><i class="fa fa-fw fa-ethernet me-2"></i>Interfaces</h3>
<div class="card-tools">
<div class="btn-group">
<button type="button" class="btn btn-tool ajax-modal" data-modal-url="modals/asset/asset_interface_add.php?&asset_id=<?= $asset_id ?>">
<i class="fas fa-plus mr-2"></i>New Interface
<i class="fas fa-plus me-2"></i>New Interface
</button>
<button type="button" class="btn btn-tool dropdown-toggle dropdown-toggle-split" data-toggle="dropdown"></button>
<button type="button" class="btn btn-tool dropdown-toggle dropdown-toggle-split" data-bs-toggle="dropdown"></button>
<div class="dropdown-menu">
<a class="dropdown-item text-dark" href="#" data-toggle="modal" data-target="#addMultipleAssetInterfacesModal">
<i class="fa fa-fw fa-check-double mr-2"></i>Add Multiple
<a class="dropdown-item text-dark" href="#" data-bs-toggle="modal" data-bs-target="#addMultipleAssetInterfacesModal">
<i class="fa fa-fw fa-check-double me-2"></i>Add Multiple
</a>
<div class="dropdown-divider"></div>
<a class="dropdown-item text-dark" href="#" data-toggle="modal" data-target="#importAssetInterfaceModal">
<i class="fa fa-fw fa-upload mr-2"></i>Import
<a class="dropdown-item text-dark" href="#" data-bs-toggle="modal" data-bs-target="#importAssetInterfaceModal">
<i class="fa fa-fw fa-upload me-2"></i>Import
</a>
<div class="dropdown-divider"></div>
<a class="dropdown-item text-dark" href="#" data-toggle="modal" data-target="#exportAssetInterfaceModal">
<i class="fa fa-fw fa-download mr-2"></i>Export
<a class="dropdown-item text-dark" href="#" data-bs-toggle="modal" data-bs-target="#exportAssetInterfaceModal">
<i class="fa fa-fw fa-download me-2"></i>Export
</a>
</div>
<div class="dropdown ml-2" id="bulkActionButton" hidden>
<button class="btn btn-tool dropdown-toggle" type="button" data-toggle="dropdown">
<i class="fas fa-fw fa-layer-group mr-2"></i>Bulk Action (<span id="selectedCount">0</span>)
<div class="dropdown ms-2" id="bulkActionButton" hidden>
<button class="btn btn-tool dropdown-toggle" type="button" data-bs-toggle="dropdown">
<i class="fas fa-fw fa-layer-group me-2"></i>Bulk Action (<span id="selectedCount">0</span>)
</button>
<div class="dropdown-menu">
<a class="dropdown-item text-dark ajax-modal" href="#"
data-modal-url="modals/asset/asset_interface_bulk_edit_network.php?client_id=<?= $client_id ?>"
data-bulk="true">
<i class="fas fa-fw fa-network-wired mr-2"></i>Assign Network
<i class="fas fa-fw fa-network-wired me-2"></i>Assign Network
</a>
<div class="dropdown-divider"></div>
<a class="dropdown-item text-dark ajax-modal" href="#"
data-modal-url="modals/asset/asset_interface_bulk_edit_type.php?client_id=<?= $client_id ?>"
data-bulk="true">
<i class="fas fa-fw fa-ethernet mr-2"></i>Set Type
<i class="fas fa-fw fa-ethernet me-2"></i>Set Type
</a>
<div class="dropdown-divider"></div>
<button class="dropdown-item text-dark" type="submit" form="bulkActions" name="bulk_edit_asset_interface_ip_dhcp">
<i class="fas fa-fw fa-list-ul mr-2"></i>Set to DHCP
<i class="fas fa-fw fa-list-ul me-2"></i>Set to DHCP
</button>
<?php if (lookupUserPermission("module_support") === 3) { ?>
<div class="dropdown-divider"></div>
<button class="dropdown-item text-danger text-bold confirm-link" type="submit" form="bulkActions" name="bulk_delete_asset_interfaces">
<i class="fas fa-fw fa-trash mr-2"></i>Delete
<i class="fas fa-fw fa-trash me-2"></i>Delete
</button>
<?php } ?>
</div>
@@ -579,7 +579,7 @@ if (isset($_GET['asset_id'])) {
$interface_ip_display = $interface_ip ?: '-';
$interface_type_display = $interface_type ?: '-';
$network_name_display = $network_name
? "<i class='fas fa-fw fa-network-wired mr-1'></i>$network_name"
? "<i class='fas fa-fw fa-network-wired me-1'></i>$network_name"
: '-';
// Connected interface details
@@ -595,7 +595,7 @@ if (isset($_GET['asset_id'])) {
$connected_to_display = "<a class='ajax-modal' href='#'
data-modal-size='lg'
data-modal-url='modals/asset/asset.php?id=$connected_asset_id'>
<strong><i class='fa fa-fw text-dark fa-$connected_asset_icon mr-1'></i>$connected_asset_name</strong> - $connected_interface_name
<strong><i class='fa fa-fw text-dark fa-$connected_asset_icon me-1'></i>$connected_asset_name</strong> - $connected_interface_name
</a>";
} else {
$connected_to_display = "-";
@@ -608,7 +608,7 @@ if (isset($_GET['asset_id'])) {
</div>
</td>
<td>
<i class="fa fa-fw fa-ethernet text-secondary mr-1"></i>
<i class="fa fa-fw fa-ethernet text-secondary me-1"></i>
<a class="text-dark ajax-modal" href="#"
data-modal-url="modals/asset/asset_interface_edit.php?id=<?= $interface_id ?>">
<?= $interface_name ?> <?php if($interface_primary) { echo "<small class='text-primary'>(Primary)</small>"; } ?>
@@ -616,26 +616,26 @@ if (isset($_GET['asset_id'])) {
</td>
<td><?= $interface_type_display; ?></td>
<td><?= $network_name_display; ?></td>
<td class="text-monospace">
<td class="font-monospace">
<?= $interface_ip_display; ?>
<div><small class="text-secondary"><?= $interface_ipv6 ?></small></div>
</td>
<td class="text-monospace"><?= $interface_mac_display; ?></td>
<td class="font-monospace"><?= $interface_mac_display; ?></td>
<td><?= $connected_to_display; ?></td>
<td>
<div class="dropdown dropleft text-center">
<button class="btn btn-tool btn-sm" type="button" data-toggle="dropdown">
<div class="dropdown dropstart text-center">
<button class="btn btn-tool btn-sm" type="button" data-bs-toggle="dropdown">
<i class="fas fa-ellipsis-v"></i>
</button>
<div class="dropdown-menu">
<a class="dropdown-item ajax-modal" href="#"
data-modal-url="modals/asset/asset_interface_edit.php?id=<?= $interface_id ?>">
<i class="fas fa-fw fa-edit mr-2"></i>Edit
<i class="fas fa-fw fa-edit me-2"></i>Edit
</a>
<?php if ($session_user_role == 3 && $interface_primary == 0): ?>
<div class="dropdown-divider"></div>
<a class="dropdown-item text-danger text-bold" href="post.php?delete_asset_interface=<?= $interface_id; ?>&csrf_token=<?= $_SESSION['csrf_token']; ?>">
<i class="fas fa-fw fa-trash mr-2"></i>Delete
<i class="fas fa-fw fa-trash me-2"></i>Delete
</a>
<?php endif; ?>
</div>
@@ -653,7 +653,7 @@ if (isset($_GET['asset_id'])) {
<div class="card card-dark <?php if ($credential_count == 0) { echo "d-none"; } ?>">
<div class="card-header">
<h3 class="card-title"><i class="fa fa-fw fa-key mr-2"></i>Credentials</h3>
<h3 class="card-title"><i class="fa fa-fw fa-key me-2"></i>Credentials</h3>
</div>
<div class="card-body">
<div class="table-responsive-sm-sm">
@@ -717,7 +717,7 @@ if (isset($_GET['asset_id'])) {
}
$credential_tag_id_array[] = $credential_tag_id;
$credential_tag_name_display_array[] = "<a href='credentials.php?client_id=$client_id&tags[]=$credential_tag_id'><span class='badge text-light p-1 mr-1' style='background-color: $credential_tag_color;'><i class='fa fa-fw fa-$credential_tag_icon mr-2'></i>$credential_tag_name</span></a>";
$credential_tag_name_display_array[] = "<a href='credentials.php?client_id=$client_id&tags[]=$credential_tag_id'><span class='badge text-light p-1 me-1' style='background-color: $credential_tag_color;'><i class='fa fa-fw fa-$credential_tag_icon me-2'></i>$credential_tag_name</span></a>";
}
$credential_tags_display = implode('', $credential_tag_name_display_array);
@@ -738,26 +738,26 @@ if (isset($_GET['asset_id'])) {
<td><?= $otp_display; ?></td>
<td><?= $credential_uri_display; ?></td>
<td>
<div class="dropdown dropleft text-center">
<button class="btn btn-secondary btn-sm" type="button" data-toggle="dropdown">
<div class="dropdown dropstart text-center">
<button class="btn btn-secondary btn-sm" type="button" data-bs-toggle="dropdown">
<i class="fas fa-ellipsis-h"></i>
</button>
<div class="dropdown-menu">
<a class="dropdown-item ajax-modal" href="#"
data-modal-url="modals/credential/credential_edit.php?id=<?= $credential_id ?>">
<i class="fas fa-fw fa-edit mr-2"></i>Edit
<i class="fas fa-fw fa-edit me-2"></i>Edit
</a>
<a class="dropdown-item" href="#" data-toggle="modal" data-target="#shareModal" onclick="populateShareModal(<?= "$client_id, 'Credential', $credential_id"; ?>)">
<i class="fas fa-fw fa-share-alt mr-2"></i>Share
<a class="dropdown-item" href="#" data-bs-toggle="modal" data-bs-target="#shareModal" onclick="populateShareModal(<?= "$client_id, 'Credential', $credential_id"; ?>)">
<i class="fas fa-fw fa-share-alt me-2"></i>Share
</a>
<div class="dropdown-divider"></div>
<a class="dropdown-item" href="post.php?unlink_credential_from_asset&asset_id=<?= $asset_id; ?>&credential_id=<?= $credential_id; ?>&csrf_token=<?= $_SESSION['csrf_token'] ?>">
<i class="fas fa-fw fa-unlink mr-2"></i>Unlink
<i class="fas fa-fw fa-unlink me-2"></i>Unlink
</a>
<?php if ($session_user_role == 3) { ?>
<div class="dropdown-divider"></div>
<a class="dropdown-item text-danger text-bold" href="post.php?delete_credential=<?= $credential_id; ?>&csrf_token=<?= $_SESSION['csrf_token'] ?>">
<i class="fas fa-fw fa-trash mr-2"></i>Delete
<i class="fas fa-fw fa-trash me-2"></i>Delete
</a>
<?php } ?>
</div>
@@ -782,10 +782,10 @@ if (isset($_GET['asset_id'])) {
<div class="card card-dark <?php if ($software_count == 0) { echo "d-none"; } ?>">
<div class="card-header py-2">
<h3 class="card-title mt-2"><i class="fa fa-fw fa-cube mr-2"></i>Licenses</h3>
<h3 class="card-title mt-2"><i class="fa fa-fw fa-cube me-2"></i>Licenses</h3>
<div class="card-tools">
<button type="button" class="btn btn-primary ajax-modal" data-modal-url="modals/asset/asset_link_software.php?id=<?= $asset_id ?>">
<i class="fas fa-link mr-2"></i>Link Software
<i class="fas fa-link me-2"></i>Link Software
</button>
</div>
</div>
@@ -868,10 +868,10 @@ if (isset($_GET['asset_id'])) {
<div class="card card-dark <?php if ($document_count == 0) { echo "d-none"; } ?>">
<div class="card-header py-2">
<h3 class="card-title mt-2"><i class="fa fa-fw fa-folder mr-2"></i>Documents</h3>
<h3 class="card-title mt-2"><i class="fa fa-fw fa-folder me-2"></i>Documents</h3>
<div class="card-tools">
<button type="button" class="btn btn-primary ajax-modal" data-modal-url="modals/asset/asset_link_document.php?id=<?= $asset_id ?>">
<i class="fas fa-link mr-2"></i>Link Document
<i class="fas fa-link me-2"></i>Link Document
</button>
</div>
</div>
@@ -934,7 +934,7 @@ if (isset($_GET['asset_id'])) {
<div class="card card-dark <?php if ($files_count == 0) { echo "d-none"; } ?>">
<div class="card-header py-2">
<h3 class="card-title mt-2"><i class="fa fa-fw fa-cube mr-2"></i>Files</h3>
<h3 class="card-title mt-2"><i class="fa fa-fw fa-cube me-2"></i>Files</h3>
<div class="card-tools">
<div class="btn-group">
<?php
@@ -952,7 +952,7 @@ if (isset($_GET['asset_id'])) {
?>
</div>
<button type="button" class="btn btn-primary ajax-modal" data-modal-url="modals/asset/asset_link_file.php?id=<?= $asset_id ?>">
<i class="fas fa-link mr-2"></i>Link File
<i class="fas fa-link me-2"></i>Link File
</button>
</div>
</div>
@@ -1024,7 +1024,7 @@ if (isset($_GET['asset_id'])) {
<div class="card card-dark <?php if ($recurring_ticket_count == 0) { echo "d-none"; } ?>">
<div class="card-header">
<h3 class="card-title"><i class="fa fa-fw fa-recycle mr-2"></i>Recurring Tickets</h3>
<h3 class="card-title"><i class="fa fa-fw fa-recycle me-2"></i>Recurring Tickets</h3>
</div>
<div class="card-body">
<div class="table-responsive-sm">
@@ -1064,25 +1064,25 @@ if (isset($_GET['asset_id'])) {
<td><?= $recurring_ticket_next_run ?></td>
<td>
<div class="dropdown dropleft text-center">
<button class="btn btn-secondary btn-sm" type="button" data-toggle="dropdown">
<div class="dropdown dropstart text-center">
<button class="btn btn-secondary btn-sm" type="button" data-bs-toggle="dropdown">
<i class="fas fa-ellipsis-h"></i>
</button>
<div class="dropdown-menu">
<a class="dropdown-item ajax-modal" href="#"
data-modal-size="lg"
data-modal-url="modals/recurring_ticket/recurring_ticket_edit.php?id=<?= $recurring_ticket_id; ?>">
<i class="fas fa-fw fa-edit mr-2"></i>Edit
<i class="fas fa-fw fa-edit me-2"></i>Edit
</a>
<div class="dropdown-divider"></div>
<a class="dropdown-item" href="post.php?force_recurring_ticket=<?= $recurring_ticket_id; ?>&csrf_token=<?= $_SESSION['csrf_token'] ?>">
<i class="fa fa-fw fa-paper-plane text-secondary mr-2"></i>Force Reoccur
<i class="fa fa-fw fa-paper-plane text-secondary me-2"></i>Force Reoccur
</a>
<?php
if ($session_user_role == 3) { ?>
<div class="dropdown-divider"></div>
<a class="dropdown-item text-danger text-bold confirm-link" href="post.php?delete_recurring_ticket=<?= $recurring_ticket_id ?>&csrf_token=<?= $_SESSION['csrf_token'] ?>">
<i class="fas fa-fw fa-trash mr-2"></i>Delete
<i class="fas fa-fw fa-trash me-2"></i>Delete
</a>
</div>
<?php } ?>
@@ -1100,7 +1100,7 @@ if (isset($_GET['asset_id'])) {
<div class="card card-dark <?php if ($ticket_count == 0) { echo "d-none"; } ?>">
<div class="card-header">
<h3 class="card-title"><i class="fa fa-fw fa-life-ring mr-2"></i>Tickets</h3>
<h3 class="card-title"><i class="fa fa-fw fa-life-ring me-2"></i>Tickets</h3>
</div>
<div class="card-body">
<div class="table-responsive-sm">
@@ -1142,13 +1142,13 @@ if (isset($_GET['asset_id'])) {
$ticket_closed_at = escapeHtml($row['ticket_closed_at']);
if ($ticket_priority == "Urgent") {
$ticket_priority_display = "<span class='p-2 badge badge-dark'>$ticket_priority</span>";
$ticket_priority_display = "<span class='p-2 badge bg-dark'>$ticket_priority</span>";
} elseif ($ticket_priority == "High") {
$ticket_priority_display = "<span class='p-2 badge badge-danger'>$ticket_priority</span>";
$ticket_priority_display = "<span class='p-2 badge bg-danger'>$ticket_priority</span>";
} elseif ($ticket_priority == "Medium") {
$ticket_priority_display = "<span class='p-2 badge badge-warning'>$ticket_priority</span>";
$ticket_priority_display = "<span class='p-2 badge bg-warning text-dark'>$ticket_priority</span>";
} elseif ($ticket_priority == "Low") {
$ticket_priority_display = "<span class='p-2 badge badge-info'>$ticket_priority</span>";
$ticket_priority_display = "<span class='p-2 badge bg-info text-dark'>$ticket_priority</span>";
} else {
$ticket_priority_display = "-";
}
@@ -1166,11 +1166,11 @@ if (isset($_GET['asset_id'])) {
?>
<tr>
<td><a href="ticket.php?client_id=<?= $client_id; ?>&ticket_id=<?= $ticket_id; ?>"><span class="badge badge-pill badge-secondary p-3"><?= "$ticket_prefix$ticket_number"; ?></span></a></td>
<td><a href="ticket.php?client_id=<?= $client_id; ?>&ticket_id=<?= $ticket_id; ?>"><span class="badge rounded-pill bg-secondary p-3"><?= "$ticket_prefix$ticket_number"; ?></span></a></td>
<td><a href="ticket.php?client_id=<?= $client_id; ?>&ticket_id=<?= $ticket_id; ?>"><?= $ticket_subject; ?></a></td>
<td><?= $ticket_priority_display; ?></td>
<td>
<span class='badge badge-pill text-light p-2' style="background-color: <?= $ticket_status_color; ?>"><?= $ticket_status_name; ?></span>
<span class='badge rounded-pill text-light p-2' style="background-color: <?= $ticket_status_color; ?>"><?= $ticket_status_name; ?></span>
</td>
<td><?= $ticket_assigned_to_display; ?></td>
<td><?= $ticket_updated_at_display; ?></td>
@@ -1191,10 +1191,10 @@ if (isset($_GET['asset_id'])) {
<div class="card card-dark <?php if ($service_count == 0) { echo "d-none"; } ?>">
<div class="card-header py-2">
<h3 class="card-title mt-2"><i class="fa fa-fw fa-stream mr-2"></i>Linked Services</h3>
<h3 class="card-title mt-2"><i class="fa fa-fw fa-stream me-2"></i>Linked Services</h3>
<div class="card-tools">
<button type="button" class="btn btn-primary ajax-modal" data-modal-url="modals/asset/asset_link_service.php?id=<?= $asset_id ?>">
<i class="fas fa-link mr-2"></i>Link Service
<i class="fas fa-link me-2"></i>Link Service
</button>
</div>
</div>
@@ -1249,11 +1249,11 @@ if (isset($_GET['asset_id'])) {
<div class="card card-dark <?php if ($note_count == 0) { echo "d-none"; } ?>">
<div class="card-header py-2">
<h3 class="card-title mt-2"><i class="fa fa-fw fa-sticky-note mr-2"></i>Notes</h3>
<h3 class="card-title mt-2"><i class="fa fa-fw fa-sticky-note me-2"></i>Notes</h3>
<div class="card-tools">
<button type="button" class="btn btn-primary ajax-modal"
data-modal-url="modals/asset/asset_note_add.php?id=<?= $asset_id ?>">
<i class="fas fa-plus mr-2"></i>New Note
<i class="fas fa-plus me-2"></i>New Note
</button>
</div>
</div>
@@ -1285,23 +1285,23 @@ if (isset($_GET['asset_id'])) {
?>
<tr>
<td><i class="fa fa-fw <?= $note_type_icon ?> mr-2"></i><?= $asset_note_type ?></td>
<td><i class="fa fa-fw <?= $note_type_icon ?> me-2"></i><?= $asset_note_type ?></td>
<td><?= $asset_note ?></td>
<td><?= $note_by ?></td>
<td><?= $asset_note_created_at ?></td>
<td>
<div class="dropdown dropleft text-center">
<button class="btn btn-secondary btn-sm" type="button" data-toggle="dropdown">
<div class="dropdown dropstart text-center">
<button class="btn btn-secondary btn-sm" type="button" data-bs-toggle="dropdown">
<i class="fas fa-ellipsis-h"></i>
</button>
<div class="dropdown-menu">
<a class="dropdown-item text-danger" href="post.php?archive_asset_note=<?= $asset_note_id ?>&csrf_token=<?= $_SESSION['csrf_token'] ?>">
<i class="fas fa-fw fa-archive mr-2"></i>Archive
<i class="fas fa-fw fa-archive me-2"></i>Archive
</a>
<?php if (lookupUserPermission("module_support") >= 3) { ?>
<div class="dropdown-divider"></div>
<a class="dropdown-item text-danger text-bold" href="post.php?delete_asset_note=<?= $asset_note_id ?>&csrf_token=<?= $_SESSION['csrf_token'] ?>">
<i class="fas fa-fw fa-trash mr-2"></i>Delete
<i class="fas fa-fw fa-trash me-2"></i>Delete
</a>
<?php } ?>
</div>

View File

@@ -182,29 +182,29 @@ $num_rows = mysqli_fetch_row(mysqli_query($mysqli, "SELECT FOUND_ROWS()"));
<div class="col-sm-12 mb-3">
<div class="btn-toolbar">
<div class="btn-group btn-block">
<div class="btn-group w-100">
<?php if($all_count) { ?>
<a href="?<?= $url_query_strings_sort ?>&type=" class="btn <?php if ($_GET['type'] == 'all' || empty($_GET['type'])) { echo 'btn-primary'; } else { echo 'btn-default'; } ?>">All Assets<span class="right badge badge-light ml-2"><?= $all_count ?></span></a>
<a href="?<?= $url_query_strings_sort ?>&type=" class="btn <?php if ($_GET['type'] == 'all' || empty($_GET['type'])) { echo 'btn-primary'; } else { echo 'btn-default'; } ?>">All Assets<span class="right badge bg-light text-dark ms-2"><?= $all_count ?></span></a>
<?php } ?>
<?php
if ($workstation_count > 0) { ?>
<a href="?<?= $url_query_strings_sort ?>&type=workstation" class="btn <?php if ($_GET['type'] == 'workstation') { echo 'btn-primary'; } else { echo 'btn-default'; } ?>"><i class="fa fa-fw fa-desktop mr-2"></i>Workstations<span class="right badge badge-light ml-2"><?= $workstation_count ?></span></a>
<a href="?<?= $url_query_strings_sort ?>&type=workstation" class="btn <?php if ($_GET['type'] == 'workstation') { echo 'btn-primary'; } else { echo 'btn-default'; } ?>"><i class="fa fa-fw fa-desktop me-2"></i>Workstations<span class="right badge bg-light text-dark ms-2"><?= $workstation_count ?></span></a>
<?php
}
if ($server_count > 0) { ?>
<a href="?<?= $url_query_strings_sort ?>&type=server" class="btn <?php if ($_GET['type'] == 'server') { echo 'btn-primary'; } else { echo 'btn-default'; } ?>"><i class="fa fa-fw fa-server mr-2"></i>Servers<span class="right badge badge-light ml-2"><?= $server_count ?></span></a>
<a href="?<?= $url_query_strings_sort ?>&type=server" class="btn <?php if ($_GET['type'] == 'server') { echo 'btn-primary'; } else { echo 'btn-default'; } ?>"><i class="fa fa-fw fa-server me-2"></i>Servers<span class="right badge bg-light text-dark ms-2"><?= $server_count ?></span></a>
<?php
}
if ($virtual_count > 0) { ?>
<a href="?<?= $url_query_strings_sort ?>&type=virtual" class="btn <?php if ($_GET['type'] == 'virtual') { echo 'btn-primary'; } else { echo 'btn-default'; } ?>"><i class="fa fa-fw fa-cloud mr-2"></i>Virtual<span class="right badge badge-light ml-2"><?= $virtual_count ?></span></a>
<a href="?<?= $url_query_strings_sort ?>&type=virtual" class="btn <?php if ($_GET['type'] == 'virtual') { echo 'btn-primary'; } else { echo 'btn-default'; } ?>"><i class="fa fa-fw fa-cloud me-2"></i>Virtual<span class="right badge bg-light text-dark ms-2"><?= $virtual_count ?></span></a>
<?php
}
if ($network_count > 0) { ?>
<a href="?<?= $url_query_strings_sort ?>&type=network" class="btn <?php if ($_GET['type'] == 'network') { echo 'btn-primary'; } else { echo 'btn-default'; } ?>"><i class="fa fa-fw fa-network-wired mr-2"></i>Network<span class="right badge badge-light ml-2"><?= $network_count ?></span></a>
<a href="?<?= $url_query_strings_sort ?>&type=network" class="btn <?php if ($_GET['type'] == 'network') { echo 'btn-primary'; } else { echo 'btn-default'; } ?>"><i class="fa fa-fw fa-network-wired me-2"></i>Network<span class="right badge bg-light text-dark ms-2"><?= $network_count ?></span></a>
<?php
}
if ($other_count > 0) { ?>
<a href="?<?= $url_query_strings_sort ?>&type=other" class="btn <?php if ($_GET['type'] == 'other') { echo 'btn-primary'; } else { echo 'btn-default'; } ?>"><i class="fa fa-fw fa-tag mr-2"></i>Other<span class="right badge badge-light ml-2"><?= $other_count ?></span></a>
<a href="?<?= $url_query_strings_sort ?>&type=other" class="btn <?php if ($_GET['type'] == 'other') { echo 'btn-primary'; } else { echo 'btn-default'; } ?>"><i class="fa fa-fw fa-tag me-2"></i>Other<span class="right badge bg-light text-dark ms-2"><?= $other_count ?></span></a>
<?php
} ?>
</div>
@@ -213,19 +213,19 @@ $num_rows = mysqli_fetch_row(mysqli_query($mysqli, "SELECT FOUND_ROWS()"));
<div class="card card-dark">
<div class="card-header py-2">
<h3 class="card-title mt-2"><i class="fas fa-fw fa-desktop mr-2"></i>Assets</h3>
<h3 class="card-title mt-2"><i class="fas fa-fw fa-desktop me-2"></i>Assets</h3>
<div class="card-tools">
<?php if (lookupUserPermission("module_support") >= 2) { ?>
<div class="btn-group">
<button type="button" class="btn btn-primary ajax-modal" data-modal-url="modals/asset/asset_add.php?<?= $client_url ?>&type=<?= $type_filter ?>">
<i class="fas fa-plus mr-2"></i>New <?php if ($type_filter) { echo ucwords($type_filter); } else { echo "Asset"; } ?>
<i class="fas fa-plus me-2"></i>New <?php if ($type_filter) { echo ucwords($type_filter); } else { echo "Asset"; } ?>
</button>
<button type="button" class="btn btn-primary dropdown-toggle dropdown-toggle-split" data-toggle="dropdown"></button>
<button type="button" class="btn btn-primary dropdown-toggle dropdown-toggle-split" data-bs-toggle="dropdown"></button>
<div class="dropdown-menu">
<?php if ($client_url) { ?>
<a class="dropdown-item text-dark ajax-modal" href="#"
data-modal-url="modals/asset/asset_import.php?<?= $client_url ?>">
<i class="fa fa-fw fa-upload mr-2"></i>Import
<i class="fa fa-fw fa-upload me-2"></i>Import
</a>
<div class="dropdown-divider"></div>
<?php } ?>
@@ -233,7 +233,7 @@ $num_rows = mysqli_fetch_row(mysqli_query($mysqli, "SELECT FOUND_ROWS()"));
<a class="dropdown-item text-dark ajax-modal" href="#"
data-modal-url="<?= buildExportModalUrl('modals/asset/asset_export.php', ['client_id', 'type', 'client', 'location', 'tags', 'expire_days', 'archived', 'q']) ?>">
<i class="fa fa-fw fa-download mr-2"></i>Export
<i class="fa fa-fw fa-download me-2"></i>Export
</a>
<?php } ?>
</div>
@@ -252,9 +252,7 @@ $num_rows = mysqli_fetch_row(mysqli_query($mysqli, "SELECT FOUND_ROWS()"));
<div class="col-md-3">
<div class="input-group mb-3 mb-md-0">
<input type="search" class="form-control" name="q" value="<?php if (isset($q)) { echo stripslashes(escapeHtml($q)); } ?>" placeholder="Search <?php if (!empty($_GET['type'])) { echo ucwords(stripslashes(escapeHtml($_GET['type']))); } else { echo "Asset"; } ?>s">
<div class="input-group-append">
<button class="btn btn-dark"><i class="fa fa-search"></i></button>
</div>
</div>
</div>
<?php if ($client_url) { ?>
@@ -350,7 +348,7 @@ $num_rows = mysqli_fetch_row(mysqli_query($mysqli, "SELECT FOUND_ROWS()"));
</div>
</div>
<div class="col-md-2">
<div class="form-group">
<div class="mb-3">
<select onchange="this.form.submit()" class="form-control select2" name="show_column[]" data-placeholder="- Show Additional Columns -" multiple>
<option
<?php if (isset($_GET['show_column']) && is_array($_GET['show_column']) && in_array('Mac_Address', $_GET['show_column'])) { echo 'selected'; } ?>>Mac_Address
@@ -368,86 +366,86 @@ $num_rows = mysqli_fetch_row(mysqli_query($mysqli, "SELECT FOUND_ROWS()"));
</div>
</div>
<div class="col-md-1">
<div class="btn-group float-right">
<div class="btn-group float-end">
<a href="?<?= $client_url ?>&archived=<?php if($archived == 1){ echo 0; } else { echo 1; } ?>"
class="btn btn-<?php if($archived == 1){ echo "primary"; } else { echo "default"; } ?>">
<i class="fa fa-fw fa-archive mr-2"></i>Archived
<i class="fa fa-fw fa-archive me-2"></i>Archived
</a>
<div class="dropdown ml-2" id="bulkActionButton" hidden>
<button class="btn btn-secondary dropdown-toggle" type="button" data-toggle="dropdown">
<i class="fas fa-fw fa-layer-group mr-2"></i>Bulk Action (<span id="selectedCount"></span>)
<div class="dropdown ms-2" id="bulkActionButton" hidden>
<button class="btn btn-secondary dropdown-toggle" type="button" data-bs-toggle="dropdown">
<i class="fas fa-fw fa-layer-group me-2"></i>Bulk Action (<span id="selectedCount"></span>)
</button>
<div class="dropdown-menu">
<button class="dropdown-item"
type="submit" form="bulkActions" name="bulk_favorite_assets">
<i class="fas fa-fw fa-star text-warning mr-2"></i>Favorite
<i class="fas fa-fw fa-star text-warning me-2"></i>Favorite
</button>
<div class="dropdown-divider"></div>
<button class="dropdown-item"
type="submit" form="bulkActions" name="bulk_unfavorite_assets">
<i class="far fa-fw fa-star mr-2"></i>Unfavorite
<i class="far fa-fw fa-star me-2"></i>Unfavorite
</button>
<div class="dropdown-divider"></div>
<?php if ($client_url) { ?>
<a class="dropdown-item ajax-modal" href="#"
data-modal-url="modals/asset/asset_bulk_assign_contact.php?<?= $client_url ?>"
data-bulk="true">
<i class="fas fa-fw fa-user mr-2"></i>Assign Contact
<i class="fas fa-fw fa-user me-2"></i>Assign Contact
</a>
<div class="dropdown-divider"></div>
<a class="dropdown-item ajax-modal" href="#"
data-modal-url="modals/asset/asset_bulk_assign_location.php?<?= $client_url ?>"
data-bulk="true">
<i class="fas fa-fw fa-map-marker-alt mr-2"></i>Assign Location
<i class="fas fa-fw fa-map-marker-alt me-2"></i>Assign Location
</a>
<div class="dropdown-divider"></div>
<?php } ?>
<a class="dropdown-item ajax-modal" href="#"
data-modal-url="modals/asset/asset_bulk_assign_tags.php"
data-bulk="true">
<i class="fas fa-fw fa-tags mr-2"></i>Assign Tags
<i class="fas fa-fw fa-tags me-2"></i>Assign Tags
</a>
<div class="dropdown-divider"></div>
<a class="dropdown-item ajax-modal" href="#"
data-modal-url="modals/asset/asset_bulk_assign_physical_location.php"
data-bulk="true">
<i class="fas fa-fw fa-map-marker-alt mr-2"></i>Set Physical Location
<i class="fas fa-fw fa-map-marker-alt me-2"></i>Set Physical Location
</a>
<div class="dropdown-divider"></div>
<a class="dropdown-item ajax-modal" href="#"
data-modal-url="modals/asset/asset_bulk_edit_status.php"
data-bulk="true">
<i class="fas fa-fw fa-info mr-2"></i>Set Status
<i class="fas fa-fw fa-info me-2"></i>Set Status
</a>
<div class="dropdown-divider"></div>
<a class="dropdown-item ajax-modal" href="#"
data-modal-url="modals/asset/asset_bulk_add_ticket.php"
data-modal-size="lg"
data-bulk="true">
<i class="fas fa-fw fa-life-ring mr-2"></i>Create Tickets
<i class="fas fa-fw fa-life-ring me-2"></i>Create Tickets
</a>
<div class="dropdown-divider"></div>
<a class="dropdown-item ajax-modal" href="#"
data-modal-url="modals/asset/asset_bulk_transfer_client.php?<?= $client_url ?>"
data-bulk="true">
<i class="fas fa-fw fa-arrow-right mr-2"></i>Transfer to Client
<i class="fas fa-fw fa-arrow-right me-2"></i>Transfer to Client
</a>
<?php if ($archived) { ?>
<div class="dropdown-divider"></div>
<button class="dropdown-item text-info"
type="submit" form="bulkActions" name="bulk_restore_assets">
<i class="fas fa-fw fa-redo mr-2"></i>Restore
<i class="fas fa-fw fa-redo me-2"></i>Restore
</button>
<div class="dropdown-divider"></div>
<button class="dropdown-item text-danger text-bold"
type="submit" form="bulkActions" name="bulk_delete_assets">
<i class="fas fa-fw fa-trash mr-2"></i>Delete
<i class="fas fa-fw fa-trash me-2"></i>Delete
</button>
<?php } else { ?>
<div class="dropdown-divider"></div>
<button class="dropdown-item text-danger confirm-link"
type="submit" form="bulkActions" name="bulk_archive_assets">
<i class="fas fa-fw fa-archive mr-2"></i>Archive
<i class="fas fa-fw fa-archive me-2"></i>Archive
</button>
<?php } ?>
</div>
@@ -463,7 +461,7 @@ $num_rows = mysqli_fetch_row(mysqli_query($mysqli, "SELECT FOUND_ROWS()"));
<div class="table-responsive">
<table class="table border table-hover">
<thead class="thead-light <?php if (!$num_rows[0]) { echo "d-none"; } ?> text-nowrap">
<thead class="table-light <?php if (!$num_rows[0]) { echo "d-none"; } ?> text-nowrap">
<tr>
<td class="bg-light checkbox-column">
<div class="form-check">
@@ -567,7 +565,7 @@ $num_rows = mysqli_fetch_row(mysqli_query($mysqli, "SELECT FOUND_ROWS()"));
$asset_model = escapeHtml($row['asset_model']);
$asset_serial = escapeHtml($row['asset_serial']);
if ($asset_serial) {
$asset_serial_display = "<span class='text-monospace'>$asset_serial</span>";
$asset_serial_display = "<span class='font-monospace'>$asset_serial</span>";
} else {
$asset_serial_display = "-";
}
@@ -662,7 +660,7 @@ $num_rows = mysqli_fetch_row(mysqli_query($mysqli, "SELECT FOUND_ROWS()"));
}
$asset_tag_id_array[] = $asset_tag_id;
$asset_tag_name_display_array[] = "<a href='assets.php?$client_url tags[]=$asset_tag_id'><span class='badge text-light p-1 mr-1' style='background-color: $asset_tag_color;'><i class='fa fa-fw fa-$asset_tag_icon mr-1'></i>$asset_tag_name</span></a>";
$asset_tag_name_display_array[] = "<a href='assets.php?$client_url tags[]=$asset_tag_id'><span class='badge text-light p-1 me-1' style='background-color: $asset_tag_color;'><i class='fa fa-fw fa-$asset_tag_icon me-1'></i>$asset_tag_name</span></a>";
}
$asset_tags_display = implode('', $asset_tag_name_display_array);
@@ -675,9 +673,9 @@ $num_rows = mysqli_fetch_row(mysqli_query($mysqli, "SELECT FOUND_ROWS()"));
</td>
<td>
<a class="text-dark" href="asset.php?client_id=<?= $client_id ?>&asset_id=<?= $asset_id ?>">
<div class="media">
<i class="fa fa-fw fa-2x fa-<?= $device_icon ?> mr-3 mt-1"></i>
<div class="media-body">
<div class="d-flex">
<i class="fa fa-fw fa-2x fa-<?= $device_icon ?> me-3 mt-1"></i>
<div class="flex-grow-1">
<div>
<?= $asset_name ?>
@@ -694,25 +692,25 @@ $num_rows = mysqli_fetch_row(mysqli_query($mysqli, "SELECT FOUND_ROWS()"));
<?= $asset_type ?>
<?php if ( !empty($asset_uri) || !empty($asset_uri_2) || !empty($asset_uri_client)) { ?>
<div class="dropdown d-inline">
<button class="btn btn-tool" type="button" data-toggle="dropdown">
<button class="btn btn-tool" type="button" data-bs-toggle="dropdown">
<i class="fas fa-external-link-alt"></i>
</button>
<div class="dropdown-menu">
<?php if ($asset_uri) { ?>
<a href="<?= $asset_uri ?>" alt="<?= $asset_uri ?>" target="_blank" class="dropdown-item" >
<i class="fa fa-fw fa-external-link-alt mr-2"></i><?= truncate($asset_uri,40) ?>
<i class="fa fa-fw fa-external-link-alt me-2"></i><?= truncate($asset_uri,40) ?>
</a>
<?php } ?>
<?php if ($asset_uri_2) { ?>
<div class="dropdown-divider"></div>
<a href="<?= $asset_uri_2 ?>" target="_blank" class="dropdown-item" >
<i class="fa fa-fw fa-external-link-alt mr-2"></i><?= truncate($asset_uri_2,40) ?>
<i class="fa fa-fw fa-external-link-alt me-2"></i><?= truncate($asset_uri_2,40) ?>
</a>
<?php } ?>
<?php if ($asset_uri_client) { ?>
<div class="dropdown-divider"></div>
<a href="<?= $asset_uri_client ?>" target="_blank" class="dropdown-item" >
<i class="fa fa-fw fa-external-link-alt mr-2"></i>Client URI: <?= truncate($asset_uri_client,40) ?>
<i class="fa fa-fw fa-external-link-alt me-2"></i>Client URI: <?= truncate($asset_uri_client,40) ?>
</a>
<?php } ?>
</div>
@@ -728,12 +726,12 @@ $num_rows = mysqli_fetch_row(mysqli_query($mysqli, "SELECT FOUND_ROWS()"));
<div><small class="text-secondary"><?= $asset_serial_display ?></small></div>
</td>
<?php } ?>
<td class="text-monospace">
<td class="font-monospace">
<?= $asset_ip ?>
<div class="text-secondary"><small><?= $asset_ipv6 ?></small></div>
</td>
<?php if (isset($_GET['show_column']) && is_array($_GET['show_column']) && in_array('Mac_Address', $_GET['show_column'])) { ?>
<td class="text-monospace"><?= $asset_mac ?></td>
<td class="font-monospace"><?= $asset_mac ?></td>
<?php } ?>
<?php if (isset($_GET['show_column']) && is_array($_GET['show_column']) && in_array('Purchase_Date', $_GET['show_column'])) { ?>
<td><?= $asset_purchase_date_display ?></td>
@@ -751,32 +749,32 @@ $num_rows = mysqli_fetch_row(mysqli_query($mysqli, "SELECT FOUND_ROWS()"));
<div><?= $location_name_display ?></div>
<div><small><?= $asset_physical_location_display ?></small></div>
</td>
<td><span class="badge badge-pill badge-secondary p-2"><?= $asset_status ?></span></td>
<td><span class="badge rounded-pill bg-secondary p-2"><?= $asset_status ?></span></td>
<?php if (!$client_url) { ?>
<td><a href="assets.php?client_id=<?= $client_id ?>"><?= $client_name ?></a></td>
<?php } ?>
<td class="text-center">
<div class="btn-group">
<div class="dropdown dropleft text-center">
<button class="btn btn-secondary btn-sm" type="button" data-toggle="dropdown"><i class="fas fa-ellipsis-h"></i></button>
<div class="dropdown dropstart text-center">
<button class="btn btn-secondary btn-sm" type="button" data-bs-toggle="dropdown"><i class="fas fa-ellipsis-h"></i></button>
<div class="dropdown-menu">
<a class="dropdown-item ajax-modal" href="#" data-modal-url="modals/asset/asset_edit.php?id=<?= $asset_id ?>">
<i class="fas fa-fw fa-edit mr-2"></i>Edit
<i class="fas fa-fw fa-edit me-2"></i>Edit
</a>
<a class="dropdown-item ajax-modal" href="#" data-modal-url="modals/asset/asset_copy.php?id=<?= $asset_id ?>">
<i class="fas fa-fw fa-copy mr-2"></i>Copy
<i class="fas fa-fw fa-copy me-2"></i>Copy
</a>
<?php if ($session_user_role > 2) { ?>
<?php if ($asset_archived_at) { ?>
<a class="dropdown-item text-info" href="post.php?restore_asset=<?= $asset_id ?>&csrf_token=<?= $_SESSION['csrf_token'] ?>">
<i class="fas fa-fw fa-redo mr-2"></i>Restore
<i class="fas fa-fw fa-redo me-2"></i>Restore
</a>
<a class="dropdown-item text-danger text-bold confirm-link" href="post.php?delete_asset=<?= $asset_id ?>&csrf_token=<?= $_SESSION['csrf_token'] ?>">
<i class="fas fa-fw fa-trash mr-2"></i>Delete
<i class="fas fa-fw fa-trash me-2"></i>Delete
</a>
<?php } else { ?>
<a class="dropdown-item text-danger confirm-link" href="post.php?archive_asset=<?= $asset_id ?>&csrf_token=<?= $_SESSION['csrf_token'] ?>">
<i class="fas fa-fw fa-archive mr-2"></i>Archive
<i class="fas fa-fw fa-archive me-2"></i>Archive
</a>
<?php } ?>

View File

@@ -45,31 +45,31 @@ if (isset($_GET['calendar_id'])) {
$calendar_color = escapeHtml($row['calendar_color']);
$calendar_feed_key = escapeHtml($row['calendar_feed_key'] ?? null);
?>
<div class="form-group d-flex align-items-center">
<i class="fas fa-fw fa-circle mr-2" style="color:<?= $calendar_color ?>;"></i><?= $calendar_name ?>
<div class="mb-3 d-flex align-items-center">
<i class="fas fa-fw fa-circle me-2" style="color:<?= $calendar_color ?>;"></i><?= $calendar_name ?>
<?php if (!empty($calendar_feed_key)) { ?>
<i class="fas fa-fw fa-share-alt text-info ml-2" title="Published as a subscription link"></i>
<i class="fas fa-fw fa-share-alt text-info ms-2" title="Published as a subscription link"></i>
<?php } ?>
<div class="dropdown dropright ml-auto">
<button class="btn btn-tool" type="button" data-toggle="dropdown">
<div class="dropdown dropend ms-auto">
<button class="btn btn-tool" type="button" data-bs-toggle="dropdown">
<i class="fas fa-ellipsis-v"></i>
</button>
<div class="dropdown-menu">
<a class="dropdown-item ajax-modal" href="#"
data-modal-url="modals/calendar/calendar_edit.php?id=<?= $calendar_id ?>">
<i class="fas fa-fw fa-pencil-alt mr-2"></i>Rename
<i class="fas fa-fw fa-pencil-alt me-2"></i>Rename
</a>
<?php if ($session_is_admin) { ?>
<a class="dropdown-item ajax-modal" href="#"
data-modal-url="modals/calendar/calendar_share.php?id=<?= $calendar_id ?>">
<i class="fas fa-fw fa-share-alt mr-2"></i><?= empty($calendar_feed_key) ? 'Share' : 'Manage sharing' ?>
<i class="fas fa-fw fa-share-alt me-2"></i><?= empty($calendar_feed_key) ? 'Share' : 'Manage sharing' ?>
</a>
<?php } ?>
<?php if ($session_user_role == 3) { ?>
<div class="dropdown-divider"></div>
<a class="dropdown-item text-danger text-bold confirm-link" href="post.php?delete_calendar=<?= $calendar_id ?>&csrf_token=<?= $_SESSION['csrf_token'] ?>">
<i class="fas fa-fw fa-trash mr-2"></i>Delete
<i class="fas fa-fw fa-trash me-2"></i>Delete
</a>
<?php } ?>
</div>
@@ -86,34 +86,34 @@ if (isset($_GET['calendar_id'])) {
<h3 class="card-title">Built-in</h3>
</div>
<div class="card-body">
<div class="form-group">
<i class="fas fa-fw fa-circle mr-2" style="color:blue;"></i>Invoices
<div class="mb-3">
<i class="fas fa-fw fa-circle me-2" style="color:blue;"></i>Invoices
</div>
<div class="form-group">
<i class="fas fa-fw fa-circle mr-2" style="color:purple;"></i>Quotes
<div class="mb-3">
<i class="fas fa-fw fa-circle me-2" style="color:purple;"></i>Quotes
</div>
<div class="form-group">
<i class="fas fa-fw fa-circle mr-2" style="color:red;"></i>Tickets (Created)
<div class="mb-3">
<i class="fas fa-fw fa-circle me-2" style="color:red;"></i>Tickets (Created)
</div>
<div class="form-group">
<i class="fas fa-fw fa-circle mr-2" style="color:grey;"></i>Recurring Tickets
<div class="mb-3">
<i class="fas fa-fw fa-circle me-2" style="color:grey;"></i>Recurring Tickets
</div>
<div class="form-group">
<i class="fas fa-fw fa-circle mr-2" style="color:grey;"></i>Tickets (Scheduled)
<div class="mb-3">
<i class="fas fa-fw fa-circle me-2" style="color:grey;"></i>Tickets (Scheduled)
</div>
<div class="form-group">
<i class="fas fa-fw fa-circle mr-2" style="color:brown;"></i>Vendors
<div class="mb-3">
<i class="fas fa-fw fa-circle me-2" style="color:brown;"></i>Vendors
</div>
<?php if (!isset($_GET['client_id'])) { ?>
<div class="form-group">
<i class="fas fa-fw fa-circle mr-2" style="color:brown;"></i>Clients
<div class="mb-3">
<i class="fas fa-fw fa-circle me-2" style="color:brown;"></i>Clients
</div>
<?php } ?>
@@ -227,7 +227,7 @@ while ($row = mysqli_fetch_assoc($sql)) {
const titleEl = info.el.querySelector('.fc-event-title') || info.el.querySelector('.fc-list-event-title');
if (titleEl) {
const icon = document.createElement('i');
icon.className = 'fas fa-redo fa-xs mr-1';
icon.className = 'fas fa-redo fa-xs me-1';
titleEl.prepend(icon);
}
}

View File

@@ -79,16 +79,16 @@ $num_rows = mysqli_fetch_row(mysqli_query($mysqli, "SELECT FOUND_ROWS()"));
<div class="card card-dark">
<div class="card-header py-2">
<h3 class="card-title mt-2"><i class="fas fa-fw fa-lock mr-2"></i>Certificates</h3>
<h3 class="card-title mt-2"><i class="fas fa-fw fa-lock me-2"></i>Certificates</h3>
<div class="card-tools">
<div class="btn-group">
<button type="button" class="btn btn-primary ajax-modal" data-modal-url="modals/certificate/certificate_add.php?<?= $client_url ?>"><i class="fas fa-plus mr-2"></i>New Certificate</button>
<button type="button" class="btn btn-primary ajax-modal" data-modal-url="modals/certificate/certificate_add.php?<?= $client_url ?>"><i class="fas fa-plus me-2"></i>New Certificate</button>
<?php if ($num_rows[0] > 0) { ?>
<button type="button" class="btn btn-primary dropdown-toggle dropdown-toggle-split" data-toggle="dropdown"></button>
<button type="button" class="btn btn-primary dropdown-toggle dropdown-toggle-split" data-bs-toggle="dropdown"></button>
<div class="dropdown-menu">
<a class="dropdown-item text-dark ajax-modal" href="#"\
data-modal-url="<?= buildExportModalUrl('modals/certificate/certificate_export.php', ['client_id', 'client', 'expire_days', 'archived', 'q']) ?>">
<i class="fa fa-fw fa-download mr-2"></i>Export
<i class="fa fa-fw fa-download me-2"></i>Export
</a>
</div>
<?php } ?>
@@ -106,9 +106,7 @@ $num_rows = mysqli_fetch_row(mysqli_query($mysqli, "SELECT FOUND_ROWS()"));
<div class="col-md-4">
<div class="input-group mb-3 mb-md-0">
<input type="search" class="form-control" name="q" value="<?php if (isset($q)) { echo stripslashes(escapeHtml($q)); } ?>" placeholder="Search Certificates">
<div class="input-group-append">
<button class="btn btn-dark"><i class="fa fa-search"></i></button>
</div>
</div>
</div>
@@ -160,24 +158,24 @@ $num_rows = mysqli_fetch_row(mysqli_query($mysqli, "SELECT FOUND_ROWS()"));
<?php } ?>
<div class="col-md-4">
<div class="btn-group float-right">
<div class="btn-group float-end">
<a href="?<?= $client_url ?>archived=<?php if($archived == 1){ echo 0; } else { echo 1; } ?>"
class="btn btn-<?php if($archived == 1){ echo "primary"; } else { echo "default"; } ?>">
<i class="fa fa-fw fa-archive mr-2"></i>Archived
<i class="fa fa-fw fa-archive me-2"></i>Archived
</a>
<div class="dropdown ml-2" id="bulkActionButton" hidden>
<button class="btn btn-secondary dropdown-toggle" type="button" data-toggle="dropdown">
<i class="fas fa-fw fa-layer-group mr-2"></i>Bulk Action (<span id="selectedCount">0</span>)
<div class="dropdown ms-2" id="bulkActionButton" hidden>
<button class="btn btn-secondary dropdown-toggle" type="button" data-bs-toggle="dropdown">
<i class="fas fa-fw fa-layer-group me-2"></i>Bulk Action (<span id="selectedCount">0</span>)
</button>
<div class="dropdown-menu">
<button class="dropdown-item"
type="submit" form="bulkActions" name="bulk_refresh_certificates">
<i class="fas fa-fw fa-sync-alt mr-2"></i>Refresh Certificates
<i class="fas fa-fw fa-sync-alt me-2"></i>Refresh Certificates
</button>
<div class="dropdown-divider"></div>
<button class="dropdown-item text-danger text-bold"
type="submit" form="bulkActions" name="bulk_delete_certificates">
<i class="fas fa-fw fa-trash mr-2"></i>Delete
<i class="fas fa-fw fa-trash me-2"></i>Delete
</button>
</div>
</div>
@@ -275,9 +273,9 @@ $num_rows = mysqli_fetch_row(mysqli_query($mysqli, "SELECT FOUND_ROWS()"));
<td>
<a class="text-dark ajax-modal" href="#"
data-modal-url="modals/certificate/certificate_edit.php?<?= $client_url ?>&id=<?= $certificate_id ?>">
<div class="media">
<i class="fa fa-fw fa-2x fa-lock mr-3"></i>
<div class="media-body">
<div class="d-flex">
<i class="fa fa-fw fa-2x fa-lock me-3"></i>
<div class="flex-grow-1">
<div><?= $certificate_name ?></div>
<div><small class="text-secondary"><?= $certificate_description ?></small></div>
</div>
@@ -298,33 +296,33 @@ $num_rows = mysqli_fetch_row(mysqli_query($mysqli, "SELECT FOUND_ROWS()"));
<td><a href="certificates.php?client_id=<?= $client_id ?>"><?= $client_name ?></a></td>
<?php } ?>
<td>
<div class="dropdown dropleft text-center">
<button class="btn btn-secondary btn-sm" type="button" data-toggle="dropdown">
<div class="dropdown dropstart text-center">
<button class="btn btn-secondary btn-sm" type="button" data-bs-toggle="dropdown">
<i class="fas fa-ellipsis-h"></i>
</button>
<div class="dropdown-menu">
<a class="dropdown-item ajax-modal" href="#"
data-modal-url="modals/certificate/certificate_edit.php?<?= $client_url ?>&id=<?= $certificate_id ?>">
<i class="fas fa-fw fa-edit mr-2"></i>Edit
<i class="fas fa-fw fa-edit me-2"></i>Edit
</a>
<div class="dropdown-divider"></div>
<a class="dropdown-item" href="post.php?refresh_certificate=<?= $certificate_id ?>&csrf_token=<?= $_SESSION['csrf_token'] ?>">
<i class="fas fa-fw fa-sync-alt mr-2"></i>Refresh Certificate
<i class="fas fa-fw fa-sync-alt me-2"></i>Refresh Certificate
</a>
<?php if ($session_user_role == 3) { ?>
<?php if ($certificate_archived_at) { ?>
<div class="dropdown-divider"></div>
<a class="dropdown-item text-info confirm-link" href="post.php?restore_certificate=<?= $certificate_id ?>&csrf_token=<?= $_SESSION['csrf_token'] ?>">
<i class="fas fa-fw fa-redo mr-2"></i>Restore
<i class="fas fa-fw fa-redo me-2"></i>Restore
</a>
<div class="dropdown-divider"></div>
<a class="dropdown-item text-danger text-bold confirm-link" href="post.php?delete_certificate=<?= $certificate_id ?>&csrf_token=<?= $_SESSION['csrf_token'] ?>">
<i class="fas fa-fw fa-trash mr-2"></i>Delete
<i class="fas fa-fw fa-trash me-2"></i>Delete
</a>
<?php } else { ?>
<div class="dropdown-divider"></div>
<a class="dropdown-item text-danger confirm-link" href="post.php?archive_certificate=<?= $certificate_id ?>&csrf_token=<?= $_SESSION['csrf_token'] ?>">
<i class="fas fa-fw fa-archive mr-2"></i>Archive
<i class="fas fa-fw fa-archive me-2"></i>Archive
</a>
<?php } ?>

View File

@@ -32,7 +32,7 @@ if (!$config_stripe_enable || !$config_stripe_publishable || !$config_stripe_sec
<div class="card card-dark">
<div class="card-header">
<h3 class="card-title"><i class="fa fa-redo-alt mr-2"></i>AutoPay</h3>
<h3 class="card-title"><i class="fa fa-redo-alt me-2"></i>AutoPay</h3>
</div>
<div class="card-body">
@@ -47,16 +47,16 @@ if (!$config_stripe_enable || !$config_stripe_publishable || !$config_stripe_sec
<div class="col-5">
<form action="post.php" method="POST">
<div class="form-group">
<div class="custom-control custom-checkbox">
<input class="custom-control-input" type="checkbox" id="consent" name="consent" value="1" required>
<label for="consent" class="custom-control-label">
<div class="mb-3">
<div class="form-check">
<input class="form-check-input" type="checkbox" id="consent" name="consent" value="1" required>
<label for="consent" class="form-check-label">
I grant consent for automatic payments
</label>
</div>
</div>
<div class="form-group">
<div class="mb-3">
<button type="submit" class="form-control btn-success" name="create_stripe_customer">Create Stripe Customer Record</button>
</div>
</form>

View File

@@ -218,7 +218,7 @@ $sql_asset_retired = mysqli_query(
<div class="card card-dark mb-3">
<div class="card-header p-2">
<h5 class="card-title"><i class="fa fa-fw fa-edit mr-2"></i>Quick Notes</h5>
<h5 class="card-title"><i class="fa fa-fw fa-edit me-2"></i>Quick Notes</h5>
</div>
<div class="card-body p-1">
<textarea class="form-control" rows=8 id="clientNotes" placeholder="Enter quick notes here" onblur="updateClientNotes(<?= $client_id ?>)"><?= $client_notes ?></textarea>
@@ -231,7 +231,7 @@ $sql_asset_retired = mysqli_query(
<?php if (mysqli_num_rows($sql_important_contacts) > 0) { ?>
<div class="card card-dark mb-3">
<div class="card-header p-2">
<h5 class="card-title"><i class="fa fa-fw fa-users mr-2"></i>Important Contacts</h5>
<h5 class="card-title"><i class="fa fa-fw fa-users me-2"></i>Important Contacts</h5>
</div>
<div class="card-body p-1">
<table class="table table-borderless table-sm">
@@ -262,19 +262,19 @@ $sql_asset_retired = mysqli_query(
<a href="#" class="ajax-modal"
data-modal-size="xl"
data-modal-url="modals/contact/contact.php?id=<?= $contact_id ?>">
<div class="media">
<div class="d-flex">
<?php if ($contact_photo) { ?>
<span class="fa-stack fa-2x mr-2 text-center">
<span class="fa-stack fa-2x me-2 text-center">
<img class="img-size-50 img-circle" src="<?= "../uploads/clients/$client_id/$contact_photo" ?>">
</span>
<?php } else { ?>
<span class="fa-stack fa-2x mr-2">
<span class="fa-stack fa-2x me-2">
<i class="fa fa-circle fa-stack-2x text-secondary"></i>
<span class="fa fa-stack-1x text-white"><?= $contact_initials ?></span>
</span>
<?php } ?>
<div class="media-body">
<div class="flex-grow-1">
<div class="text-bold"><?= $contact_name ?></div>
<small class="text-secondary"><?= $contact_title ?></small>
<div><?= $contact_primary_display ?></div>
@@ -316,7 +316,7 @@ $sql_asset_retired = mysqli_query(
<div class="card card-dark mb-3">
<div class="card-header p-2">
<h5 class="card-title"><i class="fas fa-fw fa-star mr-2"></i>Favorite Assets</h5>
<h5 class="card-title"><i class="fas fa-fw fa-star me-2"></i>Favorite Assets</h5>
</div>
<table class="table table-sm table-hover mb-0">
<?php
@@ -335,7 +335,7 @@ $sql_asset_retired = mysqli_query(
<a href="#" class="ajax-modal"
data-modal-size="lg"
data-modal-url="modals/asset/asset.php?id=<?= $asset_id ?>">
<i class="fas fa-fw fa-<?= $asset_icon ?> text-dark mr-1"></i><?= $asset_name ?>
<i class="fas fa-fw fa-<?= $asset_icon ?> text-dark me-1"></i><?= $asset_name ?>
</a>
</td>
<td>
@@ -359,7 +359,7 @@ $sql_asset_retired = mysqli_query(
<div class="card card-dark mb-3">
<div class="card-header p-2">
<h5 class="card-title"><i class="fas fa-fw fa-star mr-2"></i>Favorite Credentials</h5>
<h5 class="card-title"><i class="fas fa-fw fa-star me-2"></i>Favorite Credentials</h5>
</div>
<table class="table table-sm table-hover mb-0">
@@ -394,7 +394,7 @@ $sql_asset_retired = mysqli_query(
<td>
<a href="#" class="ajax-modal"
data-modal-url="modals/credential/credential_edit.php?id=<?= $credential_id ?>">
<i class="fas fa-fw fa-key text-dark mr-1"></i><?= $credential_name ?>
<i class="fas fa-fw fa-key text-dark me-1"></i><?= $credential_name ?>
</a>
</td>
<td><?= $credential_username_display ?></td>
@@ -421,7 +421,7 @@ $sql_asset_retired = mysqli_query(
<div class="card card-dark mb-3">
<div class="card-header p-2">
<h5 class="card-title"><i class="fa fa-fw fa-share-square mr-2"></i>Shared Items</h5>
<h5 class="card-title"><i class="fa fa-fw fa-share-square me-2"></i>Shared Items</h5>
</div>
<div class="card-body p-2">
<table class="table table-borderless table-sm">
@@ -461,7 +461,7 @@ $sql_asset_retired = mysqli_query(
?>
<tr>
<td title="<?= $item_type ?>">
<i class="<?= $item_icon ?> mr-2 text-secondary"></i><?= $item_name ?>
<i class="<?= $item_icon ?> me-2 text-secondary"></i><?= $item_name ?>
</td>
<td>
<div>Views: <?= $item_views ?></div>
@@ -470,7 +470,7 @@ $sql_asset_retired = mysqli_query(
<td title="Expires at <?= $item_expire_at ?>">Expires <?= $item_expire_at_human ?></td>
<td title="Deactivate Link">
<a class="text-danger confirm-link" href="post.php?deactivate_shared_item=<?= $item_id ?>&csrf_token=<?= $_SESSION['csrf_token'] ?>">
<i class="fas fa-fw fa-calendar-times mr-2"></i>
<i class="fas fa-fw fa-calendar-times me-2"></i>
</a>
</td>
</tr>
@@ -498,7 +498,7 @@ $sql_asset_retired = mysqli_query(
<div class="card card-dark mb-3">
<div class="card-header p-2">
<h5 class="card-title"><i class="fa fa-fw fa-exclamation-triangle text-warning mr-2"></i>Expiring in the Next 45 Days</h5>
<h5 class="card-title"><i class="fa fa-fw fa-exclamation-triangle text-warning me-2"></i>Expiring in the Next 45 Days</h5>
</div>
<div class="card-body p-2">
@@ -512,7 +512,7 @@ $sql_asset_retired = mysqli_query(
?>
<p class="mb-1">
<i class="fa fa-fw fa-globe text-secondary mr-1"></i>
<i class="fa fa-fw fa-globe text-secondary me-1"></i>
<a href="domains.php?client_id=<?= $client_id ?>&q=<?= $domain_name ?>">Domain: <?= $domain_name ?></a>
<span>-- <?= $domain_expire ?> (<?= $domain_expire_human ?>)</span>
</p>
@@ -530,7 +530,7 @@ $sql_asset_retired = mysqli_query(
?>
<p class="mb-1">
<i class="fa fa-fw fa-lock text-secondary mr-1"></i>
<i class="fa fa-fw fa-lock text-secondary me-1"></i>
<a href="certificates.php?client_id=<?= $client_id ?>&q=<?= $certificate_name ?>">Certificate: <?= $certificate_name ?></a>
<span>-- <?= $certificate_expire ?> (<?= $certificate_expire_human ?>)</span>
</p>
@@ -548,7 +548,7 @@ $sql_asset_retired = mysqli_query(
?>
<p class="mb-1">
<i class="fa fa-fw fa-laptop text-secondary mr-1"></i>
<i class="fa fa-fw fa-laptop text-secondary me-1"></i>
<a href="asset.php?client_id=<?= $client_id ?>&asset_id=<?= $asset_id ?>">Asset Warranty: <?= $asset_name ?></a>
<span>-- <?= $asset_warranty_expire ?> (<?= $asset_warranty_expire_human ?>)</span>
</p>
@@ -568,7 +568,7 @@ $sql_asset_retired = mysqli_query(
?>
<p class="mb-1">
<i class="fa fa-fw fa-laptop text-secondary mr-1"></i>
<i class="fa fa-fw fa-laptop text-secondary me-1"></i>
<a href="asset.php?client_id=<?= $client_id ?>&asset_id=<?= $asset_id ?>">Asset Retire: <?= $asset_name ?></a>
<span>-- <?= $asset_install_date ?> (<?= $asset_install_date_human ?>)</span>
</p>
@@ -587,7 +587,7 @@ $sql_asset_retired = mysqli_query(
?>
<p class="mb-1">
<i class="fa fa-fw fa-cube text-secondary mr-1"></i>
<i class="fa fa-fw fa-cube text-secondary me-1"></i>
<a href="software.php?client_id=<?= $client_id ?>&q=<?= $software_name ?>">License: <?= $software_name ?></a>
<span>-- <?= $software_expire ?> (<?= $software_expire_human ?>)</span>
</p>
@@ -616,7 +616,7 @@ $sql_asset_retired = mysqli_query(
<div class="card card-dark mb-3">
<div class="card-header p-2">
<h5 class="card-title"><i class="fa fa-fw fa-exclamation-triangle text-danger mr-2"></i>Expired</h5>
<h5 class="card-title"><i class="fa fa-fw fa-exclamation-triangle text-danger me-2"></i>Expired</h5>
</div>
<div class="card-body p-2">
@@ -630,7 +630,7 @@ $sql_asset_retired = mysqli_query(
?>
<p class="mb-1">
<i class="fa fa-fw fa-globe text-secondary mr-1"></i>
<i class="fa fa-fw fa-globe text-secondary me-1"></i>
<a href="domains.php?client_id=<?= $client_id ?>&q=<?= $domain_name ?>">Domain: <?= $domain_name ?></a>
<span>-- <?= $domain_expire ?> (<?= $domain_expire_human ?>)</span>
</p>
@@ -648,7 +648,7 @@ $sql_asset_retired = mysqli_query(
?>
<p class="mb-1">
<i class="fa fa-fw fa-lock text-secondary mr-1"></i>
<i class="fa fa-fw fa-lock text-secondary me-1"></i>
<a href="certificates.php?client_id=<?= $client_id ?>&q=<?= $certificate_name ?>">Certificate: <?= $certificate_name ?></a>
<span>-- <?= $certificate_expire ?> (<?= $certificate_expire_human ?>)</span>
</p>
@@ -666,7 +666,7 @@ $sql_asset_retired = mysqli_query(
?>
<p class="mb-1">
<i class="fa fa-fw fa-laptop text-secondary mr-1"></i>Asset Warranty:
<i class="fa fa-fw fa-laptop text-secondary me-1"></i>Asset Warranty:
<a href="asset.php?client_id=<?= $client_id ?>&asset_id=<?= $asset_id ?>"><?= $asset_name ?></a>
<span>-- <?= $asset_warranty_expire ?> (<?= $asset_warranty_expire_human ?>)</span>
</p>
@@ -686,7 +686,7 @@ $sql_asset_retired = mysqli_query(
?>
<p class="mb-1">
<i class="fa fa-fw fa-laptop text-secondary mr-1"></i>
<i class="fa fa-fw fa-laptop text-secondary me-1"></i>
<a href="asset.php?client_id=<?= $client_id ?>&asset_id=<?= $asset_id ?>">Asset Retire: <?= $asset_name ?></a>
<span>-- <?= $asset_install_date ?> (<?= $asset_install_date_human ?>)</span>
</p>
@@ -705,7 +705,7 @@ $sql_asset_retired = mysqli_query(
?>
<p class="mb-1">
<i class="fa fa-fw fa-cube text-secondary mr-1"></i>
<i class="fa fa-fw fa-cube text-secondary me-1"></i>
<a href="software.php?client_id=<?= $client_id ?>&q=<?= $software_name ?>">Software: <?= $software_name ?></a>
<span>-- <?= $software_expire ?> (<?= $software_expire_human ?>)</span>
</p>
@@ -728,7 +728,7 @@ $sql_asset_retired = mysqli_query(
<div class="card card-dark mb-3">
<div class="card-header p-2">
<h5 class="card-title"><i class="fa fa-fw fa-life-ring mr-2"></i>Stale Tickets <small>(Not updated within 3 days)</small></h5>
<h5 class="card-title"><i class="fa fa-fw fa-life-ring me-2"></i>Stale Tickets <small>(Not updated within 3 days)</small></h5>
</div>
<table class="table table table-sm table-hover mb-0">
<tbody>
@@ -768,7 +768,7 @@ $sql_asset_retired = mysqli_query(
<div class="card card-dark mb-3">
<div class="card-header p-2">
<h5 class="card-title"><i class="fa fa-fw fa-history mr-2"></i>Recent Activities <small>(Last 10 tasks)</small></h5>
<h5 class="card-title"><i class="fa fa-fw fa-history me-2"></i>Recent Activities <small>(Last 10 tasks)</small></h5>
</div>
<table class="table table-sm table-hover mb-0">
<tbody>

View File

@@ -82,24 +82,24 @@ $num_rows = mysqli_fetch_row(mysqli_query($mysqli, "SELECT FOUND_ROWS()"));
<div class="card">
<div class="card-header bg-dark py-2">
<h3 class="card-title mt-2"><i class="fa fa-fw fa-user-friends mr-2"></i><?php if($leads_filter == 0){ echo "Clients"; } else { echo "Leads"; } ?></h3>
<h3 class="card-title mt-2"><i class="fa fa-fw fa-user-friends me-2"></i><?php if($leads_filter == 0){ echo "Clients"; } else { echo "Leads"; } ?></h3>
<div class="card-tools">
<?php if (lookupUserPermission("module_client") >= 2) { ?>
<div class="btn-group">
<button type="button" class="btn btn-primary ajax-modal" data-modal-url="modals/client/client_add.php<?php if ($leads_filter) { echo "?lead=1"; } ?>">
<i class="fas fa-plus mr-2"></i>New
<i class="fas fa-plus me-2"></i>New
<?php if ($leads_filter == 0) { echo "Client"; } else { echo "Lead"; } ?>
</button>
<button type="button" class="btn btn-primary dropdown-toggle dropdown-toggle-split" data-toggle="dropdown"></button>
<button type="button" class="btn btn-primary dropdown-toggle dropdown-toggle-split" data-bs-toggle="dropdown"></button>
<div class="dropdown-menu">
<a class="dropdown-item text-dark ajax-modal" href="#"
data-modal-url="modals/client/client_import.php">
<i class="fa fa-fw fa-upload mr-2"></i>Import
<i class="fa fa-fw fa-upload me-2"></i>Import
</a>
<div class="dropdown-divider"></div>
<a class="dropdown-item text-dark ajax-modal" href="#"
data-modal-url="<?= buildExportModalUrl('modals/client/client_export.php', ['leads', 'tags', 'industry', 'referral', 'q', 'archived'], ['dtf' => $dtf, 'dtt' => $dtt]) ?>">
<i class="fa fa-fw fa-download mr-2"></i>Export
<i class="fa fa-fw fa-download me-2"></i>Export
</a>
</div>
</div>
@@ -112,87 +112,85 @@ $num_rows = mysqli_fetch_row(mysqli_query($mysqli, "SELECT FOUND_ROWS()"));
<input type="hidden" name="archived" value="<?= $archived ?>">
<div class="row">
<div class="col-md-5">
<div class="form-group">
<div class="mb-3">
<div class="input-group">
<input type="search" class="form-control" name="q" value="<?php if (isset($q)) { echo stripslashes(escapeHtml($q)); } ?>" placeholder="Search <?php if($leads_filter == 0){ echo "clients"; } else { echo "leads"; } ?>" autofocus>
<div class="input-group-append">
<button class="btn btn-secondary" type="button" data-toggle="collapse" data-target="#advancedFilter"><i class="fas fa-filter"></i></button>
<button class="btn btn-secondary" type="button" data-bs-toggle="collapse" data-bs-target="#advancedFilter"><i class="fas fa-filter"></i></button>
<button class="btn btn-primary"><i class="fa fa-search"></i></button>
</div>
</div>
</div>
</div>
<div class="col-md-7">
<div class="btn-toolbar form-group float-right">
<div class="btn-group mr-2">
<a href="?leads=0" class="btn btn-<?php if ($leads_filter == 0){ echo "primary"; } else { echo "default"; } ?>" title="Clients"><i class="fa fa-fw fa-user-friends"></i><span class="d-none d-sm-inline ml-2">Clients</span></a>
<a href="?leads=1" class="btn btn-<?php if ($leads_filter == 1){ echo "primary"; } else { echo "default"; } ?>"><i class="fa fa-fw fa-bullhorn"></i><span class="d-none d-sm-inline ml-2">Leads</span></a>
<div class="btn-toolbar mb-3 float-end">
<div class="btn-group me-2">
<a href="?leads=0" class="btn btn-<?php if ($leads_filter == 0){ echo "primary"; } else { echo "default"; } ?>" title="Clients"><i class="fa fa-fw fa-user-friends"></i><span class="d-none d-sm-inline ms-2">Clients</span></a>
<a href="?leads=1" class="btn btn-<?php if ($leads_filter == 1){ echo "primary"; } else { echo "default"; } ?>"><i class="fa fa-fw fa-bullhorn"></i><span class="d-none d-sm-inline ms-2">Leads</span></a>
</div>
<div class="btn-group">
<a href="?<?= $url_query_strings_sort ?>&archived=<?php if($archived == 1){ echo 0; } else { echo 1; } ?>"
class="btn btn-<?php if ($archived == 1) { echo "primary"; } else { echo "default"; } ?>">
<i class="fa fa-fw fa-archive mr-2"></i>Archived
<i class="fa fa-fw fa-archive me-2"></i>Archived
</a>
<div class="dropdown ml-2" id="bulkActionButton" hidden>
<button class="btn btn-secondary dropdown-toggle" type="button" data-toggle="dropdown">
<i class="fas fa-fw fa-layer-group"></i><span class="d-none d-sm-inline ml-2">Action</span> (<span id="selectedCount">0</span>)
<div class="dropdown ms-2" id="bulkActionButton" hidden>
<button class="btn btn-secondary dropdown-toggle" type="button" data-bs-toggle="dropdown">
<i class="fas fa-fw fa-layer-group"></i><span class="d-none d-sm-inline ms-2">Action</span> (<span id="selectedCount">0</span>)
</button>
<div class="dropdown-menu">
<a class="dropdown-item ajax-modal" href="#"
data-modal-url="modals/client/client_bulk_add_ticket.php"
data-modal-size="lg"
data-bulk="true">
<i class="fas fa-fw fa-life-ring mr-2"></i>Open Tickets
<i class="fas fa-fw fa-life-ring me-2"></i>Open Tickets
</a>
<div class="dropdown-divider"></div>
<a class="dropdown-item ajax-modal" href="#"
data-modal-url="modals/client/client_bulk_edit_hourly_rate.php"
data-bulk="true">
<i class="fas fa-fw fa-clock mr-2"></i>Set Hourly Rate
<i class="fas fa-fw fa-clock me-2"></i>Set Hourly Rate
</a>
<div class="dropdown-divider"></div>
<a class="dropdown-item ajax-modal" href="#"
data-modal-url="modals/client/client_bulk_edit_net_terms.php"
data-bulk="true">
<i class="fas fa-fw fa-calendar mr-2"></i>Set Net Terms
<i class="fas fa-fw fa-calendar me-2"></i>Set Net Terms
</a>
<div class="dropdown-divider"></div>
<a class="dropdown-item ajax-modal" href="#"
data-modal-url="modals/client/client_bulk_edit_industry.php"
data-bulk="true">
<i class="fas fa-fw fa-briefcase mr-2"></i>Set Industry
<i class="fas fa-fw fa-briefcase me-2"></i>Set Industry
</a>
<div class="dropdown-divider"></div>
<a class="dropdown-item ajax-modal" href="#"
data-modal-url="modals/client/client_bulk_edit_referral.php"
data-bulk="true">
<i class="fas fa-fw fa-link mr-2"></i>Set Referral
<i class="fas fa-fw fa-link me-2"></i>Set Referral
</a>
<div class="dropdown-divider"></div>
<a class="dropdown-item ajax-modal" href="#"
data-modal-url="modals/client/client_bulk_assign_tags.php"
data-bulk="true">
<i class="fas fa-fw fa-tags mr-2"></i>Assign Tags
<i class="fas fa-fw fa-tags me-2"></i>Assign Tags
</a>
<div class="dropdown-divider"></div>
<a class="dropdown-item ajax-modal" href="#"
data-modal-url="modals/client/client_bulk_email.php"
data-modal-size="lg"
data-bulk="true">
<i class="fas fa-fw fa-paper-plane mr-2"></i>Send Email
<i class="fas fa-fw fa-paper-plane me-2"></i>Send Email
</a>
<?php if ($archived) { ?>
<div class="dropdown-divider"></div>
<button class="dropdown-item text-info"
type="submit" form="bulkActions" name="bulk_unarchive_clients">
<i class="fas fa-fw fa-redo mr-2"></i>Restore
<i class="fas fa-fw fa-redo me-2"></i>Restore
</button>
<?php } else { ?>
<div class="dropdown-divider"></div>
<button class="dropdown-item text-danger confirm-link"
type="submit" form="bulkActions" name="bulk_archive_clients">
<i class="fas fa-fw fa-archive mr-2"></i>Archive
<i class="fas fa-fw fa-archive me-2"></i>Archive
</button>
<?php } ?>
</div>
@@ -216,7 +214,7 @@ $num_rows = mysqli_fetch_row(mysqli_query($mysqli, "SELECT FOUND_ROWS()"));
>
<div class="row">
<div class="col-md-3">
<div class="form-group">
<div class="mb-3">
<label>Date range</label>
<input type="text" id="dateFilter" class="form-control" autocomplete="off">
<input type="hidden" name="canned_date" id="canned_date" value="<?= escapeHtml($_GET['canned_date']) ?? '' ?>">
@@ -225,7 +223,7 @@ $num_rows = mysqli_fetch_row(mysqli_query($mysqli, "SELECT FOUND_ROWS()"));
</div>
</div>
<div class="col-md-3">
<div class="form-group">
<div class="mb-3">
<label>Tag</label>
<select onchange="this.form.submit()" class="form-control select2" name="tags[]" data-placeholder="- Select Tags -" multiple>
<?php
@@ -248,7 +246,7 @@ $num_rows = mysqli_fetch_row(mysqli_query($mysqli, "SELECT FOUND_ROWS()"));
</div>
</div>
<div class="col-sm-2">
<div class="form-group">
<div class="mb-3">
<label>Industry</label>
<select class="form-control select2" name="industry" onchange="this.form.submit()">
<option value="">- All Industries -</option>
@@ -267,7 +265,7 @@ $num_rows = mysqli_fetch_row(mysqli_query($mysqli, "SELECT FOUND_ROWS()"));
</div>
</div>
<div class="col-sm-2">
<div class="form-group">
<div class="mb-3">
<label>Referral</label>
<select class="form-control select2" name="referral" onchange="this.form.submit()">
<option value="">- All Referrals -</option>
@@ -383,7 +381,7 @@ $num_rows = mysqli_fetch_row(mysqli_query($mysqli, "SELECT FOUND_ROWS()"));
}
$client_tag_id_array[] = $client_tag_id;
$client_tag_name_display_array[] = "<a href='clients.php?tags[]=$client_tag_id'><span class='mt-1 badge badge-pill text-light p-1 mr-1' style='background-color: $client_tag_color;'><i class='fas fa-$client_tag_icon fa-fw mr-1'></i>$client_tag_name</span></a>";
$client_tag_name_display_array[] = "<a href='clients.php?tags[]=$client_tag_id'><span class='mt-1 badge rounded-pill text-light p-1 me-1' style='background-color: $client_tag_color;'><i class='fas fa-$client_tag_icon fa-fw me-1'></i>$client_tag_name</span></a>";
}
$client_tags_display = '';
foreach (array_chunk($client_tag_name_display_array, 3) as $tag_row) {
@@ -438,26 +436,26 @@ $num_rows = mysqli_fetch_row(mysqli_query($mysqli, "SELECT FOUND_ROWS()"));
</td>
<td>
<a href="client_overview.php?client_id=<?= $client_id ?>"
data-toggle="popover"
data-trigger="hover"
data-placement="right"
data-html="true"
data-delay='{"show": 800, "hide": 200}'
data-bs-toggle="popover"
data-bs-trigger="hover"
data-bs-placement="right"
data-bs-html="true"
data-bs-delay='{"show": 800, "hide": 200}'
title="<?= $client_name ?>"
data-content="
data-bs-content="
<strong>Created:</strong> <?= $client_created_at ?><br>
<strong>Short name:</strong> <?= $client_abbreviation ?><br>
<strong>ID:</strong> <?= $client_id ?>
">
<div class="media">
<i class="fas fa-fw fa-2x fa-user text-dark mr-2"></i>
<div class="media-body">
<div class="d-flex">
<i class="fas fa-fw fa-2x fa-user text-dark me-2"></i>
<div class="flex-grow-1">
<div class="text-bold"><?= $client_name ?></div>
<div class="text-secondary"><?= $client_type ?></div>
</div>
</div>
<div class="ml-2"><?php if ($client_tags_display) { echo $client_tags_display; } ?></div>
<div class="ms-2"><?php if ($client_tags_display) { echo $client_tags_display; } ?></div>
</a>
</td>
<td>
@@ -468,7 +466,7 @@ $num_rows = mysqli_fetch_row(mysqli_query($mysqli, "SELECT FOUND_ROWS()"));
if (!empty($contact_name)) { ?>
<div class="text-bold">
<i class="fa fa-fw fa-user text-secondary mr-2 mb-2"></i><a class="ajax-modal" href="#"
<i class="fa fa-fw fa-user text-secondary me-2 mb-2"></i><a class="ajax-modal" href="#"
data-modal-url="modals/contact/contact.php?client_id=<?= $client_id ?>&id=<?= $contact_id ?>" data-modal-size="lg"><?= $contact_name; ?>
</a>
@@ -479,26 +477,26 @@ $num_rows = mysqli_fetch_row(mysqli_query($mysqli, "SELECT FOUND_ROWS()"));
if (!empty($contact_phone)) { ?>
<div class="mt-1">
<i class="fa fa-fw fa-phone text-secondary mr-2 mb-2"></i><?= $contact_phone ?> <?php if (!empty($contact_extension)) { echo "x$contact_extension"; } ?>
<i class="fa fa-fw fa-phone text-secondary me-2 mb-2"></i><?= $contact_phone ?> <?php if (!empty($contact_extension)) { echo "x$contact_extension"; } ?>
</div>
<?php }
if (!empty($contact_mobile)) { ?>
<div class="mt-1">
<i class="fa fa-fw fa-mobile-alt text-secondary mr-2"></i><?= $contact_mobile ?>
<i class="fa fa-fw fa-mobile-alt text-secondary me-2"></i><?= $contact_mobile ?>
</div>
<?php }
if (!empty($contact_email)) { ?>
<div class="mt-1">
<i class="fa fa-fw fa-envelope text-secondary mr-2"></i><a href="mailto:<?= $contact_email ?>"><?= $contact_email ?></a><button class='btn btn-sm clipboardjs' type="button" data-clipboard-text='<?= $contact_email ?>'><i class='far fa-copy text-secondary'></i></button>
<i class="fa fa-fw fa-envelope text-secondary me-2"></i><a href="mailto:<?= $contact_email ?>"><?= $contact_email ?></a><button class='btn btn-sm clipboardjs' type="button" data-clipboard-text='<?= $contact_email ?>'><i class='far fa-copy text-secondary'></i></button>
</div>
<?php } ?>
</td>
<td><?= $full_address ?></td>
<!-- Show Billing if perms & if accounting module is enabled -->
<?php if ((lookupUserPermission("module_financial") >= 1) && $config_module_enable_accounting == 1) { ?>
<td class="text-right">
<td class="text-end">
<div class="d-flex justify-content-between">
<span class="text-secondary">Balance</span>
<span class="<?= $balance_text_color ?>"><?= numfmt_format_currency($currency_format, $balance, $session_company_currency) ?></span>
@@ -527,24 +525,24 @@ $num_rows = mysqli_fetch_row(mysqli_query($mysqli, "SELECT FOUND_ROWS()"));
<!-- Actions -->
<?php if (lookupUserPermission("module_client") >= 2) { ?>
<td>
<div class="dropdown dropleft text-center">
<button class="btn btn-secondary btn-sm" type="button" data-toggle="dropdown">
<div class="dropdown dropstart text-center">
<button class="btn btn-secondary btn-sm" type="button" data-bs-toggle="dropdown">
<i class="fas fa-ellipsis-h"></i>
</button>
<div class="dropdown-menu">
<a class="dropdown-item ajax-modal" href="#" data-modal-url="modals/client/client_edit.php?id=<?= $client_id ?>">
<i class="fas fa-fw fa-edit mr-2"></i>Edit
<i class="fas fa-fw fa-edit me-2"></i>Edit
</a>
<?php if ($client_archived_at) { ?>
<div class="dropdown-divider"></div>
<a class="dropdown-item text-info confirm-link" href="post.php?restore_client=<?= $client_id ?>&csrf_token=<?= $_SESSION['csrf_token'] ?>">
<i class="fas fa-fw fa-redo mr-2"></i>Restore
<i class="fas fa-fw fa-redo me-2"></i>Restore
</a>
<?php } else { ?>
<div class="dropdown-divider"></div>
<a class="dropdown-item text-danger confirm-link" href="post.php?archive_client=<?= $client_id ?>&csrf_token=<?= $_SESSION['csrf_token'] ?>">
<i class="fas fa-fw fa-archive mr-2"></i>Archive
<i class="fas fa-fw fa-archive me-2"></i>Archive
</a>
<?php } ?>
</div>

View File

@@ -147,7 +147,7 @@ if (isset($_GET['contact_id'])) {
}
$contact_tag_id_array[] = $contact_tag_id;
$contact_tag_name_display_array[] = "<a href='client_contacts.php?client_id=$client_id&q=$contact_tag_name'><span class='badge text-light p-1 mr-1' style='background-color: $contact_tag_color;'><i class='fa fa-fw fa-$contact_tag_icon mr-2'></i>$contact_tag_name</span></a>";
$contact_tag_name_display_array[] = "<a href='client_contacts.php?client_id=$client_id&q=$contact_tag_name'><span class='badge text-light p-1 me-1' style='background-color: $contact_tag_color;'><i class='fa fa-fw fa-$contact_tag_icon me-2'></i>$contact_tag_name</span></a>";
}
$contact_tags_display = implode('', $contact_tag_name_display_array);
@@ -206,7 +206,7 @@ if (isset($_GET['contact_id'])) {
<div class="card card-dark">
<div class="card-body">
<button type="button" class="btn btn-default float-right ajax-modal"
<button type="button" class="btn btn-default float-end ajax-modal"
data-modal-url="modals/contact/contact_edit.php?id=<?= $contact_id ?>">
<i class="fas fa-fw fa-user-edit"></i>
</button>
@@ -233,36 +233,36 @@ if (isset($_GET['contact_id'])) {
<?php } ?>
<hr>
<?php if ($location_name) { ?>
<div><i class="fa fa-fw fa-map-marker-alt text-secondary mr-2"></i><?= $location_name ?></div>
<div><i class="fa fa-fw fa-map-marker-alt text-secondary me-2"></i><?= $location_name ?></div>
<?php }
if ($contact_email) { ?>
<div class="mt-2"><i class="fa fa-fw fa-envelope text-secondary mr-2"></i><a href='mailto:<?= $contact_email ?>'><?= $contact_email ?></a><button class='btn btn-sm clipboardjs' data-clipboard-text='<?= $contact_email ?>'><i class='far fa-copy text-secondary'></i></button></div>
<div class="mt-2"><i class="fa fa-fw fa-envelope text-secondary me-2"></i><a href='mailto:<?= $contact_email ?>'><?= $contact_email ?></a><button class='btn btn-sm clipboardjs' data-clipboard-text='<?= $contact_email ?>'><i class='far fa-copy text-secondary'></i></button></div>
<?php }
if ($contact_phone) { ?>
<div class="mt-2"><i class="fa fa-fw fa-phone text-secondary mr-2"></i><a href="tel:<?= "$contact_phone" ?>"><?= $contact_phone ?></a></div>
<div class="mt-2"><i class="fa fa-fw fa-phone text-secondary me-2"></i><a href="tel:<?= "$contact_phone" ?>"><?= $contact_phone ?></a></div>
<?php }
if ($contact_extension) { ?>
<div class="ml-4">x<?= $contact_extension ?></div>
<div class="ms-4">x<?= $contact_extension ?></div>
<?php }
if ($contact_mobile) { ?>
<div class="mt-l"><i class="fa fa-fw fa-mobile-alt text-secondary mr-2"></i><a href="tel:<?= $contact_mobile ?>"><?= $contact_mobile ?></a></div>
<div class="mt-l"><i class="fa fa-fw fa-mobile-alt text-secondary me-2"></i><a href="tel:<?= $contact_mobile ?>"><?= $contact_mobile ?></a></div>
<?php }
if ($contact_pin) { ?>
<div class="mt-2"><i class="fa fa-fw fa-key text-secondary mr-2"></i><?= $contact_pin ?></div>
<div class="mt-2"><i class="fa fa-fw fa-key text-secondary me-2"></i><?= $contact_pin ?></div>
<?php }
if ($contact_primary) { ?>
<div class="mt-2 text-success"><i class="fa fa-fw fa-check mr-2"></i>Primary Contact</div>
<div class="mt-2 text-success"><i class="fa fa-fw fa-check me-2"></i>Primary Contact</div>
<?php }
if ($contact_important) { ?>
<div class="mt-2 text-dark text-bold"><i class="fa fa-fw fa-check mr-2"></i>Important</div>
<div class="mt-2 text-dark text-bold"><i class="fa fa-fw fa-check me-2"></i>Important</div>
<?php }
if ($contact_technical) { ?>
<div class="mt-2"><i class="fa fa-fw fa-check text-secondary mr-2"></i>Technical</div>
<div class="mt-2"><i class="fa fa-fw fa-check text-secondary me-2"></i>Technical</div>
<?php }
if ($contact_billing) { ?>
<div class="mt-2"><i class="fa fa-fw fa-check text-secondary mr-2"></i>Billing</div>
<div class="mt-2"><i class="fa fa-fw fa-check text-secondary me-2"></i>Billing</div>
<?php } ?>
<div class="mt-2"><i class="fa fa-fw fa-clock text-secondary mr-2"></i><?= date('Y-m-d', strtotime($contact_created_at)) ?></div>
<div class="mt-2"><i class="fa fa-fw fa-clock text-secondary me-2"></i><?= date('Y-m-d', strtotime($contact_created_at)) ?></div>
</div>
</div>
@@ -289,71 +289,71 @@ if (isset($_GET['contact_id'])) {
</ol>
<div class="btn-group mb-3">
<div class="dropdown dropleft mr-2">
<button type="button" class="btn btn-primary" data-toggle="dropdown"><i class="fas fa-plus mr-2"></i>New</button>
<div class="dropdown dropstart me-2">
<button type="button" class="btn btn-primary" data-bs-toggle="dropdown"><i class="fas fa-plus me-2"></i>New</button>
<div class="dropdown-menu">
<a class="dropdown-item text-dark ajax-modal" href="#" data-modal-url="modals/ticket/ticket_add.php?<?= $client_url ?>&contact_id=<?= $contact_id ?>" data-modal-size="lg">
<i class="fa fa-fw fa-life-ring mr-2"></i>New Ticket
<i class="fa fa-fw fa-life-ring me-2"></i>New Ticket
</a>
<div class="dropdown-divider"></div>
<a class="dropdown-item text-dark ajax-modal" href="#" data-modal-url="modals/recurring_ticket/recurring_ticket_add.php?<?= $client_url ?>&contact_id=<?= $contact_id ?>" data-modal-size="lg">
<i class="fa fa-fw fa-recycle mr-2"></i>New Recurring Ticket
<i class="fa fa-fw fa-recycle me-2"></i>New Recurring Ticket
</a>
<div class="dropdown-divider"></div>
<a class="dropdown-item text-dark ajax-modal" href="#" data-modal-url="modals/asset/asset_add.php?<?= $client_url ?>&contact_id=<?= $contact_id ?>">
<i class="fa fa-fw fa-desktop mr-2"></i>New Asset
<i class="fa fa-fw fa-desktop me-2"></i>New Asset
</a>
<div class="dropdown-divider"></div>
<a class="dropdown-item text-dark ajax-modal" href="#" data-modal-url="modals/credential/credential_add.php?<?= $client_url ?>&contact_id=<?= $contact_id ?>">
<i class="fa fa-fw fa-key mr-2"></i>New Credential
<i class="fa fa-fw fa-key me-2"></i>New Credential
</a>
<div class="dropdown-divider"></div>
<a class="dropdown-item text-dark ajax-modal" href="#" data-modal-url="modals/document/document_add.php?<?= $client_url ?>&contact_id=<?= $contact_id ?>" data-modal-size="lg">
<i class="fa fa-fw fa-file-alt mr-2"></i>New Document
<i class="fa fa-fw fa-file-alt me-2"></i>New Document
</a>
<div class="dropdown-divider"></div>
<a class="dropdown-item text-dark ajax-modal" href="#" data-modal-url="modals/file/file_upload.php?<?= $client_url ?>&contact_id=<?= $contact_id ?>">
<i class="fa fa-fw fa-upload mr-2"></i>Upload file(s)
<i class="fa fa-fw fa-upload me-2"></i>Upload file(s)
</a>
<div class="dropdown-divider"></div>
<a class="dropdown-item text-dark ajax-modal" href="#"
data-modal-url="modals/contact/contact_note_add.php?id=<?= $contact_id ?>">
<i class="fas fa-fw fa-sticky-note mr-2"></i>New Note
<i class="fas fa-fw fa-sticky-note me-2"></i>New Note
</a>
</div>
</div>
<div class="dropdown dropleft">
<button type="button" class="btn btn-outline-primary" data-toggle="dropdown"><i class="fas fa-link mr-2"></i>Link</button>
<div class="dropdown dropstart">
<button type="button" class="btn btn-outline-primary" data-bs-toggle="dropdown"><i class="fas fa-link me-2"></i>Link</button>
<div class="dropdown-menu">
<a class="dropdown-item text-dark ajax-modal" href="#"
data-modal-url="modals/contact/contact_link_asset.php?id=<?= $contact_id ?>">
<i class="fa fa-fw fa-desktop mr-2"></i>Asset
<i class="fa fa-fw fa-desktop me-2"></i>Asset
</a>
<div class="dropdown-divider"></div>
<a class="dropdown-item text-dark ajax-modal" href="#"
data-modal-url="modals/contact/contact_link_software.php?id=<?= $contact_id ?>">
<i class="fa fa-fw fa-cube mr-2"></i>License
<i class="fa fa-fw fa-cube me-2"></i>License
</a>
<div class="dropdown-divider"></div>
<a class="dropdown-item text-dark ajax-modal" href="#"
data-modal-url="modals/contact/contact_link_credential.php?id=<?= $contact_id ?>">
<i class="fa fa-fw fa-key mr-2"></i>Credential
<i class="fa fa-fw fa-key me-2"></i>Credential
</a>
<div class="dropdown-divider"></div>
<a class="dropdown-item text-dark ajax-modal" href="#"
data-modal-url="modals/contact/contact_link_service.php?id=<?= $contact_id ?>">
<i class="fa fa-fw fa-stream mr-2"></i>Service
<i class="fa fa-fw fa-stream me-2"></i>Service
</a>
<div class="dropdown-divider"></div>
<a class="dropdown-item text-dark ajax-modal" href="#"
data-modal-url="modals/contact/contact_link_document.php?id=<?= $contact_id ?>">
<i class="fa fa-fw fa-folder mr-2"></i>Document
<i class="fa fa-fw fa-folder me-2"></i>Document
</a>
<div class="dropdown-divider"></div>
<a class="dropdown-item text-dark ajax-modal" href="#"
data-modal-url="modals/contact/contact_link_file.php?id=<?= $contact_id ?>">
<i class="fa fa-fw fa-paperclip mr-2"></i>File
<i class="fa fa-fw fa-paperclip me-2"></i>File
</a>
</div>
</div>
@@ -361,11 +361,11 @@ if (isset($_GET['contact_id'])) {
<div class="card card-dark <?php if ($asset_count == 0) { echo "d-none"; } ?>">
<div class="card-header py-2">
<h3 class="card-title mt-2"><i class="fa fa-fw fa-desktop mr-2"></i>Related Assets</h3>
<h3 class="card-title mt-2"><i class="fa fa-fw fa-desktop me-2"></i>Related Assets</h3>
<div class="card-tools">
<button type="button" class="btn btn-primary ajax-modal"
data-modal-url="modals/contact/contact_link_asset.php?id=<?= $contact_id ?>">
<i class="fas fa-link mr-2"></i>Link Asset
<i class="fas fa-link me-2"></i>Link Asset
</button>
</div>
</div>
@@ -450,14 +450,14 @@ if (isset($_GET['contact_id'])) {
}
$asset_tag_id_array[] = $asset_tag_id;
$asset_tag_name_display_array[] = "<a href='assets.php?$client_url tags[]=$asset_tag_id'><span class='badge text-light p-1 mr-1' style='background-color: $asset_tag_color;'><i class='fa fa-fw fa-$asset_tag_icon mr-2'></i>$asset_tag_name</span></a>";
$asset_tag_name_display_array[] = "<a href='assets.php?$client_url tags[]=$asset_tag_id'><span class='badge text-light p-1 me-1' style='background-color: $asset_tag_color;'><i class='fa fa-fw fa-$asset_tag_icon me-2'></i>$asset_tag_name</span></a>";
}
$asset_tags_display = implode('', $asset_tag_name_display_array);
?>
<tr>
<th>
<i class="fa fa-fw text-secondary fa-<?= $device_icon ?> mr-1"></i>
<i class="fa fa-fw text-secondary fa-<?= $device_icon ?> me-1"></i>
<a class="text-secondary ajax-modal" href="#"
data-modal-size="lg"
data-modal-url="modals/asset/asset.php?id=<?= $asset_id ?>">
@@ -481,35 +481,35 @@ if (isset($_GET['contact_id'])) {
<small class="text-muted"><?= $asset_model ?></small>
</div>
</td>
<td class="text-monospace"><?= $asset_serial_display ?></td>
<td class="font-monospace"><?= $asset_serial_display ?></td>
<td><?= $asset_install_date_display ?></td>
<td><?= $asset_status ?></td>
<td>
<div class="dropdown dropleft text-center">
<button class="btn btn-secondary btn-sm" type="button" data-toggle="dropdown"><i class="fas fa-ellipsis-h"></i></button>
<div class="dropdown dropstart text-center">
<button class="btn btn-secondary btn-sm" type="button" data-bs-toggle="dropdown"><i class="fas fa-ellipsis-h"></i></button>
<div class="dropdown-menu">
<a class="dropdown-item ajax-modal" href="#"
data-modal-url="modals/asset/asset_edit.php?id=<?= $asset_id ?>">
<i class="fas fa-fw fa-edit mr-2"></i>Edit
<i class="fas fa-fw fa-edit me-2"></i>Edit
</a>
<a class="dropdown-item ajax-modal" href="#"
data-modal-url="modals/asset/asset_copy.php?id=<?= $asset_id ?>">
<i class="fas fa-fw fa-copy mr-2"></i>Copy
<i class="fas fa-fw fa-copy me-2"></i>Copy
</a>
<div class="dropdown-divider"></div>
<a class="dropdown-item"
href="post.php?unlink_asset_from_contact&contact_id=<?= $contact_id ?>&asset_id=<?= $asset_id ?>&csrf_token=<?= $_SESSION['csrf_token'] ?>"
class="btn btn-secondary btn-sm" title="Unlink">
<i class="fas fa-fw fa-unlink mr-2"></i>Unlink
<i class="fas fa-fw fa-unlink me-2"></i>Unlink
</a>
<?php if ($session_user_role == 3) { ?>
<div class="dropdown-divider"></div>
<a class="dropdown-item text-danger" href="post.php?archive_asset=<?= $asset_id ?>&csrf_token=<?= $_SESSION['csrf_token'] ?>">
<i class="fas fa-fw fa-archive mr-2"></i>Archive
<i class="fas fa-fw fa-archive me-2"></i>Archive
</a>
<a class="dropdown-item text-danger text-bold" href="post.php?delete_asset=<?= $asset_id ?>&csrf_token=<?= $_SESSION['csrf_token'] ?>">
<i class="fas fa-fw fa-trash mr-2"></i>Delete
<i class="fas fa-fw fa-trash me-2"></i>Delete
</a>
<?php } ?>
</div>
@@ -534,10 +534,10 @@ if (isset($_GET['contact_id'])) {
<div class="card card-dark <?php if ($credential_count == 0) { echo "d-none"; } ?>">
<div class="card-header py-2">
<h3 class="card-title mt-2"><i class="fa fa-fw fa-key mr-2"></i>Credentials</h3>
<h3 class="card-title mt-2"><i class="fa fa-fw fa-key me-2"></i>Credentials</h3>
<div class="card-tools">
<button type="button" class="btn btn-primary ajax-modal" data-modal-url="modals/contact/contact_link_credential.php?id=<?= $contact_id ?>">
<i class="fas fa-link mr-2"></i>Link Credential
<i class="fas fa-link me-2"></i>Link Credential
</button>
</div>
</div>
@@ -604,7 +604,7 @@ if (isset($_GET['contact_id'])) {
}
$credential_tag_id_array[] = $credential_tag_id;
$credential_tag_name_display_array[] = "<a href='credentials.php?client_id=$client_id&tags[]=$credential_tag_id'><span class='badge text-light p-1 mr-1' style='background-color: $credential_tag_color;'><i class='fa fa-fw fa-$credential_tag_icon mr-2'></i>$credential_tag_name</span></a>";
$credential_tag_name_display_array[] = "<a href='credentials.php?client_id=$client_id&tags[]=$credential_tag_id'><span class='badge text-light p-1 me-1' style='background-color: $credential_tag_color;'><i class='fa fa-fw fa-$credential_tag_icon me-2'></i>$credential_tag_name</span></a>";
}
$credential_tags_display = implode('', $credential_tag_name_display_array);
@@ -625,28 +625,28 @@ if (isset($_GET['contact_id'])) {
<td><?= $otp_display ?></td>
<td><?= $credential_uri_display ?></td>
<td>
<div class="dropdown dropleft text-center">
<button class="btn btn-secondary btn-sm" type="button" data-toggle="dropdown">
<div class="dropdown dropstart text-center">
<button class="btn btn-secondary btn-sm" type="button" data-bs-toggle="dropdown">
<i class="fas fa-ellipsis-h"></i>
</button>
<div class="dropdown-menu">
<a class="dropdown-item ajax-modal" href="#"
data-modal-url="modals/credential/credential_edit.php?id=<?= $credential_id ?>">
<i class="fas fa-fw fa-edit mr-2"></i>Edit
<i class="fas fa-fw fa-edit me-2"></i>Edit
</a>
<a class="dropdown-item" href="#" data-toggle="modal" data-target="#shareModal" onclick="populateShareModal(<?= "$client_id, 'Credential', $credential_id" ?>)">
<i class="fas fa-fw fa-share-alt mr-2"></i>Share
<a class="dropdown-item" href="#" data-bs-toggle="modal" data-bs-target="#shareModal" onclick="populateShareModal(<?= "$client_id, 'Credential', $credential_id" ?>)">
<i class="fas fa-fw fa-share-alt me-2"></i>Share
</a>
<div class="dropdown-divider"></div>
<a class="dropdown-item"
href="post.php?unlink_credential_from_contact&contact_id=<?= $contact_id ?>&credential_id=<?= $credential_id ?>&csrf_token=<?= $_SESSION['csrf_token'] ?>"
class="btn btn-secondary btn-sm" title="Unlink">
<i class="fas fa-fw fa-unlink mr-2"></i>Unlink
<i class="fas fa-fw fa-unlink me-2"></i>Unlink
</a>
<?php if ($session_user_role == 3) { ?>
<div class="dropdown-divider"></div>
<a class="dropdown-item text-danger text-bold" href="post.php?delete_credential=<?= $credential_id ?>&csrf_token=<?= $_SESSION['csrf_token'] ?>">
<i class="fas fa-fw fa-trash mr-2"></i>Delete
<i class="fas fa-fw fa-trash me-2"></i>Delete
</a>
<?php } ?>
</div>
@@ -671,10 +671,10 @@ if (isset($_GET['contact_id'])) {
<div class="card card-dark <?php if ($software_count == 0) { echo "d-none"; } ?>">
<div class="card-header py-2">
<h3 class="card-title mt-2"><i class="fa fa-fw fa-cube mr-2"></i>Related Licenses</h3>
<h3 class="card-title mt-2"><i class="fa fa-fw fa-cube me-2"></i>Related Licenses</h3>
<div class="card-tools">
<button type="button" class="btn btn-primary ajax-modal" data-modal-url="modals/contact/contact_link_software.php?id=<?= $contact_id ?>">
<i class="fas fa-link mr-2"></i>Link License
<i class="fas fa-link me-2"></i>Link License
</button>
</div>
</div>
@@ -752,7 +752,7 @@ if (isset($_GET['contact_id'])) {
<div class="card card-dark <?php if ($recurring_ticket_count == 0) { echo "d-none"; } ?>">
<div class="card-header">
<h3 class="card-title"><i class="fa fa-fw fa-recycle mr-2"></i>Recurring Tickets</h3>
<h3 class="card-title"><i class="fa fa-fw fa-recycle me-2"></i>Recurring Tickets</h3>
</div>
<div class="card-body">
<div class="table-responsive-sm">
@@ -787,24 +787,24 @@ if (isset($_GET['contact_id'])) {
<td><?= $recurring_ticket_frequency ?></td>
<td><?= $recurring_ticket_next_run ?></td>
<td>
<div class="dropdown dropleft text-center">
<button class="btn btn-secondary btn-sm" type="button" data-toggle="dropdown">
<div class="dropdown dropstart text-center">
<button class="btn btn-secondary btn-sm" type="button" data-bs-toggle="dropdown">
<i class="fas fa-ellipsis-h"></i>
</button>
<div class="dropdown-menu">
<a class="dropdown-item ajax-modal" href="#"
data-modal-url="modals/recurring_ticket/recurring_ticket_edit.php?id=<?= $recurring_ticket_id ?>">
<i class="fas fa-fw fa-edit mr-2"></i>Edit
<i class="fas fa-fw fa-edit me-2"></i>Edit
</a>
<div class="dropdown-divider"></div>
<a class="dropdown-item" href="post.php?force_recurring_ticket=<?= $recurring_ticket_id ?>&csrf_token=<?= $_SESSION['csrf_token'] ?>">
<i class="fa fa-fw fa-paper-plane text-secondary mr-2"></i>Force Reoccur
<i class="fa fa-fw fa-paper-plane text-secondary me-2"></i>Force Reoccur
</a>
<?php
if ($session_user_role == 3) { ?>
<div class="dropdown-divider"></div>
<a class="dropdown-item text-danger text-bold confirm-link" href="post.php?delete_recurring_ticket=<?= $recurring_ticket_id ?>&csrf_token=<?= $_SESSION['csrf_token'] ?>">
<i class="fas fa-fw fa-trash mr-2"></i>Delete
<i class="fas fa-fw fa-trash me-2"></i>Delete
</a>
</div>
<?php } ?>
@@ -822,12 +822,12 @@ if (isset($_GET['contact_id'])) {
<div class="card card-dark <?php if ($ticket_count == 0) { echo "d-none"; } ?>">
<div class="card-header py-2">
<h3 class="card-title mt-2"><i class="fa fa-fw fa-life-ring mr-2"></i>Related Tickets</h3>
<h3 class="card-title mt-2"><i class="fa fa-fw fa-life-ring me-2"></i>Related Tickets</h3>
<div class="card-tools">
<button type="button" class="btn btn-primary ajax-modal"
data-modal-url="modals/ticket/ticket_add.php?<?= $client_url ?>&contact_id=<?= $contact_id ?>"
data-modal-size="lg">
<i class="fas fa-plus mr-2"></i>New Ticket
<i class="fas fa-plus me-2"></i>New Ticket
</button>
</div>
</div>
@@ -871,13 +871,13 @@ if (isset($_GET['contact_id'])) {
$ticket_closed_at = escapeHtml($row['ticket_closed_at']);
if ($ticket_priority == "Urgent") {
$ticket_priority_display = "<span class='p-2 badge badge-dark'>$ticket_priority</span>";
$ticket_priority_display = "<span class='p-2 badge bg-dark'>$ticket_priority</span>";
} elseif ($ticket_priority == "High") {
$ticket_priority_display = "<span class='p-2 badge badge-danger'>$ticket_priority</span>";
$ticket_priority_display = "<span class='p-2 badge bg-danger'>$ticket_priority</span>";
} elseif ($ticket_priority == "Medium") {
$ticket_priority_display = "<span class='p-2 badge badge-warning'>$ticket_priority</span>";
$ticket_priority_display = "<span class='p-2 badge bg-warning text-dark'>$ticket_priority</span>";
} elseif ($ticket_priority == "Low") {
$ticket_priority_display = "<span class='p-2 badge badge-info'>$ticket_priority</span>";
$ticket_priority_display = "<span class='p-2 badge bg-info text-dark'>$ticket_priority</span>";
} else {
$ticket_priority_display = "-";
}
@@ -895,10 +895,10 @@ if (isset($_GET['contact_id'])) {
?>
<tr>
<td><a href="ticket.php?client_id=<?= $client_id ?>&ticket_id=<?= $ticket_id ?>"><span class="badge badge-pill badge-secondary p-3"><?= "$ticket_prefix$ticket_number" ?></span></a></td>
<td><a href="ticket.php?client_id=<?= $client_id ?>&ticket_id=<?= $ticket_id ?>"><span class="badge rounded-pill bg-secondary p-3"><?= "$ticket_prefix$ticket_number" ?></span></a></td>
<td><a href="ticket.php?client_id=<?= $client_id ?>&ticket_id=<?= $ticket_id ?>"><?= $ticket_subject ?></a></td>
<td><?= $ticket_priority_display ?></td>
<td><span class='badge badge-pill text-light p-2' style="background-color: <?= $ticket_status_color ?>"><?= $ticket_status_name ?></span></td>
<td><span class='badge rounded-pill text-light p-2' style="background-color: <?= $ticket_status_color ?>"><?= $ticket_status_name ?></span></td>
<td><?= $ticket_assigned_to_display ?></td>
<td><?= $ticket_updated_at_display ?></td>
<td><?= $ticket_created_at ?></td>
@@ -918,10 +918,10 @@ if (isset($_GET['contact_id'])) {
<div class="card card-dark <?php if ($service_count == 0) { echo "d-none"; } ?>">
<div class="card-header py-2">
<h3 class="card-title mt-2"><i class="fa fa-fw fa-stream mr-2"></i>Linked Services</h3>
<h3 class="card-title mt-2"><i class="fa fa-fw fa-stream me-2"></i>Linked Services</h3>
<div class="card-tools">
<button type="button" class="btn btn-primary ajax-modal" data-modal-url="modals/contact/contact_link_service.php?id=<?= $contact_id ?>">
<i class="fas fa-link mr-2"></i>Link Service
<i class="fas fa-link me-2"></i>Link Service
</button>
</div>
</div>
@@ -976,10 +976,10 @@ if (isset($_GET['contact_id'])) {
<div class="card card-dark <?php if ($document_count == 0) { echo "d-none"; } ?>">
<div class="card-header py-2">
<h3 class="card-title mt-2"><i class="fa fa-fw fa-folder mr-2"></i>Linked Documents</h3>
<h3 class="card-title mt-2"><i class="fa fa-fw fa-folder me-2"></i>Linked Documents</h3>
<div class="card-tools">
<button type="button" class="btn btn-primary ajax-modal" data-modal-url="modals/contact/contact_link_document.php?id=<?= $contact_id ?>">
<i class="fas fa-link mr-2"></i>Link Document
<i class="fas fa-link me-2"></i>Link Document
</button>
</div>
</div>
@@ -1042,10 +1042,10 @@ if (isset($_GET['contact_id'])) {
<div class="card card-dark <?php if ($file_count == 0) { echo "d-none"; } ?>">
<div class="card-header py-2">
<h3 class="card-title mt-2"><i class="fa fa-fw fa-folder mr-2"></i>Linked Files</h3>
<h3 class="card-title mt-2"><i class="fa fa-fw fa-folder me-2"></i>Linked Files</h3>
<div class="card-tools">
<button type="button" class="btn btn-primary ajax-modal" data-modal-url="modals/contact/contact_link_file.php?id=<?= $contact_id ?>">
<i class="fas fa-link mr-2"></i>Link File
<i class="fas fa-link me-2"></i>Link File
</button>
</div>
</div>
@@ -1083,7 +1083,7 @@ if (isset($_GET['contact_id'])) {
<div class="text-secondary"><?= $file_description ?></div>
</td>
<td><?= $file_mime_type ?></td>
<td class="text-monospace"><?= $file_size_human ?></td>
<td class="font-monospace"><?= $file_size_human ?></td>
<td><?= $file_created_at ?></td>
<td class="text-center">
<a href="post.php?unlink_contact_from_file&contact_id=<?= $contact_id ?>&file_id=<?= $file_id ?>&csrf_token=<?= $_SESSION['csrf_token'] ?>" class="btn btn-secondary btn-sm" title="Unlink"><i class="fas fa-fw fa-unlink"></i></a>
@@ -1104,11 +1104,11 @@ if (isset($_GET['contact_id'])) {
<div class="card card-dark <?php if ($note_count == 0) { echo "d-none"; } ?>">
<div class="card-header py-2">
<h3 class="card-title mt-2"><i class="fa fa-fw fa-sticky-note mr-2"></i>Notes</h3>
<h3 class="card-title mt-2"><i class="fa fa-fw fa-sticky-note me-2"></i>Notes</h3>
<div class="card-tools">
<button type="button" class="btn btn-primary ajax-modal"
data-modal-url="modals/contact/contact_note_add.php?id=<?= $contact_id ?>">
<i class="fas fa-plus mr-2"></i>New Note
<i class="fas fa-plus me-2"></i>New Note
</button>
</div>
</div>
@@ -1140,23 +1140,23 @@ if (isset($_GET['contact_id'])) {
?>
<tr>
<td><i class="fa fa-fw <?= $note_type_icon ?> mr-2"></i><?= $contact_note_type ?></td>
<td><i class="fa fa-fw <?= $note_type_icon ?> me-2"></i><?= $contact_note_type ?></td>
<td><?= $contact_note ?></td>
<td><?= $note_by ?></td>
<td><?= $contact_note_created_at ?></td>
<td>
<div class="dropdown dropleft text-center">
<button class="btn btn-secondary btn-sm" type="button" data-toggle="dropdown">
<div class="dropdown dropstart text-center">
<button class="btn btn-secondary btn-sm" type="button" data-bs-toggle="dropdown">
<i class="fas fa-ellipsis-h"></i>
</button>
<div class="dropdown-menu">
<a class="dropdown-item text-danger" href="post.php?archive_contact_note=<?= $contact_note_id ?>&csrf_token=<?= $_SESSION['csrf_token'] ?>">
<i class="fas fa-fw fa-archive mr-2"></i>Archive
<i class="fas fa-fw fa-archive me-2"></i>Archive
</a>
<?php if ($session_user_role == 3) { ?>
<div class="dropdown-divider"></div>
<a class="dropdown-item text-danger text-bold" href="post.php?delete_contact_note=<?= $contact_note_id ?>&csrf_token=<?= $_SESSION['csrf_token'] ?>">
<i class="fas fa-fw fa-trash mr-2"></i>Delete
<i class="fas fa-fw fa-trash me-2"></i>Delete
</a>
<?php } ?>
</div>

View File

@@ -87,26 +87,26 @@ $num_rows = mysqli_fetch_row(mysqli_query($mysqli, "SELECT FOUND_ROWS()"));
<div class="card card-dark">
<div class="card-header py-2">
<h3 class="card-title mt-2"><i class="fa fa-fw fa-address-book mr-2"></i>Contacts</h3>
<h3 class="card-title mt-2"><i class="fa fa-fw fa-address-book me-2"></i>Contacts</h3>
<div class="card-tools">
<div class="btn-group">
<button type="button" class="btn btn-primary ajax-modal" data-modal-url="modals/contact/contact_add.php?client_id=<?= $client_id ?>">
<i class="fas fa-plus mr-2"></i>New Contact
<i class="fas fa-plus me-2"></i>New Contact
</button>
<button type="button" class="btn btn-primary dropdown-toggle dropdown-toggle-split" data-toggle="dropdown"></button>
<button type="button" class="btn btn-primary dropdown-toggle dropdown-toggle-split" data-bs-toggle="dropdown"></button>
<div class="dropdown-menu">
<?php if ($client_url) { ?>
<!-- <a class="dropdown-item text-dark" href="#" data-toggle="modal" data-target="#contactInviteModal"><i class="fas fa-fw fa-paper-plane mr-2"></i>Invite</a>-->
<!-- <a class="dropdown-item text-dark" href="#" data-bs-toggle="modal" data-bs-target="#contactInviteModal"><i class="fas fa-fw fa-paper-plane me-2"></i>Invite</a>-->
<!-- <div class="dropdown-divider"></div>-->
<a class="dropdown-item text-dark ajax-modal" href="#"
data-modal-url="modals/contact/contact_import.php?<?= $client_url ?>">
<i class="fa fa-fw fa-upload mr-2"></i>Import
<i class="fa fa-fw fa-upload me-2"></i>Import
</a>
<div class="dropdown-divider"></div>
<?php } ?>
<a class="dropdown-item text-dark ajax-modal" href="#"
data-modal-url="<?= buildExportModalUrl('modals/contact/contact_export.php', ['client_id', 'client', 'location', 'tags', 'archived', 'q']) ?>">
<i class="fa fa-fw fa-download mr-2"></i>Export
<i class="fa fa-fw fa-download me-2"></i>Export
</a>
</div>
</div>
@@ -123,9 +123,7 @@ $num_rows = mysqli_fetch_row(mysqli_query($mysqli, "SELECT FOUND_ROWS()"));
<div class="col-md-4">
<div class="input-group mb-3 mb-md-0">
<input type="search" class="form-control" name="q" value="<?php if (isset($q)) { echo stripslashes(escapeHtml($q)); } ?>" placeholder="Search Contacts">
<div class="input-group-append">
<button class="btn btn-dark"><i class="fa fa-search"></i></button>
</div>
</div>
</div>
@@ -211,70 +209,70 @@ $num_rows = mysqli_fetch_row(mysqli_query($mysqli, "SELECT FOUND_ROWS()"));
<?php } ?>
<div class="col-md-3">
<div class="btn-group float-right">
<div class="btn-group float-end">
<a href="?<?= $client_url ?>archived=<?php if($archived == 1){ echo 0; } else { echo 1; } ?>"
class="btn btn-<?php if($archived == 1){ echo "primary"; } else { echo "default"; } ?>">
<i class="fa fa-fw fa-archive mr-2"></i>Archived
<i class="fa fa-fw fa-archive me-2"></i>Archived
</a>
<div class="dropdown ml-2" id="bulkActionButton" hidden>
<button class="btn btn-secondary dropdown-toggle" type="button" data-toggle="dropdown">
<i class="fas fa-fw fa-layer-group mr-2"></i>Bulk Action (<span id="selectedCount">0</span>)
<div class="dropdown ms-2" id="bulkActionButton" hidden>
<button class="btn btn-secondary dropdown-toggle" type="button" data-bs-toggle="dropdown">
<i class="fas fa-fw fa-layer-group me-2"></i>Bulk Action (<span id="selectedCount">0</span>)
</button>
<div class="dropdown-menu">
<?php if ($client_url) { ?>
<a class="dropdown-item ajax-modal" href="#"
data-modal-url="modals/contact/contact_bulk_assign_location.php?<?= $client_url ?>"
data-bulk="true">
<i class="fas fa-fw fa-map-marker-alt mr-2"></i>Assign Location
<i class="fas fa-fw fa-map-marker-alt me-2"></i>Assign Location
</a>
<div class="dropdown-divider"></div>
<?php } ?>
<a class="dropdown-item ajax-modal" href="#"
data-modal-url="modals/contact/contact_bulk_edit_phone.php"
data-bulk="true">
<i class="fas fa-fw fa-phone-alt mr-2"></i>Set Phone Number
<i class="fas fa-fw fa-phone-alt me-2"></i>Set Phone Number
</a>
<div class="dropdown-divider"></div>
<a class="dropdown-item ajax-modal" href="#"
data-modal-url="modals/contact/contact_bulk_edit_department.php"
data-bulk="true">
<i class="fas fa-fw fa-users mr-2"></i>Set Department
<i class="fas fa-fw fa-users me-2"></i>Set Department
</a>
<div class="dropdown-divider"></div>
<a class="dropdown-item ajax-modal" href="#"
data-modal-url="modals/contact/contact_bulk_edit_role.php"
data-bulk="true">
<i class="fas fa-fw fa-user-shield mr-2"></i>Set Roles
<i class="fas fa-fw fa-user-shield me-2"></i>Set Roles
</a>
<div class="dropdown-divider"></div>
<a class="dropdown-item ajax-modal" href="#"
data-modal-url="modals/contact/contact_bulk_assign_tags.php"
data-bulk="true">
<i class="fas fa-fw fa-tags mr-2"></i>Assign Tags
<i class="fas fa-fw fa-tags me-2"></i>Assign Tags
</a>
<div class="dropdown-divider"></div>
<a class="dropdown-item ajax-modal" href="#"
data-modal-url="modals/contact/contact_bulk_email.php"
data-modal-size="lg"
data-bulk="true">
<i class="fas fa-fw fa-paper-plane mr-2"></i>Send Email
<i class="fas fa-fw fa-paper-plane me-2"></i>Send Email
</a>
<?php if ($archived) { ?>
<div class="dropdown-divider"></div>
<button class="dropdown-item text-info"
type="submit" form="bulkActions" name="bulk_restore_contacts">
<i class="fas fa-fw fa-redo mr-2"></i>Restore
<i class="fas fa-fw fa-redo me-2"></i>Restore
</button>
<div class="dropdown-divider"></div>
<button class="dropdown-item text-danger text-bold"
type="submit" form="bulkActions" name="bulk_delete_contacts">
<i class="fas fa-fw fa-trash mr-2"></i>Delete
<i class="fas fa-fw fa-trash me-2"></i>Delete
</button>
<?php } else { ?>
<div class="dropdown-divider"></div>
<button class="dropdown-item text-danger confirm-link"
type="submit" form="bulkActions" name="bulk_archive_contacts">
<i class="fas fa-fw fa-archive mr-2"></i>Archive
<i class="fas fa-fw fa-archive me-2"></i>Archive
</button>
<?php } ?>
</div>
@@ -290,7 +288,7 @@ $num_rows = mysqli_fetch_row(mysqli_query($mysqli, "SELECT FOUND_ROWS()"));
<div class="table-responsive">
<table class="table border">
<thead class="thead-light <?php if (!$num_rows[0]) { echo "d-none"; } ?>">
<thead class="table-light <?php if (!$num_rows[0]) { echo "d-none"; } ?>">
<tr>
<td class="bg-light checkbox-column">
<div class="form-check">
@@ -298,7 +296,7 @@ $num_rows = mysqli_fetch_row(mysqli_query($mysqli, "SELECT FOUND_ROWS()"));
</div>
</td>
<th>
<a class="text-secondary ml-3" href="?<?= $url_query_strings_sort ?>&sort=contact_name&order=<?= $disp ?>">
<a class="text-secondary ms-3" href="?<?= $url_query_strings_sort ?>&sort=contact_name&order=<?= $disp ?>">
Name <?php if ($sort == 'contact_name') { echo $order_icon; } ?>
</a>
</th>
@@ -343,27 +341,27 @@ $num_rows = mysqli_fetch_row(mysqli_query($mysqli, "SELECT FOUND_ROWS()"));
if (empty($contact_extension)) {
$contact_extension_display = "";
} else {
$contact_extension_display = "<small class='text-secondary ml-1'>x$contact_extension</small>";
$contact_extension_display = "<small class='text-secondary ms-1'>x$contact_extension</small>";
}
$contact_phone_country_code = escapeHtml($row['contact_phone_country_code']);
$contact_phone = escapeHtml(formatPhoneNumber($row['contact_phone'], $contact_phone_country_code));
if (empty($contact_phone)) {
$contact_phone_display = "";
} else {
$contact_phone_display = "<div><i class='fas fa-fw fa-phone mr-2'></i><a href='tel:$contact_phone'>$contact_phone$contact_extension_display</a></div>";
$contact_phone_display = "<div><i class='fas fa-fw fa-phone me-2'></i><a href='tel:$contact_phone'>$contact_phone$contact_extension_display</a></div>";
}
$contact_mobile_country_code = escapeHtml($row['contact_mobile_country_code']);
$contact_mobile = escapeHtml(formatPhoneNumber($row['contact_mobile'], $contact_mobile_country_code));
if (empty($contact_mobile)) {
$contact_mobile_display = "";
} else {
$contact_mobile_display = "<div class='mt-2'><i class='fas fa-fw fa-mobile-alt mr-2'></i><a href='tel:$contact_mobile'>$contact_mobile</a></div>";
$contact_mobile_display = "<div class='mt-2'><i class='fas fa-fw fa-mobile-alt me-2'></i><a href='tel:$contact_mobile'>$contact_mobile</a></div>";
}
$contact_email = escapeHtml($row['contact_email']);
if (empty($contact_email)) {
$contact_email_display = "";
} else {
$contact_email_display = "<div class='mt-1'><i class='fas fa-fw fa-envelope mr-2'></i><a href='mailto:$contact_email'>$contact_email</a><button class='btn btn-sm clipboardjs' type='button' data-clipboard-text='$contact_email'><i class='far fa-copy text-secondary'></i></button></div>";
$contact_email_display = "<div class='mt-1'><i class='fas fa-fw fa-envelope me-2'></i><a href='mailto:$contact_email'>$contact_email</a><button class='btn btn-sm clipboardjs' type='button' data-clipboard-text='$contact_email'><i class='far fa-copy text-secondary'></i></button></div>";
}
$contact_info_display = "$contact_phone_display $contact_mobile_display $contact_email_display";
if (empty($contact_info_display)) {
@@ -398,7 +396,7 @@ $num_rows = mysqli_fetch_row(mysqli_query($mysqli, "SELECT FOUND_ROWS()"));
$auth_method = escapeHtml($row['user_auth_method']);
$contact_user_id = intval($row['contact_user_id']);
if ($contact_user_id) {
$user_exists_display = "<span class='badge badge-pill badge-dark p-1' title='User: $auth_method'><i class='fas fa-fw fa-user'></i></span>";
$user_exists_display = "<span class='badge rounded-pill bg-dark p-1' title='User: $auth_method'><i class='fas fa-fw fa-user'></i></span>";
} else {
$user_exists_display = "";
}
@@ -409,7 +407,7 @@ $num_rows = mysqli_fetch_row(mysqli_query($mysqli, "SELECT FOUND_ROWS()"));
$row = mysqli_fetch_assoc(mysqli_query($mysqli, "SELECT COUNT('asset_id') AS num FROM assets WHERE asset_contact_id = $contact_id AND asset_archived_at IS NULL"));
$asset_count = $row['num'];
if ($asset_count) {
$asset_count_display = "<a href='contact.php?client_id=$client_id&contact_id=$contact_id#assets' class='mr-2 mb-1 badge badge-pill badge-dark p-2' title='Assets ($asset_count)'><i class='fas fa-fw fa-desktop mr-2'></i>$asset_count</a>";
$asset_count_display = "<a href='contact.php?client_id=$client_id&contact_id=$contact_id#assets' class='me-2 mb-1 badge rounded-pill bg-dark p-2' title='Assets ($asset_count)'><i class='fas fa-fw fa-desktop me-2'></i>$asset_count</a>";
} else {
$asset_count_display = '';
}
@@ -418,7 +416,7 @@ $num_rows = mysqli_fetch_row(mysqli_query($mysqli, "SELECT FOUND_ROWS()"));
$row = mysqli_fetch_assoc(mysqli_query($mysqli, "SELECT COUNT('credential_id') AS num FROM credentials WHERE credential_contact_id = $contact_id AND credential_archived_at IS NULL"));
$credential_count = $row['num'];
if ($credential_count) {
$credential_count_display = "<a href='contact.php?client_id=$client_id&contact_id=$contact_id#credentials' class='mr-2 mb-1 badge badge-pill badge-secondary p-2' title='Credentials ($credential_count)'><i class='fas fa-fw fa-key mr-2'></i>$credential_count</a>";
$credential_count_display = "<a href='contact.php?client_id=$client_id&contact_id=$contact_id#credentials' class='me-2 mb-1 badge rounded-pill bg-secondary p-2' title='Credentials ($credential_count)'><i class='fas fa-fw fa-key me-2'></i>$credential_count</a>";
} else {
$credential_count_display = '';
}
@@ -427,7 +425,7 @@ $num_rows = mysqli_fetch_row(mysqli_query($mysqli, "SELECT FOUND_ROWS()"));
$row = mysqli_fetch_assoc(mysqli_query($mysqli, "SELECT COUNT('software_id') AS num FROM software, software_contacts WHERE software.software_id = software_contacts.software_id AND software_contacts.contact_id = $contact_id AND software_archived_at IS NULL"));
$software_count = $row['num'];
if ($software_count) {
$software_count_display = "<a href='contact.php?client_id=$client_id&contact_id=$contact_id#software' class='mr-2 mb-1 badge badge-pill badge-secondary p-2' title='Licenses ($software_count)'><i class='fas fa-fw fa-cube mr-2'></i>$software_count</a>";
$software_count_display = "<a href='contact.php?client_id=$client_id&contact_id=$contact_id#software' class='me-2 mb-1 badge rounded-pill bg-secondary p-2' title='Licenses ($software_count)'><i class='fas fa-fw fa-cube me-2'></i>$software_count</a>";
} else {
$software_count_display = '';
}
@@ -436,7 +434,7 @@ $num_rows = mysqli_fetch_row(mysqli_query($mysqli, "SELECT FOUND_ROWS()"));
$row = mysqli_fetch_assoc(mysqli_query($mysqli, "SELECT COUNT('ticket_id') AS num FROM tickets WHERE ticket_contact_id = $contact_id AND ticket_archived_at IS NULL"));
$ticket_count = $row['num'];
if ($ticket_count) {
$ticket_count_display = "<a href='contact.php?client_id=$client_id&contact_id=$contact_id#tickets' class='mr-2 mb-1 badge badge-pill badge-secondary p-2' title='Tickets ($ticket_count)'><i class='fas fa-fw fa-life-ring mr-2'></i>$ticket_count</a>";
$ticket_count_display = "<a href='contact.php?client_id=$client_id&contact_id=$contact_id#tickets' class='me-2 mb-1 badge rounded-pill bg-secondary p-2' title='Tickets ($ticket_count)'><i class='fas fa-fw fa-life-ring me-2'></i>$ticket_count</a>";
} else {
$ticket_count_display = '';
}
@@ -459,7 +457,7 @@ $num_rows = mysqli_fetch_row(mysqli_query($mysqli, "SELECT FOUND_ROWS()"));
}
$contact_tag_id_array[] = $contact_tag_id;
$contact_tag_name_display_array[] = "<a href='contacts.php?$client_url tags[]=$contact_tag_id'><span class='badge text-light p-1 mr-1' style='background-color: $contact_tag_color;'><i class='fa fa-fw fa-$contact_tag_icon mr-2'></i>$contact_tag_name</span></a>";
$contact_tag_name_display_array[] = "<a href='contacts.php?$client_url tags[]=$contact_tag_id'><span class='badge text-light p-1 me-1' style='background-color: $contact_tag_color;'><i class='fa fa-fw fa-$contact_tag_icon me-2'></i>$contact_tag_name</span></a>";
}
$contact_tags_display = implode('', $contact_tag_name_display_array);
@@ -472,19 +470,19 @@ $num_rows = mysqli_fetch_row(mysqli_query($mysqli, "SELECT FOUND_ROWS()"));
</td>
<td>
<a class="text-dark" href="contact.php?client_id=<?= $client_id ?>&contact_id=<?= $contact_id ?>">
<div class="media">
<div class="d-flex">
<?php if ($contact_photo) { ?>
<span class="fa-stack fa-2x mr-3 text-center">
<span class="fa-stack fa-2x me-3 text-center">
<img class="img-size-50 img-circle" src="<?= "../uploads/clients/$client_id/$contact_photo" ?>">
</span>
<?php } else { ?>
<span class="fa-stack fa-2x mr-3">
<span class="fa-stack fa-2x me-3">
<i class="fa fa-circle fa-stack-2x text-secondary"></i>
<span class="fa fa-stack-1x text-white"><?= $contact_initials ?></span>
</span>
<?php } ?>
<div class="media-body">
<div class="flex-grow-1">
<div class="<?php if($contact_important) { echo "text-bold"; } ?>"><?= $contact_name ?> <?= $user_exists_display ?></div>
<?= $contact_title_display ?>
<div><?= $contact_primary_display ?></div>
@@ -509,41 +507,41 @@ $num_rows = mysqli_fetch_row(mysqli_query($mysqli, "SELECT FOUND_ROWS()"));
<td><a href="contacts.php?client_id=<?= $client_id ?>"><?= $client_name ?></a></td>
<?php } ?>
<td>
<div class="dropdown dropleft text-center">
<button class="btn btn-secondary btn-sm" type="button" data-toggle="dropdown">
<div class="dropdown dropstart text-center">
<button class="btn btn-secondary btn-sm" type="button" data-bs-toggle="dropdown">
<i class="fas fa-ellipsis-h"></i>
</button>
<div class="dropdown-menu">
<a class="dropdown-item" href="contact.php?<?= $client_url ?>contact_id=<?= $contact_id ?>">
<i class="fas fa-fw fa-eye mr-2"></i>Details
<i class="fas fa-fw fa-eye me-2"></i>Details
</a>
<a class="dropdown-item ajax-modal" href="#" data-modal-url="modals/contact/contact_note_add.php?id=<?= $contact_id ?>">
<i class="fas fa-fw fa-sticky-note mr-2"></i>Make Note
<i class="fas fa-fw fa-sticky-note me-2"></i>Make Note
</a>
<a class="dropdown-item ajax-modal" href="#" data-modal-url="modals/contact/contact_edit.php?id=<?= $contact_id ?>">
<i class="fas fa-fw fa-edit mr-2"></i>Edit
<i class="fas fa-fw fa-edit me-2"></i>Edit
</a>
<?php if ($session_user_role == 3 && $contact_primary == 0) { ?>
<?php if ($contact_archived_at) { ?>
<div class="dropdown-divider"></div>
<a class="dropdown-item text-info confirm-link" href="post.php?restore_contact=<?= $contact_id ?>&csrf_token=<?= $_SESSION['csrf_token'] ?>">
<i class="fas fa-fw fa-redo mr-2"></i>Restore
<i class="fas fa-fw fa-redo me-2"></i>Restore
</a>
<?php } else { ?>
<div class="dropdown-divider"></div>
<a class="dropdown-item text-danger confirm-link" href="post.php?archive_contact=<?= $contact_id ?>&csrf_token=<?= $_SESSION['csrf_token'] ?>">
<i class="fas fa-fw fa-archive mr-2"></i>Archive
<i class="fas fa-fw fa-archive me-2"></i>Archive
</a>
<div class="dropdown-divider"></div>
<a class="dropdown-item text-danger confirm-link" href="post.php?anonymize_contact=<?= $contact_id ?>&csrf_token=<?= $_SESSION['csrf_token'] ?>">
<i class="fas fa-fw fa-user-secret mr-2"></i>Anonymize & Archive
<i class="fas fa-fw fa-user-secret me-2"></i>Anonymize & Archive
</a>
<?php } ?>
<?php if ($config_destructive_deletes_enable) { ?>
<div class="dropdown-divider"></div>
<a class="dropdown-item text-danger text-bold confirm-link" href="post.php?delete_contact=<?= $contact_id ?>&csrf_token=<?= $_SESSION['csrf_token'] ?>">
<i class="fas fa-fw fa-trash mr-2"></i>Delete
<i class="fas fa-fw fa-trash me-2"></i>Delete
</a>
<?php } ?>
<?php } ?>

View File

@@ -102,26 +102,26 @@ $num_rows = mysqli_fetch_row(mysqli_query($mysqli, "SELECT FOUND_ROWS()"));
<div class="card card-dark">
<div class="card-header py-2">
<h3 class="card-title mt-2"><i class="fa fa-fw fa-key mr-2"></i>Credentials</h3>
<h3 class="card-title mt-2"><i class="fa fa-fw fa-key me-2"></i>Credentials</h3>
<div class="card-tools">
<?php if (lookupUserPermission("module_credential") >= 2) { ?>
<div class="btn-group">
<button type="button" class="btn btn-primary ajax-modal" data-modal-url="modals/credential/credential_add.php?<?= $client_url ?>" <?php if (!isset($_COOKIE['user_encryption_session_key'])) { echo "disabled"; } ?>>
<i class="fas fa-plus mr-2"></i>New Credential
<i class="fas fa-plus me-2"></i>New Credential
</button>
<button type="button" class="btn btn-primary dropdown-toggle dropdown-toggle-split" data-toggle="dropdown"></button>
<button type="button" class="btn btn-primary dropdown-toggle dropdown-toggle-split" data-bs-toggle="dropdown"></button>
<div class="dropdown-menu">
<?php if ($client_url) { ?>
<a class="dropdown-item text-dark ajax-modal" href="#"
data-modal-url="modals/credential/credential_import.php?<?= $client_url ?>">
<i class="fa fa-fw fa-upload mr-2"></i>Import
<i class="fa fa-fw fa-upload me-2"></i>Import
</a>
<div class="dropdown-divider"></div>
<?php } ?>
<?php if ($num_rows[0] > 0) { ?>
<a class="dropdown-item text-dark ajax-modal" href="#"
data-modal-url="<?= buildExportModalUrl('modals/credential/credential_export.php', ['client_id', 'client', 'tags', 'archived', 'q']) ?>">
<i class="fa fa-fw fa-download mr-2"></i>Export
<i class="fa fa-fw fa-download me-2"></i>Export
</a>
<?php } ?>
</div>
@@ -140,9 +140,7 @@ $num_rows = mysqli_fetch_row(mysqli_query($mysqli, "SELECT FOUND_ROWS()"));
<div class="col-md-4">
<div class="input-group mb-3 mb-md-0">
<input type="search" class="form-control" name="q" value="<?php if (isset($q)) { echo stripslashes(escapeHtml($q)); } ?>" placeholder="Search Credentials">
<div class="input-group-append">
<button class="btn btn-dark"><i class="fa fa-search"></i></button>
</div>
</div>
</div>
@@ -222,47 +220,47 @@ $num_rows = mysqli_fetch_row(mysqli_query($mysqli, "SELECT FOUND_ROWS()"));
<?php } ?>
<div class="col-md-3">
<div class="btn-group float-right">
<div class="btn-group float-end">
<a href="?<?= $client_url ?>&archived=<?php if($archived == 1){ echo 0; } else { echo 1; } ?>"
class="btn btn-<?php if($archived == 1){ echo "primary"; } else { echo "default"; } ?>">
<i class="fa fa-fw fa-archive mr-2"></i>Archived
<i class="fa fa-fw fa-archive me-2"></i>Archived
</a>
<div class="dropdown ml-2" id="bulkActionButton" hidden>
<button class="btn btn-secondary dropdown-toggle" type="button" data-toggle="dropdown">
<i class="fas fa-fw fa-layer-group mr-2"></i>Bulk Action (<span id="selectedCount">0</span>)
<div class="dropdown ms-2" id="bulkActionButton" hidden>
<button class="btn btn-secondary dropdown-toggle" type="button" data-bs-toggle="dropdown">
<i class="fas fa-fw fa-layer-group me-2"></i>Bulk Action (<span id="selectedCount">0</span>)
</button>
<div class="dropdown-menu">
<button class="dropdown-item"
type="submit" form="bulkActions" name="bulk_favorite_credentials">
<i class="fas fa-fw fa-star text-warning mr-2"></i>Favorite
<i class="fas fa-fw fa-star text-warning me-2"></i>Favorite
</button>
<div class="dropdown-divider"></div>
<button class="dropdown-item"
type="submit" form="bulkActions" name="bulk_unfavorite_credentials">
<i class="far fa-fw fa-star mr-2"></i>Unfavorite
<i class="far fa-fw fa-star me-2"></i>Unfavorite
</button>
<?php if ($archived) { ?>
<div class="dropdown-divider"></div>
<button class="dropdown-item text-info"
type="submit" form="bulkActions" name="bulk_restore_credentials">
<i class="fas fa-fw fa-redo mr-2"></i>Restore
<i class="fas fa-fw fa-redo me-2"></i>Restore
</button>
<div class="dropdown-divider"></div>
<button class="dropdown-item text-danger text-bold"
type="submit" form="bulkActions" name="bulk_delete_credentials">
<i class="fas fa-fw fa-trash mr-2"></i>Delete
<i class="fas fa-fw fa-trash me-2"></i>Delete
</button>
<?php } else { ?>
<div class="dropdown-divider"></div>
<a class="dropdown-item ajax-modal" href="#"
data-modal-url="modals/credential/credential_bulk_assign_tags.php"
data-bulk="true">
<i class="fas fa-fw fa-tags mr-2"></i>Assign Tags
<i class="fas fa-fw fa-tags me-2"></i>Assign Tags
</a>
<div class="dropdown-divider"></div>
<button class="dropdown-item text-danger confirm-link"
type="submit" form="bulkActions" name="bulk_archive_credentials">
<i class="fas fa-fw fa-archive mr-2"></i>Archive
<i class="fas fa-fw fa-archive me-2"></i>Archive
</button>
<?php } ?>
</div>
@@ -364,12 +362,12 @@ $num_rows = mysqli_fetch_row(mysqli_query($mysqli, "SELECT FOUND_ROWS()"));
}
$credential_tag_id_array[] = $credential_tag_id;
$credential_tag_name_display_array[] = "<a href='credentials.php?$client_url tags[]=$credential_tag_id'><span class='badge text-light p-1 mr-1' style='background-color: $credential_tag_color;'><i class='fa fa-fw fa-$credential_tag_icon mr-2'></i>$credential_tag_name</span></a>";
$credential_tag_name_display_array[] = "<a href='credentials.php?$client_url tags[]=$credential_tag_id'><span class='badge text-light p-1 me-1' style='background-color: $credential_tag_color;'><i class='fa fa-fw fa-$credential_tag_icon me-2'></i>$credential_tag_name</span></a>";
}
$credential_tags_display = implode('', $credential_tag_name_display_array);
if ($credential_contact_id) {
$credential_contact_display = "<a href='#' class='mr-2 mb-1 badge badge-pill badge-dark p-2 ajax-modal' title='$contact_name'
$credential_contact_display = "<a href='#' class='me-2 mb-1 badge rounded-pill bg-dark p-2 ajax-modal' title='$contact_name'
data-modal-size='lg'
data-modal-url='modals/contact/contact.php?id=$credential_contact_id'>
<i class='fas fa-fw fa-user'></i></a>";
@@ -378,7 +376,7 @@ $num_rows = mysqli_fetch_row(mysqli_query($mysqli, "SELECT FOUND_ROWS()"));
}
if ($credential_asset_id) {
$credential_asset_display = "<a href='#' class='mr-2 mb-1 badge badge-pill badge-secondary p-2 ajax-modal' title='$asset_name' data-toggle=''
$credential_asset_display = "<a href='#' class='me-2 mb-1 badge rounded-pill bg-secondary p-2 ajax-modal' title='$asset_name' data-toggle=''
data-modal-size='lg'
data-modal-url='modals/asset/asset.php?id=$credential_asset_id'>
<i class='fas fa-fw fa-desktop'></i></a>";
@@ -426,9 +424,9 @@ $num_rows = mysqli_fetch_row(mysqli_query($mysqli, "SELECT FOUND_ROWS()"));
<td>
<a class="text-dark ajax-modal" href="#"
data-modal-url="modals/credential/credential_edit.php?id=<?= $credential_id ?>">
<div class="media">
<i class="fa fa-fw fa-2x fa-key mr-3"></i>
<div class="media-body">
<div class="d-flex">
<i class="fa fa-fw fa-2x fa-key me-3"></i>
<div class="flex-grow-1">
<div><?= $credential_name ?> <?php if ($credential_favorite) { echo "<i class='fas fa-fw fa-star text-warning' title='Favorite'></i>"; } ?></div>
<div><small class="text-secondary"><?= $credential_description ?></small></div>
<?php
@@ -450,9 +448,9 @@ $num_rows = mysqli_fetch_row(mysqli_query($mysqli, "SELECT FOUND_ROWS()"));
<td>
<?= "$credential_contact_display$credential_asset_display" ?>
<?php if (mysqli_num_rows($sql_shared) > 0) { ?>
<div class="media" title="Expires <?= $item_expire_at_human ?>">
<i class="fas fa-link mr-2 mt-1"></i>
<div class="media-body">Shared
<div class="d-flex" title="Expires <?= $item_expire_at_human ?>">
<i class="fas fa-link me-2 mt-1"></i>
<div class="flex-grow-1">Shared
<br>
<small class="text-secondary"><?= $item_recipient ?></small>
</div>
@@ -465,8 +463,8 @@ $num_rows = mysqli_fetch_row(mysqli_query($mysqli, "SELECT FOUND_ROWS()"));
<td class="text-center">
<div class="btn-group">
<?php if ( !empty($credential_uri) || !empty($credential_uri_2) ) { ?>
<div class="dropdown dropleft text-center">
<button class="btn btn-default btn-sm" type="button" data-toggle="dropdown">
<div class="dropdown dropstart text-center">
<button class="btn btn-default btn-sm" type="button" data-bs-toggle="dropdown">
<i class="fa fa-fw fa-external-link-alt"></i>
</button>
<div class="dropdown-menu">
@@ -484,37 +482,37 @@ $num_rows = mysqli_fetch_row(mysqli_query($mysqli, "SELECT FOUND_ROWS()"));
</div>
</div>
<?php } ?>
<div class="dropdown dropleft text-center">
<button class="btn btn-secondary btn-sm" type="button" data-toggle="dropdown">
<div class="dropdown dropstart text-center">
<button class="btn btn-secondary btn-sm" type="button" data-bs-toggle="dropdown">
<i class="fas fa-ellipsis-h"></i>
</button>
<div class="dropdown-menu">
<a class="dropdown-item ajax-modal" href="#"
data-modal-url="modals/credential/credential_edit.php?id=<?= $credential_id ?>">
<i class="fas fa-fw fa-edit mr-2"></i>Edit
<i class="fas fa-fw fa-edit me-2"></i>Edit
</a>
<div class="dropdown-divider"></div>
<?php if ($client_url) { ?>
<a class="dropdown-item" href="#" data-toggle="modal" data-target="#shareModal" onclick="populateShareModal(<?= "$client_id, 'Credential', $credential_id" ?>)">
<i class="fas fa-fw fa-share mr-2"></i>Share
<a class="dropdown-item" href="#" data-bs-toggle="modal" data-bs-target="#shareModal" onclick="populateShareModal(<?= "$client_id, 'Credential', $credential_id" ?>)">
<i class="fas fa-fw fa-share me-2"></i>Share
</a>
<?php } ?>
<?php if (lookupUserPermission("module_credential") >= 2) { ?>
<?php if ($credential_archived_at) { ?>
<div class="dropdown-divider"></div>
<a class="dropdown-item text-info confirm-link" href="post.php?restore_credential=<?= $credential_id ?>&csrf_token=<?= $_SESSION['csrf_token'] ?>">
<i class="fas fa-fw fa-redo mr-2"></i>Restore
<i class="fas fa-fw fa-redo me-2"></i>Restore
</a>
<?php if (lookupUserPermission("module_credential") >= 3) { ?>
<div class="dropdown-divider"></div>
<a class="dropdown-item text-danger text-bold confirm-link" href="post.php?delete_credential=<?= $credential_id ?>&csrf_token=<?= $_SESSION['csrf_token'] ?>">
<i class="fas fa-fw fa-trash mr-2"></i>Delete
<i class="fas fa-fw fa-trash me-2"></i>Delete
<?php } ?>
</a>
<?php } else { ?>
<div class="dropdown-divider"></div>
<a class="dropdown-item text-danger confirm-link" href="post.php?archive_credential=<?= $credential_id ?>&csrf_token=<?= $_SESSION['csrf_token'] ?>">
<i class="fas fa-fw fa-archive mr-2"></i>Archive
<i class="fas fa-fw fa-archive me-2"></i>Archive
</a>
<?php } ?>
<?php } ?>

View File

@@ -64,7 +64,7 @@
margin-bottom: 8px;
padding: 10px;
border: 1px solid #dee2e6;
border-left: 3px solid #adb5bd;
border-start: 3px solid #adb5bd;
border-radius: 4px;
cursor: grab;
user-select: none;
@@ -87,11 +87,11 @@
/* SLA state - the left edge carries it so it reads at a glance down a column */
.kanban-card-at-risk {
border-left-color: #ffc107;
border-start-color: #ffc107;
}
.kanban-card-breached {
border-left-color: #dc3545;
border-start-color: #dc3545;
}
/* Card top row - number, priority, SLA flag, drag handle */

View File

@@ -1,19 +1,19 @@
<!-- Main Sidebar Container -->
<aside class="main-sidebar sidebar-dark-primary d-print-none">
<aside class="app-sidebar shadow d-print-none" data-bs-theme="dark">
<a class="pb-1 mt-1 brand-link" href="../<?= $config_start_page ?>">
<p class="h5"><i class="nav-icon fas fa-arrow-left ml-3 mr-2"></i>
<p class="h5"><i class="nav-icon fas fa-arrow-left ms-3 me-2"></i>
<span class="brand-text ">Back | <strong>Custom</strong>
</p>
</a>
<!-- Sidebar -->
<div class="sidebar">
<div class="sidebar-wrapper">
<!-- Sidebar Menu -->
<nav>
<ul class="nav nav-pills nav-sidebar flex-column mt-2" data-widget="treeview" data-accordion="false">
<ul class="nav nav-pills sidebar-menu flex-column mt-2" data-lte-toggle="treeview" data-accordion="false">
<li class="nav-header">CUSTOM HEADER</li>

View File

@@ -29,7 +29,7 @@ echo getUserAgent();
<input type="tel" name="phone" id="phone">
<div class="form-group">
<div class="mb-3">
<label>Minimal</label>
<select class="form-control select2 select2-hidden-accessible" style="width: 100%;" data-select2-id="1" tabindex="-1" aria-hidden="true">
<option selected="selected" data-select2-id="3">Alabama</option>

View File

@@ -50,8 +50,8 @@ $sql_years_select = mysqli_query($mysqli, "
<input type="hidden" name="enable_financial" value="0">
<input type="hidden" name="enable_technical" value="0">
<label for="year" class="mr-sm-2">Select Year:</label>
<select id="year" onchange="this.form.submit()" class="form-control mr-sm-3 col-sm-2 mb-3 mb-sm-0" name="year">
<label for="year" class="me-sm-2">Select Year:</label>
<select id="year" onchange="this.form.submit()" class="form-control me-sm-3 col-sm-2 mb-3 mb-sm-0" name="year">
<?php while ($row = mysqli_fetch_assoc($sql_years_select)) {
$year_select = $row['all_years'];
if (empty($year_select)) {
@@ -65,16 +65,16 @@ $sql_years_select = mysqli_query($mysqli, "
</select>
<?php if ($session_user_role == 1 || ($session_user_role == 3 && $config_module_enable_accounting == 1)) { ?>
<div class="custom-control custom-switch mr-3">
<input type="checkbox" onchange="this.form.submit()" class="custom-control-input" id="customSwitch1" name="enable_financial" value="1" <?php if ($user_config_dashboard_financial_enable == 1) { echo "checked"; } ?>>
<label class="custom-control-label" for="customSwitch1">Financial</label>
<div class="form-check form-switch me-3">
<input type="checkbox" onchange="this.form.submit()" class="form-check-input" id="customSwitch1" name="enable_financial" value="1" <?php if ($user_config_dashboard_financial_enable == 1) { echo "checked"; } ?>>
<label class="form-check-label" for="customSwitch1">Financial</label>
</div>
<?php } ?>
<?php if ($session_user_role >= 2 && $config_module_enable_ticketing == 1) { ?>
<div class="custom-control custom-switch">
<input type="checkbox" onchange="this.form.submit()" class="custom-control-input" id="customSwitch2" name="enable_technical" value="1" <?php if ($user_config_dashboard_technical_enable == 1) { echo "checked"; } ?>>
<label class="custom-control-label" for="customSwitch2">Technical</label>
<div class="form-check form-switch">
<input type="checkbox" onchange="this.form.submit()" class="form-check-input" id="customSwitch2" name="enable_technical" value="1" <?php if ($user_config_dashboard_technical_enable == 1) { echo "checked"; } ?>>
<label class="form-check-label" for="customSwitch2">Technical</label>
</div>
<?php } ?>
</form>
@@ -336,12 +336,12 @@ if ($user_config_dashboard_financial_enable == 1) {
<div class="col-md-12">
<div class="card card-dark mb-3">
<div class="card-header">
<h3 class="card-title"><i class="fas fa-fw fa-chart-area mr-2"></i>Cash Flow</h3>
<h3 class="card-title"><i class="fas fa-fw fa-chart-area me-2"></i>Cash Flow</h3>
<div class="card-tools">
<a href="reports/income_summary.php" class="btn btn-tool">
<i class="fas fa-eye"></i>
</a>
<button type="button" class="btn btn-tool" data-card-widget="remove">
<button type="button" class="btn btn-tool" data-lte-toggle="card-remove">
<i class="fas fa-times"></i>
</button>
</div>
@@ -357,9 +357,9 @@ if ($user_config_dashboard_financial_enable == 1) {
<div class="col-lg-4">
<div class="card card-dark mb-3">
<div class="card-header">
<h3 class="card-title"><i class="fas fa-fw fa-chart-pie mr-2"></i>Income by Category <small>(Top 5)</small></h3>
<h3 class="card-title"><i class="fas fa-fw fa-chart-pie me-2"></i>Income by Category <small>(Top 5)</small></h3>
<div class="card-tools">
<button type="button" class="btn btn-tool" data-card-widget="remove">
<button type="button" class="btn btn-tool" data-lte-toggle="card-remove">
<i class="fas fa-times"></i>
</button>
</div>
@@ -375,9 +375,9 @@ if ($user_config_dashboard_financial_enable == 1) {
<div class="col-lg-4">
<div class="card card-dark mb-3">
<div class="card-header">
<h3 class="card-title"><i class="fa fa-fw fa-shopping-cart mr-2"></i>Expenses by Category <small>(Top 5)</small></h3>
<h3 class="card-title"><i class="fa fa-fw fa-shopping-cart me-2"></i>Expenses by Category <small>(Top 5)</small></h3>
<div class="card-tools">
<button type="button" class="btn btn-tool" data-card-widget="remove">
<button type="button" class="btn btn-tool" data-lte-toggle="card-remove">
<i class="fas fa-times"></i>
</button>
</div>
@@ -393,9 +393,9 @@ if ($user_config_dashboard_financial_enable == 1) {
<div class="col-lg-4">
<div class="card card-dark mb-3">
<div class="card-header">
<h3 class="card-title"><i class="fa fa-fw fa-building mr-2"></i>Expenses by Vendor <small>(Top 5)</small></h3>
<h3 class="card-title"><i class="fa fa-fw fa-building me-2"></i>Expenses by Vendor <small>(Top 5)</small></h3>
<div class="card-tools">
<button type="button" class="btn btn-tool" data-card-widget="remove">
<button type="button" class="btn btn-tool" data-lte-toggle="card-remove">
<i class="fas fa-times"></i>
</button>
</div>
@@ -411,9 +411,9 @@ if ($user_config_dashboard_financial_enable == 1) {
<div class="col-md-4">
<div class="card card-dark mb-3">
<div class="card-header">
<h3 class="card-title"><i class="fa fa-fw fa-piggy-bank mr-2"></i>Account Balances</h3>
<h3 class="card-title"><i class="fa fa-fw fa-piggy-bank me-2"></i>Account Balances</h3>
<div class="card-tools">
<button type="button" class="btn btn-tool" data-card-widget="remove">
<button type="button" class="btn btn-tool" data-lte-toggle="card-remove">
<i class="fas fa-times"></i>
</button>
</div>
@@ -447,7 +447,7 @@ if ($user_config_dashboard_financial_enable == 1) {
$balance = '0.00';
}
?>
<td class="text-right text-monospace"><?= numfmt_format_currency($currency_format, $balance, "$session_company_currency") ?></td>
<td class="text-end font-monospace"><?= numfmt_format_currency($currency_format, $balance, "$session_company_currency") ?></td>
</tr>
<?php } ?>
</tbody>
@@ -459,9 +459,9 @@ if ($user_config_dashboard_financial_enable == 1) {
<div class="col-md-4">
<div class="card card-dark mb-3">
<div class="card-header">
<h3 class="card-title"><i class="fas fa-fw fa-credit-card mr-2"></i>Latest Income</h3>
<h3 class="card-title"><i class="fas fa-fw fa-credit-card me-2"></i>Latest Income</h3>
<div class="card-tools">
<button type="button" class="btn btn-tool" data-card-widget="remove">
<button type="button" class="btn btn-tool" data-lte-toggle="card-remove">
<i class="fas fa-times"></i>
</button>
</div>
@@ -473,7 +473,7 @@ if ($user_config_dashboard_financial_enable == 1) {
<th>Date</th>
<th>Customer</th>
<th>Invoice</th>
<th class="text-right">Amount</th>
<th class="text-end">Amount</th>
</tr>
</thead>
<tbody>
@@ -488,7 +488,7 @@ if ($user_config_dashboard_financial_enable == 1) {
<td><?= $payment_date ?></td>
<td><?= $client_name ?></td>
<td><?= "$invoice_prefix$invoice_number" ?></td>
<td class="text-right text-monospace"><?= numfmt_format_currency($currency_format, $payment_amount, "$session_company_currency") ?></td>
<td class="text-end font-monospace"><?= numfmt_format_currency($currency_format, $payment_amount, "$session_company_currency") ?></td>
</tr>
<?php } ?>
</tbody>
@@ -500,9 +500,9 @@ if ($user_config_dashboard_financial_enable == 1) {
<div class="col-md-4">
<div class="card card-dark mb-3">
<div class="card-header">
<h3 class="card-title"><i class="fas fa-fw fa-shopping-cart mr-2"></i>Latest Expenses</h3>
<h3 class="card-title"><i class="fas fa-fw fa-shopping-cart me-2"></i>Latest Expenses</h3>
<div class="card-tools">
<button type="button" class="btn btn-tool" data-card-widget="remove">
<button type="button" class="btn btn-tool" data-lte-toggle="card-remove">
<i class="fas fa-times"></i>
</button>
</div>
@@ -514,7 +514,7 @@ if ($user_config_dashboard_financial_enable == 1) {
<th>Date</th>
<th>Vendor</th>
<th>Category</th>
<th class="text-right">Amount</th>
<th class="text-end">Amount</th>
</tr>
</thead>
<tbody>
@@ -528,7 +528,7 @@ if ($user_config_dashboard_financial_enable == 1) {
<td><?= $expense_date ?></td>
<td><?= $vendor_name ?></td>
<td><?= $category_name ?></td>
<td class="text-right text-monospace"><?= numfmt_format_currency($currency_format, $expense_amount, "$session_company_currency") ?></td>
<td class="text-end font-monospace"><?= numfmt_format_currency($currency_format, $expense_amount, "$session_company_currency") ?></td>
</tr>
<?php } ?>
</tbody>
@@ -540,12 +540,12 @@ if ($user_config_dashboard_financial_enable == 1) {
<div class="col-md-12">
<div class="card card-dark mb-3">
<div class="card-header">
<h3 class="card-title"><i class="fas fa-fw fa-route mr-2"></i>Trip Flow</h3>
<h3 class="card-title"><i class="fas fa-fw fa-route me-2"></i>Trip Flow</h3>
<div class="card-tools">
<a href="trips.php" class="btn btn-tool">
<i class="fas fa-eye"></i>
</a>
<button type="button" class="btn btn-tool" data-card-widget="remove">
<button type="button" class="btn btn-tool" data-lte-toggle="card-remove">
<i class="fas fa-times"></i>
</button>
</div>
@@ -725,9 +725,9 @@ if ($user_config_dashboard_technical_enable == 1) {
<div class="col-12">
<div class="card card-dark mb-3">
<div class="card-header">
<h3 class="card-title"><i class="fa fa-fw fa-life-ring mr-2"></i>Your Open Tickets</h3>
<h3 class="card-title"><i class="fa fa-fw fa-life-ring me-2"></i>Your Open Tickets</h3>
<div class="card-tools">
<button type="button" class="btn btn-tool" data-card-widget="remove">
<button type="button" class="btn btn-tool" data-lte-toggle="card-remove">
<i class="fas fa-times"></i>
</button>
</div>
@@ -784,8 +784,8 @@ if ($user_config_dashboard_technical_enable == 1) {
<td><a href="ticket.php?ticket_id=<?= "$ticket_id$has_client" ?>"><?= $ticket_subject ?></a></td>
<td><a href="tickets.php?client_id=<?= $client_id ?>"><strong><?= $client_name ?></strong></a></td>
<td><?= $contact_display ?></td>
<td><span class='p-2 badge badge-pill badge-<?= $ticket_priority_color ?>'><?= $ticket_priority ?></span></td>
<td><span class='badge badge-pill text-light p-2' style="background-color: <?= $ticket_status_color ?>"><?= $ticket_status_name ?></span></td>
<td><span class='p-2 badge rounded-pill badge-<?= $ticket_priority_color ?>'><?= $ticket_priority ?></span></td>
<td><span class='badge rounded-pill text-light p-2' style="background-color: <?= $ticket_status_color ?>"><?= $ticket_status_name ?></span></td>
<td><?= $ticket_updated_at_display ?></td>
</tr>
<?php } ?>

View File

@@ -87,7 +87,7 @@ $page_title = $row['document_name'];
?>
<li class="breadcrumb-item">
<a href="files.php?client_id=<?= $client_id ?>&folder_id=<?= $bread_crumb_folder_id ?>">
<i class="fas fa-fw fa-folder-open mr-2"></i><?= $bread_crumb_folder_name ?>
<i class="fas fa-fw fa-folder-open me-2"></i><?= $bread_crumb_folder_name ?>
</a>
</li>
<?php
@@ -96,7 +96,7 @@ $page_title = $row['document_name'];
<li class="breadcrumb-item active">
<i class="fas fa-file"></i> <?= $document_name ?>
<?php if (!empty($document_archived_at)) {
echo "<span class='text-danger ml-2'>(ARCHIVED on $document_archived_at)</span>";
echo "<span class='text-danger ms-2'>(ARCHIVED on $document_archived_at)</span>";
} ?>
</li>
</ol>
@@ -114,7 +114,7 @@ $page_title = $row['document_name'];
<?php } ?>
</div>
<div class="col">
<div class="float-right">
<div class="float-end">
<div>
Date:
<strong><?= date('Y-m-d', strtotime($document_updated_at)); ?></strong>
@@ -135,7 +135,7 @@ $page_title = $row['document_name'];
<h4>Documentation Revision History</h4>
<table class="table table-sm">
<thead class="thead-light">
<thead class="table-light">
<th>Version</th>
<th>Date</th>
<th>Name</th>
@@ -186,25 +186,25 @@ $page_title = $row['document_name'];
<div class="col-md-3 d-print-none">
<div class="row">
<div class="col-12 mb-3">
<button type="button" class="btn btn-primary ajax-modal mr-1"
<button type="button" class="btn btn-primary ajax-modal me-1"
data-modal-size="lg"
data-modal-url="modals/document/document_edit.php?id=<?= $document_id ?>">
<i class="fas fa-fw fa-edit" title="Edit"></i>
</button>
<button type="button" class="btn btn-secondary mr-1" data-toggle="modal" data-target="#shareModal"
<button type="button" class="btn btn-secondary me-1" data-bs-toggle="modal" data-bs-target="#shareModal"
onclick="populateShareModal(<?= "$client_id, 'Document', $document_id"; ?>)">
<i class="fas fa-fw fa-share" title="Share"></i>
</button>
<a class="btn btn-success mr-1" href="post.php?export_document=<?= $document_id ?>&csrf_token=<?= $_SESSION['csrf_token'] ?>"><i class='fas fa-fw fa-file-pdf' title="PDF Export"></i></a>
<button type="button" class="btn btn-secondary mr-4" onclick="window.print();"><i class="fas fa-fw fa-print" title="Print"></i></button>
<a class="btn btn-warning mr-1 confirm-link" href="post.php?archive_document=<?= $document_id ?>&csrf_token=<?= $_SESSION['csrf_token'] ?>" title="Archive"><i class='fas fa-fw fa-archive'></i></a>
<a class="btn btn-success me-1" href="post.php?export_document=<?= $document_id ?>&csrf_token=<?= $_SESSION['csrf_token'] ?>"><i class='fas fa-fw fa-file-pdf' title="PDF Export"></i></a>
<button type="button" class="btn btn-secondary me-4" onclick="window.print();"><i class="fas fa-fw fa-print" title="Print"></i></button>
<a class="btn btn-warning me-1 confirm-link" href="post.php?archive_document=<?= $document_id ?>&csrf_token=<?= $_SESSION['csrf_token'] ?>" title="Archive"><i class='fas fa-fw fa-archive'></i></a>
<a class="btn btn-danger confirm-link" href="post.php?delete_document=<?= $document_id ?>&csrf_token=<?= $_SESSION['csrf_token'] ?>&from=document_details" title="Delete"><i class='fas fa-fw fa-trash-alt'></i></a>
</div>
</div>
<div class="card card-body bg-light">
<h5 class="mb-3"><i class="fas fa-tags mr-2"></i>Related Items</h5>
<h5 class="mb-3"><i class="fas fa-tags me-2"></i>Related Items</h5>
<h6>
<i class="fas fa-fw fa-paperclip text-secondary mr-2"></i>Files
<i class="fas fa-fw fa-paperclip text-secondary me-2"></i>Files
<button type="button" class="btn btn-link btn-sm ajax-modal"
data-modal-url="modals/document/document_link_file.php?document_id=<?= $document_id ?>">
<i class="fas fa-fw fa-plus"></i>
@@ -227,17 +227,17 @@ $page_title = $row['document_name'];
$linked_files[] = $file_id;
?>
<div class="ml-2">
<div class="ms-2">
<a href="file.php?file_id=<?= $file_id ?>&action=view" target="_blank"><?= $file_name ?></a>
<a class="confirm-link" href="post.php?unlink_file_from_document&file_id=<?= $file_id ?>&document_id=<?= $document_id ?>&csrf_token=<?= $_SESSION['csrf_token'] ?>">
<i class="fas fa-fw fa-unlink text-secondary float-right" title="Unlink File"></i>
<i class="fas fa-fw fa-unlink text-secondary float-end" title="Unlink File"></i>
</a>
</div>
<?php
}
?>
<h6>
<i class="fas fa-fw fa-users text-secondary mt-3 mr-2"></i>Contacts
<i class="fas fa-fw fa-users text-secondary mt-3 me-2"></i>Contacts
<button type="button" class="btn btn-link btn-sm ajax-modal"
data-modal-url="modals/document/document_link_contact.php?document_id=<?= $document_id ?>">
<i class="fas fa-fw fa-plus"></i>
@@ -259,12 +259,12 @@ $page_title = $row['document_name'];
$linked_contacts[] = $contact_id;
?>
<div class="ml-2">
<div class="ms-2">
<a class="ajax-modal" href="#"
data-modal-size="lg"
data-modal-url="modals/contact/contact.php?id=<?= $contact_id ?>">
<?= $contact_name ?></a>
<a class="confirm-link float-right" href="post.php?unlink_contact_from_document&contact_id=<?= $contact_id ?>&document_id=<?= $document_id ?>&csrf_token=<?= $_SESSION['csrf_token'] ?>">
<a class="confirm-link float-end" href="post.php?unlink_contact_from_document&contact_id=<?= $contact_id ?>&document_id=<?= $document_id ?>&csrf_token=<?= $_SESSION['csrf_token'] ?>">
<i class="fas fa-fw fa-unlink text-secondary" title="Unlink Contact"></i>
</a>
</div>
@@ -272,7 +272,7 @@ $page_title = $row['document_name'];
}
?>
<h6>
<i class="fas fa-fw fa-laptop text-secondary mr-2 mt-3"></i>Assets
<i class="fas fa-fw fa-laptop text-secondary me-2 mt-3"></i>Assets
<button type="button" class="btn btn-link btn-sm ajax-modal" data-modal-url="modals/document/document_link_asset.php?document_id=<?= $document_id ?>">
<i class="fas fa-fw fa-plus"></i>
</button>
@@ -293,13 +293,13 @@ $page_title = $row['document_name'];
$linked_assets[] = $asset_id;
?>
<div class="ml-2">
<div class="ms-2">
<a class="ajax-modal" href="#"
data-modal-size="lg"
data-modal-url="modals/asset/asset.php?id=<?= $asset_id ?>">
<?= $asset_name ?>
</a>
<a class="confirm-link float-right" href="post.php?unlink_asset_from_document&asset_id=<?= $asset_id ?>&document_id=<?= $document_id ?>&csrf_token=<?= $_SESSION['csrf_token'] ?>">
<a class="confirm-link float-end" href="post.php?unlink_asset_from_document&asset_id=<?= $asset_id ?>&document_id=<?= $document_id ?>&csrf_token=<?= $_SESSION['csrf_token'] ?>">
<i class="fas fa-fw fa-unlink text-secondary" title="Unlink Asset"></i>
</a>
</div>
@@ -307,7 +307,7 @@ $page_title = $row['document_name'];
}
?>
<h6>
<i class="fas fa-fw fa-cube text-secondary mr-2 mt-3"></i>Licenses
<i class="fas fa-fw fa-cube text-secondary me-2 mt-3"></i>Licenses
<button type="button" class="btn btn-link btn-sm ajax-modal"
data-modal-url="modals/document/document_link_software.php?document_id=<?= $document_id ?>">
<i class="fas fa-fw fa-plus"></i>
@@ -329,9 +329,9 @@ $page_title = $row['document_name'];
$linked_software[] = $software_id;
?>
<div class="ml-2">
<div class="ms-2">
<a href="software.php?client_id=<?= $client_id ?>&q=<?= $software_name ?>" target="_blank"><?= $software_name ?></a>
<a class="confirm-link float-right" href="post.php?unlink_software_from_document&software_id=<?= $software_id ?>&document_id=<?= $document_id ?>&csrf_token=<?= $_SESSION['csrf_token'] ?>">
<a class="confirm-link float-end" href="post.php?unlink_software_from_document&software_id=<?= $software_id ?>&document_id=<?= $document_id ?>&csrf_token=<?= $_SESSION['csrf_token'] ?>">
<i class="fas fa-fw fa-unlink text-secondary" title="Unlink License"></i>
</a>
</div>
@@ -339,7 +339,7 @@ $page_title = $row['document_name'];
}
?>
<h6>
<i class="fas fa-fw fa-building text-secondary mr-2 mt-3"></i>Vendors
<i class="fas fa-fw fa-building text-secondary me-2 mt-3"></i>Vendors
<button type="button" class="btn btn-link btn-sm ajax-modal"
data-modal-url="modals/document/document_link_vendor.php?document_id=<?= $document_id ?>">
<i class="fas fa-fw fa-plus"></i>
@@ -361,11 +361,11 @@ $page_title = $row['document_name'];
$associated_vendors[] = $vendor_id;
?>
<div class="ml-2">
<div class="ms-2">
<a class="ajax-modal" href="#" data-modal-url="modals/vendor/vendor.php?id=<?= $vendor_id ?>">
<?= $vendor_name ?>
</a>
<a class="confirm-link float-right" href="post.php?unlink_vendor_from_document&vendor_id=<?= $vendor_id ?>&document_id=<?= $document_id ?>&csrf_token=<?= $_SESSION['csrf_token'] ?>">
<a class="confirm-link float-end" href="post.php?unlink_vendor_from_document&vendor_id=<?= $vendor_id ?>&document_id=<?= $document_id ?>&csrf_token=<?= $_SESSION['csrf_token'] ?>">
<i class="fas fa-fw fa-unlink text-secondary" title="Unlink Vendor"></i>
</a>
</div>
@@ -376,9 +376,9 @@ $page_title = $row['document_name'];
<?php if ($config_client_portal_enable) { ?>
<div class="card card-body bg-light">
<h6><i class="fas fa-handshake mr-2"></i>Portal Collaboration</h6>
<h6><i class="fas fa-handshake me-2"></i>Portal Collaboration</h6>
<div class="mt-1">
<i class="fa fa-fw fa-eye<?php if (!$document_client_visible) { echo '-slash'; } ?> text-secondary mr-2"></i>Document is
<i class="fa fa-fw fa-eye<?php if (!$document_client_visible) { echo '-slash'; } ?> text-secondary me-2"></i>Document is
<a class="ajax-modal" href="#"
data-modal-url="modals/document/document_edit_visibility.php?document_id=<?= $document_id ?>">
<?php
@@ -394,7 +394,7 @@ $page_title = $row['document_name'];
<?php } ?>
<div class="card card-body bg-light">
<h6><i class="fas fa-history mr-2"></i>Revisions</h6>
<h6><i class="fas fa-history me-2"></i>Revisions</h6>
<?php
$sql_document_versions = mysqli_query($mysqli, "SELECT document_version_created_at, document_version_description, document_version_id,
@@ -413,13 +413,13 @@ $page_title = $row['document_name'];
?>
<div class="mt-1 <?php if($document_id === $document_version_id){ echo "text-bold"; } ?>">
<i class="fas fa-fw fa-history text-secondary mr-2"></i>
<i class="fas fa-fw fa-history text-secondary me-2"></i>
<a class="ajax-modal" href="#"
data-modal-size="lg"
data-modal-url="modals/document/document_version_view.php?id=<?= $document_version_id ?>">
<?= "$document_version_created_date | $document_version_author" ?>
</a>
<a class="confirm-link float-right" href="post.php?delete_document_version=<?= $document_version_id ?>&csrf_token=<?= $_SESSION['csrf_token'] ?>">
<a class="confirm-link float-end" href="post.php?delete_document_version=<?= $document_version_id ?>&csrf_token=<?= $_SESSION['csrf_token'] ?>">
<i class="fas fa-fw fa-trash-alt text-secondary"></i>
</a>
</div>

View File

@@ -89,16 +89,16 @@ $num_rows = mysqli_fetch_row(mysqli_query($mysqli, "SELECT FOUND_ROWS()"));
<div class="card card-dark">
<div class="card-header py-2">
<h3 class="card-title mt-2"><i class="fa fa-fw fa-globe mr-2"></i>Domains</h3>
<h3 class="card-title mt-2"><i class="fa fa-fw fa-globe me-2"></i>Domains</h3>
<div class="card-tools">
<div class="btn-group">
<button type="button" class="btn btn-primary ajax-modal" data-modal-url="modals/domain/domain_add.php?<?= $client_url ?>"><i class="fas fa-plus mr-2"></i>New Domain</button>
<button type="button" class="btn btn-primary ajax-modal" data-modal-url="modals/domain/domain_add.php?<?= $client_url ?>"><i class="fas fa-plus me-2"></i>New Domain</button>
<?php if ($num_rows[0] > 0) { ?>
<button type="button" class="btn btn-primary dropdown-toggle dropdown-toggle-split" data-toggle="dropdown"></button>
<button type="button" class="btn btn-primary dropdown-toggle dropdown-toggle-split" data-bs-toggle="dropdown"></button>
<div class="dropdown-menu">
<a class="dropdown-item text-dark ajax-modal" href="#"
data-modal-url="<?= buildExportModalUrl('modals/domain/domain_export.php', ['client_id', 'client', 'expire_days', 'archived', 'q']) ?>">
<i class="fa fa-fw fa-download mr-2"></i>Export
<i class="fa fa-fw fa-download me-2"></i>Export
</a>
</div>
<?php } ?>
@@ -116,9 +116,7 @@ $num_rows = mysqli_fetch_row(mysqli_query($mysqli, "SELECT FOUND_ROWS()"));
<div class="col-md-4">
<div class="input-group mb-3 mb-md-0">
<input type="search" class="form-control" name="q" value="<?php if (isset($q)) { echo stripslashes(escapeHtml($q)); } ?>" placeholder="Search Domains">
<div class="input-group-append">
<button class="btn btn-dark"><i class="fa fa-search"></i></button>
</div>
</div>
</div>
@@ -170,35 +168,35 @@ $num_rows = mysqli_fetch_row(mysqli_query($mysqli, "SELECT FOUND_ROWS()"));
<?php } ?>
<div class="col-md-4">
<div class="btn-group float-right">
<div class="btn-group float-end">
<a href="?<?= $client_url ?>archived=<?php if($archived == 1){ echo 0; } else { echo 1; } ?>"
class="btn btn-<?php if($archived == 1){ echo "primary"; } else { echo "default"; } ?>">
<i class="fa fa-fw fa-archive mr-2"></i>Archived
<i class="fa fa-fw fa-archive me-2"></i>Archived
</a>
<div class="dropdown ml-2" id="bulkActionButton" hidden>
<button class="btn btn-secondary dropdown-toggle" type="button" data-toggle="dropdown">
<i class="fas fa-fw fa-layer-group mr-2"></i>Bulk Action (<span id="selectedCount">0</span>)
<div class="dropdown ms-2" id="bulkActionButton" hidden>
<button class="btn btn-secondary dropdown-toggle" type="button" data-bs-toggle="dropdown">
<i class="fas fa-fw fa-layer-group me-2"></i>Bulk Action (<span id="selectedCount">0</span>)
</button>
<div class="dropdown-menu">
<?php if ($archived) { ?>
<button class="dropdown-item text-info"
type="submit" form="bulkActions" name="bulk_restore_domains">
<i class="fas fa-fw fa-redo mr-2"></i>Restore
<i class="fas fa-fw fa-redo me-2"></i>Restore
</button>
<div class="dropdown-divider"></div>
<button class="dropdown-item text-danger text-bold"
type="submit" form="bulkActions" name="bulk_delete_domains">
<i class="fas fa-fw fa-trash mr-2"></i>Delete
<i class="fas fa-fw fa-trash me-2"></i>Delete
</button>
<?php } else { ?>
<button class="dropdown-item"
type="submit" form="bulkActions" name="bulk_refresh_domains">
<i class="fas fa-fw fa-sync-alt mr-2"></i>Refresh Records
<i class="fas fa-fw fa-sync-alt me-2"></i>Refresh Records
</button>
<div class="dropdown-divider"></div>
<button class="dropdown-item text-danger confirm-link"
type="submit" form="bulkActions" name="bulk_archive_domains">
<i class="fas fa-fw fa-archive mr-2"></i>Archive
<i class="fas fa-fw fa-archive me-2"></i>Archive
</button>
<?php } ?>
</div>
@@ -331,9 +329,9 @@ $num_rows = mysqli_fetch_row(mysqli_query($mysqli, "SELECT FOUND_ROWS()"));
<a class="text-dark ajax-modal" href="#"
data-modal-size="lg"
data-modal-url="modals/domain/domain_edit.php?<?= $client_url ?>&id=<?= $domain_id ?>">
<div class="media">
<i class="fa fa-fw fa-2x fa-globe mr-3"></i>
<div class="media-body">
<div class="d-flex">
<i class="fa fa-fw fa-2x fa-globe me-3"></i>
<div class="flex-grow-1">
<div><?= $domain_name ?></div>
<div><small class="text-secondary"><?= $domain_description ?></small></div>
</div>
@@ -354,34 +352,34 @@ $num_rows = mysqli_fetch_row(mysqli_query($mysqli, "SELECT FOUND_ROWS()"));
<td><a href="domains.php?client_id=<?= $client_id ?>"><?= $client_name ?></a></td>
<?php } ?>
<td>
<div class="dropdown dropleft text-center">
<button class="btn btn-secondary btn-sm" type="button" data-toggle="dropdown">
<div class="dropdown dropstart text-center">
<button class="btn btn-secondary btn-sm" type="button" data-bs-toggle="dropdown">
<i class="fas fa-ellipsis-h"></i>
</button>
<div class="dropdown-menu">
<a class="dropdown-item ajax-modal" href="#"
data-modal-size="lg"
data-modal-url="modals/domain/domain_edit.php?<?= $client_url ?>&id=<?= $domain_id ?>">
<i class="fas fa-fw fa-edit mr-2"></i>Edit
<i class="fas fa-fw fa-edit me-2"></i>Edit
</a>
<div class="dropdown-divider"></div>
<a class="dropdown-item" href="post.php?refresh_domain=<?= $domain_id ?>&csrf_token=<?= $_SESSION['csrf_token'] ?>">
<i class="fas fa-fw fa-sync-alt mr-2"></i>Refresh Records
<i class="fas fa-fw fa-sync-alt me-2"></i>Refresh Records
</a>
<?php if ($session_user_role == 3) { ?>
<?php if ($domain_archived_at) { ?>
<div class="dropdown-divider"></div>
<a class="dropdown-item text-info confirm-link" href="post.php?restore_domain=<?= $domain_id ?>&csrf_token=<?= $_SESSION['csrf_token'] ?>">
<i class="fas fa-fw fa-redo mr-2"></i>Restore
<i class="fas fa-fw fa-redo me-2"></i>Restore
</a>
<div class="dropdown-divider"></div>
<a class="dropdown-item text-danger text-bold confirm-link" href="post.php?delete_domain=<?= $domain_id ?>&csrf_token=<?= $_SESSION['csrf_token'] ?>">
<i class="fas fa-fw fa-trash mr-2"></i>Delete
<i class="fas fa-fw fa-trash me-2"></i>Delete
</a>
<?php } else { ?>
<div class="dropdown-divider"></div>
<a class="dropdown-item text-danger confirm-link" href="post.php?archive_domain=<?= $domain_id ?>&csrf_token=<?= $_SESSION['csrf_token'] ?>">
<i class="fas fa-fw fa-archive mr-2"></i>Archive
<i class="fas fa-fw fa-archive me-2"></i>Archive
</a>
<?php } ?>
<?php } ?>

View File

@@ -65,15 +65,15 @@ $num_rows = mysqli_fetch_row(mysqli_query($mysqli, "SELECT FOUND_ROWS()"));
<div class="card card-dark">
<div class="card-header py-2">
<h3 class="card-title mt-2"><i class="fas fa-fw fa-shopping-cart mr-2"></i>Expenses</h3>
<h3 class="card-title mt-2"><i class="fas fa-fw fa-shopping-cart me-2"></i>Expenses</h3>
<div class="card-tools">
<div class="btn-group">
<button type="button" class="btn btn-primary ajax-modal" data-modal-url="modals/expense/expense_add.php" data-modal-size="lg"><i class="fas fa-plus mr-2"></i>New Expense</button>
<button type="button" class="btn btn-primary dropdown-toggle dropdown-toggle-split" data-toggle="dropdown"></button>
<button type="button" class="btn btn-primary ajax-modal" data-modal-url="modals/expense/expense_add.php" data-modal-size="lg"><i class="fas fa-plus me-2"></i>New Expense</button>
<button type="button" class="btn btn-primary dropdown-toggle dropdown-toggle-split" data-bs-toggle="dropdown"></button>
<div class="dropdown-menu">
<a class="dropdown-item text-dark ajax-modal" href="#"
data-modal-url="<?= buildExportModalUrl('modals/expense/expense_export.php', ['account', 'vendor', 'category', 'q'], ['dtf' => $dtf, 'dtt' => $dtt]) ?>">
<i class="fa fa-fw fa-download mr-2"></i>Export
<i class="fa fa-fw fa-download me-2"></i>Export
</a>
</div>
</div>
@@ -86,42 +86,40 @@ $num_rows = mysqli_fetch_row(mysqli_query($mysqli, "SELECT FOUND_ROWS()"));
<div class="col-sm-4">
<div class="input-group">
<input type="search" class="form-control" name="q" value="<?php if (isset($q)) { echo stripslashes(escapeHtml($q)); } ?>" placeholder="Search Expenses">
<div class="input-group-append">
<button class="btn btn-secondary" type="button" data-toggle="collapse" data-target="#advancedFilter"><i class="fas fa-filter"></i></button>
<button class="btn btn-secondary" type="button" data-bs-toggle="collapse" data-bs-target="#advancedFilter"><i class="fas fa-filter"></i></button>
<button class="btn btn-primary"><i class="fa fa-search"></i></button>
</div>
</div>
</div>
<div class="col-sm-8">
<div class="btn-group float-right">
<div class="dropdown ml-2" id="bulkActionButton" hidden>
<button class="btn btn-secondary dropdown-toggle" type="button" data-toggle="dropdown">
<i class="fas fa-fw fa-layer-group mr-2"></i>Bulk Action (<span id="selectedCount">0</span>)
<div class="btn-group float-end">
<div class="dropdown ms-2" id="bulkActionButton" hidden>
<button class="btn btn-secondary dropdown-toggle" type="button" data-bs-toggle="dropdown">
<i class="fas fa-fw fa-layer-group me-2"></i>Bulk Action (<span id="selectedCount">0</span>)
</button>
<div class="dropdown-menu">
<a class="dropdown-item ajax-modal" href="#"
data-modal-url="modals/expense/expense_bulk_edit_category.php"
data-bulk="true">
<i class="fas fa-fw fa-list mr-2"></i>Set Category
<i class="fas fa-fw fa-list me-2"></i>Set Category
</a>
<div class="dropdown-divider"></div>
<a class="dropdown-item ajax-modal" href="#"
data-modal-url="modals/expense/expense_bulk_edit_account.php"
data-bulk="true">
<i class="fas fa-fw fa-piggy-bank mr-2"></i>Set Account
<i class="fas fa-fw fa-piggy-bank me-2"></i>Set Account
</a>
<div class="dropdown-divider"></div>
<a class="dropdown-item ajax-modal" href="#"
data-modal-url="modals/expense/expense_bulk_edit_client.php"
data-bulk="true">
<i class="fas fa-fw fa-user mr-2"></i>Set Client
<i class="fas fa-fw fa-user me-2"></i>Set Client
</a>
<?php if ($session_user_role == 3) { ?>
<div class="dropdown-divider"></div>
<a class="dropdown-item text-danger text-bold ajax-modal" href="#"
data-modal-url="modals/expense/expense_bulk_delete.php"
data-bulk="true">
<i class="fas fa-fw fa-trash mr-2"></i>Delete
<i class="fas fa-fw fa-trash me-2"></i>Delete
</a>
<?php } ?>
</div>
@@ -132,7 +130,7 @@ $num_rows = mysqli_fetch_row(mysqli_query($mysqli, "SELECT FOUND_ROWS()"));
<div class="collapse mt-3 <?php if (isset($_GET['dtf']) && $_GET['dtf'] !== '1970-01-01' || $account_filter || $vendor_filter || $category_filter) { echo "show"; } ?>" id="advancedFilter">
<div class="row">
<div class="col-md-3">
<div class="form-group">
<div class="mb-3">
<label>Date range</label>
<input type="text" id="dateFilter" class="form-control" autocomplete="off">
<input type="hidden" name="canned_date" id="canned_date" value="<?= escapeHtml($_GET['canned_date']) ?? '' ?>">
@@ -141,7 +139,7 @@ $num_rows = mysqli_fetch_row(mysqli_query($mysqli, "SELECT FOUND_ROWS()"));
</div>
</div>
<div class="col-sm-2">
<div class="form-group">
<div class="mb-3">
<label>Vendor</label>
<select class="form-control select2" name="vendor" onchange="this.form.submit()">
<option value="">- All Vendors -</option>
@@ -162,7 +160,7 @@ $num_rows = mysqli_fetch_row(mysqli_query($mysqli, "SELECT FOUND_ROWS()"));
</div>
</div>
<div class="col-sm-2">
<div class="form-group">
<div class="mb-3">
<label>Category</label>
<select class="form-control select2" name="category" onchange="this.form.submit()">
<option value="">- All Categories -</option>
@@ -182,7 +180,7 @@ $num_rows = mysqli_fetch_row(mysqli_query($mysqli, "SELECT FOUND_ROWS()"));
</div>
</div>
<div class="col-sm-2">
<div class="form-group">
<div class="mb-3">
<label>Account</label>
<select class="form-control select2" name="account" onchange="this.form.submit()">
<option value="">- All Accounts -</option>
@@ -234,7 +232,7 @@ $num_rows = mysqli_fetch_row(mysqli_query($mysqli, "SELECT FOUND_ROWS()"));
Vendor <?php if ($sort == 'vendor_name') { echo $order_icon; } ?>
</a>
</th>
<th class="text-right">
<th class="text-end">
<a class="text-dark" href="?<?= $url_query_strings_sort ?>&sort=expense_amount&order=<?= $disp ?>">
Amount <?php if ($sort == 'expense_amount') { echo $order_icon; } ?>
</a>
@@ -283,7 +281,7 @@ $num_rows = mysqli_fetch_row(mysqli_query($mysqli, "SELECT FOUND_ROWS()"));
} else {
$path_info = pathinfo($expense_receipt);
$ext = $path_info['extension'];
$receipt_attached = "<a class='text-secondary mr-2' target='_blank' href='../uploads/expenses/$expense_receipt' download='$expense_date-$vendor_name-$category_name-$expense_id.$ext'><i class='fa fa-file'></i></a>";
$receipt_attached = "<a class='text-secondary me-2' target='_blank' href='../uploads/expenses/$expense_receipt' download='$expense_date-$vendor_name-$category_name-$expense_id.$ext'><i class='fa fa-file'></i></a>";
}
?>
@@ -307,41 +305,41 @@ $num_rows = mysqli_fetch_row(mysqli_query($mysqli, "SELECT FOUND_ROWS()"));
<div class="text-secondary"><small><?= truncate($expense_description, 60) ?></small></div>
</td>
<td><?= $vendor_name ?></td>
<td class="text-right text-monospace"><?= numfmt_format_currency($currency_format, $expense_amount, $expense_currency_code) ?></td>
<td class="text-end font-monospace"><?= numfmt_format_currency($currency_format, $expense_amount, $expense_currency_code) ?></td>
<td><?= $account_name ?></td>
<td><?= $client_name_display ?></td>
<td>
<div class="dropdown dropleft text-center">
<button class="btn btn-secondary btn-sm" type="button" data-toggle="dropdown">
<div class="dropdown dropstart text-center">
<button class="btn btn-secondary btn-sm" type="button" data-bs-toggle="dropdown">
<i class="fas fa-ellipsis-h"></i>
</button>
<div class="dropdown-menu">
<?php
if (!empty($expense_receipt)) { ?>
<a class="dropdown-item" href="<?= "../uploads/expenses/$expense_receipt" ?>" download="<?= "$expense_date-$vendor_name-$category_name-$expense_id.pdf" ?>">
<i class="fas fa-fw fa-download mr-2"></i>Download
<i class="fas fa-fw fa-download me-2"></i>Download
</a>
<div class="dropdown-divider"></div>
<?php } ?>
<a class="dropdown-item ajax-modal" href="#"
data-modal-size="lg"
data-modal-url="modals/expense/expense_edit.php?id=<?= $expense_id ?>">
<i class="fas fa-fw fa-edit mr-2"></i>Edit
<i class="fas fa-fw fa-edit me-2"></i>Edit
</a>
<a class="dropdown-item ajax-modal" href="#"
data-modal-size="lg"
data-modal-url="modals/expense/expense_copy.php?id=<?= $expense_id ?>">
<i class="fas fa-fw fa-copy mr-2"></i>Copy
<i class="fas fa-fw fa-copy me-2"></i>Copy
</a>
<div class="dropdown-divider"></div>
<a class="dropdown-item ajax-modal" href="#"
data-modal-size="lg"
data-modal-url="modals/expense/expense_refund.php?id=<?= $expense_id ?>">
<i class="fas fa-fw fa-undo-alt mr-2"></i>Refund
<i class="fas fa-fw fa-undo-alt me-2"></i>Refund
</a>
<div class="dropdown-divider"></div>
<a class="dropdown-item text-danger text-bold confirm-link" href="post.php?delete_expense=<?= $expense_id ?>&csrf_token=<?= $_SESSION['csrf_token'] ?>">
<i class="fas fa-fw fa-trash mr-2"></i>Delete
<i class="fas fa-fw fa-trash me-2"></i>Delete
</a>
</div>
</div>

View File

@@ -90,7 +90,7 @@ function displayFolders($parent_folder_id, $client_id, $indent = 0, $render_root
echo '/';
if ($num_root_items > 0) {
echo "<span class='badge badge-pill badge-dark float-right mt-1'>$num_root_items</span>";
echo "<span class='badge rounded-pill bg-dark float-end mt-1'>$num_root_items</span>";
}
echo '</a>';
@@ -166,11 +166,11 @@ function displayFolders($parent_folder_id, $client_id, $indent = 0, $render_root
if ($subfolder_count > 0) {
$is_expanded = $folders_expanded || $on_active_path;
echo '<i class="fas fa-chevron-' . ($is_expanded ? 'down' : 'right') . ' text-muted ml-2"></i>';
echo '<i class="fas fa-chevron-' . ($is_expanded ? 'down' : 'right') . ' text-muted ms-2"></i>';
}
if ($num_total > 0) {
echo "<span class='badge badge-pill badge-dark float-right mt-1'>$num_total</span>";
echo "<span class='badge rounded-pill bg-dark float-end mt-1'>$num_total</span>";
}
echo '</a>';
@@ -179,18 +179,18 @@ function displayFolders($parent_folder_id, $client_id, $indent = 0, $render_root
echo '<div class="col-2">';
?>
<div class="dropdown">
<button class="btn btn-sm" type="button" data-toggle="dropdown">
<button class="btn btn-sm" type="button" data-bs-toggle="dropdown">
<i class="fas fa-ellipsis-v"></i>
</button>
<div class="dropdown-menu">
<a class="dropdown-item ajax-modal" href="#"
data-modal-url="modals/folder/folder_rename.php?id=<?= $folder_id ?>">
<i class="fas fa-fw fa-edit mr-2"></i>Rename
<i class="fas fa-fw fa-edit me-2"></i>Rename
</a>
<?php if ($session_user_role == 3 && $num_total == 0 && $subfolder_count == 0) { ?>
<div class="dropdown-divider"></div>
<a class="dropdown-item text-danger text-bold confirm-link" href="post.php?delete_folder=<?= $folder_id ?>&csrf_token=<?= $_SESSION['csrf_token'] ?>">
<i class="fas fa-fw fa-trash mr-2"></i>Delete
<i class="fas fa-fw fa-trash me-2"></i>Delete
</a>
<?php } ?>
</div>
@@ -429,33 +429,33 @@ $num_root_items = intval($row_root_files['num']) + intval($row_root_docs['num'])
<div class="card card-dark">
<div class="card-header py-2">
<h3 class="card-title mt-2"><i class="fa fa-fw fa-folder mr-2"></i>Files</h3>
<h3 class="card-title mt-2"><i class="fa fa-fw fa-folder me-2"></i>Files</h3>
<div class="card-tools">
<div class="btn-group">
<button type="button" class="btn btn-primary dropdown-toggle" data-toggle="dropdown">
<i class="fas fa-fw fa-plus mr-2"></i>New
<button type="button" class="btn btn-primary dropdown-toggle" data-bs-toggle="dropdown">
<i class="fas fa-fw fa-plus me-2"></i>New
</button>
<div class="dropdown-menu dropdown-menu-right">
<div class="dropdown-menu dropdown-menu-end">
<a class="dropdown-item text-dark ajax-modal" href="#"
data-modal-url="modals/file/file_upload.php?client_id=<?= $client_id ?>&folder_id=<?= $get_folder_id ?>">
<i class="fas fa-fw fa-cloud-upload-alt mr-2"></i>Upload File
<i class="fas fa-fw fa-cloud-upload-alt me-2"></i>Upload File
</a>
<div class="dropdown-divider"></div>
<a class="dropdown-item text-dark ajax-modal" href="#"
data-modal-url="modals/document/document_add.php?client_id=<?= $client_id ?>&folder_id=<?= $get_folder_id ?>"
data-modal-size="lg">
<i class="fas fa-fw fa-file-alt mr-2"></i>Document
<i class="fas fa-fw fa-file-alt me-2"></i>Document
</a>
<a class="dropdown-item text-dark ajax-modal" href="#"
data-modal-url="modals/document/document_add_from_template.php?client_id=<?= $client_id ?>&folder_id=<?= $get_folder_id ?>">
<i class="fas fa-fw fa-file mr-2"></i>Document from Template
<i class="fas fa-fw fa-file me-2"></i>Document from Template
</a>
<div class="dropdown-divider"></div>
<a class="dropdown-item text-dark ajax-modal" href="#"
data-modal-url="modals/folder/folder_add.php?client_id=<?= $client_id ?>&current_folder_id=<?= $get_folder_id ?>">
<i class="fa fa-fw fa-folder-plus mr-2"></i>Folder
<i class="fa fa-fw fa-folder-plus me-2"></i>Folder
</a>
</div>
</div>
@@ -466,7 +466,7 @@ $num_root_items = intval($row_root_files['num']) + intval($row_root_docs['num'])
<div class="row">
<!-- Folders -->
<div class="col-md-3 border-right mb-3">
<div class="col-md-3 border-end mb-3">
<div class="d-flex align-items-center justify-content-between">
<h4 class="mb-0">Folders</h4>
@@ -510,13 +510,11 @@ $num_root_items = intval($row_root_files['num']) + intval($row_root_docs['num'])
<input type="search" class="form-control" name="q"
value="<?php if (isset($q)) { echo stripslashes(escapeHtml($q)); } ?>"
placeholder="Search files and documents in <?= ($get_folder_id == 0 ? 'all folders' : 'current folder') ?>">
<div class="input-group-append">
<button class="btn btn-dark"><i class="fa fa-search"></i></button>
</div>
</div>
</div>
<div class="col-md-7">
<div class="float-right">
<div class="float-end">
<div class="btn-group">
<a href="?<?= $url_query_strings_sort ?>&view=0&folder_id=<?= $get_folder_id ?>" class="btn <?php if($view == 0){ echo "btn-primary"; } else { echo "btn-outline-secondary"; } ?>" title="List View"><i class="fas fa-list-ul"></i></a>
<a href="?<?= $url_query_strings_sort ?>&view=1&folder_id=<?= $get_folder_id ?>" class="btn <?php if($view == 1){ echo "btn-primary"; } else { echo "btn-outline-secondary"; } ?>" title="Grid View"><i class="fas fa-th-large"></i></a>
@@ -524,36 +522,36 @@ $num_root_items = intval($row_root_files['num']) + intval($row_root_docs['num'])
<div class="btn-group">
<a href="?<?= $url_query_strings_sort ?>&archived=<?php if($archived == 1){ echo 0; } else { echo 1; } ?>"
class="btn btn-<?php if($archived == 1){ echo "primary"; } else { echo "default"; } ?>">
<i class="fa fa-fw fa-archive mr-2"></i>Archived
<i class="fa fa-fw fa-archive me-2"></i>Archived
</a>
</div>
<div class="btn-group">
<div class="dropdown ml-2" id="bulkActionButton" hidden>
<button class="btn btn-secondary dropdown-toggle" type="button" data-toggle="dropdown">
<i class="fas fa-fw fa-layer-group mr-2"></i>Bulk Action (<span id="selectedCount">0</span>)
<div class="dropdown ms-2" id="bulkActionButton" hidden>
<button class="btn btn-secondary dropdown-toggle" type="button" data-bs-toggle="dropdown">
<i class="fas fa-fw fa-layer-group me-2"></i>Bulk Action (<span id="selectedCount">0</span>)
</button>
<div class="dropdown-menu">
<a class="dropdown-item ajax-modal" href="#"
data-modal-url="modals/file/file_bulk_move.php?client_id=<?= $client_id ?>&current_folder_id=<?= $get_folder_id ?>"
data-bulk="true">
<i class="fas fa-fw fa-exchange-alt mr-2"></i>Move Files
<i class="fas fa-fw fa-exchange-alt me-2"></i>Move Files
</a>
<?php if ($archived) { ?>
<div class="dropdown-divider"></div>
<button class="dropdown-item text-info"
type="submit" form="bulkActions" name="bulk_restore_files">
<i class="fas fa-fw fa-redo mr-2"></i>Restore Files
<i class="fas fa-fw fa-redo me-2"></i>Restore Files
</button>
<div class="dropdown-divider"></div>
<button class="dropdown-item text-danger text-bold"
type="submit" form="bulkActions" name="bulk_delete_files">
<i class="fas fa-fw fa-trash mr-2"></i>Delete Files
<i class="fas fa-fw fa-trash me-2"></i>Delete Files
</button>
<?php } else { ?>
<div class="dropdown-divider"></div>
<button class="dropdown-item text-danger"
type="submit" form="bulkActions" name="bulk_archive_files">
<i class="fas fa-fw fa-archive mr-2"></i>Archive Files
<i class="fas fa-fw fa-archive me-2"></i>Archive Files
</button>
<?php } ?>
</div>
@@ -569,7 +567,7 @@ $num_root_items = intval($row_root_files['num']) + intval($row_root_docs['num'])
<ol class="breadcrumb">
<li class="breadcrumb-item">
<a href="?client_id=<?= $client_id ?>&folder_id=0&archived=<?= $archived ?>">
<i class="fas fa-fw fa-folder mr-2"></i>Root
<i class="fas fa-fw fa-folder me-2"></i>Root
</a>
</li>
<?php foreach ($folder_path as $folder) {
@@ -577,7 +575,7 @@ $num_root_items = intval($row_root_files['num']) + intval($row_root_docs['num'])
$bread_crumb_folder_name = $folder['folder_name']; ?>
<li class="breadcrumb-item">
<a href="?client_id=<?= $client_id ?>&folder_id=<?= $bread_crumb_folder_id ?>&archived=<?= $archived ?>&folders_expanded=<?= $folders_expanded ?>">
<i class="fas fa-fw fa-folder-open mr-2"></i><?= $bread_crumb_folder_name ?>
<i class="fas fa-fw fa-folder-open me-2"></i><?= $bread_crumb_folder_name ?>
</a>
</li>
<?php } ?>
@@ -617,43 +615,43 @@ $num_root_items = intval($row_root_files['num']) + intval($row_root_docs['num'])
</a>
<div>
<div class="dropdown float-right">
<button class="btn btn-link btn-sm" type="button" data-toggle="dropdown">
<div class="dropdown float-end">
<button class="btn btn-link btn-sm" type="button" data-bs-toggle="dropdown">
<i class="fas fa-ellipsis-v"></i>
</button>
<div class="dropdown-menu">
<a class="dropdown-item" href="file.php?file_id=<?= $file_id; ?>">
<i class="fas fa-fw fa-cloud-download-alt mr-2"></i>Download
<i class="fas fa-fw fa-cloud-download-alt me-2"></i>Download
</a>
<a class="dropdown-item" href="#" data-toggle="modal" data-target="#shareModal" onclick="populateShareModal(<?= "$client_id, 'File', $file_id" ?>)">
<i class="fas fa-fw fa-share mr-2"></i>Share
<a class="dropdown-item" href="#" data-bs-toggle="modal" data-bs-target="#shareModal" onclick="populateShareModal(<?= "$client_id, 'File', $file_id" ?>)">
<i class="fas fa-fw fa-share me-2"></i>Share
</a>
<a class="dropdown-item ajax-modal" href="#"
data-modal-url="modals/file/file_rename.php?id=<?= $file_id ?>">
<i class="fas fa-fw fa-edit mr-2"></i>Rename
<i class="fas fa-fw fa-edit me-2"></i>Rename
</a>
<a class="dropdown-item ajax-modal" href="#"
data-modal-url="modals/file/file_move.php?id=<?= $file_id ?>">
<i class="fas fa-fw fa-exchange-alt mr-2"></i>Move
<i class="fas fa-fw fa-exchange-alt me-2"></i>Move
</a>
<a class="dropdown-item" href="#" data-toggle="modal" data-target="#linkAssetToFileModal<?= $file_id ?>">
<i class="fas fa-fw fa-desktop mr-2"></i>Link Asset
<a class="dropdown-item" href="#" data-bs-toggle="modal" data-bs-target="#linkAssetToFileModal<?= $file_id ?>">
<i class="fas fa-fw fa-desktop me-2"></i>Link Asset
</a>
<?php if ($file_archived_at) { ?>
<div class="dropdown-divider"></div>
<a class="dropdown-item text-info" href="post.php?restore_file=<?= $file_id ?>&csrf_token=<?= $_SESSION['csrf_token'] ?>">
<i class="fas fa-fw fa-redo mr-2"></i>Restore
<i class="fas fa-fw fa-redo me-2"></i>Restore
</a>
<?php if ($session_user_role == 3) { ?>
<div class="dropdown-divider"></div>
<a class="dropdown-item text-danger text-bold" href="#" data-toggle="modal" data-target="#deleteFileModal" onclick="populateFileDeleteModal(<?= "$file_id , '$file_name'" ?>)">
<i class="fas fa-fw fa-trash mr-2"></i>Delete
<a class="dropdown-item text-danger text-bold" href="#" data-bs-toggle="modal" data-bs-target="#deleteFileModal" onclick="populateFileDeleteModal(<?= "$file_id , '$file_name'" ?>)">
<i class="fas fa-fw fa-trash me-2"></i>Delete
</a>
<?php } ?>
<?php } else { ?>
<div class="dropdown-divider"></div>
<a class="dropdown-item text-danger confirm-link" href="post.php?archive_file=<?= $file_id ?>&csrf_token=<?= $_SESSION['csrf_token'] ?>">
<i class="fas fa-fw fa-archive mr-2"></i>Archive
<i class="fas fa-fw fa-archive me-2"></i>Archive
</a>
<?php } ?>
</div>
@@ -679,7 +677,7 @@ $num_root_items = intval($row_root_files['num']) + intval($row_root_docs['num'])
<input type="hidden" name="csrf_token" value="<?= $_SESSION['csrf_token'] ?>">
<div class="table-responsive-sm">
<table class="table border">
<thead class="thead-light <?php if ($num_rows[0] == 0) { echo "d-none"; } ?>">
<thead class="table-light <?php if ($num_rows[0] == 0) { echo "d-none"; } ?>">
<tr>
<td class="bg-light checkbox-column">
<div class="form-check">
@@ -755,9 +753,9 @@ $num_root_items = intval($row_root_files['num']) + intval($row_root_docs['num'])
</td>
<td>
<a href="file.php?file_id=<?= $file_id; ?>&action=view" target="_blank">
<div class="media">
<i class="fa fa-fw fa-2x fa-<?= $file_icon ?> text-dark mr-3"></i>
<div class="media-body">
<div class="d-flex">
<i class="fa fa-fw fa-2x fa-<?= $file_icon ?> text-dark me-3"></i>
<div class="flex-grow-1">
<p>
<?= basename($file_name) ?>
<br>
@@ -775,9 +773,9 @@ $num_root_items = intval($row_root_files['num']) + intval($row_root_docs['num'])
</td>
<td>
<?php if ($file_shared) { ?>
<div class="media" title="Expires <?= $item_expire_at_human ?>">
<i class="fas fa-link mr-2 mt-1"></i>
<div class="media-body">Shared
<div class="d-flex" title="Expires <?= $item_expire_at_human ?>">
<i class="fas fa-link me-2 mt-1"></i>
<div class="flex-grow-1">Shared
<br>
<small class="text-secondary"><?= $item_recipient ?></small>
</div>
@@ -785,43 +783,43 @@ $num_root_items = intval($row_root_files['num']) + intval($row_root_docs['num'])
<?php } ?>
</td>
<td>
<div class="dropdown dropleft text-center">
<button class="btn btn-secondary btn-sm" type="button" data-toggle="dropdown">
<div class="dropdown dropstart text-center">
<button class="btn btn-secondary btn-sm" type="button" data-bs-toggle="dropdown">
<i class="fas fa-ellipsis-h"></i>
</button>
<div class="dropdown-menu">
<a class="dropdown-item" href="file.php?file_id=<?= $file_id ?>">
<i class="fas fa-fw fa-cloud-download-alt mr-2"></i>Download
<i class="fas fa-fw fa-cloud-download-alt me-2"></i>Download
</a>
<a class="dropdown-item" href="#" data-toggle="modal" data-target="#shareModal" onclick="populateShareModal(<?= "$client_id, 'File', $file_id" ?>)">
<i class="fas fa-fw fa-share mr-2"></i>Share
<a class="dropdown-item" href="#" data-bs-toggle="modal" data-bs-target="#shareModal" onclick="populateShareModal(<?= "$client_id, 'File', $file_id" ?>)">
<i class="fas fa-fw fa-share me-2"></i>Share
</a>
<a class="dropdown-item ajax-modal" href="#"
data-modal-url="modals/file/file_rename.php?id=<?= $file_id ?>">
<i class="fas fa-fw fa-edit mr-2"></i>Rename
<i class="fas fa-fw fa-edit me-2"></i>Rename
</a>
<a class="dropdown-item ajax-modal" href="#"
data-modal-url="modals/file/file_move.php?id=<?= $file_id ?>">
<i class="fas fa-fw fa-exchange-alt mr-2"></i>Move
<i class="fas fa-fw fa-exchange-alt me-2"></i>Move
</a>
<a class="dropdown-item" href="#" data-toggle="modal" data-target="#linkAssetToFileModal<?= $file_id ?>">
<i class="fas fa-fw fa-desktop mr-2"></i>Link Asset
<a class="dropdown-item" href="#" data-bs-toggle="modal" data-bs-target="#linkAssetToFileModal<?= $file_id ?>">
<i class="fas fa-fw fa-desktop me-2"></i>Link Asset
</a>
<?php if ($file_archived_at) { ?>
<div class="dropdown-divider"></div>
<a class="dropdown-item text-info" href="post.php?restore_file=<?= $file_id ?>&csrf_token=<?= $_SESSION['csrf_token'] ?>">
<i class="fas fa-fw fa-redo mr-2"></i>Restore
<i class="fas fa-fw fa-redo me-2"></i>Restore
</a>
<?php if ($session_user_role == 3) { ?>
<div class="dropdown-divider"></div>
<a class="dropdown-item text-danger text-bold" href="#" data-toggle="modal" data-target="#deleteFileModal" onclick="populateFileDeleteModal(<?= "$file_id , '$file_name'" ?>)">
<i class="fas fa-fw fa-trash mr-2"></i>Delete
<a class="dropdown-item text-danger text-bold" href="#" data-bs-toggle="modal" data-bs-target="#deleteFileModal" onclick="populateFileDeleteModal(<?= "$file_id , '$file_name'" ?>)">
<i class="fas fa-fw fa-trash me-2"></i>Delete
</a>
<?php } ?>
<?php } else { ?>
<div class="dropdown-divider"></div>
<a class="dropdown-item text-danger confirm-link" href="post.php?archive_file=<?= $file_id ?>&csrf_token=<?= $_SESSION['csrf_token'] ?>">
<i class="fas fa-fw fa-archive mr-2"></i>Archive
<i class="fas fa-fw fa-archive me-2"></i>Archive
</a>
<?php } ?>
</div>
@@ -860,16 +858,16 @@ $num_root_items = intval($row_root_files['num']) + intval($row_root_docs['num'])
}
?>
<tr>
<td class="bg-light pr-0">
<td class="bg-light pe-0">
<div class="form-check">
<input class="form-check-input bulk-select" type="checkbox" name="document_ids[]" value="<?= $document_id ?>">
</div>
</td>
<td>
<a href="document.php?client_id=<?= $client_id ?>&document_id=<?= $document_id ?>">
<div class="media">
<i class="fa fa-fw fa-2x fa-file-alt text-dark mr-3"></i>
<div class="media-body">
<div class="d-flex">
<i class="fa fa-fw fa-2x fa-file-alt text-dark me-3"></i>
<div class="flex-grow-1">
<p>
<?= $document_name ?>
<br>
@@ -887,9 +885,9 @@ $num_root_items = intval($row_root_files['num']) + intval($row_root_docs['num'])
</td>
<td>
<?php if ($doc_shared) { ?>
<div class="media" title="Expires <?= $item_expire_at_human ?>">
<i class="fas fa-link mr-2 mt-1"></i>
<div class="media-body">Shared
<div class="d-flex" title="Expires <?= $item_expire_at_human ?>">
<i class="fas fa-link me-2 mt-1"></i>
<div class="flex-grow-1">Shared
<br>
<small class="text-secondary"><?= $item_recipient ?></small>
</div>
@@ -897,50 +895,50 @@ $num_root_items = intval($row_root_files['num']) + intval($row_root_docs['num'])
<?php } ?>
</td>
<td>
<div class="dropdown dropleft text-center">
<button class="btn btn-secondary btn-sm" type="button" data-toggle="dropdown">
<div class="dropdown dropstart text-center">
<button class="btn btn-secondary btn-sm" type="button" data-bs-toggle="dropdown">
<i class="fas fa-ellipsis-h"></i>
</button>
<div class="dropdown-menu">
<a class="dropdown-item ajax-modal" href="#"
data-modal-size="lg"
data-modal-url="modals/document/document_view.php?id=<?= $document_id ?>">
<i class="fas fa-fw fa-eye mr-2"></i>Quick View
<i class="fas fa-fw fa-eye me-2"></i>Quick View
</a>
<div class="dropdown-divider"></div>
<a class="dropdown-item ajax-modal" href="#"
data-modal-size="lg"
data-modal-url="modals/document/document_edit.php?id=<?= $document_id ?>">
<i class="fas fa-fw fa-pencil-alt mr-2"></i>Edit
<i class="fas fa-fw fa-pencil-alt me-2"></i>Edit
</a>
<div class="dropdown-divider"></div>
<a class="dropdown-item" href="#" data-toggle="modal" data-target="#shareModal" onclick="populateShareModal(<?= "$client_id, 'Document', $document_id" ?>)">
<i class="fas fa-fw fa-share mr-2"></i>Share
<a class="dropdown-item" href="#" data-bs-toggle="modal" data-bs-target="#shareModal" onclick="populateShareModal(<?= "$client_id, 'Document', $document_id" ?>)">
<i class="fas fa-fw fa-share me-2"></i>Share
</a>
<div class="dropdown-divider"></div>
<a class="dropdown-item ajax-modal" href="#"
data-modal-url="modals/document/document_rename.php?id=<?= $document_id ?>">
<i class="fas fa-fw fa-pencil-alt mr-2"></i>Rename
<i class="fas fa-fw fa-pencil-alt me-2"></i>Rename
</a>
<a class="dropdown-item ajax-modal" href="#"
data-modal-url="modals/document/document_move.php?id=<?= $document_id ?>">
<i class="fas fa-fw fa-exchange-alt mr-2"></i>Move
<i class="fas fa-fw fa-exchange-alt me-2"></i>Move
</a>
<?php if ($document_archived_at) { ?>
<div class="dropdown-divider"></div>
<a class="dropdown-item text-info" href="post.php?restore_document=<?= $document_id ?>&csrf_token=<?= $_SESSION['csrf_token'] ?>">
<i class="fas fa-fw fa-redo mr-2"></i>Restore
<i class="fas fa-fw fa-redo me-2"></i>Restore
</a>
<?php if ($session_user_role == 3) { ?>
<div class="dropdown-divider"></div>
<a class="dropdown-item text-danger text-bold" href="post.php?delete_document=<?= $document_id ?>&csrf_token=<?= $_SESSION['csrf_token'] ?>">
<i class="fas fa-fw fa-trash mr-2"></i>Delete
<i class="fas fa-fw fa-trash me-2"></i>Delete
</a>
<?php } ?>
<?php } else { ?>
<div class="dropdown-divider"></div>
<a class="dropdown-item text-danger" href="post.php?archive_document=<?= $document_id ?>&csrf_token=<?= $_SESSION['csrf_token'] ?>">
<i class="fas fa-fw fa-archive mr-2"></i>Archive
<i class="fas fa-fw fa-archive me-2"></i>Archive
</a>
<?php } ?>
</div>

View File

@@ -186,7 +186,7 @@ if (isset($_GET['query'])) {
<div class="card card-dark">
<div class="card-header mb-3">
<h4 class="card-title text-center"><i class="fas fa-fw fa-search mr-2"></i>Global Search</h4>
<h4 class="card-title text-center"><i class="fas fa-fw fa-search me-2"></i>Global Search</h4>
</div>
<div class="card-body">
@@ -199,7 +199,7 @@ if (isset($_GET['query'])) {
<div class="col-sm-6">
<div class="card card-dark mb-3">
<div class="card-header">
<h6 class="card-title"><i class="fas fa-fw fa-users mr-2"></i>Clients</h6>
<h6 class="card-title"><i class="fas fa-fw fa-users me-2"></i>Clients</h6>
</div>
<div class="card-body">
<table class="table table-striped table-borderless">
@@ -242,7 +242,7 @@ if (isset($_GET['query'])) {
<div class="col-sm-6">
<div class="card card-dark mb-3">
<div class="card-header">
<h6 class="card-title"><i class="fas fa-fw fa-users mr-2"></i>Contacts</h6>
<h6 class="card-title"><i class="fas fa-fw fa-users me-2"></i>Contacts</h6>
</div>
<div class="card-body">
<table class="table table-striped table-borderless">
@@ -300,7 +300,7 @@ if (isset($_GET['query'])) {
<div class="col-sm-6">
<div class="card card-dark mb-3">
<div class="card-header">
<h6 class="card-title"><i class="fas fa-fw fa-building mr-2"></i>Vendors</h6>
<h6 class="card-title"><i class="fas fa-fw fa-building me-2"></i>Vendors</h6>
</div>
<div class="card-body">
<table class="table table-striped table-borderless">
@@ -348,7 +348,7 @@ if (isset($_GET['query'])) {
<div class="col-sm-6">
<div class="card card-dark mb-3">
<div class="card-header">
<h6 class="card-title"><i class="fas fa-fw fa-globe mr-2"></i>Domains</h6>
<h6 class="card-title"><i class="fas fa-fw fa-globe me-2"></i>Domains</h6>
</div>
<div class="card-body">
<table class="table table-striped table-borderless">
@@ -392,7 +392,7 @@ if (isset($_GET['query'])) {
<div class="col-sm-6">
<div class="card card-dark mb-3">
<div class="card-header">
<h6 class="card-title"><i class="fas fa-fw fa-box mr-2"></i>Products</h6>
<h6 class="card-title"><i class="fas fa-fw fa-box me-2"></i>Products</h6>
</div>
<div class="card-body">
<table class="table table-striped table-borderless">
@@ -431,7 +431,7 @@ if (isset($_GET['query'])) {
<div class="col-sm-6">
<div class="card card-dark mb-3">
<div class="card-header">
<h6 class="card-title"><i class="fas fa-fw fa-file-alt mr-2"></i>Documents</h6>
<h6 class="card-title"><i class="fas fa-fw fa-file-alt me-2"></i>Documents</h6>
</div>
<div class="card-body">
<table class="table table-striped table-borderless">
@@ -475,7 +475,7 @@ if (isset($_GET['query'])) {
<div class="col-sm-6">
<div class="card card-dark mb-3">
<div class="card-header">
<h6 class="card-title"><i class="fas fa-fw fa-paperclip mr-2"></i>Files</h6>
<h6 class="card-title"><i class="fas fa-fw fa-paperclip me-2"></i>Files</h6>
</div>
<div class="card-body">
<table class="table table-striped table-borderless">
@@ -528,7 +528,7 @@ if (isset($_GET['query'])) {
<div class="col-sm-6">
<div class="card card-dark mb-3">
<div class="card-header">
<h6 class="card-title"><i class="fas fa-fw fa-life-ring mr-2"></i>Tickets</h6>
<h6 class="card-title"><i class="fas fa-fw fa-life-ring me-2"></i>Tickets</h6>
</div>
<div class="card-body">
<table class="table table-striped table-borderless">
@@ -578,7 +578,7 @@ if (isset($_GET['query'])) {
<div class="col-sm-6">
<div class="card card-dark mb-3">
<div class="card-header">
<h6 class="card-title"><i class="fas fa-fw fa-undo-alt mr-2"></i>Recurring Tickets</h6>
<h6 class="card-title"><i class="fas fa-fw fa-undo-alt me-2"></i>Recurring Tickets</h6>
</div>
<div class="card-body">
<table class="table table-striped table-borderless">
@@ -627,7 +627,7 @@ if (isset($_GET['query'])) {
<div class="col-sm-6">
<div class="card card-dark mb-3">
<div class="card-header">
<h3 class="card-title"><i class="fas fa-fw fa-key mr-2"></i>Credentials</h3>
<h3 class="card-title"><i class="fas fa-fw fa-key me-2"></i>Credentials</h3>
</div>
<div class="card-body">
<table class="table table-striped table-borderless">
@@ -657,7 +657,7 @@ if (isset($_GET['query'])) {
<td><a href="credentials.php?client_id=<?= $credential_client_id ?>&q=<?= $q ?>"><?= $credential_name ?></a></td>
<td><?= $credential_description ?></td>
<td><?= $credential_username ?></td>
<td><a tabindex="0" class="btn btn-sm" data-toggle="popover" data-trigger="focus" data-placement="left" data-content="<?= $credential_password ?>"><i class="far fa-eye text-secondary"></i></a><button class="btn btn-sm clipboardjs" data-clipboard-text="<?= $credential_password ?>"><i class="far fa-copy text-secondary"></i></button>
<td><a tabindex="0" class="btn btn-sm" data-bs-toggle="popover" data-bs-trigger="focus" data-bs-placement="left" data-bs-content="<?= $credential_password ?>"><i class="far fa-eye text-secondary"></i></a><button class="btn btn-sm clipboardjs" data-clipboard-text="<?= $credential_password ?>"><i class="far fa-copy text-secondary"></i></button>
</td>
<td><a href="credentials.php?client_id=<?= $client_id ?>"><?= $client_name ?></a></td>
</tr>
@@ -680,7 +680,7 @@ if (isset($_GET['query'])) {
<div class="col-sm-6">
<div class="card card-dark mb-3">
<div class="card-header">
<h6 class="card-title"><i class="fas fa-fw fa-file-invoice mr-2"></i>Quotes</h6>
<h6 class="card-title"><i class="fas fa-fw fa-file-invoice me-2"></i>Quotes</h6>
</div>
<div class="card-body">
<table class="table table-striped table-borderless">
@@ -731,7 +731,7 @@ if (isset($_GET['query'])) {
<div class="col-sm-6">
<div class="card card-dark mb-3">
<div class="card-header">
<h6 class="card-title"><i class="fas fa-fw fa-file-invoice mr-2"></i>Invoices</h6>
<h6 class="card-title"><i class="fas fa-fw fa-file-invoice me-2"></i>Invoices</h6>
</div>
<div class="card-body">
<table class="table table-striped table-borderless">
@@ -782,7 +782,7 @@ if (isset($_GET['query'])) {
<div class="col-sm-6">
<div class="card card-dark mb-3">
<div class="card-header">
<h6 class="card-title"><i class="fas fa-fw fa-desktop mr-2"></i>Assets</h6>
<h6 class="card-title"><i class="fas fa-fw fa-desktop me-2"></i>Assets</h6>
</div>
<div class="card-body">
<table class="table table-striped table-borderless">
@@ -842,9 +842,9 @@ if (isset($_GET['query'])) {
?>
<tr>
<td>
<i class="fa fa-fw text-secondary fa-<?= $device_icon ?> mr-2"></i><a href="asset.php?client_id=<?= $client_id ?>&asset_id=<?= $asset_id ?>"><?= $asset_name ?></a>
<i class="fa fa-fw text-secondary fa-<?= $device_icon ?> me-2"></i><a href="asset.php?client_id=<?= $client_id ?>&asset_id=<?= $asset_id ?>"><?= $asset_name ?></a>
<?php if(!empty($asset_uri)){ ?>
<a href="<?= $asset_uri ?>" target="_blank"><i class="fas fa-fw fa-external-link-alt ml-2"></i></a>
<a href="<?= $asset_uri ?>" target="_blank"><i class="fas fa-fw fa-external-link-alt ms-2"></i></a>
<?php } ?>
</td>
<td><?= $asset_type ?></td>
@@ -872,7 +872,7 @@ if (isset($_GET['query'])) {
<div class="card card-dark">
<div class="card-header">
<h6 class="card-title"><i class="fas fa-fw fa-reply mr-2"></i>Ticket Replies</h6>
<h6 class="card-title"><i class="fas fa-fw fa-reply me-2"></i>Ticket Replies</h6>
</div>
<div class="card-body">
@@ -914,9 +914,9 @@ if (isset($_GET['query'])) {
// Output the ticket reply
?>
<div class="media">
<i class="fas fa-fw fa-reply mr-3"></i>
<div class="media-body">
<div class="d-flex">
<i class="fas fa-fw fa-reply me-3"></i>
<div class="flex-grow-1">
<?= $ticket_reply ?>
</div>
</div>

View File

@@ -31,21 +31,21 @@ $num_software = $row['num'];
?>
<!-- Main Sidebar Container -->
<aside class="main-sidebar sidebar-dark-primary d-print-none">
<aside class="app-sidebar shadow d-print-none" data-bs-theme="dark">
<a class="pb-1 mt-1 brand-link" href="clients.php">
<p class="h6"><i class="nav-icon fas fa-arrow-left ml-3 mr-2"></i>
<p class="h6"><i class="nav-icon fas fa-arrow-left ms-3 me-2"></i>
<span class="brand-text ">Back | <strong>All Client Docs</strong>
</p>
</a>
<!-- Sidebar -->
<div class="sidebar">
<div class="sidebar-wrapper">
<!-- Sidebar Menu -->
<nav>
<ul class="nav nav-pills nav-sidebar flex-column mt-2" data-widget="treeview" data-accordion="false">
<ul class="nav nav-pills sidebar-menu flex-column mt-2" data-lte-toggle="treeview" data-accordion="false">
<?php if (lookupUserPermission("module_support") >= 1) { ?>
<li class="nav-item">

View File

@@ -1,9 +1,9 @@
<!-- Main Sidebar Container -->
<aside class="main-sidebar sidebar-dark-<?= escapeHtml($config_theme) ?> d-print-none">
<aside class="app-sidebar shadow d-print-none" data-bs-theme="dark">
<a class="brand-link pb-1 mt-1" href="/agent/clients.php">
<p class="h5">
<i class="nav-icon fas fa-arrow-left ml-3 mr-1"></i>
<i class="nav-icon fas fa-arrow-left ms-3 me-1"></i>
<span class="brand-text">
Back | <strong><?= $client_name_truncated ?></strong>
</span>
@@ -11,12 +11,12 @@
</a>
<!-- Sidebar -->
<div class="sidebar">
<div class="sidebar-wrapper">
<!-- Sidebar Menu -->
<nav>
<ul class="nav nav-pills nav-sidebar flex-column" data-widget="treeview" role="menu" data-accordion="false">
<ul class="nav nav-pills sidebar-menu flex-column" data-lte-toggle="treeview" role="menu" data-accordion="false">
<li class="nav-item mt-3">
<a href="/agent/client_overview.php?client_id=<?= $client_id ?>" class="nav-link <?php if (basename($_SERVER["PHP_SELF"]) == "client_overview.php") { echo "active"; } ?>">
@@ -87,7 +87,7 @@
Tickets
<?php
if ($num_active_tickets > 0) { ?>
<span class="right badge <?php if ($num_active_tickets > 0) { ?> badge-danger <?php } ?> text-light"><?= $num_active_tickets ?></span>
<span class="right badge <?php if ($num_active_tickets > 0) { ?> bg-danger <?php } ?> text-light"><?= $num_active_tickets ?></span>
<?php } ?>
</p>
@@ -114,7 +114,7 @@
<p>
Projects
<?php if ($num_active_projects) { ?>
<span class="right badge text-light" data-toggle="tooltip" title="Open Projects"><?= $num_active_projects ?></span>
<span class="right badge text-light" data-bs-toggle="tooltip" title="Open Projects"><?= $num_active_projects ?></span>
<?php } ?>
</p>
</a>
@@ -190,7 +190,7 @@
Certificates
<?php
if ($num_certificates > 0) { ?>
<span class="right badge <?php if ($num_certificates_expiring > 0) { ?> badge-warning text-dark <?php } ?> <?php if ($num_certificates_expired > 0) { ?> badge-danger <?php } ?> text-white"><?= $num_certificates ?></span>
<span class="right badge <?php if ($num_certificates_expiring > 0) { ?> bg-warning text-dark <?php } ?> <?php if ($num_certificates_expired > 0) { ?> bg-danger <?php } ?> text-white"><?= $num_certificates ?></span>
<?php } ?>
</p>
</a>
@@ -203,7 +203,7 @@
Domains
<?php
if ($num_domains > 0) { ?>
<span class="right badge <?php if (isset($num_domains_expiring)) { ?> badge-warning text-dark<?php } ?> <?php if (isset($num_domains_expired)) { ?> badge-danger <?php } ?> text-white"><?= $num_domains ?></span>
<span class="right badge <?php if (isset($num_domains_expiring)) { ?> bg-warning text-dark<?php } ?> <?php if (isset($num_domains_expired)) { ?> bg-danger <?php } ?> text-white"><?= $num_domains ?></span>
<?php } ?>
</p>
</a>
@@ -218,7 +218,7 @@
Licenses
<?php
if ($num_software > 0) { ?>
<span class="right badge <?php if ($num_software_expiring > 0) { ?> badge-warning text-dark <?php } ?> <?php if ($num_software_expired > 0) { ?> badge-danger <?php } ?> text-white"><?= $num_software ?></span>
<span class="right badge <?php if ($num_software_expiring > 0) { ?> bg-warning text-dark <?php } ?> <?php if ($num_software_expired > 0) { ?> bg-danger <?php } ?> text-white"><?= $num_software ?></span>
<?php } ?>
</p>
</a>
@@ -281,7 +281,7 @@
Invoices
<?php
if ($num_invoices > 0) { ?>
<span class="right badge <?php if ($num_invoices_open > 0) { ?> badge-danger <?php } ?> text-light"><?= $num_invoices ?></span>
<span class="right badge <?php if ($num_invoices_open > 0) { ?> bg-danger <?php } ?> text-light"><?= $num_invoices ?></span>
<?php } ?>
</p>
</a>

View File

@@ -96,7 +96,7 @@ if (isset($_GET['client_id'])) {
}
$client_tag_id_array[] = $client_tag_id;
$client_tag_name_display_array[] = "<span class='badge text-light p-1 mr-1' style='background-color: $client_tag_color;'><i class='fa fa-fw fa-$client_tag_icon mr-2'></i>$client_tag_name</span>";
$client_tag_name_display_array[] = "<span class='badge text-light p-1 me-1' style='background-color: $client_tag_color;'><i class='fa fa-fw fa-$client_tag_icon me-2'></i>$client_tag_name</span>";
}
$client_tags_display = implode('', $client_tag_name_display_array);

View File

@@ -3,57 +3,57 @@
<div class="card d-print-none">
<div class="card-header pb-1 pt-2 px-3">
<div class="card-title">
<a href="#" data-toggle="collapse" data-target="#clientHeader"><h4 class="text-dark" data-toggle="tooltip" data-placement="right" title="Client ID: <?= $client_id ?>"><strong><?= $client_name ?></strong> <?php if ($client_archived_at) { echo "(archived)"; } ?></h4></a>
<a href="#" data-bs-toggle="collapse" data-bs-target="#clientHeader"><h4 class="text-dark" data-bs-toggle="tooltip" data-bs-placement="right" title="Client ID: <?= $client_id ?>"><strong><?= $client_name ?></strong> <?php if ($client_archived_at) { echo "(archived)"; } ?></h4></a>
</div>
<?php if (!empty($client_tag_name_display_array)) { ?><div class="card-title ml-2"><?= $client_tags_display ?></div> <?php } ?>
<?php if (!empty($client_tag_name_display_array)) { ?><div class="card-title ms-2"><?= $client_tags_display ?></div> <?php } ?>
<?php if (lookupUserPermission("module_client") >= 2) { ?>
<div class="card-tools">
<div class="dropdown dropleft text-center">
<button class="btn btn-dark btn-sm" type="button" data-toggle="dropdown">
<div class="dropdown dropstart text-center">
<button class="btn btn-dark btn-sm" type="button" data-bs-toggle="dropdown">
<i class="fas fa-fw fa-ellipsis-v"></i>
</button>
<div class="dropdown-menu">
<?php if (lookupUserPermission("module_support") >= 2) { ?>
<a class="dropdown-item ajax-modal" href="#" data-modal-url="modals/ticket/ticket_add.php?client_id=<?= $client_id ?>" data-modal-size="lg">
<i class="fas fa-fw fa-life-ring mr-2"></i>New Ticket
<i class="fas fa-fw fa-life-ring me-2"></i>New Ticket
</a>
<?php } ?>
<div class="dropdown-divider"></div>
<a class="dropdown-item ajax-modal" href="#"
data-modal-url="modals/client/client_edit.php?id=<?= $client_id ?>">
<i class="fas fa-fw fa-edit mr-2"></i>Edit Client
<i class="fas fa-fw fa-edit me-2"></i>Edit Client
</a>
<?php if (lookupUserPermission("module_billing") >= 2) { ?>
<?php if ($show_add_credit) { ?>
<div class="dropdown-divider"></div>
<a class="dropdown-item" href="#" data-toggle="modal" data-target="#addCreditModal">
<i class="fas fa-fw fa-wallet mr-2"></i>Add Credit
<a class="dropdown-item" href="#" data-bs-toggle="modal" data-bs-target="#addCreditModal">
<i class="fas fa-fw fa-wallet me-2"></i>Add Credit
</a>
<?php } ?>
<?php } ?>
<?php if (lookupUserPermission("module_client") >= 1) { ?>
<div class="dropdown-divider"></div>
<a class="dropdown-item" href="#" data-toggle="modal" data-target="#exportClientPDFModal">
<i class="fas fa-fw fa-file-pdf mr-2"></i>Export Data
<a class="dropdown-item" href="#" data-bs-toggle="modal" data-bs-target="#exportClientPDFModal">
<i class="fas fa-fw fa-file-pdf me-2"></i>Export Data
</a>
<?php } ?>
<?php if (empty($client_archived_at)) { ?>
<div class="dropdown-divider"></div>
<a class="dropdown-item text-danger confirm-link" href="post.php?archive_client=<?= $client_id ?>&csrf_token=<?= $_SESSION['csrf_token'] ?>">
<i class="fas fa-fw fa-archive mr-2"></i>Archive Client
<i class="fas fa-fw fa-archive me-2"></i>Archive Client
</a>
<?php } else { ?>
<div class="dropdown-divider"></div>
<a class="dropdown-item text-primary confirm-link" href="post.php?restore_client=<?= $client_id ?>&csrf_token=<?= $_SESSION['csrf_token'] ?>">
<i class="fas fa-fw fa-archive mr-2"></i>Restore Client
<i class="fas fa-fw fa-archive me-2"></i>Restore Client
</a>
<?php } ?>
<?php if (lookupUserPermission("module_client") >= 3 && $client_archived_at) { ?>
<div class="dropdown-divider"></div>
<a class="dropdown-item text-danger text-bold" href="#" data-toggle="modal" data-target="#deleteClientModal<?= $client_id ?>">
<i class="fas fa-fw fa-trash mr-2"></i>Delete Client
<a class="dropdown-item text-danger text-bold" href="#" data-bs-toggle="modal" data-bs-target="#deleteClientModal<?= $client_id ?>">
<i class="fas fa-fw fa-trash me-2"></i>Delete Client
</a>
<?php } ?>
@@ -72,12 +72,12 @@
<?php if (!empty($location_address)) { ?>
<div>
<a href="//maps.<?= $session_map_source ?>.com/?q=<?= "$location_address $location_zip" ?>" target="_blank">
<i class="fa fa-fw fa-map-marker-alt text-secondary ml-1 mr-2"></i><?= $location_address ?>
<i class="fa fa-fw fa-map-marker-alt text-secondary ms-1 me-2"></i><?= $location_address ?>
<div>
<i class="fa fa-fw ml-1 mr-2"></i><?= formatAddress('', $location_city, $location_state, $location_zip, '', ' ') ?>
<i class="fa fa-fw ms-1 me-2"></i><?= formatAddress('', $location_city, $location_state, $location_zip, '', ' ') ?>
</div>
<div>
<i class="fa fa-fw ml-1 mr-2"></i><small><?= $location_country ?></small>
<i class="fa fa-fw ms-1 me-2"></i><small><?= $location_country ?></small>
</div>
</a>
</div>
@@ -85,14 +85,14 @@
if (!empty($location_phone)) { ?>
<div>
<i class="fa fa-fw fa-phone text-secondary ml-1 mr-2"></i><a href="tel:<?= $location_phone ?>"><?= $location_phone ?></a>
<i class="fa fa-fw fa-phone text-secondary ms-1 me-2"></i><a href="tel:<?= $location_phone ?>"><?= $location_phone ?></a>
</div>
<hr class="my-2">
<?php }
if (!empty($client_website)) { ?>
<div class="mt-1">
<i class="fa fa-fw fa-globe text-secondary ml-1 mr-2"></i><a target="_blank" href="//<?= $client_website ?>"><?= $client_website ?></a>
<i class="fa fa-fw fa-globe text-secondary ms-1 me-2"></i><a target="_blank" href="//<?= $client_website ?>"><?= $client_website ?></a>
</div>
<?php } ?>
</div>
@@ -103,20 +103,20 @@
if (!empty($contact_name)) { ?>
<div>
<i class="fa fa-fw fa-user text-secondary ml-1 mr-2"></i><?= $contact_name ?>
<i class="fa fa-fw fa-user text-secondary ms-1 me-2"></i><?= $contact_name ?>
</div>
<?php }
if (!empty($contact_email)) { ?>
<div class="mt-1">
<i class="fa fa-fw fa-envelope text-secondary ml-1 mr-2"></i><a href="mailto:<?= $contact_email ?>"><?= $contact_email ?></a>
<i class="fa fa-fw fa-envelope text-secondary ms-1 me-2"></i><a href="mailto:<?= $contact_email ?>"><?= $contact_email ?></a>
</div>
<?php
}
if (!empty($contact_phone)) { ?>
<div class="mt-1">
<i class="fa fa-fw fa-phone text-secondary ml-1 mr-2"></i><a href="tel:<?= $contact_phone ?>"><?= $contact_phone ?></a>
<i class="fa fa-fw fa-phone text-secondary ms-1 me-2"></i><a href="tel:<?= $contact_phone ?>"><?= $contact_phone ?></a>
<?php
if (!empty($contact_extension)) {
@@ -129,7 +129,7 @@
if (!empty($contact_mobile)) { ?>
<div class="mt-1">
<i class="fa fa-fw fa-mobile-alt text-secondary ml-1 mr-2"></i><a href="tel:<?= $contact_mobile ?>"><?= $contact_mobile ?></a>
<i class="fa fa-fw fa-mobile-alt text-secondary ms-1 me-2"></i><a href="tel:<?= $contact_mobile ?>"><?= $contact_mobile ?></a>
</div>
<?php } ?>
</div>
@@ -138,36 +138,36 @@
<div class="card card-body px-3 py-2">
<h5>Billing</h5>
<div class="ml-1 text-secondary">Hourly Rate
<span class="text-dark float-right"> <?= numfmt_format_currency($currency_format, $client_rate, $client_currency_code) ?></span>
<div class="ms-1 text-secondary">Hourly Rate
<span class="text-dark float-end"> <?= numfmt_format_currency($currency_format, $client_rate, $client_currency_code) ?></span>
</div>
<div class="ml-1 mt-1 text-secondary">Paid
<span class="text-dark float-right"> <?= numfmt_format_currency($currency_format, $amount_paid, $client_currency_code) ?></span>
<div class="ms-1 mt-1 text-secondary">Paid
<span class="text-dark float-end"> <?= numfmt_format_currency($currency_format, $amount_paid, $client_currency_code) ?></span>
</div>
<div class="ml-1 mt-1 text-secondary">Balance
<span class="<?php if ($balance > 0) { echo "text-danger"; }else{ echo "text-dark"; } ?> float-right"> <?= numfmt_format_currency($currency_format, $balance, $client_currency_code) ?></span>
<div class="ms-1 mt-1 text-secondary">Balance
<span class="<?php if ($balance > 0) { echo "text-danger"; }else{ echo "text-dark"; } ?> float-end"> <?= numfmt_format_currency($currency_format, $balance, $client_currency_code) ?></span>
</div>
<?php /* Credit Not Ready 2025-08-27 JQ
if ($credit_balance) { ?>
<div class="ml-1 mt-1 text-secondary">Credit
<span class="text-success float-right"><?php echo numfmt_format_currency($currency_format, $credit_balance, $client_currency_code); ?></span>
<div class="ms-1 mt-1 text-secondary">Credit
<span class="text-success float-end"><?php echo numfmt_format_currency($currency_format, $credit_balance, $client_currency_code); ?></span>
</div>
<?php } */?>
<div class="ml-1 mt-1 text-secondary">Monthly Recurring
<span class="text-dark float-right"> <?= numfmt_format_currency($currency_format, $recurring_monthly, $client_currency_code) ?></span>
<div class="ms-1 mt-1 text-secondary">Monthly Recurring
<span class="text-dark float-end"> <?= numfmt_format_currency($currency_format, $recurring_monthly, $client_currency_code) ?></span>
</div>
<div class="ml-1 mt-1 text-secondary">Net Terms
<span class="text-dark float-right">
<div class="ms-1 mt-1 text-secondary">Net Terms
<span class="text-dark float-end">
<?php if ($client_net_terms) { ?>
<?= $client_net_terms; ?><small class="text-secondary ml-1">Days</small>
<?= $client_net_terms; ?><small class="text-secondary ms-1">Days</small>
<?php } else { ?>
On Receipt
<?php } ?>
</span>
</div>
<?php if(!empty($client_tax_id_number)) { ?>
<div class="ml-1 mt-1 text-secondary">Tax ID
<span class="text-dark float-right text-monospace"><?= $client_tax_id_number ?></span>
<div class="ms-1 mt-1 text-secondary">Tax ID
<span class="text-dark float-end font-monospace"><?= $client_tax_id_number ?></span>
</div>
<?php } ?>
</div>
@@ -176,11 +176,11 @@
<?php if (lookupUserPermission("module_support") >= 1 && $config_module_enable_ticketing == 1) { ?>
<div class="card card-body px-3 py-2">
<h5>Support</h5>
<div class="ml-1 text-secondary">Open Tickets
<span class="text-dark float-right"><?= $num_active_tickets ?></span>
<div class="ms-1 text-secondary">Open Tickets
<span class="text-dark float-end"><?= $num_active_tickets ?></span>
</div>
<div class="ml-1 text-secondary mt-1">Closed Tickets
<span class="text-dark float-right"><?= $num_closed_tickets ?></span>
<div class="ms-1 text-secondary mt-1">Closed Tickets
<span class="text-dark float-end"><?= $num_closed_tickets ?></span>
</div>
</div>
<?php } ?>

View File

@@ -22,10 +22,10 @@ $existing_tasks = $existing_tasks ?? [];
<input type="hidden" name="tasks_submitted" value="1">
<div class="form-group">
<div class="mb-3">
<label>Tasks</label>
<div class="form-row mb-1 text-muted small">
<div class="row g-2 mb-1 text-muted small">
<div class="col-7">Task</div>
<div class="col-3">Estimate (mins)</div>
<div class="col-2"></div>
@@ -33,7 +33,7 @@ $existing_tasks = $existing_tasks ?? [];
<div id="ticketTasksContainer">
<?php foreach ($existing_tasks as $existing_task) { ?>
<div class="form-row mb-2 ticket-task-row">
<div class="row g-2 mb-2 ticket-task-row">
<div class="col-7">
<input type="text" class="form-control" name="tasks[]" placeholder="Task name" maxlength="255" value="<?= escapeHtml($existing_task['name']) ?>">
</div>
@@ -41,13 +41,13 @@ $existing_tasks = $existing_tasks ?? [];
<input type="number" class="form-control" name="task_estimates[]" placeholder="Mins" min="0" value="<?= intval($existing_task['estimate']) ?: '' ?>">
</div>
<div class="col-2">
<button type="button" class="btn btn-secondary btn-block ticket-task-remove" title="Remove task"><i class="fa fa-fw fa-trash"></i></button>
<button type="button" class="btn btn-secondary w-100 ticket-task-remove" title="Remove task"><i class="fa fa-fw fa-trash"></i></button>
</div>
</div>
<?php } ?>
</div>
<button type="button" class="btn btn-secondary" id="ticketTaskAdd"><i class="fas fa-plus mr-2"></i>Add Task</button>
<button type="button" class="btn btn-secondary" id="ticketTaskAdd"><i class="fas fa-plus me-2"></i>Add Task</button>
<small class="form-text text-muted">Leave the estimate blank if you don't track one. Blank task names are ignored.</small>
</div>

View File

@@ -34,12 +34,10 @@ while ($row = mysqli_fetch_assoc($sql_ticket_template_tasks)) {
?>
<div class="form-group">
<div class="mb-3">
<label>Template</label>
<div class="input-group">
<div class="input-group-prepend">
<span class="input-group-text"><i class="fa fa-fw fa-cube"></i></span>
</div>
<select class="form-control select2" id="ticket_template_select" name="ticket_template_id">
<option value="0">- No Template -</option>
<?php

View File

@@ -1,5 +1,5 @@
<!-- Main Sidebar Container -->
<aside class="main-sidebar sidebar-dark-<?= escapeHtml($config_theme) ?> d-print-none">
<aside class="app-sidebar shadow d-print-none" data-bs-theme="dark">
<a class="brand-link" href="/agent/dashboard.php">
<div class="brand-image"></div>
@@ -7,11 +7,11 @@
</a>
<!-- Sidebar -->
<div class="sidebar">
<div class="sidebar-wrapper">
<!-- Sidebar Menu -->
<nav>
<ul class="nav nav-pills nav-sidebar flex-column mt-3" data-widget="treeview" data-accordion="false">
<ul class="nav nav-pills sidebar-menu flex-column mt-3" data-lte-toggle="treeview" data-accordion="false">
<li class="nav-item">
<a href="/agent/dashboard.php" class="nav-link <?php if (basename($_SERVER["PHP_SELF"]) == "dashboard.php") { echo "active"; } ?>">
<i class="nav-icon fas fa-tachometer-alt"></i>
@@ -25,7 +25,7 @@
<p>
Clients
<?php if ($num_active_clients) { ?>
<span class="right badge text-light" data-toggle="tooltip" title="Active Clients"><?= $num_active_clients ?></span>
<span class="right badge text-light" data-bs-toggle="tooltip" title="Active Clients"><?= $num_active_clients ?></span>
<?php } ?>
</p>
</a>
@@ -34,7 +34,7 @@
<a href="/agent/contacts.php" class="nav-link">
<i class="fas fa-layer-group nav-icon"></i>
<p>All Client Docs</p>
<i class="fas fa-angle-right nav-icon float-right"></i>
<i class="fas fa-angle-right nav-icon float-end"></i>
</a>
</li>
<?php } ?>
@@ -62,7 +62,7 @@
<p>
Tickets
<?php if ($num_active_tickets) { ?>
<span class="right badge text-light" data-toggle="tooltip" title="Open Tickets"><?= $num_active_tickets ?></span>
<span class="right badge text-light" data-bs-toggle="tooltip" title="Open Tickets"><?= $num_active_tickets ?></span>
<?php } ?>
</p>
</a>
@@ -73,7 +73,7 @@
<p>
Recurring Tickets
<?php if ($num_recurring_tickets) { ?>
<span class="right badge text-light" data-toggle="tooltip" title="Active Recurring Tickets"><?= $num_recurring_tickets ?></span>
<span class="right badge text-light" data-bs-toggle="tooltip" title="Active Recurring Tickets"><?= $num_recurring_tickets ?></span>
<?php } ?>
</p>
</a>
@@ -84,7 +84,7 @@
<p>
Projects
<?php if ($num_active_projects) { ?>
<span class="right badge text-light" data-toggle="tooltip" title="Open Projects"><?= $num_active_projects ?></span>
<span class="right badge text-light" data-bs-toggle="tooltip" title="Open Projects"><?= $num_active_projects ?></span>
<?php } ?>
</p>
</a>
@@ -100,7 +100,7 @@
<p>
Quotes
<?php if ($num_open_quotes) { ?>
<span class="right badge text-light" data-toggle="tooltip" title="Active Quotes"><?= $num_open_quotes ?></span>
<span class="right badge text-light" data-bs-toggle="tooltip" title="Active Quotes"><?= $num_open_quotes ?></span>
<?php } ?>
</p>
</a>
@@ -111,7 +111,7 @@
<p>
Invoices
<?php if ($num_open_invoices) { ?>
<span class="right badge text-light" data-toggle="tooltip" title="Open Invoices"><?= $num_open_invoices ?></span>
<span class="right badge text-light" data-bs-toggle="tooltip" title="Open Invoices"><?= $num_open_invoices ?></span>
<?php } ?>
</p>
</a>
@@ -122,7 +122,7 @@
<p>
Recurring Invoices
<?php if ($num_recurring_invoices) { ?>
<span class="right badge text-light" data-toggle="tooltip" title="Active Recurring Invoices"><?= $num_recurring_invoices ?></span>
<span class="right badge text-light" data-bs-toggle="tooltip" title="Active Recurring Invoices"><?= $num_recurring_invoices ?></span>
<?php } ?>
</p>
</a>
@@ -156,7 +156,7 @@
<p>
Recurring Expenses
<?php if ($num_recurring_expenses) { ?>
<span class="right badge text-light" data-toggle="tooltip" title="Recurring Expenses"><?= $num_recurring_expenses ?></span>
<span class="right badge text-light" data-bs-toggle="tooltip" title="Recurring Expenses"><?= $num_recurring_expenses ?></span>
<?php } ?>
</p>
</a>
@@ -194,7 +194,7 @@
<a href="/agent/reports/" class="nav-link">
<i class="fas fa-chart-line nav-icon"></i>
<p>Reports</p>
<i class="fas fa-angle-right nav-icon float-right"></i>
<i class="fas fa-angle-right nav-icon float-end"></i>
</a>
</li>
<?php } ?>
@@ -221,7 +221,7 @@
<a href="<?= $custom_link_uri ?>" <?= $target ?> class="nav-link <?php if (basename($_SERVER["PHP_SELF"]) == basename($custom_link_uri)) { echo "active"; } ?>">
<i class="fas fa-<?= $custom_link_icon ?> nav-icon"></i>
<p><?= $custom_link_name ?></p>
<i class="fas fa-angle-right nav-icon float-right"></i>
<i class="fas fa-angle-right nav-icon float-end"></i>
</a>
</li>

View File

@@ -163,25 +163,25 @@ $summary_total_income = floatval($row['total_income']);
<div class="card card-dark">
<div class="card-header py-2">
<h3 class="card-title mt-2"><i class="fas fa-fw fa-hand-holding-usd mr-2"></i>Income</h3>
<h3 class="card-title mt-2"><i class="fas fa-fw fa-hand-holding-usd me-2"></i>Income</h3>
<div class="card-tools">
<?php if (lookupUserPermission("module_sales") >= 2) { ?>
<div class="btn-group">
<button type="button" class="btn btn-primary ajax-modal" data-modal-url="modals/revenue/revenue_add.php" data-modal-size="lg">
<i class="fas fa-plus mr-2"></i>New Revenue
<i class="fas fa-plus me-2"></i>New Revenue
</button>
<button type="button" class="btn btn-primary dropdown-toggle dropdown-toggle-split" data-toggle="dropdown"></button>
<button type="button" class="btn btn-primary dropdown-toggle dropdown-toggle-split" data-bs-toggle="dropdown"></button>
<div class="dropdown-menu">
<a class="dropdown-item text-dark ajax-modal" href="#"
data-modal-url="modals/income/income_export.php?<?= $client_url ?>type=<?= urlencode($type_filter) ?>&category=<?= $category_filter ?>&account=<?= $account_filter ?>&method=<?= urlencode($_GET['method'] ?? '') ?>&dtf=<?= $dtf ?>&dtt=<?= $dtt ?>&q=<?= urlencode($q ?? '') ?>">
<i class="fa fa-fw fa-download mr-2"></i>Export
<i class="fa fa-fw fa-download me-2"></i>Export
</a>
</div>
</div>
<?php } else { ?>
<button type="button" class="btn btn-default ajax-modal"
data-modal-url="modals/income/income_export.php?<?= $client_url ?>type=<?= urlencode($type_filter) ?>&category=<?= $category_filter ?>&account=<?= $account_filter ?>&method=<?= urlencode($_GET['method'] ?? '') ?>&dtf=<?= $dtf ?>&dtt=<?= $dtt ?>&q=<?= urlencode($q ?? '') ?>">
<i class="fa fa-fw fa-download mr-2"></i>Export
<i class="fa fa-fw fa-download me-2"></i>Export
</button>
<?php } ?>
</div>
@@ -196,10 +196,8 @@ $summary_total_income = floatval($row['total_income']);
<div class="col-sm-4">
<div class="input-group mb-3 mb-sm-0">
<input type="search" class="form-control" name="q" value="<?php if (isset($q)) { echo stripslashes(escapeHtml($q)); } ?>" placeholder="Search Income">
<div class="input-group-append">
<button class="btn btn-secondary" type="button" data-toggle="collapse" data-target="#advancedFilter"><i class="fas fa-filter"></i></button>
<button class="btn btn-secondary" type="button" data-bs-toggle="collapse" data-bs-target="#advancedFilter"><i class="fas fa-filter"></i></button>
<button class="btn btn-primary"><i class="fa fa-search"></i></button>
</div>
</div>
</div>
<div class="col-md-2">
@@ -282,28 +280,28 @@ $summary_total_income = floatval($row['total_income']);
<?php if (lookupUserPermission("module_sales") >= 3 && lookupUserPermission("module_financial") >= 3) { ?>
<div class="row">
<div class="col-12">
<div class="btn-group float-right">
<div class="btn-group float-end">
<div class="dropdown mt-3" id="bulkActionButton" hidden>
<button class="btn btn-secondary dropdown-toggle" type="button" data-toggle="dropdown">
<i class="fas fa-fw fa-layer-group mr-2"></i>Bulk Action (<span id="selectedCount">0</span>)
<button class="btn btn-secondary dropdown-toggle" type="button" data-bs-toggle="dropdown">
<i class="fas fa-fw fa-layer-group me-2"></i>Bulk Action (<span id="selectedCount">0</span>)
</button>
<div class="dropdown-menu">
<a class="dropdown-item ajax-modal" href="#"
data-modal-url="modals/income/income_bulk_edit_category.php"
data-bulk="true">
<i class="fas fa-fw fa-list mr-2"></i>Set Category
<i class="fas fa-fw fa-list me-2"></i>Set Category
</a>
<div class="dropdown-divider"></div>
<a class="dropdown-item ajax-modal" href="#"
data-modal-url="modals/income/income_bulk_edit_account.php"
data-bulk="true">
<i class="fas fa-fw fa-piggy-bank mr-2"></i>Set Account
<i class="fas fa-fw fa-piggy-bank me-2"></i>Set Account
</a>
<div class="dropdown-divider"></div>
<a class="dropdown-item ajax-modal" href="#"
data-modal-url="modals/income/income_bulk_edit_method.php"
data-bulk="true">
<i class="fas fa-fw fa-money-check-alt mr-2"></i>Set Payment Method
<i class="fas fa-fw fa-money-check-alt me-2"></i>Set Payment Method
</a>
</div>
</div>
@@ -314,7 +312,7 @@ $summary_total_income = floatval($row['total_income']);
<div class="collapse mt-3 <?php if (isset($_GET['dtf']) && $_GET['dtf'] !== '1970-01-01') { echo "show"; } ?>" id="advancedFilter">
<div class="row">
<div class="col-md-3">
<div class="form-group">
<div class="mb-3">
<label>Date range</label>
<input type="text" id="dateFilter" class="form-control" autocomplete="off">
<input type="hidden" name="canned_date" id="canned_date" value="<?= escapeHtml($_GET['canned_date'] ?? '') ?>">
@@ -409,7 +407,7 @@ $summary_total_income = floatval($row['total_income']);
</a>
</th>
<?php } ?>
<th class="text-right">
<th class="text-end">
<a class="text-dark" href="?<?= $url_query_strings_sort ?>&sort=income_amount&order=<?= $disp ?>">
Amount <?php if ($sort == 'income_amount') { echo $order_icon; } ?>
</a>
@@ -465,11 +463,11 @@ $summary_total_income = floatval($row['total_income']);
if ($income_type == 'Payment') {
$income_edit_modal = "modals/payment/payment_edit.php?id=$income_id";
$income_delete_action = "delete_payment=$income_id";
$income_type_badge = "badge-primary";
$income_type_badge = "bg-primary";
} else {
$income_edit_modal = "modals/revenue/revenue_edit.php?id=$income_id";
$income_delete_action = "delete_revenue=$income_id";
$income_type_badge = "badge-info";
$income_type_badge = "bg-info";
}
?>
@@ -509,25 +507,25 @@ $summary_total_income = floatval($row['total_income']);
<?php } ?>
</td>
<?php } ?>
<td class="text-right text-monospace"><?= numfmt_format_currency($currency_format, $income_amount, $income_currency_code) ?></td>
<td class="text-end font-monospace"><?= numfmt_format_currency($currency_format, $income_amount, $income_currency_code) ?></td>
<td><?= $income_method ?></td>
<td><?= $income_reference_display ?></td>
<td><?= "$income_account_archived_display$income_account" ?></td>
<td>
<?php if (lookupUserPermission("module_sales") >= 3) { ?>
<div class="dropdown dropleft text-center">
<button class="btn btn-secondary btn-sm" type="button" data-toggle="dropdown">
<div class="dropdown dropstart text-center">
<button class="btn btn-secondary btn-sm" type="button" data-bs-toggle="dropdown">
<i class="fas fa-ellipsis-h"></i>
</button>
<div class="dropdown-menu">
<a class="dropdown-item ajax-modal" href="#"
data-modal-size = "lg"
data-modal-url = "<?= $income_edit_modal ?>">
<i class="fas fa-fw fa-edit mr-2"></i>Edit
<i class="fas fa-fw fa-edit me-2"></i>Edit
</a>
<div class="dropdown-divider"></div>
<a class="dropdown-item text-danger text-bold confirm-link" href="post.php?<?= $income_delete_action ?>&csrf_token=<?= $_SESSION['csrf_token'] ?>">
<i class="fas fa-fw fa-trash mr-2"></i>Delete
<i class="fas fa-fw fa-trash me-2"></i>Delete
</a>
</div>
</div>

View File

@@ -37,7 +37,7 @@ if (isset($_GET['invoice_id'])) {
} else {
$backlink_append = '';
}
echo "<h1 class='text-secondary pt-5' style='text-align: center'>There is no Invoice here<br><small><a href='invoices.php$backlink_append'><i class='fas fa-arrow-left mr-2'></i>Back to Invoices</a></small></h1>";
echo "<h1 class='text-secondary pt-5' style='text-align: center'>There is no Invoice here<br><small><a href='invoices.php$backlink_append'><i class='fas fa-arrow-left me-2'></i>Back to Invoices</a></small></h1>";
require_once "../includes/footer.php";
exit();
@@ -216,7 +216,7 @@ if (isset($_GET['invoice_id'])) {
</li>
<li class="breadcrumb-item active"><?= "$invoice_prefix$invoice_number" ?></li>
<?php if (isset($invoice_overdue)) { ?>
<span class="p-2 ml-2 badge badge-danger"><?= $invoice_overdue ?></span>
<span class="p-2 ms-2 badge bg-danger"><?= $invoice_overdue ?></span>
<?php } ?>
</ol>
@@ -230,18 +230,18 @@ if (isset($_GET['invoice_id'])) {
<?php if (lookupUserPermission("module_sales") >= 2) { ?>
<?php if ($invoice_status == 'Draft') { ?>
<button class="btn btn-primary dropdown-toggle" type="button" data-toggle="dropdown">
<i class="fas fa-fw fa-paper-plane mr-2"></i>Send
<button class="btn btn-primary dropdown-toggle" type="button" data-bs-toggle="dropdown">
<i class="fas fa-fw fa-paper-plane me-2"></i>Send
</button>
<div class="dropdown-menu">
<?php if (!empty($config_smtp_provider) && !empty($contact_email)) { ?>
<a class="dropdown-item" href="post.php?email_invoice=<?= $invoice_id ?>&csrf_token=<?= $_SESSION['csrf_token'] ?>">
<i class="fas fa-fw fa-paper-plane mr-2"></i>Send Email
<i class="fas fa-fw fa-paper-plane me-2"></i>Send Email
</a>
<div class="dropdown-divider"></div>
<?php } ?>
<a class="dropdown-item" href="post.php?mark_invoice_sent=<?= $invoice_id ?>&csrf_token=<?= $_SESSION['csrf_token'] ?>">
<i class="fas fa-fw fa-check mr-2"></i>Mark Sent
<i class="fas fa-fw fa-check me-2"></i>Mark Sent
</a>
</div>
<?php } ?>
@@ -249,12 +249,12 @@ if (isset($_GET['invoice_id'])) {
<?php if ($invoice_status !== 'Paid' && $invoice_status !== 'Cancelled' && $invoice_status !== 'Draft' && $invoice_status !== 'Non-Billable' && $invoice_amount != 0) { ?>
<div class="btn-group">
<button type="button" class="btn btn-success ajax-modal" data-modal-url="modals/payment/payment_add.php?id=<?= $invoice_id ?>"><i class="fa fa-fw fa-credit-card mr-2"></i>Add Payment</button>
<button type="button" class="btn btn-success ajax-modal" data-modal-url="modals/payment/payment_add.php?id=<?= $invoice_id ?>"><i class="fa fa-fw fa-credit-card me-2"></i>Add Payment</button>
<?php if (mysqli_num_rows($sql_saved_payment_methods) > 0 && ($invoice_status === 'Sent' || $invoice_status === 'Viewed')) { ?>
<button type="button" class="btn btn-success dropdown-toggle dropdown-toggle-split" data-toggle="dropdown"></button>
<button type="button" class="btn btn-success dropdown-toggle dropdown-toggle-split" data-bs-toggle="dropdown"></button>
<div class="dropdown-menu">
<a class="dropdown-item ajax-modal" href="#" data-modal-url="modals/payment/payment_saved_method_add.php?id=<?= $invoice_id ?>"><i class="fas fa-fw fa-wallet mr-2"></i>Pay with Saved Card</a>
<a class="dropdown-item ajax-modal" href="#" data-modal-url="modals/payment/payment_saved_method_add.php?id=<?= $invoice_id ?>"><i class="fas fa-fw fa-wallet me-2"></i>Pay with Saved Card</a>
</div>
<?php } ?>
@@ -273,50 +273,50 @@ if (isset($_GET['invoice_id'])) {
<div class="col-4">
<div class="dropdown dropleft text-center float-right">
<button class="btn btn-secondary" type="button" data-toggle="dropdown">
<div class="dropdown dropstart text-center float-end">
<button class="btn btn-secondary" type="button" data-bs-toggle="dropdown">
<i class="fas fa-ellipsis-v"></i>
</button>
<div class="dropdown-menu">
<a class="dropdown-item ajax-modal" href="#"
data-modal-url="modals/invoice/invoice_edit.php?id=<?= $invoice_id ?>">
<i class="fa fa-fw fa-edit text-secondary mr-2"></i>Edit
<i class="fa fa-fw fa-edit text-secondary me-2"></i>Edit
</a>
<a class="dropdown-item ajax-modal" href="#"
data-modal-url="modals/invoice/invoice_copy.php?id=<?= $invoice_id ?>">
<i class="fa fa-fw fa-copy text-secondary mr-2"></i>Copy
<i class="fa fa-fw fa-copy text-secondary me-2"></i>Copy
</a>
<a class="dropdown-item ajax-modal" href="#"
data-modal-url="modals/invoice/invoice_recurring_add.php?invoice_id=<?= $invoice_id ?>">
<i class="fa fa-fw fa-sync-alt text-secondary mr-2"></i>Recurring
<i class="fa fa-fw fa-sync-alt text-secondary me-2"></i>Recurring
</a>
<div class="dropdown-divider"></div>
<a class="dropdown-item" href="#" onclick="window.print();">
<i class="fa fa-fw fa-print text-secondary mr-2"></i>Print
<i class="fa fa-fw fa-print text-secondary me-2"></i>Print
</a>
<a class="dropdown-item" href="post.php?export_invoice_pdf=<?= $invoice_id ?>&csrf_token=<?= $_SESSION['csrf_token'] ?>" target="_blank">
<i class="fa fa-fw fa-download text-secondary mr-2"></i>Download PDF
<i class="fa fa-fw fa-download text-secondary me-2"></i>Download PDF
</a>
<a class="dropdown-item" href="post.php?export_invoice_packing_slip=<?= $invoice_id ?>&csrf_token=<?= $_SESSION['csrf_token'] ?>" target="_blank">
<i class="fa fa-fw fa-box-open text-secondary mr-2"></i>Packing Slip
<i class="fa fa-fw fa-box-open text-secondary me-2"></i>Packing Slip
</a>
<?php if (!empty($config_smtp_provider) && !empty($contact_email)) { ?>
<a class="dropdown-item" href="post.php?email_invoice=<?= $invoice_id ?>&csrf_token=<?= $_SESSION['csrf_token'] ?>">
<i class="fa fa-fw fa-paper-plane text-secondary mr-2"></i>Send Email
<i class="fa fa-fw fa-paper-plane text-secondary me-2"></i>Send Email
</a>
<?php } ?>
<a class="dropdown-item clipboardjs" href="#" data-clipboard-text="https://<?= $config_base_url ?>/guest/guest_view_invoice.php?invoice_id=<?= "$invoice_id&url_key=$invoice_url_key" ?>">
<i class="fa fa-fw fa-copy text-secondary mr-2"></i>Copy Guest URL
<i class="fa fa-fw fa-copy text-secondary me-2"></i>Copy Guest URL
</a>
<?php if ($invoice_status !== 'Cancelled' && $invoice_status !== 'Paid' && $invoice_status !== 'Non-Billable') { ?>
<div class="dropdown-divider"></div>
<a class="dropdown-item text-danger text-bold confirm-link" href="post.php?cancel_invoice=<?= $invoice_id ?>&csrf_token=<?= $_SESSION['csrf_token'] ?>">
<i class="fa fa-fw fa-times mr-2"></i>Cancel
<i class="fa fa-fw fa-times me-2"></i>Cancel
</a>
<?php } ?>
<div class="dropdown-divider"></div>
<a class="dropdown-item text-danger text-bold confirm-link" href="post.php?delete_invoice=<?= $invoice_id ?>&csrf_token=<?= $_SESSION['csrf_token'] ?>">
<i class="fas fa-fw fa-trash mr-2"></i>Delete
<i class="fas fa-fw fa-trash me-2"></i>Delete
</a>
</div>
</div>
@@ -348,22 +348,22 @@ if (isset($_GET['invoice_id'])) {
</div>
<div class="col-sm-4">
<h3 class="text-right"><strong>INVOICE</strong></h3>
<h5 class="badge badge-<?= $invoice_badge_color ?> p-2 float-right">
<h3 class="text-end"><strong>INVOICE</strong></h3>
<h5 class="badge badge-<?= $invoice_badge_color ?> p-2 float-end">
<?= "$invoice_status" ?>
</h5>
<table class="table table-sm table-borderless">
<tr>
<th>Invoice #:</th>
<td class="text-right"><?= "$invoice_prefix$invoice_number" ?></td>
<td class="text-end"><?= "$invoice_prefix$invoice_number" ?></td>
</tr>
<tr>
<th>Date:</th>
<td class="text-right"><?= $invoice_date ?></td>
<td class="text-end"><?= $invoice_date ?></td>
</tr>
<tr>
<th>Due:</th>
<td class="text-right"><?= $invoice_due ?></td>
<td class="text-end"><?= $invoice_due ?></td>
</tr>
</table>
</div>
@@ -394,9 +394,9 @@ if (isset($_GET['invoice_id'])) {
<th>Item</th>
<th>Description</th>
<th class="text-center">Qty</th>
<th class="text-right">Unit Price</th>
<th class="text-right">Tax</th>
<th class="text-right">Amount</th>
<th class="text-end">Unit Price</th>
<th class="text-end">Tax</th>
<th class="text-end">Amount</th>
</tr>
</thead>
<tbody>
@@ -429,16 +429,16 @@ if (isset($_GET['invoice_id'])) {
</button>
<div class="dropdown">
<button class="btn btn-sm btn-light" type="button" data-toggle="dropdown">
<button class="btn btn-sm btn-light" type="button" data-bs-toggle="dropdown">
<i class="fas fa-ellipsis-v"></i>
</button>
<div class="dropdown-menu">
<a class="dropdown-item ajax-modal" href="#"
data-modal-url="modals/invoice/invoice_item_edit.php?id=<?= $item_id ?>">
<i class="fa fa-fw fa-edit mr-2"></i>Edit
<i class="fa fa-fw fa-edit me-2"></i>Edit
</a>
<div class="dropdown-divider"></div>
<a class="dropdown-item text-danger confirm-link" href="post.php?delete_invoice_item=<?= $item_id ?>&csrf_token=<?= $_SESSION['csrf_token'] ?>"><i class="fa fa-fw fa-trash mr-2"></i>Delete</a>
<a class="dropdown-item text-danger confirm-link" href="post.php?delete_invoice_item=<?= $item_id ?>&csrf_token=<?= $_SESSION['csrf_token'] ?>"><i class="fa fa-fw fa-trash me-2"></i>Delete</a>
</div>
</div>
</div>
@@ -448,9 +448,9 @@ if (isset($_GET['invoice_id'])) {
<td><?= $item_name ?></td>
<td><?= nl2br($item_description) ?></td>
<td class="text-center"><?= number_format($item_quantity, 2) ?></td>
<td class="text-right"><?= numfmt_format_currency($currency_format, $item_price, $invoice_currency_code) ?></td>
<td class="text-right"><?= numfmt_format_currency($currency_format, $item_tax, $invoice_currency_code) ?></td>
<td class="text-right"><?= numfmt_format_currency($currency_format, $item_total, $invoice_currency_code) ?></td>
<td class="text-end"><?= numfmt_format_currency($currency_format, $item_price, $invoice_currency_code) ?></td>
<td class="text-end"><?= numfmt_format_currency($currency_format, $item_tax, $invoice_currency_code) ?></td>
<td class="text-end"><?= numfmt_format_currency($currency_format, $item_total, $invoice_currency_code) ?></td>
</tr>
<?php
}
@@ -509,7 +509,7 @@ if (isset($_GET['invoice_id'])) {
<div class="card-header text-bold">
Notes:
<div class="card-tools d-print-none">
<a href="#" class="btn btn-light btn-tool" data-toggle="modal" data-target="#invoiceNoteModal">
<a href="#" class="btn btn-light btn-tool" data-bs-toggle="modal" data-bs-target="#invoiceNoteModal">
<i class="fas fa-edit"></i>
</a>
</div>
@@ -525,14 +525,14 @@ if (isset($_GET['invoice_id'])) {
<tr>
<td>Subtotal:</td>
<td class="text-right"><?= numfmt_format_currency($currency_format, $sub_total, $invoice_currency_code) ?></td>
<td class="text-end"><?= numfmt_format_currency($currency_format, $sub_total, $invoice_currency_code) ?></td>
</tr>
<?php
if ($invoice_discount > 0) {
?>
<tr>
<td>Discount:</td>
<td class="text-right">-<?= numfmt_format_currency($currency_format, $invoice_discount, $invoice_currency_code) ?></td>
<td class="text-end">-<?= numfmt_format_currency($currency_format, $invoice_discount, $invoice_currency_code) ?></td>
</tr>
<?php
}
@@ -542,7 +542,7 @@ if (isset($_GET['invoice_id'])) {
?>
<tr>
<td>Credit:</td>
<td class="text-right">-<?= numfmt_format_currency($currency_format, $invoice_credit, $invoice_currency_code) ?></td>
<td class="text-end">-<?= numfmt_format_currency($currency_format, $invoice_credit, $invoice_currency_code) ?></td>
</tr>
<?php
}
@@ -550,24 +550,24 @@ if (isset($_GET['invoice_id'])) {
<?php if ($total_tax > 0) { ?>
<tr>
<td>Tax:</td>
<td class="text-right"><?= numfmt_format_currency($currency_format, $total_tax, $invoice_currency_code) ?></td>
<td class="text-end"><?= numfmt_format_currency($currency_format, $total_tax, $invoice_currency_code) ?></td>
</tr>
<?php } ?>
<tr>
<td>Total:</td>
<td class="text-right"><?= numfmt_format_currency($currency_format, $invoice_amount, $invoice_currency_code) ?></td>
<td class="text-end"><?= numfmt_format_currency($currency_format, $invoice_amount, $invoice_currency_code) ?></td>
</tr>
<?php
if ($amount_paid > 0) { ?>
<tr>
<td><div class="text-success">Paid:</div></td>
<td class="text-right text-success"><?= numfmt_format_currency($currency_format, $amount_paid, $invoice_currency_code) ?></td>
<td class="text-end text-success"><?= numfmt_format_currency($currency_format, $amount_paid, $invoice_currency_code) ?></td>
</tr>
<?php } ?>
<tr class="h5 text-bold">
<td>Balance:</td>
<td class="text-right"><?= numfmt_format_currency($currency_format, $balance, $invoice_currency_code) ?></td>
<td class="text-end"><?= numfmt_format_currency($currency_format, $balance, $invoice_currency_code) ?></td>
</tr>
</tbody>
</table>
@@ -581,12 +581,12 @@ if (isset($_GET['invoice_id'])) {
<div class="col-sm">
<div class="card">
<div class="card-header text-bold">
<i class="fa fa-history mr-2"></i>History
<i class="fa fa-history me-2"></i>History
<div class="card-tools">
<button type="button" class="btn btn-tool" data-card-widget="collapse">
<button type="button" class="btn btn-tool" data-lte-toggle="card-collapse">
<i class="fas fa-minus"></i>
</button>
<button type="button" class="btn btn-tool" data-card-widget="remove">
<button type="button" class="btn btn-tool" data-lte-toggle="card-remove">
<i class="fas fa-times"></i>
</button>
</div>
@@ -626,12 +626,12 @@ if (isset($_GET['invoice_id'])) {
<div class="col-sm d-print-none <?php if (mysqli_num_rows($sql_payments) == 0) { echo "d-none"; } ?>">
<div class="card">
<div class="card-header text-bold">
<i class="fa fa-credit-card mr-2"></i>Payments
<i class="fa fa-credit-card me-2"></i>Payments
<div class="card-tools">
<button type="button" class="btn btn-tool" data-card-widget="collapse">
<button type="button" class="btn btn-tool" data-lte-toggle="card-collapse">
<i class="fas fa-minus"></i>
</button>
<button type="button" class="btn btn-tool" data-card-widget="remove">
<button type="button" class="btn btn-tool" data-lte-toggle="card-remove">
<i class="fas fa-times"></i>
</button>
</div>
@@ -642,7 +642,7 @@ if (isset($_GET['invoice_id'])) {
<thead>
<tr>
<th>Date</th>
<th class="text-right">Amount</th>
<th class="text-end">Amount</th>
<th>Reference</th>
<th>Account</th>
<th></th>
@@ -662,7 +662,7 @@ if (isset($_GET['invoice_id'])) {
?>
<tr>
<td><?= $payment_date ?></td>
<td class="text-right"><?= numfmt_format_currency($currency_format, $payment_amount, $payment_currency_code) ?></td>
<td class="text-end"><?= numfmt_format_currency($currency_format, $payment_amount, $payment_currency_code) ?></td>
<td><?= $payment_reference ?></td>
<td><?= $account_name ?></td>
<td class="text-center"><a class="btn btn-light text-danger confirm-link" href="post.php?delete_payment=<?= $payment_id ?>&csrf_token=<?= $_SESSION['csrf_token'] ?>"><i class="fa fa-times"></i></a></td>
@@ -679,10 +679,10 @@ if (isset($_GET['invoice_id'])) {
<div class="col-sm d-print-none <?php if (mysqli_num_rows($sql_tickets) == 0) { echo "d-none"; } ?>">
<div class="card">
<div class="card-header text-bold">
<i class="fa fa-life-ring mr-2"></i>Tickets
<i class="fa fa-life-ring me-2"></i>Tickets
<div class="card-tools">
<?php if (mysqli_num_rows($sql_tickets_billable) > 0) { ?>
<a class="btn btn-tool" href="#" data-toggle="modal" data-target="#addTicketModal">
<a class="btn btn-tool" href="#" data-bs-toggle="modal" data-bs-target="#addTicketModal">
<i class="fas fa-plus"></i>
</a>
<?php } ?>
@@ -691,11 +691,11 @@ if (isset($_GET['invoice_id'])) {
<a class="btn btn-tool" href="tickets.php?client_id=<?= $client_id ?>">
<i class="fas fa-external-link-alt"></i>
</a>
<button type="button" class="btn btn-tool" data-card-widget="collapse">
<button type="button" class="btn btn-tool" data-lte-toggle="card-collapse">
<i class="fas fa-minus"></i>
</button>
<button type="button" class="btn btn-tool" data-card-widget="remove">
<button type="button" class="btn btn-tool" data-lte-toggle="card-remove">
<i class="fas fa-times"></i>
</button>
@@ -709,7 +709,7 @@ if (isset($_GET['invoice_id'])) {
<tr>
<th>Date</th>
<th>Subject</th>
<th class="text-right">Time Worked</th>
<th class="text-end">Time Worked</th>
</tr>
</thead>
<tbody>
@@ -725,7 +725,7 @@ if (isset($_GET['invoice_id'])) {
<tr>
<td><?= $ticket_created_at ?></td>
<td><?= $ticket_subject ?></td>
<td class="text-right"><?= $ticket_total_time_worked ?></td>
<td class="text-end"><?= $ticket_total_time_worked ?></td>
</tr>
<?php
}
@@ -799,18 +799,18 @@ $(function() {
var infoLeft =
"<div class='d-flex justify-content-between align-items-start'>" +
"<div class='flex-fill pr-2'>" +
"<div class='font-weight-bold'>" + esc(item.label) +
"<div class='flex-fill pe-2'>" +
"<div class='fw-bold'>" + esc(item.label) +
(typeText ? " <small class='text-muted'>(" + esc(typeText) + ")</small>" : "") +
"</div>" +
"<div class='small text-muted'>" + esc(item.description) + "</div>" +
"<div class='mt-1'>" +
"<span class='badge badge-secondary mr-1'>Tax: " + esc(taxText) + "</span>" +
(showStock ? "<span class='badge " + (stockText > 0 ? "badge-success" : "badge-danger") + "'>Stock: " + esc(stockText) + "</span>" : "") +
"<span class='badge bg-secondary me-1'>Tax: " + esc(taxText) + "</span>" +
(showStock ? "<span class='badge " + (stockText > 0 ? "bg-success" : "bg-danger") + "'>Stock: " + esc(stockText) + "</span>" : "") +
"</div>" +
"</div>" +
"<div class='text-right'>" +
"<div class='font-weight-bold'>" + esc(priceText) + "</div>" +
"<div class='text-end'>" +
"<div class='fw-bold'>" + esc(priceText) + "</div>" +
"</div>" +
"</div>";

View File

@@ -163,20 +163,20 @@ $num_rows = mysqli_fetch_row(mysqli_query($mysqli, "SELECT FOUND_ROWS()"));
<div class="card card-dark">
<div class="card-header py-2">
<h3 class="card-title mt-2"><i class="fa fa-fw fa-file-invoice mr-2"></i>Invoices</h3>
<h3 class="card-title mt-2"><i class="fa fa-fw fa-file-invoice me-2"></i>Invoices</h3>
<div class="card-tools">
<div class="btn-group">
<?php if (lookupUserPermission("module_sales") >= 2) { ?>
<button type="button" class="btn btn-primary ajax-modal"
data-modal-url="modals/invoice/invoice_add.php?<?= $client_url ?>">
<i class="fas fa-plus mr-2"></i>New Invoice
<i class="fas fa-plus me-2"></i>New Invoice
</button>
<?php } ?>
<button type="button" class="btn btn-primary dropdown-toggle dropdown-toggle-split" data-toggle="dropdown"></button>
<button type="button" class="btn btn-primary dropdown-toggle dropdown-toggle-split" data-bs-toggle="dropdown"></button>
<div class="dropdown-menu">
<a class="dropdown-item text-dark ajax-modal" href="#"
data-modal-url="<?= buildExportModalUrl('modals/invoice/invoice_export.php', ['client_id', 'status', 'category', 'q'], ['dtf' => $dtf, 'dtt' => $dtt]) ?>">
<i class="fa fa-fw fa-download mr-2"></i>Export
<i class="fa fa-fw fa-download me-2"></i>Export
</a>
</div>
</div>
@@ -191,18 +191,16 @@ $num_rows = mysqli_fetch_row(mysqli_query($mysqli, "SELECT FOUND_ROWS()"));
<?php } ?>
<div class="row">
<div class="col-sm-4">
<div class="form-group mb-md-0">
<div class="mb-3 mb-md-0">
<div class="input-group">
<input type="search" class="form-control" name="q" value="<?php if (isset($q)) {echo stripslashes(escapeHtml($q));} ?>" placeholder="Search Invoices">
<div class="input-group-append">
<button class="btn btn-secondary" type="button" data-toggle="collapse" data-target="#advancedFilter"><i class="fas fa-filter"></i></button>
<button class="btn btn-secondary" type="button" data-bs-toggle="collapse" data-bs-target="#advancedFilter"><i class="fas fa-filter"></i></button>
<button class="btn btn-primary"><i class="fa fa-search"></i></button>
</div>
</div>
</div>
</div>
<div class="col-sm-3">
<div class="form-group mb-md-0">
<div class="mb-3 mb-md-0">
<select class="form-control select2" name="category" onchange="this.form.submit()">
<option value="">- All Categories -</option>
@@ -221,23 +219,23 @@ $num_rows = mysqli_fetch_row(mysqli_query($mysqli, "SELECT FOUND_ROWS()"));
</div>
</div>
<div class="col-md-5">
<div class="btn-group float-right">
<div class="dropdown ml-2" id="bulkActionButton" hidden>
<button class="btn btn-secondary dropdown-toggle" type="button" data-toggle="dropdown">
<i class="fas fa-fw fa-layer-group mr-2"></i>Bulk Action (<span id="selectedCount">0</span>)
<div class="btn-group float-end">
<div class="dropdown ms-2" id="bulkActionButton" hidden>
<button class="btn btn-secondary dropdown-toggle" type="button" data-bs-toggle="dropdown">
<i class="fas fa-fw fa-layer-group me-2"></i>Bulk Action (<span id="selectedCount">0</span>)
</button>
<div class="dropdown-menu">
<?php if ($client_url && $balance > 0) { ?>
<a class="dropdown-item ajax-modal" href="#"
data-modal-url="modals/payment/payment_bulk_add.php?<?= $client_url ?>">
<i class="fa fa-credit-card mr-2"></i>Batch Payment
<i class="fa fa-credit-card me-2"></i>Batch Payment
</a>
<div class="dropdown-divider"></div>
<?php } ?>
<a class="dropdown-item ajax-modal" href="#"
data-modal-url="modals/invoice/invoice_bulk_edit_category.php"
data-bulk="true">
<i class="fas fa-fw fa-list-ul mr-2"></i>Set Category
<i class="fas fa-fw fa-list-ul me-2"></i>Set Category
</a>
</div>
</div>
@@ -247,7 +245,7 @@ $num_rows = mysqli_fetch_row(mysqli_query($mysqli, "SELECT FOUND_ROWS()"));
<div class="collapse mt-3 <?php if (isset($_GET['dtf']) && $_GET['dtf'] !== '1970-01-01') { echo "show"; } ?>" id="advancedFilter">
<div class="row">
<div class="col-md-3">
<div class="form-group">
<div class="mb-3">
<label>Date range</label>
<input type="text" id="dateFilter" class="form-control" autocomplete="off">
<input type="hidden" name="canned_date" id="canned_date" value="<?= escapeHtml($_GET['canned_date']) ?? '' ?>">
@@ -287,7 +285,7 @@ $num_rows = mysqli_fetch_row(mysqli_query($mysqli, "SELECT FOUND_ROWS()"));
</a>
</th>
<?php } ?>
<th class="text-right">
<th class="text-end">
<a class="text-dark" href="?<?= $url_query_strings_sort ?>&sort=invoice_amount&order=<?= $disp ?>">
Amount <?php if ($sort == 'invoice_amount') { echo $order_icon; } ?>
</a>
@@ -349,7 +347,7 @@ $num_rows = mysqli_fetch_row(mysqli_query($mysqli, "SELECT FOUND_ROWS()"));
$recurring_invoice_prefix = escapeHtml($row['recurring_invoice_prefix']);
$recurring_invoice_number = escapeHtml($row['recurring_invoice_number']);
if($recurring_invoice_id) {
$recurring_invoice_display = "<i class='fas fa-fw fa-redo-alt text-secondary mr-1'></i><a href='recurring_invoice.php?recurring_invoice_id=$recurring_invoice_id'>$recurring_invoice_prefix$recurring_invoice_number</a>";
$recurring_invoice_display = "<i class='fas fa-fw fa-redo-alt text-secondary me-1'></i><a href='recurring_invoice.php?recurring_invoice_id=$recurring_invoice_id'>$recurring_invoice_prefix$recurring_invoice_number</a>";
} else {
$recurring_invoice_display = "-";
}
@@ -357,7 +355,7 @@ $num_rows = mysqli_fetch_row(mysqli_query($mysqli, "SELECT FOUND_ROWS()"));
$now = time();
if (($invoice_status == "Sent" || $invoice_status == "Partial" || $invoice_status == "Viewed") && strtotime($invoice_due) + 86400 < $now) {
$overdue_color = "text-danger font-weight-bold";
$overdue_color = "text-danger fw-bold";
} else {
$overdue_color = "";
}
@@ -390,7 +388,7 @@ $num_rows = mysqli_fetch_row(mysqli_query($mysqli, "SELECT FOUND_ROWS()"));
<?php if (!$client_url) { ?>
<td class="text-bold"><a href="invoices.php?client_id=<?= $client_id ?>"><?= $client_name ?></a></td>
<?php } ?>
<td class="text-right text-monospace"><?= numfmt_format_currency($currency_format, $invoice_amount, $invoice_currency_code) ?></td>
<td class="text-end font-monospace"><?= numfmt_format_currency($currency_format, $invoice_amount, $invoice_currency_code) ?></td>
<td><?= $invoice_date ?></td>
<td class="<?= $overdue_color ?>"><?= $invoice_due ?></td>
<td><?= $category_name ?></td>
@@ -410,45 +408,45 @@ $num_rows = mysqli_fetch_row(mysqli_query($mysqli, "SELECT FOUND_ROWS()"));
</td>
<td><?= $recurring_invoice_display ?></td>
<td>
<div class="dropdown dropleft text-center">
<button class="btn btn-secondary btn-sm" type="button" data-toggle="dropdown">
<div class="dropdown dropstart text-center">
<button class="btn btn-secondary btn-sm" type="button" data-bs-toggle="dropdown">
<i class="fas fa-ellipsis-h"></i>
</button>
<div class="dropdown-menu">
<?php if ($invoice_status !== 'Paid' && $invoice_status !== 'Cancelled' && $invoice_status !== 'Draft' && $invoice_status !== 'Non-Billable' && $invoice_amount != 0) { ?>
<a class="dropdown-item ajax-modal" href="#"
data-modal-url="modals/payment/payment_add.php?id=<?= $invoice_id ?>">
<i class="fa fa-fw fa-credit-card mr-2"></i>Add Payment
<i class="fa fa-fw fa-credit-card me-2"></i>Add Payment
</a>
<div class="dropdown-divider"></div>
<?php if (mysqli_num_rows($sql_saved_payment_methods) > 0 && ($invoice_status === 'Sent' || $invoice_status === 'Viewed')) { ?>
<a class="dropdown-item ajax-modal" href="#" data-modal-url="modals/payment/payment_saved_method_add.php?id=<?= $invoice_id ?>"><i class="fas fa-fw fa-wallet mr-2"></i>Pay with Saved Card</a>
<a class="dropdown-item ajax-modal" href="#" data-modal-url="modals/payment/payment_saved_method_add.php?id=<?= $invoice_id ?>"><i class="fas fa-fw fa-wallet me-2"></i>Pay with Saved Card</a>
<div class="dropdown-divider"></div>
<?php } ?>
<?php } ?>
<a class="dropdown-item ajax-modal" href="#"
data-modal-url="modals/invoice/invoice_edit.php?id=<?= $invoice_id ?>">
<i class="fas fa-fw fa-edit mr-2"></i>Edit
<i class="fas fa-fw fa-edit me-2"></i>Edit
</a>
<a class="dropdown-item ajax-modal" href="#"
data-modal-url="modals/invoice/invoice_copy.php?id=<?= $invoice_id ?>">
<i class="fas fa-fw fa-copy mr-2"></i>Copy
<i class="fas fa-fw fa-copy me-2"></i>Copy
</a>
<div class="dropdown-divider"></div>
<?php if (!empty($config_smtp_provider)) { ?>
<a class="dropdown-item" href="post.php?email_invoice=<?= $invoice_id ?>&csrf_token=<?= $_SESSION['csrf_token'] ?>">
<i class="fas fa-fw fa-paper-plane mr-2"></i>Send Email
<i class="fas fa-fw fa-paper-plane me-2"></i>Send Email
</a>
<div class="dropdown-divider"></div>
<?php } ?>
<?php if ($invoice_status == 'Draft') { ?>
<a class="dropdown-item" href="post.php?mark_invoice_sent=<?= $invoice_id ?>&csrf_token=<?= $_SESSION['csrf_token'] ?>">
<i class="fas fa-fw fa-check mr-2"></i>Mark Sent
<i class="fas fa-fw fa-check me-2"></i>Mark Sent
</a>
<div class="dropdown-divider"></div>
<?php } ?>
<a class="dropdown-item text-danger text-bold confirm-link" href="post.php?delete_invoice=<?= $invoice_id ?>&csrf_token=<?= $_SESSION['csrf_token'] ?>">
<i class="fas fa-fw fa-trash mr-2"></i>Delete
<i class="fas fa-fw fa-trash me-2"></i>Delete
</a>
</div>
</div>

View File

@@ -16,7 +16,7 @@
function buildTaskRow(taskName, taskEstimate) {
const row = document.createElement("div");
row.className = "form-row mb-2 ticket-task-row";
row.className = "row g-2 mb-2 ticket-task-row";
const nameColumn = document.createElement("div");
nameColumn.className = "col-7";
@@ -47,7 +47,7 @@
const removeButton = document.createElement("button");
removeButton.type = "button";
removeButton.className = "btn btn-secondary btn-block ticket-task-remove";
removeButton.className = "btn btn-secondary w-100 ticket-task-remove";
removeButton.title = "Remove task";
removeButton.innerHTML = '<i class="fa fa-fw fa-trash"></i>';
removeColumn.appendChild(removeButton);

View File

@@ -76,23 +76,23 @@ $num_rows = mysqli_fetch_row(mysqli_query($mysqli, "SELECT FOUND_ROWS()"));
<div class="card card-dark">
<div class="card-header py-2">
<h3 class="card-title mt-2"><i class="fa fa-fw fa-map-marker-alt mr-2"></i>Locations</h3>
<h3 class="card-title mt-2"><i class="fa fa-fw fa-map-marker-alt me-2"></i>Locations</h3>
<div class="card-tools">
<div class="btn-group">
<button type="button" class="btn btn-primary ajax-modal" data-modal-url="modals/location/location_add.php?<?= $client_url ?>">
<i class="fas fa-plus mr-2"></i>New Location
<i class="fas fa-plus me-2"></i>New Location
</button>
<button type="button" class="btn btn-primary dropdown-toggle dropdown-toggle-split" data-toggle="dropdown"></button>
<button type="button" class="btn btn-primary dropdown-toggle dropdown-toggle-split" data-bs-toggle="dropdown"></button>
<div class="dropdown-menu">
<a class="dropdown-item text-dark ajax-modal" href="#"
data-modal-url="modals/location/location_import.php?<?= $client_url ?>">
<i class="fa fa-fw fa-upload mr-2"></i>Import
<i class="fa fa-fw fa-upload me-2"></i>Import
</a>
<?php if ($num_rows[0] > 0) { ?>
<div class="dropdown-divider"></div>
<a class="dropdown-item text-dark ajax-modal" href="#"
data-modal-url="<?= buildExportModalUrl('modals/location/location_export.php', ['client_id', 'client', 'tags', 'archived', 'q']) ?>">
<i class="fa fa-fw fa-download mr-2"></i>Export
<i class="fa fa-fw fa-download me-2"></i>Export
</a>
<?php } ?>
</div>
@@ -110,9 +110,7 @@ $num_rows = mysqli_fetch_row(mysqli_query($mysqli, "SELECT FOUND_ROWS()"));
<div class="col-md-4">
<div class="input-group mb-3 mb-md-0">
<input type="search" class="form-control" name="q" value="<?php if (isset($q)) { echo stripslashes(escapeHtml($q)); } ?>" placeholder="Search Locations">
<div class="input-group-append">
<button class="btn btn-dark"><i class="fa fa-search"></i></button>
</div>
</div>
</div>
@@ -172,37 +170,37 @@ $num_rows = mysqli_fetch_row(mysqli_query($mysqli, "SELECT FOUND_ROWS()"));
<?php } ?>
<div class="col-md-3">
<div class="btn-group float-right">
<div class="btn-group float-end">
<a href="?<?= $client_url ?>archived=<?php if($archived == 1){ echo 0; } else { echo 1; } ?>"
class="btn btn-<?php if($archived == 1){ echo "primary"; } else { echo "default"; } ?>">
<i class="fa fa-fw fa-archive mr-2"></i>Archived
<i class="fa fa-fw fa-archive me-2"></i>Archived
</a>
<div class="dropdown ml-2" id="bulkActionButton" hidden>
<button class="btn btn-secondary dropdown-toggle" type="button" data-toggle="dropdown">
<i class="fas fa-fw fa-layer-group mr-2"></i>Bulk Action (<span id="selectedCount">0</span>)
<div class="dropdown ms-2" id="bulkActionButton" hidden>
<button class="btn btn-secondary dropdown-toggle" type="button" data-bs-toggle="dropdown">
<i class="fas fa-fw fa-layer-group me-2"></i>Bulk Action (<span id="selectedCount">0</span>)
</button>
<div class="dropdown-menu">
<a class="dropdown-item ajax-modal" href="#"
data-modal-url="modals/location/location_bulk_assign_tags.php"
data-bulk="true">
<i class="fas fa-fw fa-tags mr-2"></i>Assign Tags
<i class="fas fa-fw fa-tags me-2"></i>Assign Tags
</a>
<?php if ($archived) { ?>
<div class="dropdown-divider"></div>
<button class="dropdown-item text-info"
type="submit" form="bulkActions" name="bulk_restore_locations">
<i class="fas fa-fw fa-redo mr-2"></i>Restore
<i class="fas fa-fw fa-redo me-2"></i>Restore
</button>
<div class="dropdown-divider"></div>
<button class="dropdown-item text-danger text-bold"
type="submit" form="bulkActions" name="bulk_delete_locations">
<i class="fas fa-fw fa-trash mr-2"></i>Delete
<i class="fas fa-fw fa-trash me-2"></i>Delete
</button>
<?php } else { ?>
<div class="dropdown-divider"></div>
<button class="dropdown-item text-danger confirm-link"
type="submit" form="bulkActions" name="bulk_archive_locations">
<i class="fas fa-fw fa-archive mr-2"></i>Archive
<i class="fas fa-fw fa-archive me-2"></i>Archive
</button>
<?php } ?>
</div>
@@ -321,7 +319,7 @@ $num_rows = mysqli_fetch_row(mysqli_query($mysqli, "SELECT FOUND_ROWS()"));
}
$location_tag_id_array[] = $location_tag_id;
$location_tag_name_display_array[] = "<a href='locations.php?$client_url tags[]=$location_tag_id'><span class='badge text-light p-1 mr-1' style='background-color: $location_tag_color;'><i class='fa fa-fw fa-$location_tag_icon mr-2'></i>$location_tag_name</span></a>";
$location_tag_name_display_array[] = "<a href='locations.php?$client_url tags[]=$location_tag_id'><span class='badge text-light p-1 me-1' style='background-color: $location_tag_color;'><i class='fa fa-fw fa-$location_tag_icon me-2'></i>$location_tag_name</span></a>";
}
$location_tags_display = implode('', $location_tag_name_display_array);
@@ -334,9 +332,9 @@ $num_rows = mysqli_fetch_row(mysqli_query($mysqli, "SELECT FOUND_ROWS()"));
</td>
<td>
<a class="text-dark ajax-modal" href="#" data-modal-url="modals/location/location_edit.php?id=<?= $location_id ?>">
<div class="media">
<i class="fa fa-fw fa-2x fa-map-marker-alt mr-2"></i>
<div class="media-body">
<div class="d-flex">
<i class="fa fa-fw fa-2x fa-map-marker-alt me-2"></i>
<div class="flex-grow-1">
<div <?php if($location_primary) { echo "class='text-bold'"; } ?>><?= $location_name ?></div>
<div><small class="text-secondary"><?= $location_description ?></small></div>
<div><?= $location_primary_display ?></div>
@@ -364,30 +362,30 @@ $num_rows = mysqli_fetch_row(mysqli_query($mysqli, "SELECT FOUND_ROWS()"));
<td><a href="locations.php?client_id=<?= $client_id ?>"><?= $client_name ?></a></td>
<?php } ?>
<td>
<div class="dropdown dropleft text-center">
<button class="btn btn-secondary btn-sm" type="button" data-toggle="dropdown">
<div class="dropdown dropstart text-center">
<button class="btn btn-secondary btn-sm" type="button" data-bs-toggle="dropdown">
<i class="fas fa-ellipsis-h"></i>
</button>
<div class="dropdown-menu">
<a class="dropdown-item ajax-modal" href="#" data-modal-url="modals/location/location_edit.php?id=<?= $location_id ?>">
<i class="fas fa-fw fa-edit mr-2"></i>Edit
<i class="fas fa-fw fa-edit me-2"></i>Edit
</a>
<?php if ($session_user_role == 3 && $location_primary == 0) { ?>
<?php if ($location_archived_at) { ?>
<div class="dropdown-divider"></div>
<a class="dropdown-item text-info confirm-link" href="post.php?restore_location=<?= $location_id ?>&csrf_token=<?= $_SESSION['csrf_token'] ?>">
<i class="fas fa-fw fa-redo mr-2"></i>Restore
<i class="fas fa-fw fa-redo me-2"></i>Restore
</a>
<?php if ($config_destructive_deletes_enable) { ?>
<div class="dropdown-divider"></div>
<a class="dropdown-item text-danger text-bold confirm-link" href="post.php?delete_location=<?= $location_id ?>&csrf_token=<?= $_SESSION['csrf_token'] ?>">
<i class="fas fa-fw fa-trash mr-2"></i>Delete
<i class="fas fa-fw fa-trash me-2"></i>Delete
</a>
<?php } ?>
<?php } else { ?>
<div class="dropdown-divider"></div>
<a class="dropdown-item text-danger confirm-link" href="post.php?archive_location=<?= $location_id ?>&csrf_token=<?= $_SESSION['csrf_token'] ?>">
<i class="fas fa-fw fa-archive mr-2"></i>Archive
<i class="fas fa-fw fa-archive me-2"></i>Archive
</a>
<?php } ?>

View File

@@ -6,42 +6,34 @@ ob_start();
?>
<div class="modal-header bg-dark">
<h5 class="modal-title"><i class="fa fa-fw fa-piggy-bank mr-2"></i>New Account</h5>
<button type="button" class="close text-white" data-dismiss="modal">
<span>&times;</span>
</button>
<h5 class="modal-title"><i class="fa fa-fw fa-piggy-bank me-2"></i>New Account</h5>
<button type="button" class="btn-close btn-close-white" data-bs-dismiss="modal"></button>
</div>
<form action="post.php" method="post" autocomplete="off">
<input type="hidden" name="csrf_token" value="<?= $_SESSION['csrf_token'] ?>">
<div class="modal-body">
<div class="form-group">
<div class="mb-3">
<label>Account Name <strong class="text-danger">*</strong></label>
<div class="input-group">
<div class="input-group-prepend">
<span class="input-group-text"><i class="fa fa-fw fa-piggy-bank"></i></span>
</div>
<input type="text" class="form-control" name="name" placeholder="Account name" maxlength="200" required autofocus>
</div>
</div>
<div class="form-group">
<div class="mb-3">
<label>Opening Balance <strong class="text-danger">*</strong></label>
<div class="input-group">
<div class="input-group-prepend">
<span class="input-group-text"><i class="fa fa-fw fa-dollar-sign"></i></span>
</div>
<input type="text" class="form-control" inputmode="decimal" pattern="-?[0-9]*\.?[0-9]{0,2}" name="opening_balance" placeholder="0.00" required>
</div>
</div>
<div class="form-group">
<div class="mb-3">
<label>Currency <strong class="text-danger">*</strong></label>
<div class="input-group">
<div class="input-group-prepend">
<span class="input-group-text"><i class="fa fa-fw fa-money-bill"></i></span>
</div>
<select class="form-control select2" name="currency_code" required>
<option value="">- Currency -</option>
<?php foreach ($currencies_array as $currency_code => $currency_name) { ?>
@@ -51,15 +43,15 @@ ob_start();
</div>
</div>
<div class="form-group">
<div class="mb-3">
<label>Notes</label>
<textarea class="form-control" rows="5" placeholder="Enter some notes" name="notes"></textarea>
</div>
</div>
<div class="modal-footer">
<button type="submit" name="add_account" class="btn btn-primary text-bold"><i class="fa fa-check mr-2"></i>Create</button>
<button type="button" class="btn btn-light" data-dismiss="modal"><i class="fa fa-times mr-2"></i>Cancel</button>
<button type="submit" name="add_account" class="btn btn-primary text-bold"><i class="fa fa-check me-2"></i>Create</button>
<button type="button" class="btn btn-light" data-bs-dismiss="modal"><i class="fa fa-times me-2"></i>Cancel</button>
</div>
</form>

View File

@@ -17,35 +17,31 @@ ob_start();
?>
<div class="modal-header bg-dark">
<h5 class="modal-title"><i class="fa fa-fw fa-piggy-bank mr-2"></i>Editing account: <strong><?= $account_name ?></strong></h5>
<button type="button" class="close text-light" data-dismiss="modal">
<span>&times;</span>
</button>
<h5 class="modal-title"><i class="fa fa-fw fa-piggy-bank me-2"></i>Editing account: <strong><?= $account_name ?></strong></h5>
<button type="button" class="btn-close btn-close-white" data-bs-dismiss="modal"></button>
</div>
<form action="post.php" method="post" autocomplete="off">
<input type="hidden" name="csrf_token" value="<?= $_SESSION['csrf_token'] ?>">
<input type="hidden" name="account_id" value="<?= $account_id ?>">
<div class="modal-body">
<div class="form-group">
<div class="mb-3">
<label>Account Name <strong class="text-danger">*</strong></label>
<div class="input-group">
<div class="input-group-prepend">
<span class="input-group-text"><i class="fa fa-fw fa-piggy-bank"></i></span>
</div>
<input type="text" class="form-control" name="name" maxlength="200" value="<?= $account_name ?>" required>
</div>
</div>
<div class="form-group">
<div class="mb-3">
<label>Notes</label>
<textarea class="form-control" rows="5" placeholder="Enter some notes" name="notes"><?= $account_notes ?></textarea>
</div>
</div>
<div class="modal-footer">
<button type="submit" name="edit_account" class="btn btn-primary text-bold"><i class="fa fa-check mr-2"></i>Save</button>
<button type="button" class="btn btn-light" data-dismiss="modal"><i class="fa fa-times mr-2"></i>Cancel</button>
<button type="submit" name="edit_account" class="btn btn-primary text-bold"><i class="fa fa-check me-2"></i>Save</button>
<button type="button" class="btn btn-light" data-bs-dismiss="modal"><i class="fa fa-times me-2"></i>Cancel</button>
</div>
</form>

View File

@@ -105,7 +105,7 @@ while ($row = mysqli_fetch_assoc($sql_asset_tags)) {
}
$asset_tag_id_array[] = $asset_tag_id;
$asset_tag_name_display_array[] = "<a href='client_assets.php?client_id=$client_id&q=$asset_tag_name'><span class='badge text-light p-1 mr-1' style='background-color: $asset_tag_color;'><i class='fa fa-fw fa-$asset_tag_icon mr-2'></i>$asset_tag_name</span></a>";
$asset_tag_name_display_array[] = "<a href='client_assets.php?client_id=$client_id&q=$asset_tag_name'><span class='badge text-light p-1 me-1' style='background-color: $asset_tag_color;'><i class='fa fa-fw fa-$asset_tag_icon me-2'></i>$asset_tag_name</span></a>";
}
$asset_tags_display = implode('', $asset_tag_name_display_array);
@@ -257,74 +257,72 @@ ob_start();
?>
<div class="modal-header bg-dark">
<h5 class="modal-title"><i class="fa fa-fw fa-<?= $device_icon ?> mr-2"></i><strong><?= $asset_name ?></strong>
<h5 class="modal-title"><i class="fa fa-fw fa-<?= $device_icon ?> me-2"></i><strong><?= $asset_name ?></strong>
<?php if ($asset_favorite) { ?><i class="fas fa-fw text-warning fa-star" title="Favorite"></i><?php } ?>
</h5>
<button type="button" class="close text-white" data-dismiss="modal">
<span>&times;</span>
</button>
<button type="button" class="btn-close btn-close-white" data-bs-dismiss="modal"></button>
</div>
<div class="modal-body">
<ul class="nav nav-pills nav-justified mb-3">
<li class="nav-item">
<a class="nav-link active" data-toggle="pill" href="#pills-asset-details">
<i class="fas fa-fw fa-<?= $device_icon ?> mr-2"></i>Details
<a class="nav-link active" data-bs-toggle="pill" href="#pills-asset-details">
<i class="fas fa-fw fa-<?= $device_icon ?> me-2"></i>Details
</a>
</li>
<?php if ($interface_count) { ?>
<li class="nav-item">
<a class="nav-link" data-toggle="pill" href="#pills-asset-interfaces">
<i class="fas fa-fw fa-ethernet mr-2"></i>Interfaces (<?= $interface_count ?>)
<a class="nav-link" data-bs-toggle="pill" href="#pills-asset-interfaces">
<i class="fas fa-fw fa-ethernet me-2"></i>Interfaces (<?= $interface_count ?>)
</a>
</li>
<?php } ?>
<?php if ($credential_count) { ?>
<li class="nav-item">
<a class="nav-link" data-toggle="pill" href="#pills-asset-credentials">
<i class="fas fa-fw fa-key mr-2"></i>Credentials (<?= $credential_count ?>)
<a class="nav-link" data-bs-toggle="pill" href="#pills-asset-credentials">
<i class="fas fa-fw fa-key me-2"></i>Credentials (<?= $credential_count ?>)
</a>
</li>
<?php } ?>
<?php if ($ticket_count) { ?>
<li class="nav-item">
<a class="nav-link" data-toggle="pill" href="#pills-asset-tickets">
<i class="fas fa-fw fa-life-ring mr-2"></i>Tickets (<?= $ticket_count ?>)
<a class="nav-link" data-bs-toggle="pill" href="#pills-asset-tickets">
<i class="fas fa-fw fa-life-ring me-2"></i>Tickets (<?= $ticket_count ?>)
</a>
</li>
<?php } ?>
<?php if ($recurring_ticket_count) { ?>
<li class="nav-item">
<a class="nav-link" data-toggle="pill" href="#pills-asset-recurring-tickets">
<i class="fas fa-fw fa-redo-alt mr-2"></i>Recurring Tickets (<?= $recurring_ticket_count ?>)
<a class="nav-link" data-bs-toggle="pill" href="#pills-asset-recurring-tickets">
<i class="fas fa-fw fa-redo-alt me-2"></i>Recurring Tickets (<?= $recurring_ticket_count ?>)
</a>
</li>
<?php } ?>
<?php if ($software_count) { ?>
<li class="nav-item">
<a class="nav-link" data-toggle="pill" href="#pills-asset-licenses">
<i class="fas fa-fw fa-cube mr-2"></i>Licenses (<?= $software_count ?>)
<a class="nav-link" data-bs-toggle="pill" href="#pills-asset-licenses">
<i class="fas fa-fw fa-cube me-2"></i>Licenses (<?= $software_count ?>)
</a>
</li>
<?php } ?>
<?php if ($document_count) { ?>
<li class="nav-item">
<a class="nav-link" data-toggle="pill" href="#pills-asset-documents">
<i class="fas fa-fw fa-file-alt mr-2"></i>Documents (<?= $document_count ?>)
<a class="nav-link" data-bs-toggle="pill" href="#pills-asset-documents">
<i class="fas fa-fw fa-file-alt me-2"></i>Documents (<?= $document_count ?>)
</a>
</li>
<?php } ?>
<?php if ($file_count) { ?>
<li class="nav-item">
<a class="nav-link" data-toggle="pill" href="#pills-asset-files">
<i class="fas fa-fw fa-briefcase mr-2"></i>Files (<?= $file_count ?>)</a>
<a class="nav-link" data-bs-toggle="pill" href="#pills-asset-files">
<i class="fas fa-fw fa-briefcase me-2"></i>Files (<?= $file_count ?>)</a>
</li>
<?php } ?>
<?php if ($note_count) { ?>
<li class="nav-item">
<a class="nav-link" data-toggle="pill" href="#pills-asset-notes">
<i class="fas fa-fw fa-sticky-note mr-2"></i>Notes (<?= $note_count ?>)
<a class="nav-link" data-bs-toggle="pill" href="#pills-asset-notes">
<i class="fas fa-fw fa-sticky-note me-2"></i>Notes (<?= $note_count ?>)
</a>
</li>
<?php } ?>
@@ -337,7 +335,7 @@ ob_start();
<div class="tab-pane fade show active" id="pills-asset-details">
<div class="card">
<div class="card-header">
<h3 class="text-bold"><i class="fa fa-fw text-secondary fa-<?= $device_icon ?> mr-2"></i><?= $asset_name ?>
<h3 class="text-bold"><i class="fa fa-fw text-secondary fa-<?= $device_icon ?> me-2"></i><?= $asset_name ?>
<?php if ($asset_favorite) { ?><i class="fas fa-fw text-warning fa-star" title="Favorite"></i><?php } ?>
</h3>
<?php if ($asset_photo) { ?>
@@ -354,25 +352,25 @@ ob_start();
</div>
<?php } ?>
<?php if ($asset_type) { ?>
<div class="mt-1"><i class="fa fa-fw fa-tag text-secondary mr-2"></i><?= $asset_type ?></div>
<div class="mt-1"><i class="fa fa-fw fa-tag text-secondary me-2"></i><?= $asset_type ?></div>
<?php }
if ($asset_make) { ?>
<div class="mt-2"><i class="fa fa-fw fa-circle text-secondary mr-2"></i><?= "$asset_make $asset_model" ?></div>
<div class="mt-2"><i class="fa fa-fw fa-circle text-secondary me-2"></i><?= "$asset_make $asset_model" ?></div>
<?php }
if ($asset_os) { ?>
<div class="mt-2"><i class="fab fa-fw fa-windows text-secondary mr-2"></i><?= "$asset_os" ?></div>
<div class="mt-2"><i class="fab fa-fw fa-windows text-secondary me-2"></i><?= "$asset_os" ?></div>
<?php }
if ($asset_serial) { ?>
<div class="mt-2"><i class="fa fa-fw fa-barcode text-secondary mr-2"></i><span class="text-monospace"><?= $asset_serial ?></span></div>
<div class="mt-2"><i class="fa fa-fw fa-barcode text-secondary me-2"></i><span class="font-monospace"><?= $asset_serial ?></span></div>
<?php }
if ($asset_purchase_date) { ?>
<div class="mt-2"><i class="fa fa-fw fa-shopping-cart text-secondary mr-2"></i><?= date('Y-m-d', strtotime($asset_purchase_date)) ?></div>
<div class="mt-2"><i class="fa fa-fw fa-shopping-cart text-secondary me-2"></i><?= date('Y-m-d', strtotime($asset_purchase_date)) ?></div>
<?php }
if ($asset_install_date) { ?>
<div class="mt-2"><i class="fa fa-fw fa-calendar-check text-secondary mr-2"></i><?= date('Y-m-d', strtotime($asset_install_date)) ?></div>
<div class="mt-2"><i class="fa fa-fw fa-calendar-check text-secondary me-2"></i><?= date('Y-m-d', strtotime($asset_install_date)) ?></div>
<?php }
if ($asset_warranty_expire) { ?>
<div class="mt-2"><i class="fa fa-fw fa-exclamation-triangle text-secondary mr-2"></i><?= date('Y-m-d', strtotime($asset_warranty_expire)) ?></div>
<div class="mt-2"><i class="fa fa-fw fa-exclamation-triangle text-secondary me-2"></i><?= date('Y-m-d', strtotime($asset_warranty_expire)) ?></div>
<?php } ?>
</div>
</div>
@@ -383,23 +381,23 @@ ob_start();
</div>
<div class="card-body">
<?php if ($asset_ip) { ?>
<div><i class="fa fa-fw fa-globe text-secondary mr-2"></i><span class="text-monospace"><?= $asset_ip ?></span></div>
<div><i class="fa fa-fw fa-globe text-secondary me-2"></i><span class="font-monospace"><?= $asset_ip ?></span></div>
<?php } ?>
<?php if ($asset_nat_ip) { ?>
<div class="mt-2"><i class="fa fa-fw fa-random text-secondary mr-2"></i><span class="text-monospace"><?= $asset_nat_ip ?></span></div>
<div class="mt-2"><i class="fa fa-fw fa-random text-secondary me-2"></i><span class="font-monospace"><?= $asset_nat_ip ?></span></div>
<?php }
if ($asset_mac) { ?>
<div class="mt-2"><i class="fa fa-fw fa-ethernet text-secondary mr-2"></i><span class="text-monospace"><?= $asset_mac ?></span></div>
<div class="mt-2"><i class="fa fa-fw fa-ethernet text-secondary me-2"></i><span class="font-monospace"><?= $asset_mac ?></span></div>
<?php }
if ($asset_uri) { ?>
<div class="mt-2"><i class="fa fa-fw fa-link text-secondary mr-2"></i><a href="<?= $asset_uri ?>" target="_blank" title="<?= $asset_uri ?>"><?= truncate($asset_uri, 20) ?></a></div>
<div class="mt-2"><i class="fa fa-fw fa-link text-secondary me-2"></i><a href="<?= $asset_uri ?>" target="_blank" title="<?= $asset_uri ?>"><?= truncate($asset_uri, 20) ?></a></div>
<?php }
if ($asset_uri_2) { ?>
<div class="mt-2"><i class="fa fa-fw fa-link text-secondary mr-2"></i><a href="<?= $asset_uri_2 ?>" target="_blank" title="<?= $asset_uri_2 ?>"><?= truncate($asset_uri_2, 20) ?></a></div>
<div class="mt-2"><i class="fa fa-fw fa-link text-secondary me-2"></i><a href="<?= $asset_uri_2 ?>" target="_blank" title="<?= $asset_uri_2 ?>"><?= truncate($asset_uri_2, 20) ?></a></div>
<?php } ?>
<?php
if ($asset_uri_client) { ?>
<div class="mt-2"><i class="fa fa-fw fa-link text-secondary mr-2"></i>Client URI: <a href="<?= $asset_uri_client ?>" target="_blank" title="<?= $asset_uri_client ?>"><?= truncate($asset_uri_client, 20); ?></a></div>
<div class="mt-2"><i class="fa fa-fw fa-link text-secondary me-2"></i>Client URI: <a href="<?= $asset_uri_client ?>" target="_blank" title="<?= $asset_uri_client ?>"><?= truncate($asset_uri_client, 20); ?></a></div>
<?php } ?>
</div>
</div>
@@ -411,22 +409,22 @@ ob_start();
</div>
<div class="card-body">
<?php if ($location_name) { ?>
<div><i class="fa fa-fw fa-map-marker-alt text-secondary mr-2"></i><?= $location_name_display ?></div>
<div><i class="fa fa-fw fa-map-marker-alt text-secondary me-2"></i><?= $location_name_display ?></div>
<?php }
if ($contact_name) { ?>
<div class="mt-2"><i class="fa fa-fw fa-user text-secondary mr-2"></i><?= $contact_name_display ?></div>
<div class="mt-2"><i class="fa fa-fw fa-user text-secondary me-2"></i><?= $contact_name_display ?></div>
<?php }
if ($contact_email) { ?>
<div class="mt-2"><i class="fa fa-fw fa-envelope text-secondary mr-2"></i><a href='mailto:<?= $contact_email ?>'><?= $contact_email ?></a><button class='btn btn-sm clipboardjs' data-clipboard-text='<?= $contact_email ?>'><i class='far fa-copy text-secondary'></i></button></div>
<div class="mt-2"><i class="fa fa-fw fa-envelope text-secondary me-2"></i><a href='mailto:<?= $contact_email ?>'><?= $contact_email ?></a><button class='btn btn-sm clipboardjs' data-clipboard-text='<?= $contact_email ?>'><i class='far fa-copy text-secondary'></i></button></div>
<?php }
if ($contact_phone) { ?>
<div class="mt-2"><i class="fa fa-fw fa-phone text-secondary mr-2"></i><?= $contact_phone ?></div>
<div class="mt-2"><i class="fa fa-fw fa-phone text-secondary me-2"></i><?= $contact_phone ?></div>
<?php }
if ($contact_extension) { ?>
<div class="mt-1"><i class="fa fa-fw text-secondary mr-2"></i><?= "ext. $contact_extension" ?></div>
<div class="mt-1"><i class="fa fa-fw text-secondary me-2"></i><?= "ext. $contact_extension" ?></div>
<?php }
if ($contact_mobile) { ?>
<div class="mt-2"><i class="fa fa-fw fa-mobile-alt text-secondary mr-2"></i><?= $contact_mobile ?></div>
<div class="mt-2"><i class="fa fa-fw fa-mobile-alt text-secondary me-2"></i><?= $contact_mobile ?></div>
<?php } ?>
</div>
@@ -494,7 +492,7 @@ ob_start();
$interface_ip_display = $interface_ip ?: '-';
$interface_type_display = $interface_type ?: '-';
$network_name_display = $network_name
? "<i class='fas fa-fw fa-network-wired mr-1'></i>$network_name"
? "<i class='fas fa-fw fa-network-wired me-1'></i>$network_name"
: '-';
// Connected interface details
@@ -509,7 +507,7 @@ ob_start();
if ($connected_asset_name) {
$connected_to_display = "<a class='ajax-modal' href='#' data-modal-size='lg'
data-modal-url='modals/asset/asset.php?id=$connected_asset_id'>
<strong><i class='fa fa-fw fa-$connected_asset_icon mr-1'></i>$connected_asset_name</strong> - $connected_interface_name
<strong><i class='fa fa-fw fa-$connected_asset_icon me-1'></i>$connected_asset_name</strong> - $connected_interface_name
</a>
";
} else {
@@ -518,16 +516,16 @@ ob_start();
?>
<tr>
<td>
<i class="fa fa-fw fa-ethernet text-secondary mr-1"></i>
<i class="fa fa-fw fa-ethernet text-secondary me-1"></i>
<?= $interface_name ?> <?php if($interface_primary) { echo "<small class='text-primary'>(Primary)</small>"; } ?>
</td>
<td><?= $interface_type_display ?></td>
<td><?= $network_name_display ?></td>
<td class="text-monospace">
<td class="font-monospace">
<?= $interface_ip_display ?>
<div><small class="text-secondary"><?= $interface_ipv6 ?></div>
</td>
<td class="text-monospace"><?= $interface_mac_display ?></td>
<td class="font-monospace"><?= $interface_mac_display ?></td>
<td><?= $connected_to_display ?></td>
</tr>
<?php } ?>
@@ -598,7 +596,7 @@ ob_start();
}
$credential_tag_id_array[] = $credential_tag_id;
$credential_tag_name_display_array[] = "<a href='credentials.php?client_id=$client_id&tags[]=$credential_tag_id'><span class='badge text-light p-1 mr-1' style='background-color: $credential_tag_color;'><i class='fa fa-fw fa-$credential_tag_icon mr-2'></i>$credential_tag_name</span></a>";
$credential_tag_name_display_array[] = "<a href='credentials.php?client_id=$client_id&tags[]=$credential_tag_id'><span class='badge text-light p-1 me-1' style='background-color: $credential_tag_color;'><i class='fa fa-fw fa-$credential_tag_icon me-2'></i>$credential_tag_name</span></a>";
}
$credential_tags_display = implode('', $credential_tag_name_display_array);
@@ -671,13 +669,13 @@ ob_start();
$ticket_closed_at = escapeHtml($row['ticket_closed_at']);
if ($ticket_priority == "Urgent") {
$ticket_priority_display = "<span class='p-2 badge badge-dark'>$ticket_priority</span>";
$ticket_priority_display = "<span class='p-2 badge bg-dark'>$ticket_priority</span>";
} elseif ($ticket_priority == "High") {
$ticket_priority_display = "<span class='p-2 badge badge-danger'>$ticket_priority</span>";
$ticket_priority_display = "<span class='p-2 badge bg-danger'>$ticket_priority</span>";
} elseif ($ticket_priority == "Medium") {
$ticket_priority_display = "<span class='p-2 badge badge-warning'>$ticket_priority</span>";
$ticket_priority_display = "<span class='p-2 badge bg-warning text-dark'>$ticket_priority</span>";
} elseif ($ticket_priority == "Low") {
$ticket_priority_display = "<span class='p-2 badge badge-info'>$ticket_priority</span>";
$ticket_priority_display = "<span class='p-2 badge bg-info text-dark'>$ticket_priority</span>";
} else {
$ticket_priority_display = "-";
}
@@ -703,7 +701,7 @@ ob_start();
<td><a href="ticket.php?client_id=<?= $client_id ?>&ticket_id=<?= $ticket_id ?>"><?= $ticket_subject ?></a></td>
<td><?= $ticket_priority_display ?></td>
<td>
<span class='badge badge-pill text-light p-2' style="background-color: <?= $ticket_status_color ?>"><?= $ticket_status_name ?></span>
<span class='badge rounded-pill text-light p-2' style="background-color: <?= $ticket_status_color ?>"><?= $ticket_status_name ?></span>
</td>
<td><?= $ticket_assigned_to_display ?></td>
<td><?= $ticket_updated_at_display ?></td>
@@ -811,8 +809,8 @@ ob_start();
<tr>
<td><?= "$software_name<br><span class='text-secondary'>$software_version</span>" ?></td>
<td><?= $software_type ?></td>
<td class="text-monospace"><?= $software_key ?></td>
<td class="text-monospace"><?= "$seat_count / $software_seats" ?></td>
<td class="font-monospace"><?= $software_key ?></td>
<td class="font-monospace"><?= "$seat_count / $software_seats" ?></td>
</tr>
<?php
@@ -972,7 +970,7 @@ ob_start();
$note_type_icon = !empty($note_type_icons[$asset_note_type]) ? $note_type_icons[$asset_note_type] : 'fa-sticky-note';
?>
<tr>
<td><i class="fa fa-fw <?= $note_type_icon ?> mr-2"></i><?= $asset_note_type ?></td>
<td><i class="fa fa-fw <?= $note_type_icon ?> me-2"></i><?= $asset_note_type ?></td>
<td><?= $asset_note ?></td>
<td><?= $note_by ?></td>
<td><?= $asset_note_created_at ?></td>
@@ -995,12 +993,12 @@ ob_start();
<div class="modal-footer">
<a href="asset.php?client_id=<?= $client_id ?>&asset_id=<?= $asset_id ?>"
class="btn btn-primary text-bold"><span class="text-white"><i class="fas fa-info-circle mr-2"></i>More Details</span>
class="btn btn-primary text-bold"><span class="text-white"><i class="fas fa-info-circle me-2"></i>More Details</span>
</a>
<a href="#" class="btn btn-secondary ajax-modal" data-modal-url="modals/asset/asset_edit.php?id=<?= $asset_id ?>">
<span class="text-white"><i class="fas fa-edit mr-2"></i>Edit</span>
<span class="text-white"><i class="fas fa-edit me-2"></i>Edit</span>
</a>
<button type="button" class="btn btn-light" data-dismiss="modal"><i class="fa fa-times mr-2"></i>Close</button>
<button type="button" class="btn btn-light" data-bs-dismiss="modal"><i class="fa fa-times me-2"></i>Close</button>
</div>
<?php

View File

@@ -33,10 +33,8 @@ ob_start();
?>
<div class="modal-header bg-dark">
<h5 class="modal-title"><i class="fa fa-fw fa-desktop mr-2"></i>New <?php if ($type) { echo $type; } ?> Asset</h5>
<button type="button" class="close text-white" data-dismiss="modal">
<span>&times;</span>
</button>
<h5 class="modal-title"><i class="fa fa-fw fa-desktop me-2"></i>New <?php if ($type) { echo $type; } ?> Asset</h5>
<button type="button" class="btn-close btn-close-white" data-bs-dismiss="modal"></button>
</div>
<form action="post.php" method="post" enctype="multipart/form-data" autocomplete="off">
@@ -46,22 +44,22 @@ ob_start();
<ul class="nav nav-pills nav-justified mb-3">
<li class="nav-item">
<a class="nav-link active" data-toggle="pill" href="#pills-asset-details">Details</a>
<a class="nav-link active" data-bs-toggle="pill" href="#pills-asset-details">Details</a>
</li>
<li class="nav-item">
<a class="nav-link" data-toggle="pill" href="#pills-asset-assignment">Assignment</a>
<a class="nav-link" data-bs-toggle="pill" href="#pills-asset-assignment">Assignment</a>
</li>
<li class="nav-item">
<a class="nav-link" data-toggle="pill" href="#pills-asset-network">Network</a>
<a class="nav-link" data-bs-toggle="pill" href="#pills-asset-network">Network</a>
</li>
<li class="nav-item">
<a class="nav-link" data-toggle="pill" href="#pills-asset-purchase">Purchase</a>
<a class="nav-link" data-bs-toggle="pill" href="#pills-asset-purchase">Purchase</a>
</li>
<li class="nav-item">
<a class="nav-link" data-toggle="pill" href="#pills-asset-login">Login</a>
<a class="nav-link" data-bs-toggle="pill" href="#pills-asset-login">Login</a>
</li>
<li class="nav-item">
<a class="nav-link" data-toggle="pill" href="#pills-asset-notes">Notes</a>
<a class="nav-link" data-bs-toggle="pill" href="#pills-asset-notes">Notes</a>
</li>
</ul>
@@ -75,12 +73,10 @@ ob_start();
<input type="hidden" name="client_id" value="<?= $client_id ?>">
<?php } else { ?>
<div class="form-group">
<div class="mb-3">
<label>Client <strong class="text-danger">*</strong></label>
<div class="input-group">
<div class="input-group-prepend">
<span class="input-group-text"><i class="fa fa-fw fa-user"></i></span>
</div>
<select class="form-control select2" name="client_id" required>
<option value="">- Select Client -</option>
<?php
@@ -97,12 +93,10 @@ ob_start();
<?php } ?>
<div class="form-group">
<div class="mb-3">
<label>Type <strong class="text-danger">*</strong></label>
<div class="input-group">
<div class="input-group-prepend">
<span class="input-group-text"><i class="fa fa-fw fa-layer-group"></i></span>
</div>
<select class="form-control select2" name="type" required>
<option value="">- Select Type -</option>
<?php foreach($asset_types_array as $asset_type => $asset_icon) { ?>
@@ -112,74 +106,60 @@ ob_start();
</div>
</div>
<div class="form-group">
<div class="mb-3">
<label>Name <strong class="text-danger">*</strong> / <span class="text-secondary" title="Pin to Overview">Favorite</span></label>
<div class="input-group">
<div class="input-group-prepend">
<span class="input-group-text"><i class="fas fa-fw fa-tag"></i></span>
</div>
<input type="text" class="form-control" name="name" placeholder="e.g. SRV-DC01" maxlength="200" required autofocus>
<div class="input-group-append">
<div class="input-group-text">
<label class="star-toggle mb-0" title="Favorite">
<input type="checkbox" name="favorite" value="1"><i class="far fa-star"></i>
</label>
</div>
</div>
</div>
</div>
<?php //Do not display Make Model or Serial if Virtual is selected
if ($type !== 'Virtual') { ?>
<div class="form-group">
<div class="mb-3">
<label>Make</label>
<div class="input-group">
<div class="input-group-prepend">
<span class="input-group-text"><i class="fa fa-fw fa-building"></i></span>
</div>
<input type="text" class="form-control" name="make" placeholder="e.g. Dell, HP, Lenovo" maxlength="200">
</div>
</div>
<div class="form-group">
<div class="mb-3">
<label>Model</label>
<div class="input-group">
<div class="input-group-prepend">
<span class="input-group-text"><i class="fa fa-fw fa-cube"></i></span>
</div>
<input type="text" class="form-control" name="model" placeholder="e.g. PowerEdge R740" maxlength="200">
</div>
</div>
<div class="form-group">
<div class="mb-3">
<label>Serial Number</label>
<div class="input-group">
<div class="input-group-prepend">
<span class="input-group-text"><i class="fa fa-fw fa-barcode"></i></span>
</div>
<input type="text" class="form-control text-monospace" name="serial" placeholder="e.g. ABC1234XYZ" maxlength="200">
<input type="text" class="form-control font-monospace" name="serial" placeholder="e.g. ABC1234XYZ" maxlength="200">
</div>
</div>
<?php } ?>
<?php if ($type !== 'Network' && $type !== 'Other') { ?>
<div class="form-group">
<div class="mb-3">
<label>Operating System</label>
<div class="input-group">
<div class="input-group-prepend">
<span class="input-group-text"><i class="fas fa-fw fa-laptop-code"></i></span>
</div>
<input type="text" class="form-control" name="os" id="os" placeholder="e.g. Windows 11 Pro, Ubuntu 24.04" maxlength="200">
</div>
</div>
<?php } ?>
<div class="form-group">
<div class="mb-3">
<label>Description</label>
<div class="input-group">
<div class="input-group-prepend">
<span class="input-group-text"><i class="fa fa-fw fa-align-left"></i></span>
</div>
<input type="text" class="form-control" name="description" placeholder="e.g. Domain controller for HQ" maxlength="255">
</div>
</div>
@@ -189,12 +169,10 @@ ob_start();
<div class="tab-pane fade" id="pills-asset-assignment">
<?php if ($client_id) { ?>
<div class="form-group">
<div class="mb-3">
<label>Location</label>
<div class="input-group">
<div class="input-group-prepend">
<span class="input-group-text"><i class="fa fa-fw fa-building"></i></span>
</div>
<select class="form-control select2" name="location">
<option value="">- Select Location -</option>
<?php
@@ -211,23 +189,19 @@ ob_start();
</div>
<?php } ?>
<div class="form-group">
<div class="mb-3">
<label>Physical Location</label>
<div class="input-group">
<div class="input-group-prepend">
<span class="input-group-text"><i class="fa fa-fw fa-map-marker-alt"></i></span>
</div>
<input type="text" class="form-control" name="physical_location" placeholder="e.g. Floor 2, Closet B" maxlength="200">
</div>
</div>
<?php if ($client_id) { ?>
<div class="form-group">
<div class="mb-3">
<label>Assign To</label>
<div class="input-group">
<div class="input-group-prepend">
<span class="input-group-text"><i class="fa fa-fw fa-user-check"></i></span>
</div>
<select class="form-control select2" name="contact">
<option value="">- Select Contact -</option>
<?php
@@ -250,12 +224,10 @@ ob_start();
</div>
<?php } ?>
<div class="form-group">
<div class="mb-3">
<label>Status</label>
<div class="input-group">
<div class="input-group-prepend">
<span class="input-group-text"><i class="fa fa-fw fa-circle"></i></span>
</div>
<select class="form-control select2" name="status">
<option value="">- Select Status -</option>
<?php
@@ -278,12 +250,10 @@ ob_start();
<div class="tab-pane fade" id="pills-asset-network">
<?php if ($client_id) { ?>
<div class="form-group">
<div class="mb-3">
<label>Network</label>
<div class="input-group">
<div class="input-group-prepend">
<span class="input-group-text"><i class="fa fa-fw fa-network-wired"></i></span>
</div>
<select class="form-control select2" name="network">
<option value="">- Select Network -</option>
<?php
@@ -302,77 +272,61 @@ ob_start();
</div>
<?php } ?>
<div class="form-group">
<div class="mb-3">
<label>IPv4 Address / <span class="text-muted">DHCP</span></label>
<div class="input-group">
<div class="input-group-prepend">
<span class="input-group-text"><i class="fa fa-fw fa-ethernet"></i></span>
</div>
<input type="text" class="form-control text-monospace" name="ip" placeholder="e.g. 192.168.1.10" maxlength="200" data-inputmask="'alias': 'ip'" data-mask>
<div class="input-group-append">
<input type="text" class="form-control font-monospace" name="ip" placeholder="e.g. 192.168.1.10" maxlength="200" data-inputmask="'alias': 'ip'" data-mask>
<div class="input-group-text">
<input type="checkbox" name="dhcp" value="1">
</div>
</div>
</div>
</div>
<div class="form-group">
<div class="mb-3">
<label>MAC Address</label>
<div class="input-group">
<div class="input-group-prepend">
<span class="input-group-text"><i class="fa fa-fw fa-ethernet"></i></span>
</div>
<input type="text" class="form-control text-monospace" name="mac" placeholder="e.g. 00:1A:2B:3C:4D:5E" data-inputmask="'alias': 'mac'" maxlength="200" data-mask>
<input type="text" class="form-control font-monospace" name="mac" placeholder="e.g. 00:1A:2B:3C:4D:5E" data-inputmask="'alias': 'mac'" maxlength="200" data-mask>
</div>
</div>
<div class="form-group">
<div class="mb-3">
<label>IPv6 Address</label>
<div class="input-group">
<div class="input-group-prepend">
<span class="input-group-text"><i class="fa fa-fw fa-ethernet"></i></span>
</div>
<input type="text" class="form-control text-monospace" name="ipv6" placeholder="e.g. 2001:db8::1" maxlength="200">
<input type="text" class="form-control font-monospace" name="ipv6" placeholder="e.g. 2001:db8::1" maxlength="200">
</div>
</div>
<div class="form-group">
<div class="mb-3">
<label>NAT Address</label>
<div class="input-group">
<div class="input-group-prepend">
<span class="input-group-text"><i class="fa fa-fw fa-exchange-alt"></i></span>
</div>
<input type="text" class="form-control text-monospace" name="nat_ip" placeholder="e.g. 203.0.113.10 or 10.0.0.5" data-inputmask="'alias': 'ip'" maxlength="200" data-mask>
<input type="text" class="form-control font-monospace" name="nat_ip" placeholder="e.g. 203.0.113.10 or 10.0.0.5" data-inputmask="'alias': 'ip'" maxlength="200" data-mask>
</div>
</div>
<div class="form-group">
<div class="mb-3">
<label>URI</label>
<div class="input-group">
<div class="input-group-prepend">
<span class="input-group-text"><i class="fa fa-fw fa-globe"></i></span>
</div>
<input type="text" class="form-control" name="uri" placeholder="e.g. https:// or ssh://" maxlength="500">
</div>
</div>
<div class="form-group">
<div class="mb-3">
<label>URI 2</label>
<div class="input-group">
<div class="input-group-prepend">
<span class="input-group-text"><i class="fa fa-fw fa-globe"></i></span>
</div>
<input type="text" class="form-control" name="uri_2" placeholder="e.g. https:// or ssh://" maxlength="500">
</div>
</div>
<div class="form-group">
<div class="mb-3">
<label>Client URI</label>
<div class="input-group">
<div class="input-group-prepend">
<span class="input-group-text"><i class="fa fa-fw fa-globe"></i></span>
</div>
<input type="text" class="form-control" name="uri_client" placeholder="e.g. https:// or ssh://" maxlength="500">
</div>
<small class="text-muted">Viewable in client portal.</small>
@@ -383,12 +337,10 @@ ob_start();
<div class="tab-pane fade" id="pills-asset-purchase">
<?php if ($client_id) { ?>
<div class="form-group">
<div class="mb-3">
<label>Vendor</label>
<div class="input-group">
<div class="input-group-prepend">
<span class="input-group-text"><i class="fa fa-fw fa-building"></i></span>
</div>
<select class="form-control select2" name="vendor">
<option value="">- Select Vendor -</option>
<?php
@@ -406,44 +358,36 @@ ob_start();
<?php } ?>
<?php if ($type !== 'Virtual') { ?>
<div class="form-group">
<div class="mb-3">
<label>Purchase Reference</label>
<div class="input-group">
<div class="input-group-prepend">
<span class="input-group-text"><i class="fa fa-fw fa-receipt"></i></span>
</div>
<input type="text" class="form-control" name="purchase_reference" placeholder="e.g. INV-1045 or PO-7782" maxlength="200">
</div>
</div>
<div class="form-group">
<div class="mb-3">
<label>Purchase Date</label>
<div class="input-group">
<div class="input-group-prepend">
<span class="input-group-text"><i class="fa fa-fw fa-calendar"></i></span>
</div>
<input type="date" class="form-control" name="purchase_date" max="2999-12-31">
</div>
</div>
<?php } ?>
<div class="form-group">
<div class="mb-3">
<label>Install Date</label>
<div class="input-group">
<div class="input-group-prepend">
<span class="input-group-text"><i class="fa fa-fw fa-calendar-check"></i></span>
</div>
<input type="date" class="form-control" name="install_date" max="2999-12-31">
</div>
</div>
<?php if ($type !== 'Virtual') { ?>
<div class="form-group">
<div class="mb-3">
<label>Warranty Expire</label>
<div class="input-group">
<div class="input-group-prepend">
<span class="input-group-text"><i class="fa fa-fw fa-calendar-times"></i></span>
</div>
<input type="date" class="form-control" name="warranty_expire" max="2999-12-31">
</div>
</div>
@@ -453,22 +397,18 @@ ob_start();
<div class="tab-pane fade" id="pills-asset-login">
<div class="form-group">
<div class="mb-3">
<label>Username</label>
<div class="input-group">
<div class="input-group-prepend">
<span class="input-group-text"><i class="fa fa-fw fa-user"></i></span>
</div>
<input type="text" class="form-control" name="username" placeholder="e.g. admin" maxlength="350">
</div>
</div>
<div class="form-group">
<div class="mb-3">
<label>Password</label>
<div class="input-group">
<div class="input-group-prepend">
<span class="input-group-text"><i class="fa fa-fw fa-lock"></i></span>
</div>
<input type="text" class="form-control" name="password" placeholder="Password" maxlength="350" autocomplete="off">
</div>
</div>
@@ -477,21 +417,19 @@ ob_start();
<div class="tab-pane fade" id="pills-asset-notes">
<div class="form-group">
<div class="mb-3">
<textarea class="form-control" rows="8" placeholder="Additional notes or configuration details" name="notes"></textarea>
</div>
<div class="form-group">
<div class="mb-3">
<label>Upload Photo</label>
<input type="file" class="form-control-file" name="file" accept="image/*">
<input type="file" class="form-control" name="file" accept="image/*">
</div>
<div class="form-group">
<div class="mb-3">
<label>Tags</label>
<div class="input-group">
<div class="input-group-prepend">
<span class="input-group-text"><i class="fa fa-fw fa-tags"></i></span>
</div>
<select class="form-control select2" name="tags[]" data-placeholder="Add some tags" multiple>
<?php
@@ -503,12 +441,10 @@ ob_start();
<?php } ?>
</select>
<div class="input-group-append">
<button class="btn btn-secondary ajax-modal" type="button"
data-modal-url="../admin/modals/tag/tag_add.php?type=5">
<i class="fas fa-plus"></i>
</button>
</div>
</div>
</div>
@@ -518,8 +454,8 @@ ob_start();
</div>
</div>
<div class="modal-footer">
<button type="submit" name="add_asset" class="btn btn-primary text-bold"><i class="fa fa-check mr-2"></i>Create</button>
<button type="button" class="btn btn-light" data-dismiss="modal"><i class="fa fa-times mr-2"></i>Cancel</button>
<button type="submit" name="add_asset" class="btn btn-primary text-bold"><i class="fa fa-check me-2"></i>Create</button>
<button type="button" class="btn btn-light" data-bs-dismiss="modal"><i class="fa fa-times me-2"></i>Cancel</button>
</div>
</form>

View File

@@ -11,10 +11,8 @@ ob_start();
?>
<div class="modal-header bg-dark">
<h5 class="modal-title"><i class="fas fa-fw fa-life-ring mr-2"></i>Create Tickets for <strong><?= $count ?></strong> Assets</h5>
<button type="button" class="close text-white" data-dismiss="modal">
<span>&times;</span>
</button>
<h5 class="modal-title"><i class="fas fa-fw fa-life-ring me-2"></i>Create Tickets for <strong><?= $count ?></strong> Assets</h5>
<button type="button" class="btn-close btn-close-white" data-bs-dismiss="modal"></button>
</div>
<form action="post.php" method="post" autocomplete="off">
@@ -23,29 +21,25 @@ ob_start();
<div class="modal-body">
<div class="form-group">
<div class="mb-3">
<label>Subject <strong class="text-danger">*</strong></label>
<div class="input-group">
<div class="input-group-prepend">
<span class="input-group-text"><i class="fa fa-fw fa-tag"></i></span>
</div>
<input type="text" class="form-control" name="bulk_subject" placeholder="Asset Name will be prepended to Subject" maxlength="200" required>
</div>
</div>
<div class="form-group">
<div class="mb-3">
<textarea class="form-control tinymceTicket" id="textInput" name="bulk_details"></textarea>
</div>
<div class="row">
<div class="col">
<div class="form-group">
<div class="mb-3">
<label>Priority <strong class="text-danger">*</strong></label>
<div class="input-group">
<div class="input-group-prepend">
<span class="input-group-text"><i class="fa fa-fw fa-thermometer-half"></i></span>
</div>
<select class="form-control select2" name="bulk_priority" required>
<option>Low</option>
<option>Medium</option>
@@ -57,12 +51,10 @@ ob_start();
</div>
<div class="col">
<div class="form-group">
<div class="mb-3">
<label>Category</label>
<div class="input-group">
<div class="input-group-prepend">
<span class="input-group-text"><i class="fa fa-fw fa-layer-group"></i></span>
</div>
<select class="form-control select2" name="bulk_category">
<option value="0">- Not Categorized -</option>
<?php
@@ -82,12 +74,10 @@ ob_start();
</div>
<div class="form-group">
<div class="mb-3">
<label>Assign to</label>
<div class="input-group">
<div class="input-group-prepend">
<span class="input-group-text"><i class="fa fa-fw fa-user-check"></i></span>
</div>
<select class="form-control select2" name="bulk_assigned_to">
<option value="0">Not Assigned</option>
<?php
@@ -106,12 +96,10 @@ ob_start();
</div>
</div>
<div class="form-group">
<div class="mb-3">
<label>Project</label>
<div class="input-group">
<div class="input-group-prepend">
<span class="input-group-text"><i class="fa fa-fw fa-project-diagram"></i></span>
</div>
<select class="form-control select2" name="bulk_project">
<option value="0">- None -</option>
<?php
@@ -128,10 +116,10 @@ ob_start();
</div>
<?php if ($config_module_enable_accounting) { ?>
<div class="form-group">
<div class="custom-control custom-switch">
<input type="checkbox" class="custom-control-input" name="bulk_billable" <?php if ($config_ticket_default_billable == 1) { echo "checked"; } ?> value="1" id="billableSwitch">
<label class="custom-control-label" for="billableSwitch">Billable</label>
<div class="mb-3">
<div class="form-check form-switch">
<input type="checkbox" class="form-check-input" name="bulk_billable" <?php if ($config_ticket_default_billable == 1) { echo "checked"; } ?> value="1" id="billableSwitch">
<label class="form-check-label" for="billableSwitch">Billable</label>
</div>
</div>
<?php } ?>
@@ -139,8 +127,8 @@ ob_start();
</div>
<div class="modal-footer">
<button type="submit" name="bulk_add_asset_ticket" class="btn btn-primary text-bold"><i class="fas fa-check mr-2"></i>Create Tickets</button>
<button type="button" class="btn btn-light" data-dismiss="modal"><i class="fas fa-times mr-2"></i>Cancel</button>
<button type="submit" name="bulk_add_asset_ticket" class="btn btn-primary text-bold"><i class="fas fa-check me-2"></i>Create Tickets</button>
<button type="button" class="btn btn-light" data-bs-dismiss="modal"><i class="fas fa-times me-2"></i>Cancel</button>
</div>
</form>

View File

@@ -16,10 +16,8 @@ ob_start();
?>
<div class="modal-header bg-dark">
<h5 class="modal-title"><i class="fa fa-fw fa-user-check mr-2"></i>Assign Contact to <strong><?= $count ?></strong> Assets</h5>
<button type="button" class="close text-white" data-dismiss="modal">
<span>&times;</span>
</button>
<h5 class="modal-title"><i class="fa fa-fw fa-user-check me-2"></i>Assign Contact to <strong><?= $count ?></strong> Assets</h5>
<button type="button" class="btn-close btn-close-white" data-bs-dismiss="modal"></button>
</div>
<form action="post.php" method="post" autocomplete="off">
@@ -27,12 +25,10 @@ ob_start();
<?php foreach ($asset_ids as $asset_id) { ?><input type="hidden" name="asset_ids[]" value="<?= $asset_id ?>"><?php } ?>
<div class="modal-body">
<div class="form-group">
<div class="mb-3">
<label>Contact</label>
<div class="input-group">
<div class="input-group-prepend">
<span class="input-group-text"><i class="fa fa-fw fa-user"></i></span>
</div>
<select class="form-control select2" name="bulk_contact_id">
<option value="">- Contact -</option>
<?php
@@ -53,8 +49,8 @@ ob_start();
</div>
<div class="modal-footer">
<button type="submit" name="bulk_assign_asset_contact" class="btn btn-primary text-bold"><i class="fas fa-check mr-2"></i>Assign Contact</button>
<button type="button" class="btn btn-light" data-dismiss="modal"><i class="fa fa-times mr-2"></i>Cancel</button>
<button type="submit" name="bulk_assign_asset_contact" class="btn btn-primary text-bold"><i class="fas fa-check me-2"></i>Assign Contact</button>
<button type="button" class="btn btn-light" data-bs-dismiss="modal"><i class="fa fa-times me-2"></i>Cancel</button>
</div>
</form>

View File

@@ -16,10 +16,8 @@ ob_start();
?>
<div class="modal-header bg-dark">
<h5 class="modal-title"><i class="fa fa-fw fa-map-marker-alt mr-2"></i>Assign Location to <strong><?= $count ?></strong> Assets</h5>
<button type="button" class="close text-white" data-dismiss="modal">
<span>&times;</span>
</button>
<h5 class="modal-title"><i class="fa fa-fw fa-map-marker-alt me-2"></i>Assign Location to <strong><?= $count ?></strong> Assets</h5>
<button type="button" class="btn-close btn-close-white" data-bs-dismiss="modal"></button>
</div>
<form action="post.php" method="post" autocomplete="off">
@@ -28,12 +26,10 @@ ob_start();
<div class="modal-body">
<div class="form-group">
<div class="mb-3">
<label>Location</label>
<div class="input-group">
<div class="input-group-prepend">
<span class="input-group-text"><i class="fa fa-fw fa-map-marker-alt"></i></span>
</div>
<select class="form-control select2" name="bulk_location_id">
<option value="">- Location -</option>
<?php
@@ -53,8 +49,8 @@ ob_start();
</div>
<div class="modal-footer">
<button type="submit" name="bulk_assign_asset_location" class="btn btn-primary text-bold"><i class="fas fa-check mr-2"></i>Assign Location</button>
<button type="button" class="btn btn-light" data-dismiss="modal"><i class="fa fa-times mr-2"></i>Cancel</button>
<button type="submit" name="bulk_assign_asset_location" class="btn btn-primary text-bold"><i class="fas fa-check me-2"></i>Assign Location</button>
<button type="button" class="btn btn-light" data-bs-dismiss="modal"><i class="fa fa-times me-2"></i>Cancel</button>
</div>
</form>

View File

@@ -11,22 +11,18 @@ ob_start();
?>
<div class="modal-header bg-dark">
<h5 class="modal-title"><i class="fa fa-fw fa-map-marker-alt mr-2"></i>Set Physical Location for <strong><?= $count ?></strong> Assets</h5>
<button type="button" class="close text-white" data-dismiss="modal">
<span>&times;</span>
</button>
<h5 class="modal-title"><i class="fa fa-fw fa-map-marker-alt me-2"></i>Set Physical Location for <strong><?= $count ?></strong> Assets</h5>
<button type="button" class="btn-close btn-close-white" data-bs-dismiss="modal"></button>
</div>
<form action="post.php" method="post" autocomplete="off">
<input type="hidden" name="csrf_token" value="<?= $_SESSION['csrf_token'] ?>">
<?php foreach ($asset_ids as $asset_id) { ?><input type="hidden" name="asset_ids[]" value="<?= $asset_id ?>"><?php } ?>
<div class="modal-body">
<div class="form-group">
<div class="mb-3">
<label>Physical Location</label>
<div class="input-group">
<div class="input-group-prepend">
<span class="input-group-text"><i class="fa fa-fw fa-map-marker-alt"></i></span>
</div>
<input type="text" class="form-control" name="physical_location" placeholder="Physical location eg. Floor 2, Closet B" maxlength="200">
</div>
</div>
@@ -34,8 +30,8 @@ ob_start();
</div>
<div class="modal-footer">
<button type="submit" name="bulk_assign_asset_physical_location" class="btn btn-primary text-bold"><i class="fas fa-check mr-2"></i>Set Physical Location</button>
<button type="button" class="btn btn-light" data-dismiss="modal"><i class="fa fa-times mr-2"></i>Cancel</button>
<button type="submit" name="bulk_assign_asset_physical_location" class="btn btn-primary text-bold"><i class="fas fa-check me-2"></i>Set Physical Location</button>
<button type="button" class="btn btn-light" data-bs-dismiss="modal"><i class="fa fa-times me-2"></i>Cancel</button>
</div>
</form>

View File

@@ -11,10 +11,8 @@ ob_start();
?>
<div class="modal-header bg-dark">
<h5 class="modal-title"><i class="fa fa-fw fa-tags mr-2"></i>Assign Tags for <strong><?= $count ?></strong> Assets</h5>
<button type="button" class="close text-white" data-dismiss="modal">
<span>&times;</span>
</button>
<h5 class="modal-title"><i class="fa fa-fw fa-tags me-2"></i>Assign Tags for <strong><?= $count ?></strong> Assets</h5>
<button type="button" class="btn-close btn-close-white" data-bs-dismiss="modal"></button>
</div>
<form action="post.php" method="post" autocomplete="off">
<input type="hidden" name="csrf_token" value="<?= $_SESSION['csrf_token'] ?>">
@@ -23,17 +21,15 @@ ob_start();
<div class="modal-body">
<input type="hidden" name="remove_tags" value="0">
<div class="form-group form-check">
<div class="mb-3 form-check">
<input type="checkbox" class="form-check-input" name="remove_tags" value="1">
<label class="form-check-label text-danger">Remove Existing Tags</label>
</div>
<div class="form-group">
<div class="mb-3">
<label>Tags</label>
<div class="input-group">
<div class="input-group-prepend">
<span class="input-group-text"><i class="fa fa-fw fa-tags"></i></span>
</div>
<select class="form-control select2" name="tags[]" data-placeholder="Add some tags" multiple>
<?php
@@ -52,8 +48,8 @@ ob_start();
</div>
<div class="modal-footer">
<button type="submit" name="bulk_assign_asset_tags" class="btn btn-primary text-bold"><i class="fas fa-check mr-2"></i>Assign Tags</button>
<button type="button" class="btn btn-light" data-dismiss="modal"><i class="fa fa-times mr-2"></i>Cancel</button>
<button type="submit" name="bulk_assign_asset_tags" class="btn btn-primary text-bold"><i class="fas fa-check me-2"></i>Assign Tags</button>
<button type="button" class="btn btn-light" data-bs-dismiss="modal"><i class="fa fa-times me-2"></i>Cancel</button>
</div>
</form>

View File

@@ -11,10 +11,8 @@ ob_start();
?>
<div class="modal-header bg-dark">
<h5 class="modal-title"><i class="fa fa-fw fa-info mr-2"></i>Set Status for <strong><?= $count ?></strong> Assets</h5>
<button type="button" class="close text-white" data-dismiss="modal">
<span>&times;</span>
</button>
<h5 class="modal-title"><i class="fa fa-fw fa-info me-2"></i>Set Status for <strong><?= $count ?></strong> Assets</h5>
<button type="button" class="btn-close btn-close-white" data-bs-dismiss="modal"></button>
</div>
<form action="post.php" method="post" autocomplete="off">
@@ -22,12 +20,10 @@ ob_start();
<?php foreach ($asset_ids as $asset_id) { ?><input type="hidden" name="asset_ids[]" value="<?= $asset_id ?>"><?php } ?>
<div class="modal-body">
<div class="form-group">
<div class="mb-3">
<label>Status</label>
<div class="input-group">
<div class="input-group-prepend">
<span class="input-group-text"><i class="fa fa-fw fa-circle"></i></span>
</div>
<select class="form-control select2" name="bulk_status">
<option value="">- Select Status -</option>
<?php
@@ -49,8 +45,8 @@ ob_start();
</div>
<div class="modal-footer">
<button type="submit" name="bulk_edit_asset_status" class="btn btn-primary text-bold"><i class="fas fa-check mr-2"></i>Set Status</button>
<button type="button" class="btn btn-light" data-dismiss="modal"><i class="fa fa-times mr-2"></i>Cancel</button>
<button type="submit" name="bulk_edit_asset_status" class="btn btn-primary text-bold"><i class="fas fa-check me-2"></i>Set Status</button>
<button type="button" class="btn btn-light" data-bs-dismiss="modal"><i class="fa fa-times me-2"></i>Cancel</button>
</div>
</form>

View File

@@ -17,10 +17,8 @@ ob_start();
?>
<div class="modal-header bg-dark">
<h5 class="modal-title"><i class="fa fa-fw fa-exchange-alt mr-2"></i>Transfer <strong><?= $count ?></strong> Asset(s) to Client</h5>
<button type="button" class="close text-white" data-dismiss="modal">
<span>&times;</span>
</button>
<h5 class="modal-title"><i class="fa fa-fw fa-exchange-alt me-2"></i>Transfer <strong><?= $count ?></strong> Asset(s) to Client</h5>
<button type="button" class="btn-close btn-close-white" data-bs-dismiss="modal"></button>
</div>
<form action="post.php" method="post" autocomplete="off">
@@ -29,12 +27,10 @@ ob_start();
<div class="modal-body">
<div class="form-group">
<div class="mb-3">
<label>Client <strong class="text-danger">*</strong></label>
<div class="input-group">
<div class="input-group-prepend">
<span class="input-group-text"><i class="fa fa-fw fa-users"></i></span>
</div>
<select class="form-control select2" name="bulk_client_id">
<option value="">- Select Client -</option>
<?php
@@ -59,8 +55,8 @@ ob_start();
</div>
<div class="modal-footer">
<button type="submit" name="bulk_transfer_client_asset" class="btn btn-primary text-bold"><i class="fa fa-check mr-2"></i>Transfer to Client</button>
<button type="button" class="btn btn-light" data-dismiss="modal"><i class="fa fa-times mr-2"></i>Cancel</button>
<button type="submit" name="bulk_transfer_client_asset" class="btn btn-primary text-bold"><i class="fa fa-check me-2"></i>Transfer to Client</button>
<button type="button" class="btn btn-light" data-bs-dismiss="modal"><i class="fa fa-times me-2"></i>Cancel</button>
</div>
</form>

View File

@@ -55,10 +55,8 @@ ob_start();
?>
<div class="modal-header bg-dark">
<h5 class="modal-title"><i class='fa fa-fw fa-<?= $device_icon ?> mr-2'></i>Copying asset: <strong><?= $asset_name ?></strong></h5>
<button type="button" class="close text-light" data-dismiss="modal">
<span>&times;</span>
</button>
<h5 class="modal-title"><i class='fa fa-fw fa-<?= $device_icon ?> me-2'></i>Copying asset: <strong><?= $asset_name ?></strong></h5>
<button type="button" class="btn-close btn-close-white" data-bs-dismiss="modal"></button>
</div>
<form action="post.php" method="post" enctype="multipart/form-data" autocomplete="off">
<input type="hidden" name="csrf_token" value="<?= $_SESSION['csrf_token'] ?>">
@@ -68,22 +66,22 @@ ob_start();
<ul class="nav nav-pills nav-justified mb-3">
<li class="nav-item">
<a class="nav-link active" data-toggle="pill" href="#pillsDetailsCopy<?= $asset_id ?>">Details</a>
<a class="nav-link active" data-bs-toggle="pill" href="#pillsDetailsCopy<?= $asset_id ?>">Details</a>
</li>
<li class="nav-item">
<a class="nav-link" data-toggle="pill" href="#pillsAssignmentCopy<?= $asset_id ?>">Assignment</a>
<a class="nav-link" data-bs-toggle="pill" href="#pillsAssignmentCopy<?= $asset_id ?>">Assignment</a>
</li>
<li class="nav-item">
<a class="nav-link" data-toggle="pill" href="#pillsNetworkCopy<?= $asset_id ?>">Network</a>
<a class="nav-link" data-bs-toggle="pill" href="#pillsNetworkCopy<?= $asset_id ?>">Network</a>
</li>
<li class="nav-item">
<a class="nav-link" data-toggle="pill" href="#pillsPurchaseCopy<?= $asset_id ?>">Purchase</a>
<a class="nav-link" data-bs-toggle="pill" href="#pillsPurchaseCopy<?= $asset_id ?>">Purchase</a>
</li>
<li class="nav-item">
<a class="nav-link" data-toggle="pill" href="#pillsLoginCopy<?= $asset_id ?>">Login</a>
<a class="nav-link" data-bs-toggle="pill" href="#pillsLoginCopy<?= $asset_id ?>">Login</a>
</li>
<li class="nav-item">
<a class="nav-link" data-toggle="pill" href="#pillsNotesCopy<?= $asset_id ?>">Notes</a>
<a class="nav-link" data-bs-toggle="pill" href="#pillsNotesCopy<?= $asset_id ?>">Notes</a>
</li>
</ul>
@@ -93,12 +91,10 @@ ob_start();
<div class="tab-pane fade show active" id="pillsDetailsCopy<?= $asset_id ?>">
<div class="form-group">
<div class="mb-3">
<label>Type <strong class="text-danger">*</strong></label>
<div class="input-group">
<div class="input-group-prepend">
<span class="input-group-text"><i class="fa fa-fw fa-layer-group"></i></span>
</div>
<select class="form-control select2" name="type" required>
<?php foreach($asset_types_array as $asset_type_select => $asset_icon_select) { ?>
<option <?php if ($asset_type_select == $asset_type) { echo "selected"; } ?>><?= $asset_type_select ?></option>
@@ -107,67 +103,55 @@ ob_start();
</div>
</div>
<div class="form-group">
<div class="mb-3">
<label>Name <strong class="text-danger">*</strong></label>
<div class="input-group">
<div class="input-group-prepend">
<span class="input-group-text"><i class="fa fa-fw fa-tag"></i></span>
</div>
<input type="text" class="form-control" name="name" placeholder="Name the asset" maxlength="200" value="<?= $asset_name ?>" required>
</div>
</div>
<?php //Do not display Make Model or Serial if Virtual is selected
if ($asset_type !== 'virtual') { ?>
<div class="form-group">
<div class="mb-3">
<label>Make</label>
<div class="input-group">
<div class="input-group-prepend">
<span class="input-group-text"><i class="fa fa-fw fa-building"></i></span>
</div>
<input type="text" class="form-control" name="make" placeholder="Manufacturer" maxlength="200" value="<?= $asset_make ?>">
</div>
</div>
<div class="form-group">
<div class="mb-3">
<label>Model</label>
<div class="input-group">
<div class="input-group-prepend">
<span class="input-group-text"><i class="fa fa-fw fa-cube"></i></span>
</div>
<input type="text" class="form-control" name="model" placeholder="Model Number" maxlength="200" value="<?= $asset_model ?>">
</div>
</div>
<div class="form-group">
<div class="mb-3">
<label>Serial Number</label>
<div class="input-group">
<div class="input-group-prepend">
<span class="input-group-text"><i class="fa fa-fw fa-barcode"></i></span>
</div>
<input type="text" class="form-control text-monospace" name="serial" placeholder="Serial number" maxlength="200">
<input type="text" class="form-control font-monospace" name="serial" placeholder="Serial number" maxlength="200">
</div>
</div>
<?php } ?>
<?php if ($asset_type !== 'Phone' && $asset_type !== 'Mobile Phone' && $asset_type !== 'Tablet' && $asset_type !== 'Access Point' && $asset_type !== 'Printer' && $asset_type !== 'Camera' && $asset_type !== 'TV' && $asset_type !== 'Other') { ?>
<div class="form-group">
<div class="mb-3">
<label>Operating System</label>
<div class="input-group">
<div class="input-group-prepend">
<span class="input-group-text"><i class="fas fa-fw fa-laptop-code"></i></span>
</div>
<input type="text" class="form-control" name="os" placeholder="ex Windows 10 Pro" maxlength="200" value="<?= $asset_os ?>">
</div>
</div>
<?php } ?>
<div class="form-group">
<div class="mb-3">
<label>Description</label>
<div class="input-group">
<div class="input-group-prepend">
<span class="input-group-text"><i class="fa fa-fw fa-align-left"></i></span>
</div>
<input type="text" class="form-control" name="description" placeholder="Description of the asset" maxlength="255" value="<?= $asset_description ?>">
</div>
</div>
@@ -176,12 +160,10 @@ ob_start();
<div class="tab-pane fade" id="pillsAssignmentCopy<?= $asset_id ?>">
<div class="form-group">
<div class="mb-3">
<label>Location</label>
<div class="input-group">
<div class="input-group-prepend">
<span class="input-group-text"><i class="fa fa-fw fa-building"></i></span>
</div>
<select class="form-control select2" name="location">
<option value="">- Select Location -</option>
<?php
@@ -198,22 +180,18 @@ ob_start();
</div>
</div>
<div class="form-group">
<div class="mb-3">
<label>Physical Location</label>
<div class="input-group">
<div class="input-group-prepend">
<span class="input-group-text"><i class="fa fa-fw fa-map-marker-alt"></i></span>
</div>
<input type="text" class="form-control" name="physical_location" placeholder="Physical location eg. Floor 2, Closet B" maxlength="200">
</div>
</div>
<div class="form-group">
<div class="mb-3">
<label>Assign To</label>
<div class="input-group">
<div class="input-group-prepend">
<span class="input-group-text"><i class="fa fa-fw fa-user-check"></i></span>
</div>
<select class="form-control select2" name="contact">
<option value="">- Select Contact -</option>
<?php
@@ -230,12 +208,10 @@ ob_start();
</div>
</div>
<div class="form-group">
<div class="mb-3">
<label>Status</label>
<div class="input-group">
<div class="input-group-prepend">
<span class="input-group-text"><i class="fa fa-fw fa-circle"></i></span>
</div>
<select class="form-control select2" name="status">
<option value="">- Select Status -</option>
<?php
@@ -260,12 +236,10 @@ ob_start();
<div class="tab-pane fade" id="pillsNetworkCopy<?= $asset_id ?>">
<div class="form-group">
<div class="mb-3">
<label>Network</label>
<div class="input-group">
<div class="input-group-prepend">
<span class="input-group-text"><i class="fa fa-fw fa-network-wired"></i></span>
</div>
<select class="form-control select2" name="network">
<option value="">- Select Network -</option>
<?php
@@ -284,67 +258,53 @@ ob_start();
</div>
</div>
<div class="form-group">
<div class="mb-3">
<label>IP Address / <span class="text-muted">DHCP</span></label>
<div class="input-group">
<div class="input-group-prepend">
<span class="input-group-text"><i class="fa fa-fw fa-ethernet"></i></span>
</div>
<input type="text" class="form-control text-monospace" name="ip" placeholder="192.168.10.250" maxlength="200" data-inputmask="'alias': 'ip'" data-mask>
<div class="input-group-append">
<input type="text" class="form-control font-monospace" name="ip" placeholder="192.168.10.250" maxlength="200" data-inputmask="'alias': 'ip'" data-mask>
<div class="input-group-text">
<input type="checkbox" name="dhcp" value="1" <?php if($asset_ip == 'DHCP'){ echo "checked"; } ?>>
</div>
</div>
</div>
</div>
<div class="form-group">
<div class="mb-3">
<label>MAC Address</label>
<div class="input-group">
<div class="input-group-prepend">
<span class="input-group-text"><i class="fa fa-fw fa-ethernet"></i></span>
</div>
<input type="text" class="form-control text-monospace" name="mac" placeholder="00:11:22:AA:BB:CC" maxlength="200" data-inputmask="'alias': 'mac'" data-mask>
<input type="text" class="form-control font-monospace" name="mac" placeholder="00:11:22:AA:BB:CC" maxlength="200" data-inputmask="'alias': 'mac'" data-mask>
</div>
</div>
<div class="form-group">
<div class="mb-3">
<label>IPv6 Address</label>
<div class="input-group">
<div class="input-group-prepend">
<span class="input-group-text"><i class="fa fa-fw fa-ethernet"></i></span>
</div>
<input type="text" class="form-control text-monospace" name="ipv6" value="<?= $asset_ipv6 ?>" placeholder="2001:0db8:1000::3" maxlength="200">
<input type="text" class="form-control font-monospace" name="ipv6" value="<?= $asset_ipv6 ?>" placeholder="2001:0db8:1000::3" maxlength="200">
</div>
</div>
<div class="form-group">
<div class="mb-3">
<label>NAT Address</label>
<div class="input-group">
<div class="input-group-prepend">
<span class="input-group-text"><i class="fa fa-fw fa-exchange-alt"></i></span>
</div>
<input type="text" class="form-control text-monospace" name="nat_ip" placeholder="10.52.4.55" maxlength="200" data-inputmask="'alias': 'ip'" data-mask>
<input type="text" class="form-control font-monospace" name="nat_ip" placeholder="10.52.4.55" maxlength="200" data-inputmask="'alias': 'ip'" data-mask>
</div>
</div>
<div class="form-group">
<div class="mb-3">
<label>URI</label>
<div class="input-group">
<div class="input-group-prepend">
<span class="input-group-text"><i class="fa fa-fw fa-globe"></i></span>
</div>
<input type="text" class="form-control" name="uri" placeholder="URI http:// ftp:// ssh: etc" maxlength="500">
</div>
</div>
<div class="form-group">
<div class="mb-3">
<label>URI 2</label>
<div class="input-group">
<div class="input-group-prepend">
<span class="input-group-text"><i class="fa fa-fw fa-globe"></i></span>
</div>
<input type="text" class="form-control" name="uri_2" placeholder="URI http:// ftp:// ssh: etc" maxlength="500">
</div>
</div>
@@ -353,12 +313,10 @@ ob_start();
<div class="tab-pane fade" id="pillsPurchaseCopy<?= $asset_id ?>">
<div class="form-group">
<div class="mb-3">
<label>Vendor</label>
<div class="input-group">
<div class="input-group-prepend">
<span class="input-group-text"><i class="fa fa-fw fa-building"></i></span>
</div>
<select class="form-control select2" name="vendor">
<option value="">- Select Vendor -</option>
<?php
@@ -375,43 +333,35 @@ ob_start();
</div>
</div>
<div class="form-group">
<div class="mb-3">
<label>Install Date</label>
<div class="input-group">
<div class="input-group-prepend">
<span class="input-group-text"><i class="fa fa-fw fa-calendar-check"></i></span>
</div>
<input type="date" class="form-control" name="install_date" max="2999-12-31" value="<?= $asset_install_date ?>">
</div>
</div>
<?php if ($asset_type !== 'Virtual Machine') { ?>
<div class="form-group">
<div class="mb-3">
<label>Purchase Reference</label>
<div class="input-group">
<div class="input-group-prepend">
<span class="input-group-text"><i class="fa fa-fw fa-shopping-cart"></i></span>
</div>
<input type="text" class="form-control" name="purchase_reference" placeholder="eg. Invoice, PO Number" maxlength="200" value="<?= $asset_purchase_reference ?>">
</div>
</div>
<div class="form-group">
<div class="mb-3">
<label>Purchase Date</label>
<div class="input-group">
<div class="input-group-prepend">
<span class="input-group-text"><i class="fa fa-fw fa-receipt"></i></span>
</div>
<input type="date" class="form-control" name="purchase_date" max="2999-12-31" value="<?= $asset_purchase_date ?>">
</div>
</div>
<div class="form-group">
<div class="mb-3">
<label>Warranty Expire</label>
<div class="input-group">
<div class="input-group-prepend">
<span class="input-group-text"><i class="fa fa-fw fa-calendar-times"></i></span>
</div>
<input type="date" class="form-control" name="warranty_expire" max="2999-12-31" value="<?= $asset_warranty_expire ?>">
</div>
</div>
@@ -421,22 +371,18 @@ ob_start();
<div class="tab-pane fade" id="pillsLoginCopy<?= $asset_id ?>">
<div class="form-group">
<div class="mb-3">
<label>Username</label>
<div class="input-group">
<div class="input-group-prepend">
<span class="input-group-text"><i class="fa fa-fw fa-user"></i></span>
</div>
<input type="text" class="form-control" name="username" placeholder="Username" maxlength="350">
</div>
</div>
<div class="form-group">
<div class="mb-3">
<label>Password</label>
<div class="input-group">
<div class="input-group-prepend">
<span class="input-group-text"><i class="fa fa-fw fa-lock"></i></span>
</div>
<input type="text" class="form-control" name="password" placeholder="Password" maxlength="350" autocomplete="off">
</div>
</div>
@@ -445,13 +391,13 @@ ob_start();
<div class="tab-pane fade" id="pillsNotesCopy<?= $asset_id ?>">
<div class="form-group">
<div class="mb-3">
<textarea class="form-control" rows="8" placeholder="Enter some notes" name="notes"><?= $asset_notes ?></textarea>
</div>
<div class="form-group">
<div class="mb-3">
<label>Upload Photo</label>
<input type="file" class="form-control-file" name="file">
<input type="file" class="form-control" name="file">
</div>
</div>
@@ -459,8 +405,8 @@ ob_start();
</div>
</div>
<div class="modal-footer">
<button type="submit" name="add_asset" class="btn btn-primary text-bold"><i class="fa fa-check mr-2"></i>Copy</button>
<button type="button" class="btn btn-light" data-dismiss="modal"><i class="fa fa-times mr-2"></i>Cancel</button>
<button type="submit" name="add_asset" class="btn btn-primary text-bold"><i class="fa fa-check me-2"></i>Copy</button>
<button type="button" class="btn btn-light" data-bs-dismiss="modal"><i class="fa fa-times me-2"></i>Cancel</button>
</div>
</form>

View File

@@ -2,10 +2,8 @@
<div class="modal-dialog modal-lg">
<div class="modal-content">
<div class="modal-header bg-dark">
<h5 class="modal-title"><i class="fa fa-fw fa-<?= $device_icon ?> mr-2"></i><?= $asset_name ?> Documents</h5>
<button type="button" class="close text-white" data-dismiss="modal">
<span>&times;</span>
</button>
<h5 class="modal-title"><i class="fa fa-fw fa-<?= $device_icon ?> me-2"></i><?= $asset_name ?> Documents</h5>
<button type="button" class="btn-close btn-close-white" data-bs-dismiss="modal"></button>
</div>
<div class="modal-body">
@@ -21,7 +19,7 @@
<?php } ?>
</div>
<div class="modal-footer">
<button type="button" class="btn btn-light" data-dismiss="modal"><i class="fa fa-times mr-2"></i>Cancel</button>
<button type="button" class="btn btn-light" data-bs-dismiss="modal"><i class="fa fa-times me-2"></i>Cancel</button>
</div>
</div>

View File

@@ -73,10 +73,8 @@ ob_start();
?>
<div class="modal-header bg-dark">
<h5 class="modal-title"><i class='fa fa-fw fa-<?= $device_icon ?> mr-2'></i>Editing asset: <strong><?= $asset_name ?></strong></h5>
<button type="button" class="close text-white" data-dismiss="modal">
<span>&times;</span>
</button>
<h5 class="modal-title"><i class='fa fa-fw fa-<?= $device_icon ?> me-2'></i>Editing asset: <strong><?= $asset_name ?></strong></h5>
<button type="button" class="btn-close btn-close-white" data-bs-dismiss="modal"></button>
</div>
<form action="post.php" method="post" enctype="multipart/form-data" autocomplete="off">
<input type="hidden" name="csrf_token" value="<?= $_SESSION['csrf_token'] ?>">
@@ -86,22 +84,22 @@ ob_start();
<ul class="nav nav-pills nav-justified mb-3">
<li class="nav-item">
<a class="nav-link active" data-toggle="pill" href="#pills-details">Details</a>
<a class="nav-link active" data-bs-toggle="pill" href="#pills-details">Details</a>
</li>
<li class="nav-item">
<a class="nav-link" data-toggle="pill" href="#pills-assignment">Assignment</a>
<a class="nav-link" data-bs-toggle="pill" href="#pills-assignment">Assignment</a>
</li>
<li class="nav-item">
<a class="nav-link" data-toggle="pill" href="#pills-network">Network</a>
<a class="nav-link" data-bs-toggle="pill" href="#pills-network">Network</a>
</li>
<li class="nav-item">
<a class="nav-link" data-toggle="pill" href="#pills-purchase">Purchase</a>
<a class="nav-link" data-bs-toggle="pill" href="#pills-purchase">Purchase</a>
</li>
<li class="nav-item">
<a class="nav-link" data-toggle="pill" href="#pills-notes">Notes</a>
<a class="nav-link" data-bs-toggle="pill" href="#pills-notes">Notes</a>
</li>
<li class="nav-item">
<a class="nav-link" data-toggle="pill" href="#pills-history">History</a>
<a class="nav-link" data-bs-toggle="pill" href="#pills-history">History</a>
</li>
</ul>
@@ -111,12 +109,10 @@ ob_start();
<div class="tab-pane fade show active" id="pills-details">
<div class="form-group">
<div class="mb-3">
<label>Type <strong class="text-danger">*</strong></label>
<div class="input-group">
<div class="input-group-prepend">
<span class="input-group-text"><i class="fa fa-fw fa-layer-group"></i></span>
</div>
<select class="form-control select2" name="type" required>
<?php foreach($asset_types_array as $asset_type_select => $asset_icon_select) { ?>
<option <?php if ($asset_type_select == $asset_type) { echo "selected"; } ?>><?= $asset_type_select ?></option>
@@ -125,14 +121,11 @@ ob_start();
</div>
</div>
<div class="form-group">
<div class="mb-3">
<label>Name <strong class="text-danger">*</strong></label>
<div class="input-group">
<div class="input-group-prepend">
<span class="input-group-text"><i class="fas fa-fw fa-tag"></i></span>
</div>
<input type="text" class="form-control" name="name" placeholder="Asset name or asset tag" maxlength="200" value="<?= $asset_name ?>" required>
<div class="input-group-append">
<div class="input-group-text">
<label class="star-toggle mb-0" title="Favorite">
<input type="checkbox"
@@ -142,61 +135,50 @@ ob_start();
<i class="far fa-star"></i>
</label>
</div>
</div>
</div>
</div>
<?php //Do not display Make Model or Serial if Virtual is selected
if ($asset_type !== 'virtual') { ?>
<div class="form-group">
<div class="mb-3">
<label>Make</label>
<div class="input-group">
<div class="input-group-prepend">
<span class="input-group-text"><i class="fa fa-fw fa-building"></i></span>
</div>
<input type="text" class="form-control" name="make" placeholder="Manufacturer" maxlength="200" value="<?= $asset_make ?>">
</div>
</div>
<div class="form-group">
<div class="mb-3">
<label>Model</label>
<div class="input-group">
<div class="input-group-prepend">
<span class="input-group-text"><i class="fa fa-fw fa-cube"></i></span>
</div>
<input type="text" class="form-control" name="model" placeholder="Model Number" maxlength="200" value="<?= $asset_model ?>">
</div>
</div>
<div class="form-group">
<div class="mb-3">
<label>Serial Number</label>
<div class="input-group">
<div class="input-group-prepend">
<span class="input-group-text"><i class="fa fa-fw fa-barcode"></i></span>
</div>
<input type="text" class="form-control text-monospace" name="serial" placeholder="Serial number" maxlength="200" value="<?= $asset_serial ?>">
<input type="text" class="form-control font-monospace" name="serial" placeholder="Serial number" maxlength="200" value="<?= $asset_serial ?>">
</div>
</div>
<?php } ?>
<?php if ($asset_type !== 'Phone' && $asset_type !== 'Mobile Phone' && $asset_type !== 'Tablet' && $asset_type !== 'Access Point' && $asset_type !== 'Printer' && $asset_type !== 'Camera' && $asset_type !== 'TV' && $asset_type !== 'Other') { ?>
<div class="form-group">
<div class="mb-3">
<label>Operating System</label>
<div class="input-group">
<div class="input-group-prepend">
<span class="input-group-text"><i class="fas fa-fw fa-laptop-code"></i></span>
</div>
<input type="text" class="form-control" name="os" id="os" placeholder="ex Windows 10 Pro" maxlength="200" value="<?= $asset_os ?>">
</div>
</div>
<?php } ?>
<div class="form-group">
<div class="mb-3">
<label>Description</label>
<div class="input-group">
<div class="input-group-prepend">
<span class="input-group-text"><i class="fa fa-fw fa-align-left"></i></span>
</div>
<input type="text" class="form-control" name="description" placeholder="Description of the asset" maxlength="255" value="<?= $asset_description ?>">
</div>
</div>
@@ -205,12 +187,10 @@ ob_start();
<div class="tab-pane fade" id="pills-assignment">
<div class="form-group">
<div class="mb-3">
<label>Location</label>
<div class="input-group">
<div class="input-group-prepend">
<span class="input-group-text"><i class="fa fa-fw fa-building"></i></span>
</div>
<select class="form-control select2" name="location">
<option value="">- Select Location -</option>
<?php
@@ -233,22 +213,18 @@ ob_start();
</div>
</div>
<div class="form-group">
<div class="mb-3">
<label>Physical Location</label>
<div class="input-group">
<div class="input-group-prepend">
<span class="input-group-text"><i class="fa fa-fw fa-map-marker-alt"></i></span>
</div>
<input type="text" class="form-control" name="physical_location" placeholder="Physical location eg. Floor 2, Closet B" maxlength="200" value="<?= $asset_physical_location ?>">
</div>
</div>
<div class="form-group">
<div class="mb-3">
<label>Assign To</label>
<div class="input-group">
<div class="input-group-prepend">
<span class="input-group-text"><i class="fa fa-fw fa-user-check"></i></span>
</div>
<select class="form-control select2" name="contact">
<option value="">- Select Contact -</option>
<?php
@@ -273,12 +249,10 @@ ob_start();
</div>
</div>
<div class="form-group">
<div class="mb-3">
<label>Status</label>
<div class="input-group">
<div class="input-group-prepend">
<span class="input-group-text"><i class="fa fa-fw fa-circle"></i></span>
</div>
<select class="form-control select2" name="status">
<option value="">- Select Status -</option>
<?php
@@ -303,12 +277,10 @@ ob_start();
<div class="tab-pane fade" id="pills-network">
<div class="form-group">
<div class="mb-3">
<label>Network</label>
<div class="input-group">
<div class="input-group-prepend">
<span class="input-group-text"><i class="fa fa-fw fa-network-wired"></i></span>
</div>
<select class="form-control select2" name="network">
<option value="">- Select Network -</option>
<?php
@@ -333,76 +305,60 @@ ob_start();
</div>
</div>
<div class="form-group">
<div class="mb-3">
<label>IPv4 Address / <span class="text-muted">DHCP</span></label>
<div class="input-group">
<div class="input-group-prepend">
<span class="input-group-text"><i class="fa fa-fw fa-ethernet"></i></span>
</div>
<input type="text" class="form-control text-monospace" name="ip" value="<?= $asset_ip ?>" placeholder="192.168.10.250" data-inputmask="'alias': 'ip'" maxlength="200" data-mask>
<div class="input-group-append">
<input type="text" class="form-control font-monospace" name="ip" value="<?= $asset_ip ?>" placeholder="192.168.10.250" data-inputmask="'alias': 'ip'" maxlength="200" data-mask>
<div class="input-group-text">
<input type="checkbox" name="dhcp" value="1" <?php if($asset_ip == 'DHCP'){ echo "checked"; } ?>>
</div>
</div>
</div>
</div>
<div class="form-group">
<div class="mb-3">
<label>MAC Address</label>
<div class="input-group">
<div class="input-group-prepend">
<span class="input-group-text"><i class="fa fa-fw fa-ethernet"></i></span>
</div>
<input type="text" class="form-control text-monospace" name="mac" value="<?= $asset_mac ?>" placeholder="00:11:22:AA:BB:CC" data-inputmask="'alias': 'mac'" maxlength="200" data-mask>
<input type="text" class="form-control font-monospace" name="mac" value="<?= $asset_mac ?>" placeholder="00:11:22:AA:BB:CC" data-inputmask="'alias': 'mac'" maxlength="200" data-mask>
</div>
</div>
<div class="form-group">
<div class="mb-3">
<label>IPv6 Address</label>
<div class="input-group">
<div class="input-group-prepend">
<span class="input-group-text"><i class="fa fa-fw fa-ethernet"></i></span>
</div>
<input type="text" class="form-control text-monospace" name="ipv6" value="<?= $asset_ipv6 ?>" placeholder="2001:0db8:1000::3" maxlength="200">
<input type="text" class="form-control font-monospace" name="ipv6" value="<?= $asset_ipv6 ?>" placeholder="2001:0db8:1000::3" maxlength="200">
</div>
</div>
<div class="form-group">
<div class="mb-3">
<label>NAT Address</label>
<div class="input-group">
<div class="input-group-prepend">
<span class="input-group-text"><i class="fa fa-fw fa-exchange-alt"></i></span>
</div>
<input type="text" class="form-control text-monospace" name="nat_ip" value="<?= $asset_nat_ip ?>" placeholder="10.52.4.55" data-inputmask="'alias': 'ip'" maxlength="200" data-mask>
<input type="text" class="form-control font-monospace" name="nat_ip" value="<?= $asset_nat_ip ?>" placeholder="10.52.4.55" data-inputmask="'alias': 'ip'" maxlength="200" data-mask>
</div>
</div>
<div class="form-group">
<div class="mb-3">
<label>URI</label>
<div class="input-group">
<div class="input-group-prepend">
<span class="input-group-text"><i class="fa fa-fw fa-globe"></i></span>
</div>
<input type="text" class="form-control" name="uri" placeholder="URI http:// ftp:// ssh: etc" maxlength="500" value="<?= $asset_uri ?>">
</div>
</div>
<div class="form-group">
<div class="mb-3">
<label>URI 2</label>
<div class="input-group">
<div class="input-group-prepend">
<span class="input-group-text"><i class="fa fa-fw fa-globe"></i></span>
</div>
<input type="text" class="form-control" name="uri_2" placeholder="URI http:// ftp:// ssh: etc" maxlength="500" value="<?= $asset_uri_2 ?>">
</div>
</div>
<div class="form-group">
<div class="mb-3">
<label>Client URI</label>
<div class="input-group">
<div class="input-group-prepend">
<span class="input-group-text"><i class="fa fa-fw fa-globe"></i></span>
</div>
<input type="text" class="form-control" name="uri_client" placeholder="URI http:// ftp:// ssh: etc -- viewable in Client Portal" maxlength="500" value="<?= $asset_uri_client ?>">
</div>
</div>
@@ -411,12 +367,10 @@ ob_start();
<div class="tab-pane fade" id="pills-purchase">
<div class="form-group">
<div class="mb-3">
<label>Vendor</label>
<div class="input-group">
<div class="input-group-prepend">
<span class="input-group-text"><i class="fa fa-fw fa-building"></i></span>
</div>
<select class="form-control select2" name="vendor">
<option value="">- Select Vendor -</option>
<?php
@@ -440,44 +394,36 @@ ob_start();
</div>
<?php if ($asset_type !== 'Virtual Machine') { ?>
<div class="form-group">
<div class="mb-3">
<label>Purchase Reference</label>
<div class="input-group">
<div class="input-group-prepend">
<span class="input-group-text"><i class="fa fa-fw fa-receipt"></i></span>
</div>
<input type="text" class="form-control" name="purchase_reference" placeholder="eg. Invoice, PO Number" maxlength="200" value="<?= $asset_purchase_reference ?>">
</div>
</div>
<div class="form-group">
<div class="mb-3">
<label>Purchase Date</label>
<div class="input-group">
<div class="input-group-prepend">
<span class="input-group-text"><i class="fa fa-fw fa-calendar"></i></span>
</div>
<input type="date" class="form-control" name="purchase_date" max="2999-12-31" value="<?= $asset_purchase_date ?>">
</div>
</div>
<?php } ?>
<div class="form-group">
<div class="mb-3">
<label>Install Date</label>
<div class="input-group">
<div class="input-group-prepend">
<span class="input-group-text"><i class="fa fa-fw fa-calendar-check"></i></span>
</div>
<input type="date" class="form-control" name="install_date" max="2999-12-31" value="<?= $asset_install_date ?>">
</div>
</div>
<?php if ($asset_type !== 'Virtual Machine') { ?>
<div class="form-group">
<div class="mb-3">
<label>Warranty Expire</label>
<div class="input-group">
<div class="input-group-prepend">
<span class="input-group-text"><i class="fa fa-fw fa-calendar-times"></i></span>
</div>
<input type="date" class="form-control" name="warranty_expire" max="2999-12-31" value="<?= $asset_warranty_expire ?>">
</div>
</div>
@@ -493,21 +439,19 @@ ob_start();
<?php } ?>
</div>
<div class="form-group">
<div class="mb-3">
<label>Upload / Replace Photo</label>
<input type="file" class="form-control-file" name="file" accept="image/*">
<input type="file" class="form-control" name="file" accept="image/*">
</div>
<div class="form-group">
<div class="mb-3">
<textarea class="form-control" rows="8" placeholder="Enter some notes" name="notes"><?= $asset_notes ?></textarea>
</div>
<div class="form-group">
<div class="mb-3">
<label>Tags</label>
<div class="input-group">
<div class="input-group-prepend">
<span class="input-group-text"><i class="fa fa-fw fa-tags"></i></span>
</div>
<select class="form-control select2" name="tags[]" data-placeholder="Add some tags" multiple>
<?php
@@ -520,23 +464,21 @@ ob_start();
<?php } ?>
</select>
<div class="input-group-append">
<button class="btn btn-secondary ajax-modal" type="button"
data-modal-url="../admin/modals/tag/tag_add.php?type=5">
<i class="fas fa-plus"></i>
</button>
</div>
</div>
</div>
<p class="text-muted text-right">Asset ID: <span class="text-monospace"><?= $asset_id ?></span></p>
<p class="text-muted text-end">Asset ID: <span class="font-monospace"><?= $asset_id ?></span></p>
</div>
<div class="tab-pane fade" id="pills-history">
<div class="form-group">
<div class="mb-3">
<label>Asset History</label>
<ul>
<?php
@@ -544,7 +486,7 @@ ob_start();
$asset_history_status = escapeHtml($row['asset_history_status']);
$asset_history_description = escapeHtml($row['asset_history_description']);
$asset_history_created_at = escapeHtml($row['asset_history_created_at']);
echo "<li><span class='text-monospace'>$asset_history_created_at</span> <span class='badge badge-pill badge-secondary mt-1'>$asset_history_status</span><br/>$asset_history_description</li><br/>";
echo "<li><span class='font-monospace'>$asset_history_created_at</span> <span class='badge rounded-pill bg-secondary mt-1'>$asset_history_status</span><br/>$asset_history_description</li><br/>";
}
?>
</ul>
@@ -556,8 +498,8 @@ ob_start();
</div>
</div>
<div class="modal-footer">
<button type="submit" name="edit_asset" class="btn btn-primary text-bold"><i class="fa fa-check mr-2"></i>Save</button>
<button type="button" class="btn btn-light" data-dismiss="modal"><i class="fa fa-times mr-2"></i>Cancel</button>
<button type="submit" name="edit_asset" class="btn btn-primary text-bold"><i class="fa fa-check me-2"></i>Save</button>
<button type="button" class="btn btn-light" data-bs-dismiss="modal"><i class="fa fa-times me-2"></i>Cancel</button>
</div>
</form>

View File

@@ -37,10 +37,8 @@ ob_start();
?>
<div class="modal-header bg-dark">
<h5 class="modal-title"><i class="fas fa-fw fa-download mr-2"></i>Export Assets</h5>
<button type="button" class="close text-white" data-dismiss="modal">
<span>&times;</span>
</button>
<h5 class="modal-title"><i class="fas fa-fw fa-download me-2"></i>Export Assets</h5>
<button type="button" class="btn-close btn-close-white" data-bs-dismiss="modal"></button>
</div>
<?php exportTabsNav(); ?>
@@ -53,22 +51,18 @@ ob_start();
<?php exportTabsFiltersOpen(); ?>
<div class="form-group">
<div class="mb-3">
<label>Search</label>
<div class="input-group">
<div class="input-group-prepend">
<span class="input-group-text"><i class="fa fa-fw fa-search"></i></span>
</div>
<input type="text" class="form-control" name="q" value="<?= stripslashes(escapeHtml($q_filter)) ?>" placeholder="Name, serial, IP, OS">
</div>
</div>
<div class="form-group">
<div class="mb-3">
<label>Type</label>
<div class="input-group">
<div class="input-group-prepend">
<span class="input-group-text"><i class="fa fa-fw fa-desktop"></i></span>
</div>
<select class="form-control select2" name="type">
<option value="">- All Types -</option>
<option <?php if ($type_filter === 'workstation') { echo "selected"; } ?> value="workstation">Workstations</option>
@@ -81,12 +75,10 @@ ob_start();
</div>
<?php if (!$client_id) { ?>
<div class="form-group">
<div class="mb-3">
<label>Client</label>
<div class="input-group">
<div class="input-group-prepend">
<span class="input-group-text"><i class="fa fa-fw fa-user"></i></span>
</div>
<select class="form-control select2" name="client">
<option value="">- All Clients -</option>
<?php
@@ -105,12 +97,10 @@ ob_start();
<?php } ?>
<?php if ($client_id) { ?>
<div class="form-group">
<div class="mb-3">
<label>Location</label>
<div class="input-group">
<div class="input-group-prepend">
<span class="input-group-text"><i class="fa fa-fw fa-map-marker-alt"></i></span>
</div>
<select class="form-control select2" name="location">
<option value="">- All Locations -</option>
<?php
@@ -128,12 +118,10 @@ ob_start();
</div>
<?php } ?>
<div class="form-group">
<div class="mb-3">
<label>Tags</label>
<div class="input-group">
<div class="input-group-prepend">
<span class="input-group-text"><i class="fa fa-fw fa-tags"></i></span>
</div>
<select class="form-control select2" name="tags[]" data-placeholder="- All Tags -" multiple>
<?php
$sql_tags_filter = mysqli_query($mysqli, "SELECT tag_id, tag_name FROM tags WHERE tag_type = 5 ORDER BY tag_name ASC");
@@ -149,12 +137,10 @@ ob_start();
</div>
</div>
<div class="form-group">
<div class="mb-3">
<label>Warranty Expiring In</label>
<div class="input-group">
<div class="input-group-prepend">
<span class="input-group-text"><i class="fa fa-fw fa-hourglass-half"></i></span>
</div>
<select class="form-control select2" name="expire_days">
<option value="">- Any -</option>
<option <?php if ($expire_filter === 'expired') { echo "selected"; } ?> value="expired">Expired</option>
@@ -165,12 +151,10 @@ ob_start();
</div>
</div>
<div class="form-group">
<div class="mb-3">
<label>Archived</label>
<div class="input-group">
<div class="input-group-prepend">
<span class="input-group-text"><i class="fa fa-fw fa-archive"></i></span>
</div>
<select class="form-control select2" name="archived">
<option <?php if (!$archived_filter) { echo "selected"; } ?> value="0">Active only</option>
<option <?php if ($archived_filter) { echo "selected"; } ?> value="1">Archived only</option>

View File

@@ -9,10 +9,8 @@ ob_start();
?>
<div class="modal-header bg-dark">
<h5 class="modal-title"><i class="fa fa-fw fa-desktop mr-2"></i>Import Assets</h5>
<button type="button" class="close text-white" data-dismiss="modal">
<span>&times;</span>
</button>
<h5 class="modal-title"><i class="fa fa-fw fa-desktop me-2"></i>Import Assets</h5>
<button type="button" class="btn-close btn-close-white" data-bs-dismiss="modal"></button>
</div>
<form action="post.php" method="post" enctype="multipart/form-data" autocomplete="off">
<input type="hidden" name="csrf_token" value="<?= $_SESSION['csrf_token'] ?>">
@@ -21,15 +19,15 @@ ob_start();
<div class="modal-body">
<p><strong>Format csv file with headings & data:</strong><br>Name, Description, Type, Make, Model, Serial, OS, Purchase Date, Assigned To, Location, Physical Location, Notes</p>
<hr>
<div class="form-group my-4">
<input type="file" class="form-control-file" name="file" accept=".csv" required>
<div class="mb-3 my-4">
<input type="file" class="form-control" name="file" accept=".csv" required>
</div>
<hr>
<div>Download <a href="post.php?download_assets_csv_template=<?= $client_id ?>">sample csv template</a></div>
<small class="text-muted">Note: Purchase date must be in the format YYYY-MM-DD. Spreadsheet tools may automatically reformat dates.</small>
</div>
<div class="modal-footer">
<button type="submit" name="import_assets_csv" class="btn btn-primary text-bold"><i class="fa fa-check mr-2"></i>Import</button>
<button type="submit" name="import_assets_csv" class="btn btn-primary text-bold"><i class="fa fa-check me-2"></i>Import</button>
</div>
</form>

View File

@@ -9,10 +9,8 @@ ob_start();
?>
<div class="modal-header bg-dark">
<h5 class="modal-title"><i class="fa fa-fw fa-ethernet mr-2"></i>New Network Interface</h5>
<button type="button" class="close text-white" data-dismiss="modal">
<span>&times;</span>
</button>
<h5 class="modal-title"><i class="fa fa-fw fa-ethernet me-2"></i>New Network Interface</h5>
<button type="button" class="btn-close btn-close-white" data-bs-dismiss="modal"></button>
</div>
<form action="post.php" method="post" autocomplete="off">
@@ -23,13 +21,13 @@ ob_start();
<ul class="nav nav-pills nav-justified mb-3">
<li class="nav-item">
<a class="nav-link active" data-toggle="pill" href="#pills-interface-details">Details</a>
<a class="nav-link active" data-bs-toggle="pill" href="#pills-interface-details">Details</a>
</li>
<li class="nav-item">
<a class="nav-link" data-toggle="pill" href="#pills-interface-network">Network</a>
<a class="nav-link" data-bs-toggle="pill" href="#pills-interface-network">Network</a>
</li>
<li class="nav-item">
<a class="nav-link" data-toggle="pill" href="#pills-interface-notes">Notes</a>
<a class="nav-link" data-bs-toggle="pill" href="#pills-interface-notes">Notes</a>
</li>
</ul>
@@ -40,28 +38,22 @@ ob_start();
<div class="tab-pane fade show active" id="pills-interface-details">
<!-- Interface Name -->
<div class="form-group">
<div class="mb-3">
<label>Interface Name or Port / <span class="text-secondary">Primary</span></label>
<div class="input-group">
<div class="input-group-prepend">
<span class="input-group-text"><i class="fa fa-fw fa-ethernet"></i></span>
</div>
<input type="text" class="form-control" name="name" placeholder="Interface name or port number" maxlength="200" required>
<div class="input-group-append">
<div class="input-group-text">
<input type="checkbox" name="primary_interface" value="1" title="Mark Interface as primary">
</div>
</div>
</div>
</div>
<!-- Type -->
<div class="form-group">
<div class="mb-3">
<label for="network">Interface Type</label>
<div class="input-group">
<div class="input-group-prepend">
<span class="input-group-text"><i class="fa fa-fw fa-plug"></i></span>
</div>
<select class="form-control select2" name="type">
<option value="">- Select Type -</option>
<?php
@@ -81,12 +73,10 @@ ob_start();
</div>
<!-- Interface Description -->
<div class="form-group">
<div class="mb-3">
<label>Description</label>
<div class="input-group">
<div class="input-group-prepend">
<span class="input-group-text"><i class="fa fa-fw fa-tag"></i></span>
</div>
<input
type="text"
class="form-control"
@@ -102,12 +92,10 @@ ob_start();
<div class="tab-pane fade" id="pills-interface-network">
<!-- Network -->
<div class="form-group">
<div class="mb-3">
<label>Network</label>
<div class="input-group">
<div class="input-group-prepend">
<span class="input-group-text"><i class="fa fa-fw fa-network-wired"></i></span>
</div>
<select class="form-control select2" name="network">
<option value="">- Select Network -</option>
<?php
@@ -126,53 +114,43 @@ ob_start();
</div>
<!-- IP (with optional DHCP checkbox) -->
<div class="form-group">
<div class="mb-3">
<label>IPv4 Address / <span class="text-muted">DHCP</span></label>
<div class="input-group">
<div class="input-group-prepend">
<span class="input-group-text"><i class="fa fa-fw fa-ethernet"></i></span>
</div>
<input type="text" class="form-control text-monospace" name="ip" placeholder="e.g. 192.168.1.10" data-inputmask="'alias': 'ip'" maxlength="200" data-mask>
<div class="input-group-append">
<input type="text" class="form-control font-monospace" name="ip" placeholder="e.g. 192.168.1.10" data-inputmask="'alias': 'ip'" maxlength="200" data-mask>
<div class="input-group-text">
<input type="checkbox" name="dhcp" value="1" title="Check to mark address as DHCP controlled">
</div>
</div>
</div>
</div>
<!-- MAC Address -->
<div class="form-group">
<div class="mb-3">
<label>MAC Address</label>
<div class="input-group">
<div class="input-group-prepend">
<span class="input-group-text"><i class="fa fa-fw fa-ethernet"></i></span>
</div>
<input type="text" class="form-control text-monospace" name="mac" placeholder="e.g. 00:1A:2B:3C:4D:5E" data-inputmask="'alias': 'mac'" maxlength="200" data-mask>
<input type="text" class="form-control font-monospace" name="mac" placeholder="e.g. 00:1A:2B:3C:4D:5E" data-inputmask="'alias': 'mac'" maxlength="200" data-mask>
</div>
</div>
<!-- IPv6 -->
<div class="form-group">
<div class="mb-3">
<label>IPv6 Address</label>
<div class="input-group">
<div class="input-group-prepend">
<span class="input-group-text"><i class="fa fa-fw fa-ethernet"></i></span>
</div>
<input type="text" class="form-control text-monospace" name="ipv6" placeholder="e.g. 2001:db8::1" maxlength="200">
<input type="text" class="form-control font-monospace" name="ipv6" placeholder="e.g. 2001:db8::1" maxlength="200">
</div>
</div>
<!-- NAT IP -->
<div class="form-group">
<div class="mb-3">
<label>NAT Address</label>
<div class="input-group">
<div class="input-group-prepend">
<span class="input-group-text"><i class="fa fa-fw fa-exchange-alt"></i></span>
</div>
<input
type="text"
class="form-control text-monospace"
class="form-control font-monospace"
name="nat_ip"
placeholder="e.g. 203.0.113.10 or 10.0.0.5"
maxlength="200"
@@ -182,12 +160,10 @@ ob_start();
</div>
</div>
<div class="form-group">
<div class="mb-3">
<label>Connected to</label>
<div class="input-group">
<div class="input-group-prepend">
<span class="input-group-text"><i class="fa fa-fw fa-plug"></i></span>
</div>
<select class="form-control select2" name="connected_to">
<option value="">- Select Asset and Interface -</option>
<?php
@@ -220,7 +196,7 @@ ob_start();
<div class="tab-pane fade" id="pills-interface-notes">
<!-- Notes -->
<div class="form-group">
<div class="mb-3">
<textarea class="form-control" rows="8" placeholder="Enter some notes" name="notes"></textarea>
</div>
</div>
@@ -230,9 +206,9 @@ ob_start();
</div>
<div class="modal-footer">
<button type="submit" name="add_asset_interface" class="btn btn-primary text-bold">
<i class="fas fa-check mr-2"></i>Create
<i class="fas fa-check me-2"></i>Create
</button>
<button type="button" class="btn btn-light" data-dismiss="modal"><i class="fas fa-times mr-2"></i>Close</button>
<button type="button" class="btn btn-light" data-bs-dismiss="modal"><i class="fas fa-times me-2"></i>Close</button>
</div>
</form>

View File

@@ -15,21 +15,17 @@ ob_start();
<input type="hidden" name="csrf_token" value="<?= $_SESSION['csrf_token'] ?>">
<?php foreach ($interface_ids as $interface_id) { ?><input type="hidden" name="interface_ids[]" value="<?= $interface_id ?>"><?php } ?>
<div class="modal-header bg-dark">
<h5 class="modal-title"><i class="fa fa-fw fa-network-wired mr-2"></i>Bulk Assign Network</h5>
<button type="button" class="close text-white" data-dismiss="modal">
<span>&times;</span>
</button>
<h5 class="modal-title"><i class="fa fa-fw fa-network-wired me-2"></i>Bulk Assign Network</h5>
<button type="button" class="btn-close btn-close-white" data-bs-dismiss="modal"></button>
</div>
<div class="modal-body">
<!-- Network -->
<div class="form-group">
<div class="mb-3">
<label>Network</label>
<div class="input-group">
<div class="input-group-prepend">
<span class="input-group-text"><i class="fa fa-fw fa-network-wired"></i></span>
</div>
<select class="form-control select2" name="bulk_network">
<option value="">- Select a Network -</option>
<?php
@@ -56,8 +52,8 @@ ob_start();
</div>
<div class="modal-footer">
<button type="submit" name="bulk_edit_asset_interface_network" class="btn btn-primary text-bold"><i class="fas fa-check mr-2"></i>Assign</button>
<button type="button" class="btn btn-light" data-dismiss="modal"><i class="fa fa-times mr-2"></i>Cancel</button>
<button type="submit" name="bulk_edit_asset_interface_network" class="btn btn-primary text-bold"><i class="fas fa-check me-2"></i>Assign</button>
<button type="button" class="btn btn-light" data-bs-dismiss="modal"><i class="fa fa-times me-2"></i>Cancel</button>
</div>
</form>

View File

@@ -16,21 +16,17 @@ ob_start();
<?php foreach ($interface_ids as $interface_id) { ?><input type="hidden" name="interface_ids[]" value="<?= $interface_id ?>"><?php } ?>
<div class="modal-header bg-dark">
<h5 class="modal-title"><i class="fa fa-fw fa-ethernet mr-2"></i>Bulk Set Interface Type</h5>
<button type="button" class="close text-white" data-dismiss="modal">
<span>&times;</span>
</button>
<h5 class="modal-title"><i class="fa fa-fw fa-ethernet me-2"></i>Bulk Set Interface Type</h5>
<button type="button" class="btn-close btn-close-white" data-bs-dismiss="modal"></button>
</div>
<div class="modal-body">
<!-- Type -->
<div class="form-group">
<div class="mb-3">
<label for="network">Interface Type</label>
<div class="input-group">
<div class="input-group-prepend">
<span class="input-group-text"><i class="fa fa-fw fa-plug"></i></span>
</div>
<select class="form-control select2" name="bulk_type">
<option value="">- Select Type -</option>
<?php
@@ -52,8 +48,8 @@ ob_start();
</div>
<div class="modal-footer">
<button type="submit" name="bulk_edit_asset_interface_type" class="btn btn-primary text-bold"><i class="fas fa-check mr-2"></i>Set</button>
<button type="button" class="btn btn-light" data-dismiss="modal"><i class="fa fa-times mr-2"></i>Cancel</button>
<button type="submit" name="bulk_edit_asset_interface_type" class="btn btn-primary text-bold"><i class="fas fa-check me-2"></i>Set</button>
<button type="button" class="btn btn-light" data-bs-dismiss="modal"><i class="fa fa-times me-2"></i>Cancel</button>
</div>
</form>

View File

@@ -53,10 +53,8 @@ ob_start();
?>
<div class="modal-header bg-dark">
<h5 class="modal-title"><i class='fa fa-fw fa-ethernet mr-2'></i>Editing Interface: <?= $asset_name ?> - <strong><?= $interface_name ?></strong></h5>
<button type="button" class="close text-white" data-dismiss="modal">
<span>&times;</span>
</button>
<h5 class="modal-title"><i class='fa fa-fw fa-ethernet me-2'></i>Editing Interface: <?= $asset_name ?> - <strong><?= $interface_name ?></strong></h5>
<button type="button" class="btn-close btn-close-white" data-bs-dismiss="modal"></button>
</div>
<form action="post.php" method="post" autocomplete="off">
<input type="hidden" name="csrf_token" value="<?= $_SESSION['csrf_token'] ?>">
@@ -66,13 +64,13 @@ ob_start();
<ul class="nav nav-pills nav-justified mb-3">
<li class="nav-item">
<a class="nav-link active" data-toggle="pill" href="#pills-interface-details<?= $interface_id ?>">Details</a>
<a class="nav-link active" data-bs-toggle="pill" href="#pills-interface-details<?= $interface_id ?>">Details</a>
</li>
<li class="nav-item">
<a class="nav-link" data-toggle="pill" href="#pills-interface-network<?= $interface_id ?>">Network</a>
<a class="nav-link" data-bs-toggle="pill" href="#pills-interface-network<?= $interface_id ?>">Network</a>
</li>
<li class="nav-item">
<a class="nav-link" data-toggle="pill" href="#pills-interface-notes<?= $interface_id ?>">Notes</a>
<a class="nav-link" data-bs-toggle="pill" href="#pills-interface-notes<?= $interface_id ?>">Notes</a>
</li>
</ul>
@@ -83,12 +81,10 @@ ob_start();
<div class="tab-pane fade show active" id="pills-interface-details<?= $interface_id ?>">
<!-- Interface Name -->
<div class="form-group">
<div class="mb-3">
<label>Interface Name or Port / <span class="text-secondary">Primary</span></label>
<div class="input-group">
<div class="input-group-prepend">
<span class="input-group-text"><i class="fa fa-fw fa-ethernet"></i></span>
</div>
<input
type="text"
class="form-control"
@@ -98,21 +94,17 @@ ob_start();
value="<?= $interface_name ?>"
required
>
<div class="input-group-append">
<div class="input-group-text">
<input type="checkbox" name="primary_interface" value="1" <?php if($interface_primary) { echo "checked"; } ?> title="Mark Interface as primary">
</div>
</div>
</div>
</div>
<!-- Interface Description -->
<div class="form-group">
<div class="mb-3">
<label>Description</label>
<div class="input-group">
<div class="input-group-prepend">
<span class="input-group-text"><i class="fa fa-fw fa-tag"></i></span>
</div>
<input
type="text"
class="form-control"
@@ -125,12 +117,10 @@ ob_start();
</div>
<!-- Type -->
<div class="form-group">
<div class="mb-3">
<label for="network">Interface Type</label>
<div class="input-group">
<div class="input-group-prepend">
<span class="input-group-text"><i class="fa fa-fw fa-plug"></i></span>
</div>
<select class="form-control select2" name="type">
<option value="">- Select Type -</option>
<?php
@@ -157,12 +147,10 @@ ob_start();
<div class="tab-pane fade" id="pills-interface-network<?= $interface_id ?>">
<!-- Network -->
<div class="form-group">
<div class="mb-3">
<label>Network</label>
<div class="input-group">
<div class="input-group-prepend">
<span class="input-group-text"><i class="fa fa-fw fa-network-wired"></i></span>
</div>
<select class="form-control select2" name="network">
<option value="">- Select Network -</option>
<?php
@@ -187,15 +175,13 @@ ob_start();
</div>
<!-- IPv4 or DHCP -->
<div class="form-group">
<div class="mb-3">
<label>IPv4 Address / <span class="text-muted">DHCP</span></label>
<div class="input-group">
<div class="input-group-prepend">
<span class="input-group-text"><i class="fa fa-fw fa-ethernet"></i></span>
</div>
<input
type="text"
class="form-control text-monospace"
class="form-control font-monospace"
name="ip"
placeholder="e.g. 192.168.1.10"
maxlength="200"
@@ -203,7 +189,6 @@ ob_start();
data-inputmask="'alias': 'ip'"
data-mask
>
<div class="input-group-append">
<div class="input-group-text">
<input
type="checkbox"
@@ -213,20 +198,17 @@ ob_start();
<?php if ($interface_ip === 'DHCP') echo "checked"; ?>
>
</div>
</div>
</div>
</div>
<!-- MAC Address -->
<div class="form-group">
<div class="mb-3">
<label>MAC Address</label>
<div class="input-group">
<div class="input-group-prepend">
<span class="input-group-text"><i class="fa fa-fw fa-ethernet"></i></span>
</div>
<input
type="text"
class="form-control text-monospace"
class="form-control font-monospace"
name="mac"
placeholder="e.g. 00:1A:2B:3C:4D:5E"
maxlength="200"
@@ -238,15 +220,13 @@ ob_start();
</div>
<!-- IPv6 -->
<div class="form-group">
<div class="mb-3">
<label>IPv6 Address</label>
<div class="input-group">
<div class="input-group-prepend">
<span class="input-group-text"><i class="fa fa-fw fa-ethernet"></i></span>
</div>
<input
type="text"
class="form-control text-monospace"
class="form-control font-monospace"
name="ipv6"
placeholder="e.g. 2001:db8::1"
maxlength="200"
@@ -256,15 +236,13 @@ ob_start();
</div>
<!-- NAT IP -->
<div class="form-group">
<div class="mb-3">
<label>NAT Address</label>
<div class="input-group">
<div class="input-group-prepend">
<span class="input-group-text"><i class="fa fa-fw fa-exchange-alt"></i></span>
</div>
<input
type="text"
class="form-control text-monospace"
class="form-control font-monospace"
name="nat_ip"
placeholder="e.g. 203.0.113.10 or 10.0.0.5"
maxlength="200"
@@ -276,12 +254,10 @@ ob_start();
</div>
<!-- Connected to (One-to-One) -->
<div class="form-group">
<div class="mb-3">
<label>Connected to</label>
<div class="input-group">
<div class="input-group-prepend">
<span class="input-group-text"><i class="fa fa-fw fa-plug"></i></span>
</div>
<select class="form-control select2" name="connected_to">
<option value="">- Select Asset and Interface -</option>
<?php
@@ -322,7 +298,7 @@ ob_start();
<!-- Notes Section -->
<div class="tab-pane fade" id="pills-interface-notes<?= $interface_id ?>">
<!-- Notes -->
<div class="form-group">
<div class="mb-3">
<textarea class="form-control" rows="8" placeholder="Enter some notes" name="notes"><?= $interface_notes ?></textarea>
</div>
</div>
@@ -334,10 +310,10 @@ ob_start();
<!-- End Footer Section -->
<div class="modal-footer">
<button type="submit" name="edit_asset_interface" class="btn btn-primary text-bold">
<i class="fas fa-check mr-2"></i>Save
<i class="fas fa-check me-2"></i>Save
</button>
<button type="button" class="btn btn-light" data-dismiss="modal">
<i class="fas fa-times mr-2"></i>Close
<button type="button" class="btn btn-light" data-bs-dismiss="modal">
<i class="fas fa-times me-2"></i>Close
</button>
</div>
</form>

View File

@@ -2,10 +2,8 @@
<div class="modal-dialog">
<div class="modal-content">
<div class="modal-header bg-dark">
<h5 class="modal-title"><i class="fas fa-fw fa-download mr-2"></i>Export Interfaces</h5>
<button type="button" class="close text-white" data-dismiss="modal">
<span>&times;</span>
</button>
<h5 class="modal-title"><i class="fas fa-fw fa-download me-2"></i>Export Interfaces</h5>
<button type="button" class="btn-close btn-close-white" data-bs-dismiss="modal"></button>
</div>
<form action="post.php" method="post" autocomplete="off">
<input type="hidden" name="csrf_token" value="<?= $_SESSION['csrf_token'] ?>">

View File

@@ -2,10 +2,8 @@
<div class="modal-dialog">
<div class="modal-content">
<div class="modal-header bg-dark">
<h5 class="modal-title"><i class="fa fa-fw fa-ethernet mr-2"></i>Import Interfaces</h5>
<button type="button" class="close text-white" data-dismiss="modal">
<span>&times;</span>
</button>
<h5 class="modal-title"><i class="fa fa-fw fa-ethernet me-2"></i>Import Interfaces</h5>
<button type="button" class="btn-close btn-close-white" data-bs-dismiss="modal"></button>
</div>
<form action="post.php" method="post" enctype="multipart/form-data" autocomplete="off">
<input type="hidden" name="csrf_token" value="<?= $_SESSION['csrf_token'] ?>">
@@ -13,14 +11,14 @@
<div class="modal-body">
<p><strong>Format csv file with headings & data:</strong><br>Name, Description, Type, MAC, IP, NAT IP, IPv6, Network</p>
<hr>
<div class="form-group my-4">
<input type="file" class="form-control-file" name="file" accept=".csv" required>
<div class="mb-3 my-4">
<input type="file" class="form-control" name="file" accept=".csv" required>
</div>
<hr>
<div>Download <a href="post.php?download_client_asset_interfaces_csv_template=<?= $asset_id ?>">sample csv template</a></div>
</div>
<div class="modal-footer">
<button type="submit" name="import_client_asset_interfaces_csv" class="btn btn-primary text-bold"><i class="fa fa-check mr-2"></i>Import</button>
<button type="submit" name="import_client_asset_interfaces_csv" class="btn btn-primary text-bold"><i class="fa fa-check me-2"></i>Import</button>
</div>
</form>
</div>

View File

@@ -2,10 +2,8 @@
<div class="modal-dialog">
<div class="modal-content">
<div class="modal-header bg-dark">
<h5 class="modal-title"><i class="fa fa-fw fa-ethernet mr-2"></i>Creating Multiple Interfaces: <strong><?= $asset_name ?></strong></h5>
<button type="button" class="close text-white" data-dismiss="modal">
<span>&times;</span>
</button>
<h5 class="modal-title"><i class="fa fa-fw fa-ethernet me-2"></i>Creating Multiple Interfaces: <strong><?= $asset_name ?></strong></h5>
<button type="button" class="btn-close btn-close-white" data-bs-dismiss="modal"></button>
</div>
<form action="post.php" method="post" autocomplete="off">
@@ -15,34 +13,28 @@
<div class="modal-body">
<!-- Starting Interface Number -->
<div class="form-group">
<div class="mb-3">
<label for="interface_start">Starting Interface Number</label>
<div class="input-group">
<div class="input-group-prepend">
<span class="input-group-text"><i class="fa fa-fw fa-ethernet"></i></span>
</div>
<input type="number" id="interface_start" class="form-control" name="interface_start" placeholder="e.g., 1" min="0" required>
</div>
</div>
<!-- Number of Interfaces -->
<div class="form-group">
<div class="mb-3">
<label for="interfaces">Number of Interfaces / Ports</label>
<div class="input-group">
<div class="input-group-prepend">
<span class="input-group-text"><i class="fa fa-fw fa-ethernet"></i></span>
</div>
<input type="number" id="interfaces" class="form-control" name="interfaces" placeholder="How many interfaces to create?" min="1" required>
</div>
</div>
<!-- Type -->
<div class="form-group">
<div class="mb-3">
<label for="network">Interface Type</label>
<div class="input-group">
<div class="input-group-prepend">
<span class="input-group-text"><i class="fa fa-fw fa-plug"></i></span>
</div>
<select class="form-control select2" name="type">
<option value="">- Select Type -</option>
<?php
@@ -62,23 +54,19 @@
</div>
<!-- Interface Name -->
<div class="form-group">
<div class="mb-3">
<label for="name_prefix">Interface Name / Port Prefix (Optional)</label>
<div class="input-group">
<div class="input-group-prepend">
<span class="input-group-text"><i class="fa fa-fw fa-tag"></i></span>
</div>
<input type="text" id="name_prefix" class="form-control" name="name_prefix" placeholder="e.g., eth-" maxlength="200">
</div>
</div>
<!-- Network -->
<div class="form-group">
<div class="mb-3">
<label for="network">Network Assignment</label>
<div class="input-group">
<div class="input-group-prepend">
<span class="input-group-text"><i class="fa fa-fw fa-network-wired"></i></span>
</div>
<select id="network" class="form-control select2" name="network">
<option value="">- Select Network -</option>
<?php
@@ -98,7 +86,7 @@
</div>
<!-- Notes -->
<div class="form-group">
<div class="mb-3">
<label for="notes">Additional Notes</label>
<textarea id="notes" class="form-control" rows="5" placeholder="Enter any additional details or notes" name="notes"></textarea>
</div>
@@ -106,9 +94,9 @@
</div>
<div class="modal-footer">
<button type="submit" name="add_asset_multiple_interfaces" class="btn btn-primary text-bold">
<i class="fas fa-check mr-2"></i>Create Interfaces
<i class="fas fa-check me-2"></i>Create Interfaces
</button>
<button type="button" class="btn btn-light" data-dismiss="modal"><i class="fas fa-times mr-2"></i>Cancel</button>
<button type="button" class="btn btn-light" data-bs-dismiss="modal"><i class="fas fa-times me-2"></i>Cancel</button>
</div>
</form>
</div>

View File

@@ -22,21 +22,17 @@ ob_start();
?>
<div class="modal-header bg-dark">
<h5 class="modal-title"><i class="fa fa-fw fa-key mr-2"></i>Link Credential to <strong><?= $asset_name ?></strong></h5>
<button type="button" class="close text-white" data-dismiss="modal">
<span>&times;</span>
</button>
<h5 class="modal-title"><i class="fa fa-fw fa-key me-2"></i>Link Credential to <strong><?= $asset_name ?></strong></h5>
<button type="button" class="btn-close btn-close-white" data-bs-dismiss="modal"></button>
</div>
<form action="post.php" method="post" autocomplete="off">
<input type="hidden" name="csrf_token" value="<?= $_SESSION['csrf_token'] ?>">
<input type="hidden" name="asset_id" value="<?= $asset_id ?>">
<div class="modal-body">
<div class="form-group">
<div class="mb-3">
<div class="input-group">
<div class="input-group-prepend">
<span class="input-group-text"><i class="fa fa-fw fa-key"></i></span>
</div>
<select class="form-control select2" name="credential_id">
<option value="">- Select a Credential -</option>
<?php
@@ -63,8 +59,8 @@ ob_start();
</div>
</div>
<div class="modal-footer">
<button type="submit" name="link_asset_to_credential" class="btn btn-primary text-bold"><i class="fa fa-check mr-2"></i>Link</button>
<button type="button" class="btn btn-light" data-dismiss="modal"><i class="fa fa-times mr-2"></i>Cancel</button>
<button type="submit" name="link_asset_to_credential" class="btn btn-primary text-bold"><i class="fa fa-check me-2"></i>Link</button>
<button type="button" class="btn btn-light" data-bs-dismiss="modal"><i class="fa fa-times me-2"></i>Cancel</button>
</div>
</form>

View File

@@ -20,21 +20,17 @@ ob_start();
?>
<div class="modal-header bg-dark">
<h5 class="modal-title"><i class="fa fa-fw fa-folder mr-2"></i>Link Document to <strong><?= $asset_name ?></strong></h5>
<button type="button" class="close text-white" data-dismiss="modal">
<span>&times;</span>
</button>
<h5 class="modal-title"><i class="fa fa-fw fa-folder me-2"></i>Link Document to <strong><?= $asset_name ?></strong></h5>
<button type="button" class="btn-close btn-close-white" data-bs-dismiss="modal"></button>
</div>
<form action="post.php" method="post" autocomplete="off">
<input type="hidden" name="csrf_token" value="<?= $_SESSION['csrf_token'] ?>">
<input type="hidden" name="asset_id" value="<?= $asset_id ?>">
<div class="modal-body">
<div class="form-group">
<div class="mb-3">
<div class="input-group">
<div class="input-group-prepend">
<span class="input-group-text"><i class="fa fa-fw fa-folder"></i></span>
</div>
<select class="form-control select2" name="document_id">
<option value="">- Select a Document -</option>
<?php
@@ -62,8 +58,8 @@ ob_start();
</div>
</div>
<div class="modal-footer">
<button type="submit" name="link_asset_to_document" class="btn btn-primary text-bold"><i class="fa fa-check mr-2"></i>Link</button>
<button type="button" class="btn btn-light" data-dismiss="modal"><i class="fa fa-times mr-2"></i>Cancel</button>
<button type="submit" name="link_asset_to_document" class="btn btn-primary text-bold"><i class="fa fa-check me-2"></i>Link</button>
<button type="button" class="btn btn-light" data-bs-dismiss="modal"><i class="fa fa-times me-2"></i>Cancel</button>
</div>
</form>

View File

@@ -22,21 +22,17 @@ ob_start();
?>
<div class="modal-header bg-dark">
<h5 class="modal-title"><i class="fa fa-fw fa-paperclip mr-2"></i>Link File to <strong><?= $asset_name ?></strong></h5>
<button type="button" class="close text-white" data-dismiss="modal">
<span>&times;</span>
</button>
<h5 class="modal-title"><i class="fa fa-fw fa-paperclip me-2"></i>Link File to <strong><?= $asset_name ?></strong></h5>
<button type="button" class="btn-close btn-close-white" data-bs-dismiss="modal"></button>
</div>
<form action="post.php" method="post" autocomplete="off">
<input type="hidden" name="csrf_token" value="<?= $_SESSION['csrf_token'] ?>">
<input type="hidden" name="asset_id" value="<?= $asset_id ?>">
<div class="modal-body">
<div class="form-group">
<div class="mb-3">
<div class="input-group">
<div class="input-group-prepend">
<span class="input-group-text"><i class="fa fa-fw fa-paperclip"></i></span>
</div>
<select class="form-control select2" name="file_id">
<option value="">- Select a File -</option>
<?php
@@ -67,8 +63,8 @@ ob_start();
</div>
</div>
<div class="modal-footer">
<button type="submit" name="link_asset_to_file" class="btn btn-primary text-bold"><i class="fa fa-check mr-2"></i>Link</button>
<button type="button" class="btn btn-light" data-dismiss="modal"><i class="fa fa-times mr-2"></i>Cancel</button>
<button type="submit" name="link_asset_to_file" class="btn btn-primary text-bold"><i class="fa fa-check me-2"></i>Link</button>
<button type="button" class="btn btn-light" data-bs-dismiss="modal"><i class="fa fa-times me-2"></i>Cancel</button>
</div>
</form>

View File

@@ -20,21 +20,17 @@ ob_start();
?>
<div class="modal-header bg-dark">
<h5 class="modal-title"><i class="fa fa-fw fa-stream mr-2"></i>Link Service to <strong><?= $asset_name ?></strong></h5>
<button type="button" class="close text-white" data-dismiss="modal">
<span>&times;</span>
</button>
<h5 class="modal-title"><i class="fa fa-fw fa-stream me-2"></i>Link Service to <strong><?= $asset_name ?></strong></h5>
<button type="button" class="btn-close btn-close-white" data-bs-dismiss="modal"></button>
</div>
<form action="post.php" method="post" autocomplete="off">
<input type="hidden" name="csrf_token" value="<?= $_SESSION['csrf_token'] ?>">
<input type="hidden" name="asset_id" value="<?= $asset_id ?>">
<div class="modal-body">
<div class="form-group">
<div class="mb-3">
<div class="input-group">
<div class="input-group-prepend">
<span class="input-group-text"><i class="fa fa-fw fa-stream"></i></span>
</div>
<select class="form-control select2" name="service_id">
<option value="">- Select a Service -</option>
<?php
@@ -61,8 +57,8 @@ ob_start();
</div>
</div>
<div class="modal-footer">
<button type="submit" name="link_service_to_asset" class="btn btn-primary text-bold"><i class="fa fa-check mr-2"></i>Link</button>
<button type="button" class="btn btn-light" data-dismiss="modal"><i class="fa fa-times mr-2"></i>Cancel</button>
<button type="submit" name="link_service_to_asset" class="btn btn-primary text-bold"><i class="fa fa-check me-2"></i>Link</button>
<button type="button" class="btn btn-light" data-bs-dismiss="modal"><i class="fa fa-times me-2"></i>Cancel</button>
</div>
</form>

View File

@@ -21,21 +21,17 @@ ob_start();
<div class="modal-header bg-dark">
<h5 class="modal-title"><i class="fa fa-fw fa-cube mr-2"></i>License Software to <strong><?= $asset_name ?></strong></h5>
<button type="button" class="close text-white" data-dismiss="modal">
<span>&times;</span>
</button>
<h5 class="modal-title"><i class="fa fa-fw fa-cube me-2"></i>License Software to <strong><?= $asset_name ?></strong></h5>
<button type="button" class="btn-close btn-close-white" data-bs-dismiss="modal"></button>
</div>
<form action="post.php" method="post" autocomplete="off">
<input type="hidden" name="csrf_token" value="<?= $_SESSION['csrf_token'] ?>">
<input type="hidden" name="asset_id" value="<?= $asset_id ?>">
<div class="modal-body">
<div class="form-group">
<div class="mb-3">
<div class="input-group">
<div class="input-group-prepend">
<span class="input-group-text"><i class="fa fa-fw fa-cube"></i></span>
</div>
<select class="form-control select2" name="software_id">
<option value="">- Select a Device Software License -</option>
<?php
@@ -66,8 +62,8 @@ ob_start();
</div>
</div>
<div class="modal-footer">
<button type="submit" name="link_software_to_asset" class="btn btn-primary text-bold"><i class="fa fa-check mr-2"></i>Link</button>
<button type="button" class="btn btn-light" data-dismiss="modal"><i class="fa fa-times mr-2"></i>Cancel</button>
<button type="submit" name="link_software_to_asset" class="btn btn-primary text-bold"><i class="fa fa-check me-2"></i>Link</button>
<button type="button" class="btn btn-light" data-bs-dismiss="modal"><i class="fa fa-times me-2"></i>Cancel</button>
</div>
</form>

View File

@@ -18,10 +18,8 @@ ob_start();
?>
<div class="modal-header bg-dark">
<h5 class="modal-title"><i class='fa fa-fw fa-sticky-note mr-2'></i>Creating note: <strong><?= $asset_name ?></strong></h5>
<button type="button" class="close text-white" data-dismiss="modal">
<span>&times;</span>
</button>
<h5 class="modal-title"><i class='fa fa-fw fa-sticky-note me-2'></i>Creating note: <strong><?= $asset_name ?></strong></h5>
<button type="button" class="btn-close btn-close-white" data-bs-dismiss="modal"></button>
</div>
<form action="post.php" method="post" autocomplete="off">
@@ -30,12 +28,10 @@ ob_start();
<div class="modal-body">
<div class="form-group">
<div class="mb-3">
<label>Type</label>
<div class="input-group">
<div class="input-group-prepend">
<span class="input-group-text"><i class="fa fa-fw fa-comment"></i></span>
</div>
<select class="form-control select2" name="type">
<?php
$sql_asset_note_types_select = mysqli_query($mysqli, "
@@ -53,15 +49,15 @@ ob_start();
</div>
</div>
<div class="form-group">
<div class="mb-3">
<textarea class="form-control" rows="6" name="note" placeholder="Notes, eg what was done, parts replaced, config changed, etc"></textarea>
</div>
</div>
<div class="modal-footer">
<button type="submit" name="add_asset_note" class="btn btn-primary text-bold"><i class="fas fa-check mr-2"></i>Create</button>
<button type="button" class="btn btn-light" data-dismiss="modal"><i class="fa fa-times mr-2"></i>Cancel</button>
<button type="submit" name="add_asset_note" class="btn btn-primary text-bold"><i class="fas fa-check me-2"></i>Create</button>
<button type="button" class="btn btn-light" data-bs-dismiss="modal"><i class="fa fa-times me-2"></i>Cancel</button>
</div>
</form>

View File

@@ -6,10 +6,8 @@ ob_start();
?>
<div class="modal-header bg-dark">
<h5 class="modal-title"><i class="fa fa-fw fa-calendar-plus mr-2"></i>New Calendar</h5>
<button type="button" class="close text-white" data-dismiss="modal">
<span>&times;</span>
</button>
<h5 class="modal-title"><i class="fa fa-fw fa-calendar-plus me-2"></i>New Calendar</h5>
<button type="button" class="btn-close btn-close-white" data-bs-dismiss="modal"></button>
</div>
<form action="post.php" method="post" autocomplete="off">
@@ -17,30 +15,26 @@ ob_start();
<div class="modal-body">
<div class="form-group">
<div class="mb-3">
<label>Name</label>
<div class="input-group">
<div class="input-group-prepend">
<span class="input-group-text"><i class="fa fa-fw fa-calendar"></i></span>
</div>
<input type="text" class="form-control" name="name" placeholder="Name your calendar" maxlength="200" required autofocus>
</div>
</div>
<div class="form-group">
<div class="mb-3">
<label>Color <strong class="text-danger">*</strong></label>
<div class="input-group">
<div class="input-group-prepend">
<span class="input-group-text"><i class="fa fa-fw fa-paint-brush"></i></span>
</div>
<input type="color" class="form-control col-3" name="color" required>
</div>
</div>
</div>
<div class="modal-footer">
<button type="submit" name="add_calendar" class="btn btn-primary"><i class="fa fa-check mr-2"></i>Create</button>
<button type="button" class="btn btn-light" data-dismiss="modal"><i class="fa fa-times mr-2"></i>Cancel</button>
<button type="submit" name="add_calendar" class="btn btn-primary"><i class="fa fa-check me-2"></i>Create</button>
<button type="button" class="btn btn-light" data-bs-dismiss="modal"><i class="fa fa-times me-2"></i>Cancel</button>
</div>
</form>

View File

@@ -15,40 +15,34 @@ ob_start();
?>
<div class="modal-header bg-dark">
<h5 class="modal-title"><i class="fas fa-fw fa-circle mr-2" style="color:<?= $calendar_color ?>"></i><?= $calendar_name ?></strong></h5>
<button type="button" class="close text-white" data-dismiss="modal">
<span>&times;</span>
</button>
<h5 class="modal-title"><i class="fas fa-fw fa-circle me-2" style="color:<?= $calendar_color ?>"></i><?= $calendar_name ?></strong></h5>
<button type="button" class="btn-close btn-close-white" data-bs-dismiss="modal"></button>
</div>
<form action="post.php" method="post" autocomplete="off">
<input type="hidden" name="csrf_token" value="<?= $_SESSION['csrf_token'] ?>">
<input type="hidden" name="calendar_id" value="<?= $calendar_id ?>">
<div class="modal-body">
<div class="form-group">
<div class="mb-3">
<label>Name</label>
<div class="input-group">
<div class="input-group-prepend">
<span class="input-group-text"><i class="fa fa-fw fa-calendar"></i></span>
</div>
<input type="text" class="form-control" name="name" placeholder="Name your calendar" maxlength="200" value="<?= $calendar_name ?>" required>
</div>
</div>
<div class="form-group">
<div class="mb-3">
<label>Color <strong class="text-danger">*</strong></label>
<div class="input-group">
<div class="input-group-prepend">
<span class="input-group-text"><i class="fa fa-fw fa-paint-brush"></i></span>
</div>
<input type="color" class="form-control col-3" name="color" value="<?= $calendar_color ?>" required>
</div>
</div>
</div>
<div class="modal-footer">
<button type="submit" name="edit_calendar" class="btn btn-primary"><i class="fa fa-check mr-2"></i>Save</button>
<button type="button" class="btn btn-light" data-dismiss="modal"><i class="fa fa-times mr-2"></i>Cancel</button>
<button type="submit" name="edit_calendar" class="btn btn-primary"><i class="fa fa-check me-2"></i>Save</button>
<button type="button" class="btn btn-light" data-bs-dismiss="modal"><i class="fa fa-times me-2"></i>Cancel</button>
</div>
</form>

View File

@@ -2,10 +2,8 @@
<div class="modal-dialog">
<div class="modal-content">
<div class="modal-header bg-dark">
<h5 class="modal-title"><i class="fa fa-fw fa-calendar-plus mr-2"></i>New Event</h5>
<button type="button" class="close text-white" data-dismiss="modal">
<span>&times;</span>
</button>
<h5 class="modal-title"><i class="fa fa-fw fa-calendar-plus me-2"></i>New Event</h5>
<button type="button" class="btn-close btn-close-white" data-bs-dismiss="modal"></button>
</div>
<form action="post.php" method="post" autocomplete="off">
<input type="hidden" name="csrf_token" value="<?= $_SESSION['csrf_token'] ?>">
@@ -13,13 +11,13 @@
<ul class="nav nav-pills nav-justified mb-3">
<li class="nav-item">
<a class="nav-link active" data-toggle="pill" href="#pills-event"><i class="fa fa-fw fa-calendar mr-2"></i>Event</a>
<a class="nav-link active" data-bs-toggle="pill" href="#pills-event"><i class="fa fa-fw fa-calendar me-2"></i>Event</a>
</li>
<li class="nav-item">
<a class="nav-link" data-toggle="pill" href="#pills-details"><i class="fa fa-fw fa-info-circle mr-2"></i>Details</a>
<a class="nav-link" data-bs-toggle="pill" href="#pills-details"><i class="fa fa-fw fa-info-circle me-2"></i>Details</a>
</li>
<li class="nav-item">
<a class="nav-link" data-toggle="pill" href="#pills-attendees"><i class="fa fa-fw fa-users mr-2"></i>Attendees</a>
<a class="nav-link" data-bs-toggle="pill" href="#pills-attendees"><i class="fa fa-fw fa-users me-2"></i>Attendees</a>
</li>
</ul>
@@ -29,12 +27,10 @@
<div class="tab-pane fade show active" id="pills-event">
<div class="form-group">
<div class="mb-3">
<label>Calendar <strong class="text-danger">*</strong></label>
<div class="input-group">
<div class="input-group-prepend">
<span class="input-group-text"><i class="fa fa-fw fa-calendar"></i></span>
</div>
<select class="form-control select2" name="calendar" required>
<option value="">- Calendar -</option>
<?php
@@ -45,47 +41,41 @@
$calendar_name = escapeHtml($row['calendar_name']);
$calendar_color = escapeHtml($row['calendar_color']);
?>
<option <?php if ($config_default_calendar == $calendar_id) { echo "selected"; } ?> data-content="<i class='fa fa-circle mr-2' style='color:<?= $calendar_color ?>;'></i> <?= $calendar_name ?>" value="<?= $calendar_id ?>"><?= $calendar_name ?></option>
<option <?php if ($config_default_calendar == $calendar_id) { echo "selected"; } ?> data-bs-content="<i class='fa fa-circle me-2' style='color:<?= $calendar_color ?>;'></i> <?= $calendar_name ?>" value="<?= $calendar_id ?>"><?= $calendar_name ?></option>
<?php } ?>
</select>
</div>
</div>
<div class="form-group">
<div class="mb-3">
<label>Title <strong class="text-danger">*</strong></label>
<div class="input-group">
<div class="input-group-prepend">
<span class="input-group-text"><i class="fa fa-fw fa-calendar-day"></i></span>
</div>
<input type="text" class="form-control" name="title" placeholder="Title of the event" maxlength="200" required autofocus>
</div>
</div>
<div class="form-group">
<div class="custom-control custom-switch">
<input type="checkbox" class="custom-control-input event-all-day-toggle" id="event_add_all_day" name="all_day" value="1" checked>
<label class="custom-control-label" for="event_add_all_day">All day</label>
<div class="mb-3">
<div class="form-check form-switch">
<input type="checkbox" class="form-check-input event-all-day-toggle" id="event_add_all_day" name="all_day" value="1" checked>
<label class="form-check-label" for="event_add_all_day">All day</label>
</div>
</div>
<div class="form-row">
<div class="form-group col-md-6">
<div class="row g-2">
<div class="mb-3 col-md-6">
<label>Date from <strong class="text-danger">*</strong></label>
<div class="input-group">
<div class="input-group-prepend">
<span class="input-group-text"><i class="fa fa-fw fa-calendar-check"></i></span>
</div>
<input type="date" class="form-control event-start-date" id="event_add_start_date" name="start_date" required>
</div>
</div>
<div class="form-group col-md-6">
<div class="mb-3 col-md-6">
<label>Date to <strong class="text-danger">*</strong></label>
<div class="input-group">
<div class="input-group-prepend">
<span class="input-group-text"><i class="fa fa-fw fa-calendar"></i></span>
</div>
<input type="date" class="form-control" id="event_add_end_date" name="end_date" required>
</div>
</div>
@@ -94,33 +84,27 @@
<!-- Hidden while All day is on. The toggle handler in app.js also
adds and removes required, because a hidden required field
blocks submission with an unfocusable-element error. -->
<div class="form-row d-none" id="event_add_time_fields">
<div class="form-group col-md-6">
<div class="row g-2 d-none" id="event_add_time_fields">
<div class="mb-3 col-md-6">
<label>Time from <strong class="text-danger">*</strong></label>
<div class="input-group">
<div class="input-group-prepend">
<span class="input-group-text"><i class="fa fa-fw fa-clock"></i></span>
</div>
<input type="time" class="form-control event-start-time" id="event_add_start_time" name="start_time">
</div>
</div>
<div class="form-group col-md-6">
<div class="mb-3 col-md-6">
<label>Time to <strong class="text-danger">*</strong></label>
<div class="input-group">
<div class="input-group-prepend">
<span class="input-group-text"><i class="fa fa-fw fa-clock"></i></span>
</div>
<input type="time" class="form-control" id="event_add_end_time" name="end_time">
</div>
</div>
</div>
<div class="form-group">
<div class="mb-3">
<label>Repeat</label>
<div class="input-group">
<div class="input-group-prepend">
<span class="input-group-text"><i class="fa fa-fw fa-recycle"></i></span>
</div>
<select class="form-control select2" name="repeat">
<option value="">Never</option>
<option>Day</option>
@@ -135,17 +119,15 @@
<div class="tab-pane fade" id="pills-details">
<div class="form-group">
<div class="mb-3">
<label>Location</label>
<div class="input-group">
<div class="input-group-prepend">
<span class="input-group-text"><i class="fa fa-fw fa-map-marker-alt"></i></span>
</div>
<input type="text" class="form-control" name="location" placeholder="Location of the event">
</div>
</div>
<div class="form-group">
<div class="mb-3">
<textarea class="form-control" rows="8" name="description" placeholder="Enter a description"></textarea>
</div>
@@ -157,12 +139,10 @@
<input type="hidden" name="client_id" value="<?= $client_id ?>">
<?php } else{ ?>
<div class="form-group">
<div class="mb-3">
<label>Client</label>
<div class="input-group">
<div class="input-group-prepend">
<span class="input-group-text"><i class="fa fa-fw fa-user"></i></span>
</div>
<select class="form-control select2" name="client_id">
<option value="">- Client -</option>
<?php
@@ -183,10 +163,10 @@
<?php } ?>
<?php if (!empty($config_smtp_host)) { ?>
<div class="form-group">
<div class="custom-control custom-checkbox">
<input type="checkbox" class="custom-control-input" id="emailEventCheckbox" name="email_event" value="1" >
<label class="custom-control-label" for="emailEventCheckbox">Email Event</label>
<div class="mb-3">
<div class="form-check">
<input type="checkbox" class="form-check-input" id="emailEventCheckbox" name="email_event" value="1" >
<label class="form-check-label" for="emailEventCheckbox">Email Event</label>
</div>
</div>
<?php } ?>
@@ -197,8 +177,8 @@
</div>
<div class="modal-footer">
<button type="submit" name="add_event" class="btn btn-primary text-bold"><i class="fa fa-check mr-2"></i>Create</button>
<button type="button" class="btn btn-light" data-dismiss="modal"><i class="fa fa-times mr-2"></i>Cancel</button>
<button type="submit" name="add_event" class="btn btn-primary text-bold"><i class="fa fa-check me-2"></i>Create</button>
<button type="button" class="btn btn-light" data-bs-dismiss="modal"><i class="fa fa-times me-2"></i>Cancel</button>
</div>
</form>
</div>

View File

@@ -40,10 +40,8 @@ ob_start();
?>
<div class="modal-header bg-dark">
<h5 class="modal-title"><i class="fa fa-fw fa-calendar-check mr-2" style="color:<?= $calendar_color ?>"></i>Editing: <strong><?= $event_title ?></strong></h5>
<button type="button" class="close text-white" data-dismiss="modal">
<span>&times;</span>
</button>
<h5 class="modal-title"><i class="fa fa-fw fa-calendar-check me-2" style="color:<?= $calendar_color ?>"></i>Editing: <strong><?= $event_title ?></strong></h5>
<button type="button" class="btn-close btn-close-white" data-bs-dismiss="modal"></button>
</div>
<form action="post.php" method="post" autocomplete="off">
@@ -54,13 +52,13 @@ ob_start();
<ul class="nav nav-pills nav-justified mb-3">
<li class="nav-item">
<a class="nav-link active" data-toggle="pill" href="#pills-event<?= $event_id ?>"><i class="fa fa-fw fa-calendar-check mr-2"></i>Event</a>
<a class="nav-link active" data-bs-toggle="pill" href="#pills-event<?= $event_id ?>"><i class="fa fa-fw fa-calendar-check me-2"></i>Event</a>
</li>
<li class="nav-item">
<a class="nav-link" data-toggle="pill" href="#pills-details<?= $event_id ?>"><i class="fa fa-fw fa-info-circle mr-2"></i>Details</a>
<a class="nav-link" data-bs-toggle="pill" href="#pills-details<?= $event_id ?>"><i class="fa fa-fw fa-info-circle me-2"></i>Details</a>
</li>
<li class="nav-item">
<a class="nav-link" data-toggle="pill" href="#pills-attendees<?= $event_id ?>"><i class="fa fa-fw fa-users mr-2"></i>Attendees</a>
<a class="nav-link" data-bs-toggle="pill" href="#pills-attendees<?= $event_id ?>"><i class="fa fa-fw fa-users me-2"></i>Attendees</a>
</li>
</ul>
@@ -70,12 +68,10 @@ ob_start();
<div class="tab-pane fade show active" id="pills-event<?= $event_id ?>">
<div class="form-group">
<div class="mb-3">
<label>Calendar <strong class="text-danger">*</strong></label>
<div class="input-group">
<div class="input-group-prepend">
<span class="input-group-text"><i class="fa fa-calendar"></i></span>
</div>
<select class="form-control select2" name="calendar" required>
<?php
@@ -85,87 +81,75 @@ ob_start();
$calendar_name_select = escapeHtml($row['calendar_name']);
$calendar_color_select = escapeHtml($row['calendar_color']);
?>
<option data-content="<i class='fa fa-circle mr-2' style='color:<?= $calendar_color_select ?>;'></i> <?= $calendar_name_select ?>"<?php if ($calendar_id == $calendar_id_select) { echo "selected"; } ?> value="<?= $calendar_id_select ?>"><?= $calendar_name_select ?></option>
<option data-bs-content="<i class='fa fa-circle me-2' style='color:<?= $calendar_color_select ?>;'></i> <?= $calendar_name_select ?>"<?php if ($calendar_id == $calendar_id_select) { echo "selected"; } ?> value="<?= $calendar_id_select ?>"><?= $calendar_name_select ?></option>
<?php } ?>
</select>
</div>
</div>
<div class="form-group">
<div class="mb-3">
<label>Title <strong class="text-danger">*</strong></label>
<div class="input-group">
<div class="input-group-prepend">
<span class="input-group-text"><i class="fa fa-fw fa-calendar-day"></i></span>
</div>
<input type="text" class="form-control" name="title" maxlength="200" value="<?= $event_title ?>" placeholder="Title of the event" required>
</div>
</div>
<?php if (!empty($event_repeat)) { ?>
<div class="alert alert-info">
<i class="fas fa-fw fa-redo mr-2"></i>
<i class="fas fa-fw fa-redo me-2"></i>
This event repeats <strong>every <?= strtolower($event_repeat) ?></strong>.
Saving or deleting affects <strong>every occurrence</strong> &mdash; a single
occurrence cannot be moved or cancelled on its own.
</div>
<?php } ?>
<div class="form-group">
<div class="custom-control custom-switch">
<input type="checkbox" class="custom-control-input event-all-day-toggle" id="event_edit_all_day" name="all_day" value="1" <?php if ($event_all_day) { echo "checked"; } ?>>
<label class="custom-control-label" for="event_edit_all_day">All day</label>
<div class="mb-3">
<div class="form-check form-switch">
<input type="checkbox" class="form-check-input event-all-day-toggle" id="event_edit_all_day" name="all_day" value="1" <?php if ($event_all_day) { echo "checked"; } ?>>
<label class="form-check-label" for="event_edit_all_day">All day</label>
</div>
</div>
<div class="form-row">
<div class="form-group col-md-6">
<div class="row g-2">
<div class="mb-3 col-md-6">
<label>Date from <strong class="text-danger">*</strong></label>
<div class="input-group">
<div class="input-group-prepend">
<span class="input-group-text"><i class="fa fa-fw fa-calendar-check"></i></span>
</div>
<input type="date" class="form-control event-start-date" id="event_edit_start_date" name="start_date" value="<?= $event_start_date ?>" required>
</div>
</div>
<div class="form-group col-md-6">
<div class="mb-3 col-md-6">
<label>Date to <strong class="text-danger">*</strong></label>
<div class="input-group">
<div class="input-group-prepend">
<span class="input-group-text"><i class="fa fa-fw fa-calendar-day"></i></span>
</div>
<input type="date" class="form-control" id="event_edit_end_date" name="end_date" value="<?= $event_end_date ?>" required>
</div>
</div>
</div>
<div class="form-row<?= $event_all_day ? ' d-none' : '' ?>" id="event_edit_time_fields">
<div class="form-group col-md-6">
<div class="row g-2<?= $event_all_day ? ' d-none' : '' ?>" id="event_edit_time_fields">
<div class="mb-3 col-md-6">
<label>Time from <strong class="text-danger">*</strong></label>
<div class="input-group">
<div class="input-group-prepend">
<span class="input-group-text"><i class="fa fa-fw fa-clock"></i></span>
</div>
<input type="time" class="form-control event-start-time" id="event_edit_start_time" name="start_time" value="<?= $event_start_time ?>"<?= $event_all_day ? '' : ' required' ?>>
</div>
</div>
<div class="form-group col-md-6">
<div class="mb-3 col-md-6">
<label>Time to <strong class="text-danger">*</strong></label>
<div class="input-group">
<div class="input-group-prepend">
<span class="input-group-text"><i class="fa fa-fw fa-clock"></i></span>
</div>
<input type="time" class="form-control" id="event_edit_end_time" name="end_time" value="<?= $event_end_time ?>"<?= $event_all_day ? '' : ' required' ?>>
</div>
</div>
</div>
<div class="form-group">
<div class="mb-3">
<label>Repeat</label>
<div class="input-group">
<div class="input-group-prepend">
<span class="input-group-text"><i class="fa fa-fw fa-recycle"></i></span>
</div>
<select class="form-control select2" name="repeat">
<option <?php if (empty($event_repeat)) { echo "selected"; } ?> value="">Never</option>
<option <?php if ($event_repeat == "Day") { echo "selected"; } ?>>Day</option>
@@ -179,17 +163,15 @@ ob_start();
</div>
<div class="tab-pane fade" id="pills-details<?= $event_id ?>">
<div class="form-group">
<div class="mb-3">
<label>Location</label>
<div class="input-group">
<div class="input-group-prepend">
<span class="input-group-text"><i class="fa fa-fw fa-map-marker-alt"></i></span>
</div>
<input type="text" class="form-control" name="location" value="<?= $event_location ?>" placeholder="Location of the event">
</div>
</div>
<div class="form-group">
<div class="mb-3">
<label>Description</label>
<textarea class="form-control" rows="8" name="description" placeholder="Enter a description"><?= $event_description ?></textarea>
</div>
@@ -203,12 +185,10 @@ ob_start();
<input type="hidden" name="client_id" value="<?= $client_id ?>">
<?php } else { ?>
<div class="form-group">
<div class="mb-3">
<label>Client</label>
<div class="input-group">
<div class="input-group-prepend">
<span class="input-group-text"><i class="fa fa-fw fa-user"></i></span>
</div>
<select class="form-control select2" name="client">
<option value="">- Client -</option>
<?php
@@ -230,9 +210,9 @@ ob_start();
<?php } ?>
<?php if (!empty($config_smtp_host)) { ?>
<div class="custom-control custom-checkbox">
<input type="checkbox" class="custom-control-input" id="customControlAutosizing<?= $event_id ?>" name="email_event" value="1" >
<label class="custom-control-label" for="customControlAutosizing<?= $event_id ?>">Email Event</label>
<div class="form-check">
<input type="checkbox" class="form-check-input" id="customControlAutosizing<?= $event_id ?>" name="email_event" value="1" >
<label class="form-check-label" for="customControlAutosizing<?= $event_id ?>">Email Event</label>
</div>
<?php } ?>
@@ -242,9 +222,9 @@ ob_start();
</div>
<div class="modal-footer">
<a class="btn btn-default text-danger mr-auto" href="post.php?delete_event=<?= $event_id ?>&csrf_token=<?= $_SESSION['csrf_token'] ?>"><i class="fa fa-calendar-times mr-2"></i><?= empty($event_repeat) ? 'Delete' : 'Delete series' ?></a>
<button type="submit" name="edit_event" class="btn btn-primary text-bold"><i class="fa fa-check mr-2"></i>Save</button>
<button type="button" class="btn btn-light" data-dismiss="modal"><i class="fa fa-times mr-2"></i>Cancel</button>
<a class="btn btn-default text-danger me-auto" href="post.php?delete_event=<?= $event_id ?>&csrf_token=<?= $_SESSION['csrf_token'] ?>"><i class="fa fa-calendar-times me-2"></i><?= empty($event_repeat) ? 'Delete' : 'Delete series' ?></a>
<button type="submit" name="edit_event" class="btn btn-primary text-bold"><i class="fa fa-check me-2"></i>Save</button>
<button type="button" class="btn btn-light" data-bs-dismiss="modal"><i class="fa fa-times me-2"></i>Cancel</button>
</div>
</form>

View File

@@ -28,25 +28,23 @@ ob_start();
?>
<div class="modal-header bg-dark">
<h5 class="modal-title"><i class="fas fa-fw fa-share-alt mr-2"></i>Share <?= $calendar_name ?></h5>
<button type="button" class="close text-white" data-dismiss="modal">
<span>&times;</span>
</button>
<h5 class="modal-title"><i class="fas fa-fw fa-share-alt me-2"></i>Share <?= $calendar_name ?></h5>
<button type="button" class="btn-close btn-close-white" data-bs-dismiss="modal"></button>
</div>
<?php if (empty($base_url)) { ?>
<div class="modal-body">
<div class="alert alert-danger mb-0">
<i class="fas fa-fw fa-exclamation-triangle mr-2"></i>
<i class="fas fa-fw fa-exclamation-triangle me-2"></i>
<strong>$config_base_url is not set in config.php.</strong>
Without it there is no hostname to build a subscription link from. Set it
to the hostname this install is reached on and reopen this dialog.
</div>
</div>
<div class="modal-footer">
<button type="button" class="btn btn-light" data-dismiss="modal">
<i class="fas fa-fw fa-times mr-2"></i>Close
<button type="button" class="btn btn-light" data-bs-dismiss="modal">
<i class="fas fa-fw fa-times me-2"></i>Close
</button>
</div>
@@ -65,15 +63,15 @@ ob_start();
</p>
<div class="alert alert-warning">
<i class="fas fa-fw fa-exclamation-triangle mr-2"></i>
<i class="fas fa-fw fa-exclamation-triangle me-2"></i>
Anyone with the link can read this calendar without logging in. Share it
like a password, and revoke it here if it gets out.
</div>
<div class="form-group">
<div class="custom-control custom-switch">
<input type="checkbox" class="custom-control-input" id="feedBusyOnly" name="busy_only" value="1">
<label class="custom-control-label" for="feedBusyOnly">
<div class="mb-3">
<div class="form-check form-switch">
<input type="checkbox" class="form-check-input" id="feedBusyOnly" name="busy_only" value="1">
<label class="form-check-label" for="feedBusyOnly">
Busy only &mdash; publish time blocks without titles, descriptions or locations
</label>
</div>
@@ -82,10 +80,10 @@ ob_start();
</div>
<div class="modal-footer">
<button type="submit" name="share_calendar" class="btn btn-primary">
<i class="fas fa-fw fa-link mr-2"></i>Create link
<i class="fas fa-fw fa-link me-2"></i>Create link
</button>
<button type="button" class="btn btn-light" data-dismiss="modal">
<i class="fas fa-fw fa-times mr-2"></i>Cancel
<button type="button" class="btn btn-light" data-bs-dismiss="modal">
<i class="fas fa-fw fa-times me-2"></i>Cancel
</button>
</div>
</form>
@@ -99,15 +97,13 @@ ob_start();
<div class="modal-body">
<div class="form-group">
<div class="mb-3">
<label>Subscription link</label>
<div class="input-group">
<input type="text" class="form-control" value="<?= $feed_url_https ?>" readonly onclick="this.select();">
<div class="input-group-append">
<button class="btn btn-secondary clipboardjs" type="button" data-clipboard-text="<?= $feed_url_https ?>" title="Copy link">
<i class="far fa-fw fa-copy"></i>
</button>
</div>
</div>
<small class="form-text text-muted">
Paste this into <strong>Google Calendar</strong> &rarr; Other calendars &rarr; From URL,
@@ -115,27 +111,25 @@ ob_start();
</small>
</div>
<div class="form-group">
<div class="mb-3">
<label>Or open directly in a desktop calendar app</label>
<div class="input-group">
<input type="text" class="form-control" value="<?= $feed_url_webcal ?>" readonly onclick="this.select();">
<div class="input-group-append">
<button class="btn btn-secondary clipboardjs" type="button" data-clipboard-text="<?= $feed_url_webcal ?>" title="Copy link">
<i class="far fa-fw fa-copy"></i>
</button>
<a class="btn btn-secondary" href="<?= $feed_url_webcal ?>" title="Open">
<i class="fas fa-fw fa-external-link-alt"></i>
</a>
</div>
</div>
</div>
<hr>
<div class="form-group">
<div class="custom-control custom-switch">
<input type="checkbox" class="custom-control-input" id="feedBusyOnly" name="busy_only" value="1" <?php if ($calendar_feed_busy_only == 1) { echo "checked"; } ?>>
<label class="custom-control-label" for="feedBusyOnly">
<div class="mb-3">
<div class="form-check form-switch">
<input type="checkbox" class="form-check-input" id="feedBusyOnly" name="busy_only" value="1" <?php if ($calendar_feed_busy_only == 1) { echo "checked"; } ?>>
<label class="form-check-label" for="feedBusyOnly">
Busy only &mdash; publish time blocks without titles, descriptions or locations
</label>
</div>
@@ -149,7 +143,7 @@ ob_start();
</dl>
<div class="alert alert-secondary mt-3 mb-0">
<i class="fas fa-fw fa-info-circle mr-2"></i>
<i class="fas fa-fw fa-info-circle me-2"></i>
Subscriptions are read-only, and clients decide how often to refresh.
Google refreshes on its own schedule (often 12&ndash;24 hours) and cannot be
forced. Nextcloud defaults to once a week unless
@@ -161,23 +155,23 @@ ob_start();
<div class="modal-footer justify-content-between">
<div>
<button type="submit" name="share_calendar" class="btn btn-primary">
<i class="fas fa-fw fa-check mr-2"></i>Save
<i class="fas fa-fw fa-check me-2"></i>Save
</button>
<button type="button" class="btn btn-light" data-dismiss="modal">
<i class="fas fa-fw fa-times mr-2"></i>Close
<button type="button" class="btn btn-light" data-bs-dismiss="modal">
<i class="fas fa-fw fa-times me-2"></i>Close
</button>
</div>
<div class="dropdown dropup">
<button class="btn btn-light" type="button" data-toggle="dropdown">
<button class="btn btn-light" type="button" data-bs-toggle="dropdown">
<i class="fas fa-fw fa-ellipsis-v"></i>
</button>
<div class="dropdown-menu dropdown-menu-right">
<div class="dropdown-menu dropdown-menu-end">
<a class="dropdown-item confirm-link" href="post.php?regenerate_calendar_feed=<?= $calendar_id ?>&csrf_token=<?= $_SESSION['csrf_token'] ?>">
<i class="fas fa-fw fa-sync mr-2"></i>Regenerate link
<i class="fas fa-fw fa-sync me-2"></i>Regenerate link
</a>
<div class="dropdown-divider"></div>
<a class="dropdown-item text-danger text-bold confirm-link" href="post.php?unshare_calendar=<?= $calendar_id ?>&csrf_token=<?= $_SESSION['csrf_token'] ?>">
<i class="fas fa-fw fa-unlink mr-2"></i>Stop sharing
<i class="fas fa-fw fa-unlink me-2"></i>Stop sharing
</a>
</div>
</div>

View File

@@ -8,10 +8,8 @@ ob_start();
?>
<div class="modal-header bg-dark">
<h5 class="modal-title"><i class="fa fa-fw fa-lock mr-2"></i>New Certificate</h5>
<button type="button" class="close text-white" data-dismiss="modal">
<span>&times;</span>
</button>
<h5 class="modal-title"><i class="fa fa-fw fa-lock me-2"></i>New Certificate</h5>
<button type="button" class="btn-close btn-close-white" data-bs-dismiss="modal"></button>
</div>
<form action="post.php" method="post" autocomplete="off">
<input type="hidden" name="csrf_token" value="<?= $_SESSION['csrf_token'] ?>">
@@ -20,13 +18,13 @@ ob_start();
<ul class="nav nav-pills nav-justified mb-3">
<li class="nav-item">
<a class="nav-link active" data-toggle="pill" href="#pills-details">Details</a>
<a class="nav-link active" data-bs-toggle="pill" href="#pills-details">Details</a>
</li>
<li class="nav-item">
<a class="nav-link" data-toggle="pill" href="#pills-certificate">Certificate</a>
<a class="nav-link" data-bs-toggle="pill" href="#pills-certificate">Certificate</a>
</li>
<li class="nav-item">
<a class="nav-link" data-toggle="pill" href="#pills-notes">Notes</a>
<a class="nav-link" data-bs-toggle="pill" href="#pills-notes">Notes</a>
</li>
</ul>
@@ -40,12 +38,10 @@ ob_start();
<input type="hidden" name="client_id" value="<?= $client_id ?>">
<?php } else { ?>
<div class="form-group">
<div class="mb-3">
<label>Client <strong class="text-danger">*</strong></label>
<div class="input-group">
<div class="input-group-prepend">
<span class="input-group-text"><i class="fa fa-fw fa-user"></i></span>
</div>
<select class="form-control select2" name="client_id" required>
<option value="">- Select Client -</option>
<?php
@@ -63,33 +59,27 @@ ob_start();
<?php } ?>
<div class="form-group">
<div class="mb-3">
<label>Certificate Name <strong class="text-danger">*</strong></label>
<div class="input-group">
<div class="input-group-prepend">
<span class="input-group-text"><i class="fa fa-fw fa-lock"></i></span>
</div>
<input type="text" class="form-control" name="name" placeholder="Certificate name" maxlength="200" required autofocus>
</div>
</div>
<div class="form-group">
<div class="mb-3">
<label>Description</label>
<div class="input-group">
<div class="input-group-prepend">
<span class="input-group-text"><i class="fa fa-fw fa-align-left"></i></span>
</div>
<input type="text" class="form-control" name="description" placeholder="Short Description">
</div>
</div>
<?php if ($client_id) { ?>
<div class="form-group">
<div class="mb-3">
<label>Domain</label>
<div class="input-group">
<div class="input-group-prepend">
<span class="input-group-text"><i class="fa fa-fw fa-globe"></i></span>
</div>
<select class="form-control select2" name="domain_id">
<option value="">- Domain -</option>
<?php
@@ -109,45 +99,35 @@ ob_start();
<div class="tab-pane fade" id="pills-certificate">
<div class="form-group">
<div class="mb-3">
<label>Domain <strong class="text-danger">*</strong></label>
<div class="input-group">
<div class="input-group-prepend">
<span class="input-group-text"><i class="fa fa-fw fa-globe"></i>&nbsp;https://</span>
</div>
<input type="text" class="form-control" name="domain" id="domain" placeholder="FQDN" maxlength="200" required>
<div class="input-group-append">
<button type="button" class="btn btn-secondary" onclick="fetchSSL('new')"><i class="fas fa-fw fa-sync-alt"></i></button>
</div>
</div>
</div>
<div class="form-group">
<div class="mb-3">
<label>Issued By </label>
<div class="input-group">
<div class="input-group-prepend">
<span class="input-group-text"><i class="fa fa-fw fa-building"></i></span>
</div>
<input type="text" class="form-control" name="issued_by" id="issuedBy" placeholder="Issued By" maxlength="200">
</div>
</div>
<div class="form-group">
<div class="mb-3">
<label>Expire Date</label>
<div class="input-group">
<div class="input-group-prepend">
<span class="input-group-text"><i class="fa fa-fw fa-calendar-times"></i></span>
</div>
<input type="date" class="form-control" name="expire" id="expire" max="2999-12-31">
</div>
</div>
<div class="form-group">
<div class="mb-3">
<label>Public Key </label>
<div class="input-group">
<div class="input-group-prepend">
<span class="input-group-text"><i class="fa fa-fw fa-key"></i></span>
</div>
<textarea class="form-control" rows="8" name="public_key" id="publicKey" placeholder="-----BEGIN CERTIFICATE-----"></textarea>
</div>
</div>
@@ -155,7 +135,7 @@ ob_start();
</div>
<div class="tab-pane fade" id="pills-notes">
<div class="form-group">
<div class="mb-3">
<textarea class="form-control" rows="12" placeholder="Enter some notes" name="notes"></textarea>
</div>
</div>
@@ -166,7 +146,7 @@ ob_start();
<div class="modal-footer">
<button type="submit" name="add_certificate" class="btn btn-primary text-bold"><i class="fa fa-check"></i> Create</button>
<button type="button" class="btn btn-light" data-dismiss="modal"><i class="fa fa-times mr-2"></i>Cancel</button>
<button type="button" class="btn btn-light" data-bs-dismiss="modal"><i class="fa fa-times me-2"></i>Cancel</button>
</div>
</form>

View File

@@ -32,10 +32,8 @@ ob_start();
?>
<div class="modal-header bg-dark">
<h5 class="modal-title"><i class="fa fa-fw fa-lock mr-2"></i>Editing certificate: <span class="text-bold"><?= $certificate_name ?></span></h5>
<button type="button" class="close text-white" data-dismiss="modal">
<span>&times;</span>
</button>
<h5 class="modal-title"><i class="fa fa-fw fa-lock me-2"></i>Editing certificate: <span class="text-bold"><?= $certificate_name ?></span></h5>
<button type="button" class="btn-close btn-close-white" data-bs-dismiss="modal"></button>
</div>
<form action="post.php" method="post" autocomplete="off">
<input type="hidden" name="csrf_token" value="<?= $_SESSION['csrf_token'] ?>">
@@ -45,16 +43,16 @@ ob_start();
<ul class="nav nav-pills nav-justified mb-3">
<li class="nav-item">
<a class="nav-link active" data-toggle="pill" href="#pillsEditDetails<?= $certificate_id ?>">Details</a>
<a class="nav-link active" data-bs-toggle="pill" href="#pillsEditDetails<?= $certificate_id ?>">Details</a>
</li>
<li class="nav-item">
<a class="nav-link" data-toggle="pill" href="#pillsEditCertificate<?= $certificate_id ?>">Certificate</a>
<a class="nav-link" data-bs-toggle="pill" href="#pillsEditCertificate<?= $certificate_id ?>">Certificate</a>
</li>
<li class="nav-item">
<a class="nav-link" data-toggle="pill" href="#pillsEditNotes<?= $certificate_id ?>">Notes</a>
<a class="nav-link" data-bs-toggle="pill" href="#pillsEditNotes<?= $certificate_id ?>">Notes</a>
</li>
<li class="nav-item">
<a class="nav-link" data-toggle="pill" href="#pillsEditHistory<?= $certificate_id ?>">History</a>
<a class="nav-link" data-bs-toggle="pill" href="#pillsEditHistory<?= $certificate_id ?>">History</a>
</li>
</ul>
@@ -64,32 +62,26 @@ ob_start();
<div class="tab-pane fade show active" id="pillsEditDetails<?= $certificate_id ?>">
<div class="form-group">
<div class="mb-3">
<label>Certificate Name <strong class="text-danger">*</strong></label>
<div class="input-group">
<div class="input-group-prepend">
<span class="input-group-text"><i class="fa fa-fw fa-lock"></i></span>
</div>
<input type="text" class="form-control" name="name" placeholder="Certificate name" maxlength="200" value="<?= $certificate_name ?>" required>
</div>
</div>
<div class="form-group">
<div class="mb-3">
<label>Description</label>
<div class="input-group">
<div class="input-group-prepend">
<span class="input-group-text"><i class="fa fa-fw fa-align-left"></i></span>
</div>
<input type="text" class="form-control" name="description" placeholder="Short Description" value="<?= $certificate_description ?>">
</div>
</div>
<div class="form-group">
<div class="mb-3">
<label>Domain</label>
<div class="input-group">
<div class="input-group-prepend">
<span class="input-group-text"><i class="fa fa-fw fa-globe"></i></span>
</div>
<select class="form-control select2" name="domain_id">
<option value="">- Select Domain -</option>
<?php
@@ -109,45 +101,35 @@ ob_start();
<div class="tab-pane fade" id="pillsEditCertificate<?= $certificate_id ?>">
<div class="form-group">
<div class="mb-3">
<label>Domain <strong class="text-danger">*</strong></label>
<div class="input-group">
<div class="input-group-prepend">
<span class="input-group-text"><i class="fa fa-fw fa-globe"></i>&nbsp;https://</span>
</div>
<input type="text" class="form-control" name="domain" id="editCertificateDomain" placeholder="Domain" maxlength="200" value="<?= $certificate_domain ?>" required>
<div class="input-group-append">
<button type="button" class="btn btn-secondary" onclick="fetchSSL('edit')"><i class="fas fa-fw fa-sync-alt"></i></button>
</div>
</div>
</div>
<div class="form-group">
<div class="mb-3">
<label>Issued By</label>
<div class="input-group">
<div class="input-group-prepend">
<span class="input-group-text"><i class="fa fa-fw fa-building"></i></span>
</div>
<input type="text" class="form-control" name="issued_by" id="editCertificateIssuedBy" maxlength="200" placeholder="Issued By" value="<?= $certificate_issued_by ?>">
</div>
</div>
<div class="form-group">
<div class="mb-3">
<label>Expire Date</label>
<div class="input-group">
<div class="input-group-prepend">
<span class="input-group-text"><i class="fa fa-fw fa-calendar-times"></i></span>
</div>
<input type="date" class="form-control" name="expire" id="editCertificateExpire" max="2999-12-31" value="<?= $certificate_expire ?>">
</div>
</div>
<div class="form-group">
<div class="mb-3">
<label>Public Key </label>
<div class="input-group">
<div class="input-group-prepend">
<span class="input-group-text"><i class="fa fa-fw fa-key"></i></span>
</div>
<textarea class="form-control" rows="8" name="public_key" id="editCertificatePublicKey"><?= $certificate_public_key ?></textarea>
</div>
</div>
@@ -155,7 +137,7 @@ ob_start();
</div>
<div class="tab-pane fade" id="pillsEditNotes<?= $certificate_id ?>">
<div class="form-group">
<div class="mb-3">
<textarea class="form-control" name="notes" rows="12" placeholder="Enter some notes"><?= $certificate_notes ?></textarea>
</div>
</div>
@@ -163,7 +145,7 @@ ob_start();
<div class="tab-pane fade" id="pillsEditHistory<?= $certificate_id ?>">
<div class="table-responsive">
<table class='table table-sm table-striped border table-hover'>
<thead class='thead-dark'>
<thead class='table-dark'>
<tr>
<th>Date</th>
<th>Field</th>
@@ -196,8 +178,8 @@ ob_start();
</div>
<div class="modal-footer">
<button type="submit" name="edit_certificate" class="btn btn-primary text-bold"><i class="fa fa-check mr-2"></i>Save</button>
<button type="button" class="btn btn-light" data-dismiss="modal"><i class="fa fa-times mr-2"></i>Cancel</button>
<button type="submit" name="edit_certificate" class="btn btn-primary text-bold"><i class="fa fa-check me-2"></i>Save</button>
<button type="button" class="btn btn-light" data-bs-dismiss="modal"><i class="fa fa-times me-2"></i>Cancel</button>
</div>
</form>

View File

@@ -28,10 +28,8 @@ ob_start();
?>
<div class="modal-header bg-dark">
<h5 class="modal-title"><i class="fas fa-fw fa-download mr-2"></i>Export Certificates</h5>
<button type="button" class="close text-white" data-dismiss="modal">
<span>&times;</span>
</button>
<h5 class="modal-title"><i class="fas fa-fw fa-download me-2"></i>Export Certificates</h5>
<button type="button" class="btn-close btn-close-white" data-bs-dismiss="modal"></button>
</div>
<?php exportTabsNav(); ?>
@@ -44,23 +42,19 @@ ob_start();
<?php exportTabsFiltersOpen(); ?>
<div class="form-group">
<div class="mb-3">
<label>Search</label>
<div class="input-group">
<div class="input-group-prepend">
<span class="input-group-text"><i class="fa fa-fw fa-search"></i></span>
</div>
<input type="text" class="form-control" name="q" value="<?= stripslashes(escapeHtml($q_filter)) ?>" placeholder="Name, domain, issuer">
</div>
</div>
<?php if (!$client_id) { ?>
<div class="form-group">
<div class="mb-3">
<label>Client</label>
<div class="input-group">
<div class="input-group-prepend">
<span class="input-group-text"><i class="fa fa-fw fa-user"></i></span>
</div>
<select class="form-control select2" name="client">
<option value="">- All Clients -</option>
<?php
@@ -78,12 +72,10 @@ ob_start();
</div>
<?php } ?>
<div class="form-group">
<div class="mb-3">
<label>Expiring In</label>
<div class="input-group">
<div class="input-group-prepend">
<span class="input-group-text"><i class="fa fa-fw fa-hourglass-half"></i></span>
</div>
<select class="form-control select2" name="expire_days">
<option value="">- Any -</option>
<option <?php if ($expire_filter === 'expired') { echo "selected"; } ?> value="expired">Expired</option>
@@ -94,12 +86,10 @@ ob_start();
</div>
</div>
<div class="form-group">
<div class="mb-3">
<label>Archived</label>
<div class="input-group">
<div class="input-group-prepend">
<span class="input-group-text"><i class="fa fa-fw fa-archive"></i></span>
</div>
<select class="form-control select2" name="archived">
<option <?php if (!$archived_filter) { echo "selected"; } ?> value="0">Active only</option>
<option <?php if ($archived_filter) { echo "selected"; } ?> value="1">Archived only</option>

View File

@@ -26,29 +26,27 @@ ob_start();
?>
<div class="modal-header bg-dark">
<h5 class="modal-title"><i class="fa fa-fw fa-user-plus mr-2"></i>New <?php if($leads_filter == 0){ echo "Client"; } else { echo "Lead"; } ?></h5>
<button type="button" class="close text-white" data-dismiss="modal">
<span>&times;</span>
</button>
<h5 class="modal-title"><i class="fa fa-fw fa-user-plus me-2"></i>New <?php if($leads_filter == 0){ echo "Client"; } else { echo "Lead"; } ?></h5>
<button type="button" class="btn-close btn-close-white" data-bs-dismiss="modal"></button>
</div>
<ul class="modal-header nav nav-pills nav-justified">
<li class="nav-item">
<a class="nav-link active" data-toggle="pill" href="#pills-details">Details</a>
<a class="nav-link active" data-bs-toggle="pill" href="#pills-details">Details</a>
</li>
<li class="nav-item">
<a class="nav-link" data-toggle="pill" href="#pills-location">Location</a>
<a class="nav-link" data-bs-toggle="pill" href="#pills-location">Location</a>
</li>
<li class="nav-item">
<a class="nav-link" data-toggle="pill" href="#pills-contact" id="contactNavPill">Contact</a>
<a class="nav-link" data-bs-toggle="pill" href="#pills-contact" id="contactNavPill">Contact</a>
</li>
<?php if ($config_module_enable_accounting) { ?>
<li class="nav-item">
<a class="nav-link" data-toggle="pill" href="#pills-billing">Billing</a>
<a class="nav-link" data-bs-toggle="pill" href="#pills-billing">Billing</a>
</li>
<?php } ?>
<li class="nav-item">
<a class="nav-link" data-toggle="pill" href="#pills-notes">Notes</a>
<a class="nav-link" data-bs-toggle="pill" href="#pills-notes">Notes</a>
</li>
</ul>
@@ -60,50 +58,40 @@ ob_start();
<div class="tab-pane fade show active" id="pills-details">
<div class="form-group">
<div class="mb-3">
<label>Name <strong class="text-danger">*</strong> / <span class="text-secondary">Is Lead</span></label>
<div class="input-group">
<div class="input-group-prepend">
<span class="input-group-text"><i class="fa fa-fw fa-user"></i></span>
</div>
<input type="text" class="form-control" name="name" id="client_name" placeholder="Name or Company" maxlength="200" onfocusout="checkClientDuplicate()" required autofocus>
<div class="input-group-append">
<div class="input-group-text">
<input type="checkbox" name="lead" value="1" <?php if($leads_filter == 1){ echo "checked"; } ?>>
</div>
</div>
</div>
<div class="mt-2">
<span class="text-info" id="client_duplicate_info"></span>
</div>
</div>
<div class="form-group">
<div class="mb-3">
<label>Shortened Name</label>
<div class="input-group">
<div class="input-group-prepend">
<span class="input-group-text"><i class="fa fa-fw fa-id-badge"></i></span>
</div>
<input type="text" class="form-control" name="abbreviation" placeholder="Shortned name for client - Max chars 6" maxlength="6" oninput="this.value = this.value.toUpperCase()">
</div>
</div>
<div class="form-group">
<div class="mb-3">
<label>Industry</label>
<div class="input-group">
<div class="input-group-prepend">
<span class="input-group-text"><i class="fa fa-fw fa-briefcase"></i></span>
</div>
<input type="text" class="form-control" name="type" placeholder="Company Type" maxlength="200">
</div>
</div>
<div class="form-group">
<div class="mb-3">
<label>Referral</label>
<div class="input-group">
<div class="input-group-prepend">
<span class="input-group-text"><i class="fa fa-fw fa-link"></i></span>
</div>
<select class="form-control select2" data-tags="true" name="referral">
<option value="">- Select Referral -</option>
<?php
@@ -114,31 +102,25 @@ ob_start();
<?php } ?>
</select>
<div class="input-group-append">
<button class="btn btn-secondary ajax-modal" type="button"
data-modal-url="../admin/modals/category/category_add.php?category=Referral">
<i class="fas fa-fw fa-plus"></i>
</button>
</div>
</div>
</div>
<div class="form-group">
<div class="mb-3">
<label>Website</label>
<div class="input-group">
<div class="input-group-prepend">
<span class="input-group-text"><i class="fa fa-fw fa-globe"></i></span>
</div>
<input type="text" class="form-control" name="website" placeholder="ex. google.com" maxlength="200">
</div>
</div>
<div class="form-group">
<div class="mb-3">
<label>Tags</label>
<div class="input-group">
<div class="input-group-prepend">
<span class="input-group-text"><i class="fa fa-fw fa-tags"></i></span>
</div>
<select class="form-control select2" name="tags[]" data-placeholder="- Select Tags -"multiple>
<?php
@@ -150,12 +132,10 @@ ob_start();
<?php } ?>
</select>
<div class="input-group-append">
<button class="btn btn-secondary ajax-modal" type="button"
data-modal-url="../admin/modals/tag/tag_add.php?type=1">
<i class="fas fa-fw fa-plus"></i>
</button>
</div>
</div>
</div>
@@ -163,52 +143,42 @@ ob_start();
<div class="tab-pane fade" id="pills-location">
<div class="form-group">
<div class="mb-3">
<label>Address</label>
<div class="input-group">
<div class="input-group-prepend">
<span class="input-group-text"><i class="fa fa-fw fa-map-marker-alt"></i></span>
</div>
<input type="text" class="form-control" name="address" placeholder="Street Address" maxlength="200">
</div>
</div>
<div class="form-group">
<div class="mb-3">
<label>City</label>
<div class="input-group">
<div class="input-group-prepend">
<span class="input-group-text"><i class="fa fa-fw fa-city"></i></span>
</div>
<input type="text" class="form-control" name="city" placeholder="City" maxlength="200">
</div>
</div>
<div class="form-group">
<div class="mb-3">
<label>State / Province</label>
<div class="input-group">
<div class="input-group-prepend">
<span class="input-group-text"><i class="fa fa-fw fa-flag"></i></span>
</div>
<input type="text" class="form-control" name="state" placeholder="State or Province" maxlength="200">
</div>
</div>
<div class="form-group">
<div class="mb-3">
<label>Postal Code</label>
<div class="input-group">
<div class="input-group-prepend">
<span class="input-group-text"><i class="fab fa-fw fa-usps"></i></span>
</div>
<input type="text" class="form-control" name="zip" placeholder="Zip or Postal Code" maxlength="200">
</div>
</div>
<div class="form-group">
<div class="mb-3">
<label>Country</label>
<div class="input-group">
<div class="input-group-prepend">
<span class="input-group-text"><i class="fa fa-fw fa-globe-americas"></i></span>
</div>
<select class="form-control select2" name="country">
<option value="">- Select Country -</option>
<?php foreach($countries_array as $country_name) { ?>
@@ -220,33 +190,29 @@ ob_start();
<label>Location Phone / <span class="text-secondary">Extension</span></label>
<div class="form-row">
<div class="row g-2">
<div class="col-9">
<div class="form-group">
<div class="mb-3">
<div class="input-group">
<div class="input-group-prepend">
<span class="input-group-text"><i class="fa fa-fw fa-phone"></i></span>
</div>
<input type="tel" class="form-control col-2" name="location_phone_country_code" placeholder="+" maxlength="4">
<input type="tel" class="form-control" name="location_phone" placeholder="Phone Number" maxlength="200">
</div>
</div>
</div>
<div class="col-3">
<div class="form-group">
<div class="mb-3">
<input type="text" class="form-control" name="location_extension" placeholder="ext." maxlength="200">
</div>
</div>
</div>
<label>Location Fax</label>
<div class="form-row">
<div class="row g-2">
<div class="col-9">
<div class="form-group">
<div class="mb-3">
<div class="input-group">
<div class="input-group-prepend">
<span class="input-group-text"><i class="fa fa-fw fa-fax"></i></span>
</div>
<input type="tel" class="form-control col-2" name="location_fax_country_code" placeholder="+" maxlength="4">
<input type="tel" class="form-control" name="location_fax" placeholder="Fax Number" maxlength="200">
</div>
@@ -258,54 +224,46 @@ ob_start();
<div class="tab-pane fade" id="pills-contact">
<div class="form-group">
<div class="mb-3">
<label>Primary Contact <strong class="text-danger">*</strong></label>
<div class="input-group">
<div class="input-group-prepend">
<span class="input-group-text"><i class="fa fa-fw fa-user-check"></i></span>
</div>
<input type="text" class="form-control" id="primaryContact" name="contact" placeholder="Primary Contact Person" maxlength="200" required autofocus>
</div>
</div>
<div class="form-group">
<div class="mb-3">
<label>Title</label>
<div class="input-group">
<div class="input-group-prepend">
<span class="input-group-text"><i class="fa fa-fw fa-id-badge"></i></span>
</div>
<input type="text" class="form-control" name="title" placeholder="Title" maxlength="200">
</div>
</div>
<label>Contact Phone / <span class="text-secondary">Extension</span></label>
<div class="form-row">
<div class="row g-2">
<div class="col-9">
<div class="form-group">
<div class="mb-3">
<div class="input-group">
<div class="input-group-prepend">
<span class="input-group-text"><i class="fa fa-fw fa-phone"></i></span>
</div>
<input type="tel" class="form-control col-2" name="contact_phone_country_code" placeholder="+" maxlength="4">
<input type="tel" class="form-control" name="contact_phone" placeholder="Phone Number" maxlength="200">
</div>
</div>
</div>
<div class="col-3">
<div class="form-group">
<div class="mb-3">
<input type="text" class="form-control" name="contact_extension" placeholder="ext." maxlength="200">
</div>
</div>
</div>
<label>Mobile</label>
<div class="form-row">
<div class="row g-2">
<div class="col-9">
<div class="form-group">
<div class="mb-3">
<div class="input-group">
<div class="input-group-prepend">
<span class="input-group-text"><i class="fa fa-fw fa-mobile-alt"></i></span>
</div>
<input type="tel" class="form-control col-2" name="contact_mobile_country_code" placeholder="+" maxlength="4">
<input type="tel" class="form-control" name="contact_mobile" placeholder="Mobile Phone Number" maxlength="200">
</div>
@@ -313,12 +271,10 @@ ob_start();
</div>
</div>
<div class="form-group">
<div class="mb-3">
<label>Contact Email</label>
<div class="input-group">
<div class="input-group-prepend">
<span class="input-group-text"><i class="fa fa-fw fa-envelope"></i></span>
</div>
<input type="email" class="form-control" name="contact_email" placeholder="Contact's Email Address" maxlength="200">
</div>
</div>
@@ -329,22 +285,18 @@ ob_start();
<div class="tab-pane fade" id="pills-billing">
<div class="form-group">
<div class="mb-3">
<label>Hourly Rate</label>
<div class="input-group">
<div class="input-group-prepend">
<span class="input-group-text"><i class="fa fa-fw fa-clock"></i></span>
</div>
<input type="text" class="form-control" inputmode="decimal" pattern="[0-9]*\.?[0-9]{0,2}" name="rate" placeholder="0.00" value="<?= "$config_default_hourly_rate" ?>">
</div>
</div>
<div class="form-group">
<div class="mb-3">
<label>Payment Terms</label>
<div class="input-group">
<div class="input-group-prepend">
<span class="input-group-text"><i class="fa fa-fw fa-calendar"></i></span>
</div>
<select class="form-control select2" name="net_terms">
<?php foreach($net_terms_array as $net_term_value => $net_term_name) { ?>
<option <?php if ($config_default_net_terms == $net_term_value) { echo "selected"; } ?> value="<?= $net_term_value ?>"><?= $net_term_name ?></option>
@@ -353,12 +305,10 @@ ob_start();
</div>
</div>
<div class="form-group">
<div class="mb-3">
<label>Tax ID</label>
<div class="input-group">
<div class="input-group-prepend">
<span class="input-group-text"><i class="fa fa-fw fa-balance-scale"></i></span>
</div>
<input type="text" class="form-control" name="tax_id_number" placeholder="Tax ID Number" maxlength="255">
</div>
</div>
@@ -369,7 +319,7 @@ ob_start();
<?php } ?>
<div class="tab-pane fade" id="pills-notes">
<div class="form-group">
<div class="mb-3">
<textarea class="form-control" rows="10" name="notes" placeholder="Enter some notes"></textarea>
</div>
@@ -381,9 +331,9 @@ ob_start();
$sla_options[intval($sla_option_row['sla_id'])] = $sla_option_row['sla_name'];
}
if ($config_module_enable_ticketing && !empty($sla_options)) { ?>
<div class="form-group">
<div class="mb-3">
<label>Ticket SLAs</label>
<div class="form-row">
<div class="row g-2">
<?php foreach (['Low', 'Medium', 'High', 'Urgent'] as $sla_priority) { ?>
<div class="col-3">
<small class="text-secondary"><?= $sla_priority ?></small>
@@ -405,8 +355,8 @@ ob_start();
</div>
</div>
<div class="modal-footer">
<button type="submit" name="add_client" class="btn btn-primary text-bold" onclick="promptPrimaryContact()"><i class="fa fa-check mr-2"></i>Create Client</button>
<button type="button" class="btn btn-outline-secondary" data-dismiss="modal"><i class="fa fa-times mr-2"></i>Close</button>
<button type="submit" name="add_client" class="btn btn-primary text-bold" onclick="promptPrimaryContact()"><i class="fa fa-check me-2"></i>Create Client</button>
<button type="button" class="btn btn-outline-secondary" data-bs-dismiss="modal"><i class="fa fa-times me-2"></i>Close</button>
</div>
</form>

View File

@@ -12,10 +12,8 @@ ob_start();
?>
<div class="modal-header bg-dark">
<h5 class="modal-title"><i class="fas fa-fw fa-life-ring mr-2"></i>New Tickets for <strong><?= $count ?></strong> Client(s)</h5>
<button type="button" class="close text-white" data-dismiss="modal">
<span>&times;</span>
</button>
<h5 class="modal-title"><i class="fas fa-fw fa-life-ring me-2"></i>New Tickets for <strong><?= $count ?></strong> Client(s)</h5>
<button type="button" class="btn-close btn-close-white" data-bs-dismiss="modal"></button>
</div>
<form action="post.php" method="post" autocomplete="off">
@@ -24,24 +22,22 @@ ob_start();
<div class="modal-body">
<div class="form-group">
<div class="mb-3">
<label>Subject <strong class="text-danger">*</strong></label>
<input type="text" class="form-control" name="bulk_subject" placeholder="Enter a subject" maxlength="200" required>
</div>
<div class="form-group">
<div class="mb-3">
<textarea class="form-control tinymceTicket" id="textInput" name="bulk_details"></textarea>
</div>
<div class="row">
<div class="col">
<div class="form-group">
<div class="mb-3">
<label>Priority <strong class="text-danger">*</strong></label>
<div class="input-group">
<div class="input-group-prepend">
<span class="input-group-text"><i class="fa fa-fw fa-thermometer-half"></i></span>
</div>
<select class="form-control select2" name="bulk_priority" required>
<option>Low</option>
<option>Medium</option>
@@ -53,12 +49,10 @@ ob_start();
</div>
<div class="col">
<div class="form-group">
<div class="mb-3">
<label>Category</label>
<div class="input-group">
<div class="input-group-prepend">
<span class="input-group-text"><i class="fa fa-fw fa-layer-group"></i></span>
</div>
<select class="form-control select2" name="bulk_category">
<option value="0">- Not Categorized -</option>
<?php
@@ -81,12 +75,10 @@ ob_start();
<div class="row">
<div class="col">
<div class="form-group">
<div class="mb-3">
<label>Assign to</label>
<div class="input-group">
<div class="input-group-prepend">
<span class="input-group-text"><i class="fa fa-fw fa-user-check"></i></span>
</div>
<select class="form-control select2" name="bulk_assigned_to">
<option value="0">Not Assigned</option>
<?php
@@ -108,12 +100,10 @@ ob_start();
<div class="col">
<div class="form-group">
<div class="mb-3">
<label>Project</label>
<div class="input-group">
<div class="input-group-prepend">
<span class="input-group-text"><i class="fa fa-fw fa-project-diagram"></i></span>
</div>
<select class="form-control select2" name="bulk_project">
<option value="0">- None -</option>
<?php
@@ -132,10 +122,10 @@ ob_start();
</div>
<?php if ($config_module_enable_accounting) { ?>
<div class="form-group">
<div class="custom-control custom-switch">
<input type="checkbox" class="custom-control-input" name="bulk_billable" <?php if ($config_ticket_default_billable == 1) { echo "checked"; } ?> value="1" id="billableSwitch">
<label class="custom-control-label" for="billableSwitch">Billable</label>
<div class="mb-3">
<div class="form-check form-switch">
<input type="checkbox" class="form-check-input" name="bulk_billable" <?php if ($config_ticket_default_billable == 1) { echo "checked"; } ?> value="1" id="billableSwitch">
<label class="form-check-label" for="billableSwitch">Billable</label>
</div>
</div>
<?php } ?>
@@ -143,8 +133,8 @@ ob_start();
</div>
<div class="modal-footer">
<button type="submit" name="bulk_add_client_ticket" class="btn btn-primary text-bold"><i class="fas fa-check mr-2"></i>Create</button>
<button type="button" class="btn btn-light" data-dismiss="modal"><i class="fas fa-times mr-2"></i>Cancel</button>
<button type="submit" name="bulk_add_client_ticket" class="btn btn-primary text-bold"><i class="fas fa-check me-2"></i>Create</button>
<button type="button" class="btn btn-light" data-bs-dismiss="modal"><i class="fas fa-times me-2"></i>Cancel</button>
</div>
</form>

View File

@@ -11,10 +11,8 @@ ob_start();
?>
<div class="modal-header bg-dark">
<h5 class="modal-title"><i class="fa fa-fw fa-tags mr-2"></i>Assign Tags for <strong><?= $count ?></strong> Clients</h5>
<button type="button" class="close text-white" data-dismiss="modal">
<span>&times;</span>
</button>
<h5 class="modal-title"><i class="fa fa-fw fa-tags me-2"></i>Assign Tags for <strong><?= $count ?></strong> Clients</h5>
<button type="button" class="btn-close btn-close-white" data-bs-dismiss="modal"></button>
</div>
<form action="post.php" method="post" autocomplete="off">
@@ -24,17 +22,15 @@ ob_start();
<div class="modal-body">
<div class="form-group form-check">
<div class="mb-3 form-check">
<input type="checkbox" class="form-check-input" name="bulk_remove_tags" value="1">
<label class="form-check-label text-danger">Remove Existing Tags</label>
</div>
<div class="form-group">
<div class="mb-3">
<label>Tags</label>
<div class="input-group">
<div class="input-group-prepend">
<span class="input-group-text"><i class="fa fa-fw fa-tags"></i></span>
</div>
<select class="form-control select2" name="bulk_tags[]" data-placeholder="Add some tags" multiple>
<?php
@@ -53,8 +49,8 @@ ob_start();
</div>
<div class="modal-footer">
<button type="submit" name="bulk_assign_client_tags" class="btn btn-primary text-bold"><i class="fas fa-check mr-2"></i>Assign</button>
<button type="button" class="btn btn-light" data-dismiss="modal"><i class="fa fa-times mr-2"></i>Cancel</button>
<button type="submit" name="bulk_assign_client_tags" class="btn btn-primary text-bold"><i class="fas fa-check me-2"></i>Assign</button>
<button type="button" class="btn btn-light" data-bs-dismiss="modal"><i class="fa fa-times me-2"></i>Cancel</button>
</div>
</form>

View File

@@ -11,10 +11,8 @@ ob_start();
?>
<div class="modal-header bg-dark">
<h5 class="modal-title"><i class="fa fa-fw fa-clock mr-2"></i>Set Hourly Rate for <strong><?= $count ?></strong> Client(s)</h5>
<button type="button" class="close text-white" data-dismiss="modal">
<span>&times;</span>
</button>
<h5 class="modal-title"><i class="fa fa-fw fa-clock me-2"></i>Set Hourly Rate for <strong><?= $count ?></strong> Client(s)</h5>
<button type="button" class="btn-close btn-close-white" data-bs-dismiss="modal"></button>
</div>
<form action="post.php" method="post" autocomplete="off">
@@ -23,12 +21,10 @@ ob_start();
<div class="modal-body">
<div class="form-group">
<div class="mb-3">
<label>Hourly Rate</label>
<div class="input-group">
<div class="input-group-prepend">
<span class="input-group-text"><i class="fa fa-fw fa-clock"></i></span>
</div>
<input type="text" class="form-control" inputmode="decimal" pattern="[0-9]*\.?[0-9]{0,2}" name="bulk_rate" placeholder="0.00" required>
</div>
</div>
@@ -36,8 +32,8 @@ ob_start();
</div>
<div class="modal-footer">
<button type="submit" name="bulk_edit_client_hourly_rate" class="btn btn-primary text-bold"><i class="fas fa-check mr-2"></i>Save</button>
<button type="button" class="btn btn-light" data-dismiss="modal"><i class="fa fa-times mr-2"></i>Cancel</button>
<button type="submit" name="bulk_edit_client_hourly_rate" class="btn btn-primary text-bold"><i class="fas fa-check me-2"></i>Save</button>
<button type="button" class="btn btn-light" data-bs-dismiss="modal"><i class="fa fa-times me-2"></i>Cancel</button>
</div>
</form>

View File

@@ -11,10 +11,8 @@ ob_start();
?>
<div class="modal-header bg-dark">
<h5 class="modal-title"><i class="fa fa-fw fa-briefcase mr-2"></i>Set Industry for <strong><?= $count ?></strong> Client(s)</h5>
<button type="button" class="close text-white" data-dismiss="modal">
<span>&times;</span>
</button>
<h5 class="modal-title"><i class="fa fa-fw fa-briefcase me-2"></i>Set Industry for <strong><?= $count ?></strong> Client(s)</h5>
<button type="button" class="btn-close btn-close-white" data-bs-dismiss="modal"></button>
</div>
<form action="post.php" method="post" autocomplete="off">
@@ -23,12 +21,10 @@ ob_start();
<div class="modal-body">
<div class="form-group">
<div class="mb-3">
<label>Industry</label>
<div class="input-group">
<div class="input-group-prepend">
<span class="input-group-text"><i class="fa fa-fw fa-briefcase"></i></span>
</div>
<input type="text" class="form-control" name="bulk_industry" placeholder="Enter an Industry" maxlength="200" required>
</div>
</div>
@@ -36,8 +32,8 @@ ob_start();
</div>
<div class="modal-footer">
<button type="submit" name="bulk_edit_client_industry" class="btn btn-primary text-bold"><i class="fas fa-check mr-2"></i>Set</button>
<button type="button" class="btn btn-light" data-dismiss="modal"><i class="fa fa-times mr-2"></i>Cancel</button>
<button type="submit" name="bulk_edit_client_industry" class="btn btn-primary text-bold"><i class="fas fa-check me-2"></i>Set</button>
<button type="button" class="btn btn-light" data-bs-dismiss="modal"><i class="fa fa-times me-2"></i>Cancel</button>
</div>
</form>

View File

@@ -22,10 +22,8 @@ ob_start();
?>
<div class="modal-header bg-dark">
<h5 class="modal-title"><i class="fa fa-fw fa-calendar mr-2"></i>Set Net Terms for <strong><?= $count ?></strong> Client(s)</h5>
<button type="button" class="close text-white" data-dismiss="modal">
<span>&times;</span>
</button>
<h5 class="modal-title"><i class="fa fa-fw fa-calendar me-2"></i>Set Net Terms for <strong><?= $count ?></strong> Client(s)</h5>
<button type="button" class="btn-close btn-close-white" data-bs-dismiss="modal"></button>
</div>
<form action="post.php" method="post" autocomplete="off">
@@ -34,12 +32,10 @@ ob_start();
<div class="modal-body">
<div class="form-group">
<div class="mb-3">
<label>Invoice Net Terms</label>
<div class="input-group">
<div class="input-group-prepend">
<span class="input-group-text"><i class="fa fa-fw fa-calendar"></i></span>
</div>
<select class="form-control select2" name="net_terms">
<option value="">- Net Terms -</option>
<?php foreach ($net_terms_array as $net_term_value => $net_term_name) { ?>
@@ -54,8 +50,8 @@ ob_start();
</div>
<div class="modal-footer">
<button type="submit" name="bulk_edit_client_net_terms" class="btn btn-primary text-bold"><i class="fas fa-check mr-2"></i>Set</button>
<button type="button" class="btn btn-light" data-dismiss="modal"><i class="fa fa-times mr-2"></i>Cancel</button>
<button type="submit" name="bulk_edit_client_net_terms" class="btn btn-primary text-bold"><i class="fas fa-check me-2"></i>Set</button>
<button type="button" class="btn btn-light" data-bs-dismiss="modal"><i class="fa fa-times me-2"></i>Cancel</button>
</div>
</form>

View File

@@ -10,10 +10,8 @@ ob_start();
?>
<div class="modal-header bg-dark">
<h5 class="modal-title"><i class="fa fa-fw fa-link mr-2"></i>Set Referral for <strong><?= $count ?></strong> Clients</h5>
<button type="button" class="close text-white" data-dismiss="modal">
<span>&times;</span>
</button>
<h5 class="modal-title"><i class="fa fa-fw fa-link me-2"></i>Set Referral for <strong><?= $count ?></strong> Clients</h5>
<button type="button" class="btn-close btn-close-white" data-bs-dismiss="modal"></button>
</div>
<form action="post.php" method="post" autocomplete="off">
@@ -22,12 +20,10 @@ ob_start();
<div class="modal-body">
<div class="form-group">
<div class="mb-3">
<label>Referral</label>
<div class="input-group">
<div class="input-group-prepend">
<span class="input-group-text"><i class="fa fa-fw fa-link"></i></span>
</div>
<select class="form-control select2" name="bulk_referral">
<option value="">- Select a Referral -</option>
<?php
@@ -38,20 +34,18 @@ ob_start();
<?php } ?>
</select>
<div class="input-group-append">
<button class="btn btn-secondary ajax-modal" type="button"
data-modal-url="/admin/modals/category/category_add.php?category=Referral">
<i class="fas fa-fw fa-plus"></i>
</button>
</div>
</div>
</div>
</div>
<div class="modal-footer">
<button type="submit" name="bulk_edit_client_referral" class="btn btn-primary text-bold"><i class="fas fa-check mr-2"></i>Set</button>
<button type="button" class="btn btn-light" data-dismiss="modal"><i class="fa fa-times mr-2"></i>Cancel</button>
<button type="submit" name="bulk_edit_client_referral" class="btn btn-primary text-bold"><i class="fas fa-check me-2"></i>Set</button>
<button type="button" class="btn btn-light" data-bs-dismiss="modal"><i class="fa fa-times me-2"></i>Cancel</button>
</div>
</form>

View File

@@ -11,10 +11,8 @@ ob_start();
?>
<div class="modal-header bg-dark">
<h5 class="modal-title"><i class="fa fa-fw fa-envelope-open mr-2"></i>Send Emails to <strong><?= $count ?></strong> Client(s)</h5>
<button type="button" class="close text-white" data-dismiss="modal">
<span>&times;</span>
</button>
<h5 class="modal-title"><i class="fa fa-fw fa-envelope-open me-2"></i>Send Emails to <strong><?= $count ?></strong> Client(s)</h5>
<button type="button" class="btn-close btn-close-white" data-bs-dismiss="modal"></button>
</div>
<form action="post.php" method="post" autocomplete="off">
@@ -24,9 +22,9 @@ ob_start();
<div class="modal-body">
<label>From Email / <span class="text-secondary">Display Name</span></label>
<div class="form-row">
<div class="row g-2">
<div class="form-group col-sm-6">
<div class="mb-3 col-sm-6">
<select type="text" class="form-control select2" name="mail_from">
<option value="<?= escapeHtml($config_mail_from_email) ?>">
<?= escapeHtml("$config_mail_from_name - $config_mail_from_email") ?></option>
@@ -39,64 +37,62 @@ ob_start();
</select>
</div>
<div class="form-group col-sm-6">
<div class="mb-3 col-sm-6">
<input type="text" class="form-control" name="mail_from_name" placeholder="From Name" maxlength="255"
value="<?= escapeHtml($config_mail_from_name) ?>">
</div>
</div>
<label>Recipients</label>
<div class="form-row">
<div class="row g-2">
<div class="col-md-3">
<div class="form-group">
<div class="custom-control custom-checkbox">
<input type="checkbox" class="custom-control-input" id="contactPrimaryCheckbox" name="primary_contacts" value="1">
<label class="custom-control-label" for="contactPrimaryCheckbox">Primary Contacts</label>
<div class="mb-3">
<div class="form-check">
<input type="checkbox" class="form-check-input" id="contactPrimaryCheckbox" name="primary_contacts" value="1">
<label class="form-check-label" for="contactPrimaryCheckbox">Primary Contacts</label>
</div>
</div>
</div>
<div class="col-md-3">
<div class="form-group">
<div class="custom-control custom-checkbox">
<input type="checkbox" class="custom-control-input" id="contactImportantCheckbox" name="important_contacts" value="1">
<label class="custom-control-label" for="contactImportantCheckbox">Important Contacts</label>
<div class="mb-3">
<div class="form-check">
<input type="checkbox" class="form-check-input" id="contactImportantCheckbox" name="important_contacts" value="1">
<label class="form-check-label" for="contactImportantCheckbox">Important Contacts</label>
</div>
</div>
</div>
<div class="col-md-3">
<div class="form-group">
<div class="custom-control custom-checkbox">
<input type="checkbox" class="custom-control-input" id="contactBillingCheckbox" name="billing_contacts" value="1">
<label class="custom-control-label" for="contactBillingCheckbox">Billing Contacts</label>
<div class="mb-3">
<div class="form-check">
<input type="checkbox" class="form-check-input" id="contactBillingCheckbox" name="billing_contacts" value="1">
<label class="form-check-label" for="contactBillingCheckbox">Billing Contacts</label>
</div>
</div>
</div>
<div class="col-md-3">
<div class="form-group">
<div class="custom-control custom-checkbox">
<input type="checkbox" class="custom-control-input" id="contactTechnicalCheckbox" name="technical_contacts" value="1">
<label class="custom-control-label" for="contactTechnicalCheckbox">Technical Contacts</label>
<div class="mb-3">
<div class="form-check">
<input type="checkbox" class="form-check-input" id="contactTechnicalCheckbox" name="technical_contacts" value="1">
<label class="form-check-label" for="contactTechnicalCheckbox">Technical Contacts</label>
</div>
</div>
</div>
</div>
<div class="form-group">
<div class="mb-3">
<input type="text" class="form-control" name="subject" placeholder="Subject" maxlength="255">
</div>
<div class="form-group">
<div class="mb-3">
<textarea class="form-control tinymce" name="body"
placeholder="Type an email in here"></textarea>
</div>
<div class="form-group">
<div class="mb-3">
<div class="input-group">
<div class="input-group-prepend">
<span class="input-group-text"><i class="fa fa-fw fa-calendar"></i></span>
</div>
<input type="datetime-local" class="form-control" name="queued_at">
</div>
</div>
@@ -104,8 +100,8 @@ ob_start();
</div>
<div class="modal-footer">
<button type="submit" name="bulk_send_client_email" class="btn btn-primary text-bold"><i class="fas fa-paper-plane mr-2"></i>Send</button>
<button type="button" class="btn btn-light" data-dismiss="modal"><i class="fa fa-times mr-2"></i>Cancel</button>
<button type="submit" name="bulk_send_client_email" class="btn btn-primary text-bold"><i class="fas fa-paper-plane me-2"></i>Send</button>
<button type="button" class="btn btn-light" data-bs-dismiss="modal"><i class="fa fa-times me-2"></i>Cancel</button>
</div>
</form>

View File

@@ -2,31 +2,25 @@
<div class="modal-dialog">
<div class="modal-content border-dark">
<div class="modal-header bg-dark">
<h5 class="modal-title"><i class="fa fa-fw fa-wallet mr-2"></i>Adding <strong>Credit</strong> (Credit Balance: <?= numfmt_format_currency($currency_format, $credit_balance, $client_currency_code) ?>)</h5>
<button type="button" class="close text-white" data-dismiss="modal">
<span>&times;</span>
</button>
<h5 class="modal-title"><i class="fa fa-fw fa-wallet me-2"></i>Adding <strong>Credit</strong> (Credit Balance: <?= numfmt_format_currency($currency_format, $credit_balance, $client_currency_code) ?>)</h5>
<button type="button" class="btn-close btn-close-white" data-bs-dismiss="modal"></button>
</div>
<form action="post.php" method="post" autocomplete="off">
<input type="hidden" name="csrf_token" value="<?= $_SESSION['csrf_token'] ?>">
<div class="modal-body">
<div class="form-group">
<div class="mb-3">
<label>Expire</label>
<div class="input-group">
<div class="input-group-prepend">
<span class="input-group-text"><i class="fa fa-fw fa-calendar-day"></i></span>
</div>
<input type="date" class="form-control" name="expire" max="2999-12-31">
</div>
</div>
<div class="form-group">
<label>Type<strong class="text-danger ml-2">*</strong></label>
<div class="mb-3">
<label>Type<strong class="text-danger ms-2">*</strong></label>
<div class="input-group">
<div class="input-group-prepend">
<span class="input-group-text"><i class="fa fa-fw fa-th-list"></i></span>
</div>
<select class="form-control select2" name="type" required>
<option value="0">- Select Credit Type -</option>
<option value="manual">Manual</option>
@@ -36,22 +30,18 @@
</div>
</div>
<div class="form-group">
<label>Amount<strong class="text-danger ml-2">*</strong></label>
<div class="mb-3">
<label>Amount<strong class="text-danger ms-2">*</strong></label>
<div class="input-group">
<div class="input-group-prepend">
<span class="input-group-text"><i class="fa fa-fw fa-dollar-sign"></i></span>
</div>
<input type="text" class="form-control" inputmode="decimal" pattern="[0-9]*\.?[0-9]{0,2}" name="amount" placeholder="0.00" required>
</div>
</div>
<div class="form-group">
<label>Note<strong class="text-danger ml-2">*</strong></label>
<div class="mb-3">
<label>Note<strong class="text-danger ms-2">*</strong></label>
<div class="input-group">
<div class="input-group-prepend">
<span class="input-group-text"><i class="fa fa-fw fa-file-alt"></i></span>
</div>
<input type="text" class="form-control" name="note" placeholder="Enter a note" maxlength="250">
</div>
</div>
@@ -60,12 +50,10 @@
<input type="hidden" name="client" value="<?= $client_id ?>">
<?php } else { ?>
<div class="form-group">
<div class="mb-3">
<label>Client</label>
<div class="input-group">
<div class="input-group-prepend">
<span class="input-group-text"><i class="fa fa-fw fa-user"></i></span>
</div>
<select class="form-control select2" name="client" required>
<option value="0">- Client (Optional) -</option>
<?php
@@ -88,8 +76,8 @@
</div>
<div class="modal-footer">
<button type="submit" name="add_credit" class="btn btn-primary text-bold"><i class="fa fa-fw fa-check mr-2"></i>Add</button>
<button type="button" class="btn btn-secondary" data-dismiss="modal"><i class="fa fa-times mr-2"></i>Cancel</button>
<button type="submit" name="add_credit" class="btn btn-primary text-bold"><i class="fa fa-fw fa-check me-2"></i>Add</button>
<button type="button" class="btn btn-secondary" data-bs-dismiss="modal"><i class="fa fa-times me-2"></i>Cancel</button>
</div>
</form>
</div>

View File

@@ -6,11 +6,11 @@
<i class="far fa-10x fa-times-circle text-danger mb-3 mt-3"></i>
<h2>Are you really, really, really sure?</h2>
<h6 class="mb-4 text-secondary">Do you really want to <b>delete <i><?= $client_name ?></i> and ALL associated data</b>? This includes <i><?= $client_name ?></i>'s documents, tickets, files, payments, invoices, logs, etc.<br>See <a href="https://forum.itflow.org/d/1147-deleting-a-client-deletes-payments" target="_blank">this</a> forum post.<br><br>This process cannot be undone.</h6>
<div class="form-group">
<div class="mb-3">
<input type="hidden" id="clientName<?= $client_id ?>" value="<?= $client_name ?>">
<input class="form-control" type="text" id="clientNameProvided<?= $client_id ?>" onkeyup="validateClientNameDelete(<?= $client_id ?>)" placeholder="Type '<?= $client_name ?>' to confirm data deletion">
</div>
<button type="button" class="btn btn-outline-secondary btn-lg px-5 mr-4" data-dismiss="modal">Cancel</button>
<button type="button" class="btn btn-outline-secondary btn-lg px-5 me-4" data-bs-dismiss="modal">Cancel</button>
<a class="btn btn-danger btn-lg px-5 disabled" id="clientDeleteButton<?= $client_id ?>" href="post.php?delete_client=<?= $client_id ?>&csrf_token=<?= $_SESSION['csrf_token'] ?>">Yes, Delete!</a>
</div>
</div>

View File

@@ -2,10 +2,8 @@
<div class="modal-dialog">
<div class="modal-content">
<div class="modal-header bg-dark">
<h5 class="modal-title"><i class="fa fa-fw fa-file-pdf mr-2"></i>Export PDF</h5>
<button type="button" class="close text-white" data-dismiss="modal">
<span>&times;</span>
</button>
<h5 class="modal-title"><i class="fa fa-fw fa-file-pdf me-2"></i>Export PDF</h5>
<button type="button" class="btn-close btn-close-white" data-bs-dismiss="modal"></button>
</div>
<form action="post.php" method="post" autocomplete="off" target="_blank">
<input type="hidden" name="csrf_token" value="<?= $_SESSION['csrf_token'] ?>">
@@ -16,8 +14,8 @@
</ul>
</div>
<div class="modal-footer">
<button type="submit" name="export_client_pdf" class="btn btn-primary text-bold"><i class="fa fa-fw fa-download mr-2"></i>Export</button>
<button type="button" class="btn btn-light" data-dismiss="modal"><i class="fa fa-times mr-2"></i>Cancel</button>
<button type="submit" name="export_client_pdf" class="btn btn-primary text-bold"><i class="fa fa-fw fa-download me-2"></i>Export</button>
<button type="button" class="btn btn-light" data-bs-dismiss="modal"><i class="fa fa-times me-2"></i>Cancel</button>
</div>
</form>
</div>

View File

@@ -57,10 +57,8 @@ ob_start();
?>
<div class="modal-header bg-dark">
<h5 class="modal-title"><i class='fa fa-fw fa-user-edit mr-2'></i>Editing Client: <strong><?= $client_name ?></strong></h5>
<button type="button" class="close text-white" data-dismiss="modal">
<span>&times;</span>
</button>
<h5 class="modal-title"><i class='fa fa-fw fa-user-edit me-2'></i>Editing Client: <strong><?= $client_name ?></strong></h5>
<button type="button" class="btn-close btn-close-white" data-bs-dismiss="modal"></button>
</div>
<form action="post.php" method="post" autocomplete="off">
@@ -69,15 +67,15 @@ ob_start();
<ul class="modal-header nav nav-pills nav-justified mb-3">
<li class="nav-item">
<a class="nav-link active" data-toggle="pill" href="#pills-client-details<?= $client_id ?>">Details</a>
<a class="nav-link active" data-bs-toggle="pill" href="#pills-client-details<?= $client_id ?>">Details</a>
</li>
<?php if ($config_module_enable_accounting) { ?>
<li class="nav-item">
<a class="nav-link" data-toggle="pill" href="#pills-client-billing<?= $client_id ?>">Billing</a>
<a class="nav-link" data-bs-toggle="pill" href="#pills-client-billing<?= $client_id ?>">Billing</a>
</li>
<?php } ?>
<li class="nav-item">
<a class="nav-link" data-toggle="pill" href="#pills-client-notes<?= $client_id ?>">Notes</a>
<a class="nav-link" data-bs-toggle="pill" href="#pills-client-notes<?= $client_id ?>">Notes</a>
</li>
</ul>
@@ -87,49 +85,39 @@ ob_start();
<div class="tab-pane fade show active" id="pills-client-details<?= $client_id ?>">
<div class="form-group">
<div class="mb-3">
<label>Name <strong class="text-danger">*</strong> / <span class="text-secondary">Is Lead</span></label>
<div class="input-group">
<div class="input-group-prepend">
<span class="input-group-text"><i class="fa fa-fw fa-id-badge"></i></span>
</div>
<input type="text" class="form-control" name="name" placeholder="Name or Company" maxlength="200"
value="<?= $client_name ?>" required>
<div class="input-group-append">
<div class="input-group-text">
<input type="checkbox" name="lead" value="1" <?php if($client_is_lead == 1){ echo "checked"; } ?>>
</div>
</div>
</div>
</div>
<div class="form-group">
<div class="mb-3">
<label>Shortened Name</label>
<div class="input-group">
<div class="input-group-prepend">
<span class="input-group-text"><i class="fa fa-fw fa-id-badge"></i></span>
</div>
<input type="text" class="form-control" name="abbreviation" placeholder="Shortned name for client - Max chars 6" value="<?= $client_abbreviation ?>" maxlength="6" oninput="this.value = this.value.toUpperCase()">
</div>
</div>
<div class="form-group">
<div class="mb-3">
<label>Industry</label>
<div class="input-group">
<div class="input-group-prepend">
<span class="input-group-text"><i class="fa fa-fw fa-briefcase"></i></span>
</div>
<input type="text" class="form-control" name="type" placeholder="Industry" maxlength="200"
value="<?= $client_type ?>">
</div>
</div>
<div class="form-group">
<div class="mb-3">
<label>Referral</label>
<div class="input-group">
<div class="input-group-prepend">
<span class="input-group-text"><i class="fa fa-fw fa-link"></i></span>
</div>
<select class="form-control select2" data-tags="true" name="referral">
<option value="">- Select Referral -</option>
<?php
@@ -148,32 +136,26 @@ ob_start();
}
?>
</select>
<div class="input-group-append">
<button class="btn btn-secondary ajax-modal" type="button"
data-modal-url="../admin/modals/category/category_add.php?category=Referral">
<i class="fas fa-fw fa-plus"></i>
</button>
</div>
</div>
</div>
<div class="form-group">
<div class="mb-3">
<label>Website</label>
<div class="input-group">
<div class="input-group-prepend">
<span class="input-group-text"><i class="fa fa-fw fa-globe"></i></span>
</div>
<input type="text" class="form-control" name="website" placeholder="ex. google.com" maxlength="200"
value="<?= $client_website ?>">
</div>
</div>
<div class="form-group">
<div class="mb-3">
<label>Tags</label>
<div class="input-group">
<div class="input-group-prepend">
<span class="input-group-text"><i class="fa fa-fw fa-tags"></i></span>
</div>
<select class="form-control select2" name="tags[]" data-placeholder="Add some tags" multiple>
<?php
@@ -186,12 +168,10 @@ ob_start();
<?php } ?>
</select>
<div class="input-group-append">
<button class="btn btn-secondary ajax-modal" type="button"
data-modal-url="../admin/modals/tag/tag_add.php?type=1">
<i class="fas fa-fw fa-plus"></i>
</button>
</div>
</div>
</div>
@@ -201,24 +181,20 @@ ob_start();
<div class="tab-pane fade" id="pills-client-billing<?= $client_id ?>">
<div class="form-group">
<div class="mb-3">
<label>Hourly Rate</label>
<div class="input-group">
<div class="input-group-prepend">
<span class="input-group-text"><i class="fa fa-fw fa-clock"></i></span>
</div>
<input type="text" class="form-control" inputmode="decimal"
pattern="[0-9]*\.?[0-9]{0,2}" name="rate" placeholder="0.00"
value="<?= number_format($client_rate, 2, '.', '') ?>">
</div>
</div>
<div class="form-group">
<div class="mb-3">
<label>Invoice Net Terms</label>
<div class="input-group">
<div class="input-group-prepend">
<span class="input-group-text"><i class="fa fa-fw fa-calendar"></i></span>
</div>
<select class="form-control select2" name="net_terms">
<option value="">- Net Terms -</option>
<?php foreach ($net_terms_array as $net_term_value => $net_term_name) { ?>
@@ -232,12 +208,10 @@ ob_start();
</div>
</div>
<div class="form-group">
<div class="mb-3">
<label>Tax ID</label>
<div class="input-group">
<div class="input-group-prepend">
<span class="input-group-text"><i class="fa fa-fw fa-balance-scale"></i></span>
</div>
<input type="text" class="form-control" name="tax_id_number" maxlength="255"
placeholder="Tax ID Number" value="<?= $client_tax_id_number ?>">
</div>
@@ -250,7 +224,7 @@ ob_start();
<div class="tab-pane fade" id="pills-client-notes<?= $client_id ?>">
<div class="form-group">
<div class="mb-3">
<textarea class="form-control" rows="10" placeholder="Enter some notes" name="notes"><?= $client_notes ?></textarea>
</div>
@@ -262,9 +236,9 @@ ob_start();
$sla_options[intval($sla_option_row['sla_id'])] = $sla_option_row['sla_name'];
}
if ($config_module_enable_ticketing && !empty($sla_options)) { ?>
<div class="form-group">
<div class="mb-3">
<label>Ticket SLAs</label>
<div class="form-row">
<div class="row g-2">
<?php foreach (['Low', 'Medium', 'High', 'Urgent'] as $sla_priority) { $sla_current = $client_sla_assignments[$sla_priority] ?? 'default'; ?>
<div class="col-3">
<small class="text-secondary"><?= $sla_priority ?></small>
@@ -287,8 +261,8 @@ ob_start();
</div>
</div>
<div class="modal-footer">
<button type="submit" name="edit_client" class="btn btn-primary text-bold"><i class="fa fa-check mr-2"></i>Save</button>
<button type="button" class="btn btn-outline-secondary" data-dismiss="modal"><i class="fa fa-times mr-2"></i>Cancel</button>
<button type="submit" name="edit_client" class="btn btn-primary text-bold"><i class="fa fa-check me-2"></i>Save</button>
<button type="button" class="btn btn-outline-secondary" data-bs-dismiss="modal"><i class="fa fa-times me-2"></i>Cancel</button>
</div>
</form>

View File

@@ -38,10 +38,8 @@ ob_start();
?>
<div class="modal-header bg-dark">
<h5 class="modal-title"><i class="fas fa-fw fa-download mr-2"></i>Export Clients</h5>
<button type="button" class="close text-white" data-dismiss="modal">
<span>&times;</span>
</button>
<h5 class="modal-title"><i class="fas fa-fw fa-download me-2"></i>Export Clients</h5>
<button type="button" class="btn-close btn-close-white" data-bs-dismiss="modal"></button>
</div>
<?php exportTabsNav(); ?>
@@ -53,22 +51,18 @@ ob_start();
<?php exportTabsFiltersOpen(); ?>
<div class="form-group">
<div class="mb-3">
<label>Search</label>
<div class="input-group">
<div class="input-group-prepend">
<span class="input-group-text"><i class="fa fa-fw fa-search"></i></span>
</div>
<input type="text" class="form-control" name="q" value="<?= stripslashes(escapeHtml($q_filter)) ?>" placeholder="Name, contact, address, tag">
</div>
</div>
<div class="form-group">
<div class="mb-3">
<label>Showing</label>
<div class="input-group">
<div class="input-group-prepend">
<span class="input-group-text"><i class="fa fa-fw fa-user-friends"></i></span>
</div>
<select class="form-control select2" name="leads">
<option value="">- Clients -</option>
<option <?php if ($leads_filter === '1') { echo "selected"; } ?> value="1">Leads</option>
@@ -76,12 +70,10 @@ ob_start();
</div>
</div>
<div class="form-group">
<div class="mb-3">
<label>Industry</label>
<div class="input-group">
<div class="input-group-prepend">
<span class="input-group-text"><i class="fa fa-fw fa-industry"></i></span>
</div>
<select class="form-control select2" name="industry">
<option value="">- All Industries -</option>
<?php
@@ -97,12 +89,10 @@ ob_start();
</div>
</div>
<div class="form-group">
<div class="mb-3">
<label>Referral</label>
<div class="input-group">
<div class="input-group-prepend">
<span class="input-group-text"><i class="fa fa-fw fa-share-alt"></i></span>
</div>
<select class="form-control select2" name="referral">
<option value="">- All Referrals -</option>
<?php
@@ -118,12 +108,10 @@ ob_start();
</div>
</div>
<div class="form-group">
<div class="mb-3">
<label>Tags</label>
<div class="input-group">
<div class="input-group-prepend">
<span class="input-group-text"><i class="fa fa-fw fa-tags"></i></span>
</div>
<select class="form-control select2" name="tags[]" data-placeholder="- All Tags -" multiple>
<?php
$sql_tags_filter = mysqli_query($mysqli, "SELECT tag_id, tag_name FROM tags WHERE tag_type = 1 ORDER BY tag_name ASC");
@@ -139,32 +127,26 @@ ob_start();
</div>
</div>
<div class="form-group">
<div class="mb-3">
<label>Created From</label>
<div class="input-group">
<div class="input-group-prepend">
<span class="input-group-text"><i class="fa fa-fw fa-calendar"></i></span>
</div>
<input type="date" class="form-control" name="dtf" value="<?= $date_from_filter ?>" max="2999-12-31">
</div>
</div>
<div class="form-group">
<div class="mb-3">
<label>Created To</label>
<div class="input-group">
<div class="input-group-prepend">
<span class="input-group-text"><i class="fa fa-fw fa-calendar"></i></span>
</div>
<input type="date" class="form-control" name="dtt" value="<?= $date_to_filter ?>" max="2999-12-31">
</div>
</div>
<div class="form-group">
<div class="mb-3">
<label>Archived</label>
<div class="input-group">
<div class="input-group-prepend">
<span class="input-group-text"><i class="fa fa-fw fa-archive"></i></span>
</div>
<select class="form-control select2" name="archived">
<option <?php if (!$archived_filter) { echo "selected"; } ?> value="0">Active only</option>
<option <?php if ($archived_filter) { echo "selected"; } ?> value="1">Archived only</option>

View File

@@ -6,10 +6,8 @@ ob_start();
?>
<div class="modal-header bg-dark">
<h5 class="modal-title"><i class="fa fa-fw fa-users mr-2"></i>Import Clients</h5>
<button type="button" class="close text-white" data-dismiss="modal">
<span>&times;</span>
</button>
<h5 class="modal-title"><i class="fa fa-fw fa-users me-2"></i>Import Clients</h5>
<button type="button" class="btn-close btn-close-white" data-bs-dismiss="modal"></button>
</div>
<form action="post.php" method="post" enctype="multipart/form-data" autocomplete="off">
<input type="hidden" name="csrf_token" value="<?= $_SESSION['csrf_token'] ?>">
@@ -17,15 +15,15 @@ ob_start();
<p><strong>Importing Multiple Contacts:</strong><br>When importing a client, only one contact (which will become the primary contact) and one location (which will become the primary location) can be added initially. To add additional contacts, you will need to click into each client, navigate to the Contacts section, and import multiple contacts individually for each client.</p>
<p><strong>Format csv file with headings & data:</strong><br>Client Name, Industry, Referral, Website, Primary Location Name, Location Phone, Location Address, City, State, Postal Code, Country, Primary Contact Name, Title, Contact Phone, Extension, Contact Mobile, Contact Email, Hourly Rate, Currency, Payment Terms, Tax ID, Abbreviation</p>
<hr>
<div class="form-group my-4">
<input type="file" class="form-control-file" name="file" accept=".csv" required>
<div class="mb-3 my-4">
<input type="file" class="form-control" name="file" accept=".csv" required>
</div>
<hr>
<div>Download: <a class="text-bold" href="post.php?download_clients_csv_template">sample csv template</a></div>
</div>
<div class="modal-footer">
<button type="submit" name="import_clients_csv" class="btn btn-primary text-strong"><i class="fas fa-upload mr-2"></i>Import</button>
<button type="button" class="btn btn-light" data-dismiss="modal"><i class="fa fa-times mr-2"></i>Cancel</button>
<button type="submit" name="import_clients_csv" class="btn btn-primary text-strong"><i class="fas fa-upload me-2"></i>Import</button>
<button type="button" class="btn btn-light" data-bs-dismiss="modal"><i class="fa fa-times me-2"></i>Cancel</button>
</div>
</form>

View File

@@ -137,7 +137,7 @@ while ($row = mysqli_fetch_assoc($sql_contact_tags)) {
}
$contact_tag_id_array[] = $contact_tag_id;
$contact_tag_name_display_array[] = "<a href='client_contacts.php?client_id=$client_id&q=$contact_tag_name'><span class='badge text-light p-1 mr-1' style='background-color: $contact_tag_color;'><i class='fa fa-fw fa-$contact_tag_icon mr-2'></i>$contact_tag_name</span></a>";
$contact_tag_name_display_array[] = "<a href='client_contacts.php?client_id=$client_id&q=$contact_tag_name'><span class='badge text-light p-1 me-1' style='background-color: $contact_tag_color;'><i class='fa fa-fw fa-$contact_tag_icon me-2'></i>$contact_tag_name</span></a>";
}
$contact_tags_display = implode('', $contact_tag_name_display_array);
@@ -213,9 +213,9 @@ ob_start();
<div class="modal-header bg-dark">
<h5 class="modal-title">
<div class="media">
<div class="d-flex">
<?php if ($contact_photo) { ?>
<img class="img-thumbnail img-circle img-size-50 mr-1" src="<?= "../uploads/clients/$client_id/$contact_photo" ?>">
<img class="img-thumbnail img-circle img-size-50 me-1" src="<?= "../uploads/clients/$client_id/$contact_photo" ?>">
<?php } else { ?>
<span class="fa-stack">
<i class="fa fa-circle fa-stack-2x text-secondary"></i>
@@ -223,15 +223,13 @@ ob_start();
</span>
<?php } ?>
<div class="media-body ml-2">
<div class="flex-grow-1 ms-2">
<strong><?= $contact_name ?></strong>
<div class="text-sm"><?= $contact_title ?></div>
</div>
</div>
</h5>
<button type="button" class="close text-white" data-dismiss="modal">
<span>&times;</span>
</button>
<button type="button" class="btn-close btn-close-white" data-bs-dismiss="modal"></button>
</div>
<div class="modal-body">
@@ -243,32 +241,32 @@ ob_start();
<div class="col-12 col-md-5 mb-3 mb-md-0">
<div class="d-flex align-items-start">
<i class="fas fa-fw fa-user text-secondary mr-2 mt-1"></i>
<i class="fas fa-fw fa-user text-secondary me-2 mt-1"></i>
<div class="w-100">
<div class="text-muted text-sm">Contact</div>
<?php if ($contact_phone) { ?>
<div class="mt-1">
<i class="fas fa-fw fa-phone-alt text-secondary mr-1"></i>
<i class="fas fa-fw fa-phone-alt text-secondary me-1"></i>
<a href="tel:<?= $contact_phone ?>"><?= $contact_phone ?></a>
<?php if ($contact_extension) { ?>
<span class="text-muted ml-1">ext: <?= $contact_extension ?></span>
<span class="text-muted ms-1">ext: <?= $contact_extension ?></span>
<?php } ?>
</div>
<?php } ?>
<?php if ($contact_mobile) { ?>
<div class="mt-1">
<i class="fas fa-fw fa-mobile-alt text-secondary mr-1"></i>
<i class="fas fa-fw fa-mobile-alt text-secondary me-1"></i>
<a href="tel:<?= $contact_mobile ?>"><?= $contact_mobile ?></a>
</div>
<?php } ?>
<?php if ($contact_email) { ?>
<div class="mt-1">
<i class="fas fa-fw fa-envelope text-secondary mr-1"></i>
<i class="fas fa-fw fa-envelope text-secondary me-1"></i>
<a href="mailto:<?= $contact_email ?>"><?= $contact_email ?></a>
<button type="button" class="btn btn-xs btn-link p-0 ml-1 clipboardjs" data-clipboard-text="<?= $contact_email ?>">
<button type="button" class="btn btn-xs btn-link p-0 ms-1 clipboardjs" data-clipboard-text="<?= $contact_email ?>">
<i class="far fa-copy text-secondary"></i>
</button>
</div>
@@ -289,11 +287,11 @@ ob_start();
<div class="col-12 col-md-4 mb-3 mb-md-0">
<div class="d-flex align-items-start">
<i class="fas fa-fw fa-map-marker-alt text-secondary mr-2 mt-1"></i>
<i class="fas fa-fw fa-map-marker-alt text-secondary me-2 mt-1"></i>
<div class="w-100">
<div class="text-muted text-sm">Location</div>
<?php if ($location_name) { ?>
<div class="font-weight-bold"><?= $location_name ?></div>
<div class="fw-bold"><?= $location_name ?></div>
<div class="text-muted">
<?= $location_address ?><br>
<?= formatAddress('', $location_city, $location_state, $location_zip, '', ' ') ?><br>
@@ -308,21 +306,21 @@ ob_start();
<div class="col-12 col-md-3">
<div class="d-flex align-items-start">
<i class="fas fa-fw fa-info-circle text-secondary mr-2 mt-1"></i>
<i class="fas fa-fw fa-info-circle text-secondary me-2 mt-1"></i>
<div class="w-100">
<div class="text-muted text-sm">Flags</div>
<?php if ($contact_primary) { ?>
<div><span class="text-success font-weight-bold">Primary</span></div>
<div><span class="text-success fw-bold">Primary</span></div>
<?php } ?>
<?php if ($contact_billing) { ?>
<div><span class="font-weight-bold text-dark">Billing</span></div>
<div><span class="fw-bold text-dark">Billing</span></div>
<?php } ?>
<?php if ($contact_technical) { ?>
<div><span class="text-secondary">Technical</span></div>
<?php } ?>
<?php if ($contact_important) { ?>
<div><span class="font-weight-bold text-dark">Important</span></div>
<div><span class="fw-bold text-dark">Important</span></div>
<?php } ?>
<?php if ($contact_pin) { ?>
<div class="mt-1"><span class="text-muted">PIN:</span> <?= $contact_pin ?></div>
@@ -339,21 +337,21 @@ ob_start();
</div>
</div>
<div class="row no-gutters">
<div class="row g-0">
<!-- Left sticky nav -->
<div class="col-12 col-md-3 pr-md-3 mb-3 mb-md-0">
<div class="col-12 col-md-3 pe-md-3 mb-3 mb-md-0">
<div class="sticky-top">
<div class="nav nav-pills nav-sidebar flex-column" role="tablist" aria-orientation="vertical">
<?php if ($asset_count) { ?>
<a class="nav-link <?= ($first_tab === "assets") ? "active" : "" ?>"
data-toggle="pill"
data-bs-toggle="pill"
href="#pills-contact-assets<?= $contact_id ?>"
role="tab"
aria-controls="pills-contact-assets<?= $contact_id ?>"
aria-selected="<?= ($first_tab === "assets") ? "true" : "false" ?>">
<i class="fas fa-fw fa-desktop mr-2"></i>
<i class="fas fa-fw fa-desktop me-2"></i>
<span class="d-none d-md-inline">Assets (<?= $asset_count ?>)</span>
</a>
<?php } ?>
@@ -361,84 +359,84 @@ ob_start();
<?php
if (lookupUserPermission('module_credential') && ($credential_count)) { ?>
<a class="nav-link <?= ($first_tab === "credentials") ? "active" : "" ?>"
data-toggle="pill"
data-bs-toggle="pill"
href="#pills-contact-credentials<?= $contact_id ?>"
role="tab"
aria-controls="pills-contact-credentials<?= $contact_id ?>"
aria-selected="<?= ($first_tab === "credentials") ? "true" : "false" ?>">
<i class="fas fa-fw fa-key mr-2"></i>
<i class="fas fa-fw fa-key me-2"></i>
<span class="d-none d-md-inline">Credentials (<?= $credential_count ?>)</span>
</a>
<?php } ?>
<?php if ($software_count) { ?>
<a class="nav-link <?= ($first_tab === "licenses") ? "active" : "" ?>"
data-toggle="pill"
data-bs-toggle="pill"
href="#pills-contact-licenses<?= $contact_id ?>"
role="tab"
aria-controls="pills-contact-licenses<?= $contact_id ?>"
aria-selected="<?= ($first_tab === "licenses") ? "true" : "false" ?>">
<i class="fas fa-fw fa-cube mr-2"></i>
<i class="fas fa-fw fa-cube me-2"></i>
<span class="d-none d-md-inline">Licenses (<?= $software_count ?>)</span>
</a>
<?php } ?>
<?php if ($ticket_count) { ?>
<a class="nav-link <?= ($first_tab === "tickets") ? "active" : "" ?>"
data-toggle="pill"
data-bs-toggle="pill"
href="#pills-contact-tickets<?= $contact_id ?>"
role="tab"
aria-controls="pills-contact-tickets<?= $contact_id ?>"
aria-selected="<?= ($first_tab === "tickets") ? "true" : "false" ?>">
<i class="fas fa-fw fa-life-ring mr-2"></i>
<i class="fas fa-fw fa-life-ring me-2"></i>
<span class="d-none d-md-inline">Tickets (<?= $ticket_count ?>)</span>
</a>
<?php } ?>
<?php if ($recurring_ticket_count) { ?>
<a class="nav-link <?= ($first_tab === "recurring") ? "active" : "" ?>"
data-toggle="pill"
data-bs-toggle="pill"
href="#pills-contact-recurring-tickets<?= $contact_id ?>"
role="tab"
aria-controls="pills-contact-recurring-tickets<?= $contact_id ?>"
aria-selected="<?= ($first_tab === "recurring") ? "true" : "false" ?>">
<i class="fas fa-fw fa-redo-alt mr-2"></i>
<i class="fas fa-fw fa-redo-alt me-2"></i>
<span class="d-none d-md-inline">Rcr Tickets (<?= $recurring_ticket_count ?>)</span>
</a>
<?php } ?>
<?php if ($document_count) { ?>
<a class="nav-link <?= ($first_tab === "documents") ? "active" : "" ?>"
data-toggle="pill"
data-bs-toggle="pill"
href="#pills-contact-documents<?= $contact_id ?>"
role="tab"
aria-controls="pills-contact-documents<?= $contact_id ?>"
aria-selected="<?= ($first_tab === "documents") ? "true" : "false" ?>">
<i class="fas fa-fw fa-file-alt mr-2"></i>
<i class="fas fa-fw fa-file-alt me-2"></i>
<span class="d-none d-md-inline">Documents (<?= $document_count ?>)</span>
</a>
<?php } ?>
<?php if ($file_count) { ?>
<a class="nav-link <?= ($first_tab === "files") ? "active" : "" ?>"
data-toggle="pill"
data-bs-toggle="pill"
href="#pills-contact-files<?= $contact_id ?>"
role="tab"
aria-controls="pills-contact-files<?= $contact_id ?>"
aria-selected="<?= ($first_tab === "files") ? "true" : "false" ?>">
<i class="fas fa-fw fa-briefcase mr-2"></i>
<i class="fas fa-fw fa-briefcase me-2"></i>
<span class="d-none d-md-inline">Files (<?= $file_count ?>)</span>
</a>
<?php } ?>
<?php if ($note_count) { ?>
<a class="nav-link <?= ($first_tab === "notes") ? "active" : "" ?>"
data-toggle="pill"
data-bs-toggle="pill"
href="#pills-contact-notes<?= $contact_id ?>"
role="tab"
aria-controls="pills-contact-notes<?= $contact_id ?>"
aria-selected="<?= ($first_tab === "notes") ? "true" : "false" ?>">
<i class="fas fa-fw fa-edit mr-2"></i>
<i class="fas fa-fw fa-edit me-2"></i>
<span class="d-none d-md-inline">Notes (<?= $note_count ?>)</span>
</a>
<?php } ?>
@@ -500,7 +498,7 @@ ob_start();
$asset_tag_icon = "tag";
}
$asset_tag_name_display_array[] = "<a href='assets.php?$client_url tags[]=$asset_tag_id'><span class='badge text-light p-1 mr-1' style='background-color: $asset_tag_color;'><i class='fa fa-fw fa-$asset_tag_icon mr-2'></i>$asset_tag_name</span></a>";
$asset_tag_name_display_array[] = "<a href='assets.php?$client_url tags[]=$asset_tag_id'><span class='badge text-light p-1 me-1' style='background-color: $asset_tag_color;'><i class='fa fa-fw fa-$asset_tag_icon me-2'></i>$asset_tag_name</span></a>";
}
$asset_tags_display = implode('', $asset_tag_name_display_array);
$asset_favorite = intval($row['asset_favorite']);
@@ -511,7 +509,7 @@ ob_start();
<a href="#" class="ajax-modal"
data-modal-size="lg"
data-modal-url="modals/asset/asset.php?id=<?= $asset_id ?>">
<i class="fa fa-fw text-secondary fa-<?= $device_icon ?> mr-2"></i><?= $asset_name ?>
<i class="fa fa-fw text-secondary fa-<?= $device_icon ?> me-2"></i><?= $asset_name ?>
<?php if ($asset_favorite) { echo "<i class='fas fa-fw fa-star text-warning' title='Favorite'></i>"; } ?>
</a>
<div class="mt-0">
@@ -583,7 +581,7 @@ ob_start();
}
?>
<tr>
<td><i class="fa fa-fw fa-key text-secondary mr-2"></i><?= $credential_name ?></td>
<td><i class="fa fa-fw fa-key text-secondary me-2"></i><?= $credential_name ?></td>
<td><?= $credential_description ?></td>
<td><?= $credential_username_display ?></td>
<td>
@@ -649,13 +647,13 @@ ob_start();
}
if ($ticket_priority == "Urgent") {
$ticket_priority_display = "<span class='p-2 badge badge-dark'>$ticket_priority</span>";
$ticket_priority_display = "<span class='p-2 badge bg-dark'>$ticket_priority</span>";
} elseif ($ticket_priority == "High") {
$ticket_priority_display = "<span class='p-2 badge badge-danger'>$ticket_priority</span>";
$ticket_priority_display = "<span class='p-2 badge bg-danger'>$ticket_priority</span>";
} elseif ($ticket_priority == "Medium") {
$ticket_priority_display = "<span class='p-2 badge badge-warning'>$ticket_priority</span>";
$ticket_priority_display = "<span class='p-2 badge bg-warning text-dark'>$ticket_priority</span>";
} elseif ($ticket_priority == "Low") {
$ticket_priority_display = "<span class='p-2 badge badge-info'>$ticket_priority</span>";
$ticket_priority_display = "<span class='p-2 badge bg-info text-dark'>$ticket_priority</span>";
} else {
$ticket_priority_display = "-";
}
@@ -674,12 +672,12 @@ ob_start();
<tr>
<td>
<a href="ticket.php?client_id=<?= $client_id ?>&ticket_id=<?= $ticket_id ?>">
<span class="badge badge-pill badge-secondary p-3"><?= "$ticket_prefix$ticket_number" ?></span>
<span class="badge rounded-pill bg-secondary p-3"><?= "$ticket_prefix$ticket_number" ?></span>
</a>
</td>
<td><a href="ticket.php?client_id=<?= $client_id ?>&ticket_id=<?= $ticket_id ?>"><?= $ticket_subject ?></a></td>
<td><?= $ticket_priority_display ?></td>
<td><span class="badge badge-pill text-light p-2" style="background-color: <?= $ticket_status_color ?>"><?= $ticket_status_name ?></span></td>
<td><span class="badge rounded-pill text-light p-2" style="background-color: <?= $ticket_status_color ?>"><?= $ticket_status_name ?></span></td>
<td><?= $ticket_assigned_to_display ?></td>
<td><?= $ticket_updated_at_display ?></td>
<td><?= $ticket_created_at ?></td>
@@ -860,7 +858,7 @@ ob_start();
<div class="text-secondary"><?= $file_description ?></div>
</td>
<td><?= $file_mime_type ?></td>
<td class="text-monospace"><?= $file_size_human ?></td>
<td class="font-monospace"><?= $file_size_human ?></td>
<td><?= $file_created_at ?></td>
</tr>
<?php
@@ -895,7 +893,7 @@ ob_start();
$note_type_icon = !empty($note_type_icons[$contact_note_type]) ? $note_type_icons[$contact_note_type] : 'fa-sticky-note';
?>
<tr>
<td><i class="fa fa-fw <?= $note_type_icon ?> mr-2"></i><?= $contact_note_type ?></td>
<td><i class="fa fa-fw <?= $note_type_icon ?> me-2"></i><?= $contact_note_type ?></td>
<td><?= $contact_note ?></td>
<td><?= $note_by ?></td>
<td><?= $contact_note_created_at ?></td>
@@ -918,11 +916,11 @@ ob_start();
<div class="modal-footer">
<a href="contact.php?client_id=<?= $client_id ?>&contact_id=<?= $contact_id ?>" class="btn btn-outline-primary">
<i class="fas fa-info-circle mr-2"></i>Open Full Contact
<i class="fas fa-info-circle me-2"></i>Open Full Contact
</a>
<a href="#" class="btn btn-secondary ajax-modal"
data-modal-url="modals/contact/contact_edit.php?id=<?= $contact_id ?>">
<i class="fas fa-edit mr-2"></i>Edit
<i class="fas fa-edit me-2"></i>Edit
</a>
</div>

View File

@@ -17,10 +17,8 @@ ob_start();
?>
<div class="modal-header bg-dark">
<h5 class="modal-title"><i class="fas fa-fw fa-user-plus mr-2"></i>New Contact</h5>
<button type="button" class="close text-white" data-dismiss="modal">
<span>&times;</span>
</button>
<h5 class="modal-title"><i class="fas fa-fw fa-user-plus me-2"></i>New Contact</h5>
<button type="button" class="btn-close btn-close-white" data-bs-dismiss="modal"></button>
</div>
<form action="post.php" method="post" enctype="multipart/form-data" autocomplete="off">
<input type="hidden" name="csrf_token" value="<?= $_SESSION['csrf_token'] ?>">
@@ -29,16 +27,16 @@ ob_start();
<ul class="nav nav-pills nav-justified mb-3">
<li class="nav-item">
<a class="nav-link active" data-toggle="pill" href="#pills-details"><i class="fas fa-fw fa-user mr-2"></i>Details</a>
<a class="nav-link active" data-bs-toggle="pill" href="#pills-details"><i class="fas fa-fw fa-user me-2"></i>Details</a>
</li>
<li class="nav-item">
<a class="nav-link" data-toggle="pill" href="#pills-photo"><i class="fas fa-fw fa-image mr-2"></i>Photo</a>
<a class="nav-link" data-bs-toggle="pill" href="#pills-photo"><i class="fas fa-fw fa-image me-2"></i>Photo</a>
</li>
<li class="nav-item">
<a class="nav-link" data-toggle="pill" href="#pills-access"><i class="fas fa-fw fa-lock mr-2"></i>Access</a>
<a class="nav-link" data-bs-toggle="pill" href="#pills-access"><i class="fas fa-fw fa-lock me-2"></i>Access</a>
</li>
<li class="nav-item">
<a class="nav-link" data-toggle="pill" href="#pills-notes"><i class="fas fa-fw fa-edit mr-2"></i>Notes</a>
<a class="nav-link" data-bs-toggle="pill" href="#pills-notes"><i class="fas fa-fw fa-edit me-2"></i>Notes</a>
</li>
</ul>
@@ -52,12 +50,10 @@ ob_start();
<input type="hidden" name="client_id" value="<?= $client_id ?>">
<?php } else { ?>
<div class="form-group">
<div class="mb-3">
<label>Client <strong class="text-danger">*</strong></label>
<div class="input-group">
<div class="input-group-prepend">
<span class="input-group-text"><i class="fa fa-fw fa-user"></i></span>
</div>
<select class="form-control select2" name="client_id" required>
<option value="">- Select Client -</option>
<?php
@@ -74,69 +70,57 @@ ob_start();
<?php } ?>
<div class="form-group">
<div class="mb-3">
<label>Name <strong class="text-danger">*</strong> / <span class="text-secondary">Primary Contact</span></label>
<div class="input-group">
<div class="input-group-prepend">
<span class="input-group-text"><i class="fa fa-fw fa-user"></i></span>
</div>
<input type="text" class="form-control" name="name" placeholder="Full Name" maxlength="200" required autofocus>
<div class="input-group-append">
<div class="input-group-text">
<input type="checkbox" name="contact_primary" value="1">
</div>
</div>
</div>
</div>
<div class="form-group">
<div class="mb-3">
<label>Title</label>
<div class="input-group">
<div class="input-group-prepend">
<span class="input-group-text"><i class="fa fa-fw fa-id-badge"></i></span>
</div>
<input type="text" class="form-control" name="title" placeholder="Job Title" maxlength="200">
</div>
</div>
<div class="form-group">
<div class="mb-3">
<label>Department / Group</label>
<div class="input-group">
<div class="input-group-prepend">
<span class="input-group-text"><i class="fa fa-fw fa-users"></i></span>
</div>
<input type="text" class="form-control" name="department" placeholder="Department or group" maxlength="200">
</div>
</div>
<label>Phone / <span class="text-secondary">Extension</span></label>
<div class="form-row">
<div class="row g-2">
<div class="col-9">
<div class="form-group">
<div class="mb-3">
<div class="input-group">
<div class="input-group-prepend">
<span class="input-group-text"><i class="fa fa-fw fa-phone"></i></span>
</div>
<input type="tel" class="form-control col-2" name="phone_country_code" placeholder="+" maxlength="4">
<input type="tel" class="form-control" name="phone" placeholder="Phone Number" maxlength="200">
</div>
</div>
</div>
<div class="col-3">
<div class="form-group">
<div class="mb-3">
<input type="text" class="form-control" name="extension" placeholder="ext." maxlength="200">
</div>
</div>
</div>
<label>Mobile</label>
<div class="form-row">
<div class="row g-2">
<div class="col-9">
<div class="form-group">
<div class="mb-3">
<div class="input-group">
<div class="input-group-prepend">
<span class="input-group-text"><i class="fa fa-fw fa-mobile-alt"></i></span>
</div>
<input type="tel" class="form-control col-2" name="mobile_country_code" placeholder="+" maxlength="4">
<input type="tel" class="form-control" name="mobile" placeholder="Mobile Phone Number" maxlength="200">
</div>
@@ -144,12 +128,10 @@ ob_start();
</div>
</div>
<div class="form-group">
<div class="mb-3">
<label>Email</label>
<div class="input-group">
<div class="input-group-prepend">
<span class="input-group-text"><i class="fa fa-fw fa-envelope"></i></span>
</div>
<input type="email" class="form-control" name="email" id="contact_email" placeholder="Email Address" maxlength="200" onfocusout="checkContactEmail()">
</div>
<div class="mt-2">
@@ -158,12 +140,10 @@ ob_start();
</div>
<?php if($client_id) { ?>
<div class="form-group">
<div class="mb-3">
<label>Location</label>
<div class="input-group">
<div class="input-group-prepend">
<span class="input-group-text"><i class="fa fa-fw fa-map-marker-alt"></i></span>
</div>
<select class="form-control select2" name="location">
<option value="">- Select Location -</option>
<?php
@@ -184,32 +164,28 @@ ob_start();
<div class="tab-pane fade" id="pills-photo">
<div class="form-group">
<div class="mb-3">
<label>Upload Photo</label>
<input type="file" class="form-control-file" name="file" accept="image/*">
<input type="file" class="form-control" name="file" accept="image/*">
</div>
</div>
<div class="tab-pane fade" id="pills-access">
<div class="form-group">
<div class="mb-3">
<label>Pin</label>
<div class="input-group">
<div class="input-group-prepend">
<span class="input-group-text"><i class="fa fa-fw fa-key"></i></span>
</div>
<input type="text" class="form-control" name="pin" placeholder="Security code or pin" maxlength="255">
</div>
</div>
<?php if ($config_client_portal_enable == 1) { ?>
<div class="authForm">
<div class="form-group">
<div class="mb-3">
<label>Client Portal</label>
<div class="input-group">
<div class="input-group-prepend">
<span class="input-group-text"><i class="fa fa-fw fa-user-circle"></i></span>
</div>
<select class="form-control select2 authMethod" name="auth_method">
<option value="">- No Access -</option>
<option value="local">Using Set Password</option>
@@ -218,52 +194,46 @@ ob_start();
</div>
</div>
<div class="form-group passwordGroup" style="display: none;">
<div class="mb-3 passwordGroup" style="display: none;">
<label>Password</label>
<div class="input-group">
<div class="input-group-prepend">
<span class="input-group-text"><i class="fa fa-fw fa-lock"></i></span>
</div>
<input type="password" class="form-control" data-toggle="password" id="password" name="contact_password" placeholder="Password" autocomplete="new-password">
<div class="input-group-append">
<span class="input-group-text"><i class="fa fa-fw fa-eye"></i></span>
</div>
<div class="input-group-append">
<button type="button" class="btn btn-default" onclick="generatePassword()">
<i class="fa fa-fw fa-question"></i>
</button>
</div>
</div>
</div>
</div>
<?php } ?>
<label>Roles:</label>
<div class="form-row">
<div class="row g-2">
<div class="col-md-4">
<div class="form-group">
<div class="custom-control custom-checkbox">
<input type="checkbox" class="custom-control-input" id="contactImportantCheckbox" name="contact_important" value="1">
<label class="custom-control-label" for="contactImportantCheckbox">Important</label>
<div class="mb-3">
<div class="form-check">
<input type="checkbox" class="form-check-input" id="contactImportantCheckbox" name="contact_important" value="1">
<label class="form-check-label" for="contactImportantCheckbox">Important</label>
<p class="text-secondary"><small>Pin Top</small></p>
</div>
</div>
</div>
<div class="col-md-4">
<div class="form-group">
<div class="custom-control custom-checkbox">
<input type="checkbox" class="custom-control-input" id="contactBillingCheckbox" name="contact_billing" value="1">
<label class="custom-control-label" for="contactBillingCheckbox">Billing</label>
<div class="mb-3">
<div class="form-check">
<input type="checkbox" class="form-check-input" id="contactBillingCheckbox" name="contact_billing" value="1">
<label class="form-check-label" for="contactBillingCheckbox">Billing</label>
<p class="text-secondary"><small>Receives Invoices</small></p>
</div>
</div>
</div>
<div class="col-md-4">
<div class="form-group">
<div class="custom-control custom-checkbox">
<input type="checkbox" class="custom-control-input" id="contactTechnicalCheckbox" name="contact_technical" value="1">
<label class="custom-control-label" for="contactTechnicalCheckbox">Technical</label>
<div class="mb-3">
<div class="form-check">
<input type="checkbox" class="form-check-input" id="contactTechnicalCheckbox" name="contact_technical" value="1">
<label class="form-check-label" for="contactTechnicalCheckbox">Technical</label>
<p class="text-secondary"><small>Access </small></p>
</div>
</div>
@@ -275,16 +245,14 @@ ob_start();
<div class="tab-pane fade" id="pills-notes">
<div class="form-group">
<div class="mb-3">
<textarea class="form-control" rows="8" name="notes" placeholder="Enter some notes"></textarea>
</div>
<div class="form-group">
<div class="mb-3">
<label>Tags</label>
<div class="input-group">
<div class="input-group-prepend">
<span class="input-group-text"><i class="fa fa-fw fa-tags"></i></span>
</div>
<select class="form-control select2" name="tags[]" data-placeholder="Add some tags" multiple>
<?php
@@ -296,12 +264,10 @@ ob_start();
<?php } ?>
</select>
<div class="input-group-append">
<button class="btn btn-secondary ajax-modal" type="button"
data-modal-url="../admin/modals/tag/tag_add.php?type=3">
<i class="fas fa-plus"></i>
</button>
</div>
</div>
</div>
@@ -311,8 +277,8 @@ ob_start();
</div>
<div class="modal-footer">
<button type="submit" name="add_contact" class="btn btn-primary text-bold"><i class="fas fa-check mr-2"></i>Create</button>
<button type="button" class="btn btn-light" data-dismiss="modal"><i class="fa fa-times mr-2"></i>Cancel</button>
<button type="submit" name="add_contact" class="btn btn-primary text-bold"><i class="fas fa-check me-2"></i>Create</button>
<button type="button" class="btn btn-light" data-bs-dismiss="modal"><i class="fa fa-times me-2"></i>Cancel</button>
</div>
</form>
<!-- JavaScript to Show/Hide Password Form Group -->

View File

@@ -2,10 +2,8 @@
<div class="modal-dialog">
<div class="modal-content">
<div class="modal-header bg-dark">
<h5 class="modal-title"><i class="fa fa-fw fa-archive mr-2"></i>Archiving contact: <strong><?= $contact_name ?></strong></h5>
<button type="button" class="close text-white" data-dismiss="modal">
<span>&times;</span>
</button>
<h5 class="modal-title"><i class="fa fa-fw fa-archive me-2"></i>Archiving contact: <strong><?= $contact_name ?></strong></h5>
<button type="button" class="btn-close btn-close-white" data-bs-dismiss="modal"></button>
</div>
<form action="post.php" method="post" autocomplete="off">
<input type="hidden" name="csrf_token" value="<?= $_SESSION['csrf_token'] ?>">
@@ -18,38 +16,38 @@
<label>Unassign:</label>
<div class="form-group">
<div class="custom-control custom-checkbox">
<input type="checkbox" class="custom-control-input" id="unassignAssetsCheckbox<?= $contact_id ?>" name="unassign_assets" value="1">
<label class="custom-control-label" for="unassignAssetsCheckbox<?= $contact_id ?>">Assets</label>
<div class="mb-3">
<div class="form-check">
<input type="checkbox" class="form-check-input" id="unassignAssetsCheckbox<?= $contact_id ?>" name="unassign_assets" value="1">
<label class="form-check-label" for="unassignAssetsCheckbox<?= $contact_id ?>">Assets</label>
</div>
</div>
<div class="form-group">
<div class="custom-control custom-checkbox">
<input type="checkbox" class="custom-control-input" id="unassignLicensesCheckbox<?= $contact_id ?>" name="unassign_licenses" value="1">
<label class="custom-control-label" for="unassignLicensesCheckbox<?= $contact_id ?>">Licenses</label>
<div class="mb-3">
<div class="form-check">
<input type="checkbox" class="form-check-input" id="unassignLicensesCheckbox<?= $contact_id ?>" name="unassign_licenses" value="1">
<label class="form-check-label" for="unassignLicensesCheckbox<?= $contact_id ?>">Licenses</label>
</div>
</div>
<div class="form-group">
<div class="custom-control custom-checkbox">
<input type="checkbox" class="custom-control-input" id="unassignDocumentsCheckbox<?= $contact_id ?>" name="unassign_documents" value="1">
<label class="custom-control-label" for="unassignDocumentsCheckbox<?= $contact_id ?>">Documents</label>
<div class="mb-3">
<div class="form-check">
<input type="checkbox" class="form-check-input" id="unassignDocumentsCheckbox<?= $contact_id ?>" name="unassign_documents" value="1">
<label class="form-check-label" for="unassignDocumentsCheckbox<?= $contact_id ?>">Documents</label>
</div>
</div>
<div class="form-group">
<div class="custom-control custom-checkbox">
<input type="checkbox" class="custom-control-input" id="anonymizeCheckbox<?= $contact_id ?>" name="anonymize_contact" value="1">
<label class="custom-control-label" for="anonymizeCheckbox<?= $contact_id ?>">Anonymize Contact</label>
<div class="mb-3">
<div class="form-check">
<input type="checkbox" class="form-check-input" id="anonymizeCheckbox<?= $contact_id ?>" name="anonymize_contact" value="1">
<label class="form-check-label" for="anonymizeCheckbox<?= $contact_id ?>">Anonymize Contact</label>
</div>
</div>
</div>
<div class="modal-footer">
<button type="submit" name="archive_contact" class="btn btn-danger text-bold"><i class="fas fa-check mr-2"></i>Arhive</button>
<button type="button" class="btn btn-light" data-dismiss="modal"><i class="fa fa-times mr-2"></i>Cancel</button>
<button type="submit" name="archive_contact" class="btn btn-danger text-bold"><i class="fas fa-check me-2"></i>Arhive</button>
<button type="button" class="btn btn-light" data-bs-dismiss="modal"><i class="fa fa-times me-2"></i>Cancel</button>
</div>
</form>
</div>

View File

@@ -16,22 +16,18 @@ ob_start();
?>
<div class="modal-header bg-dark">
<h5 class="modal-title"><i class="fa fa-fw fa-map-marker-alt mr-2"></i>Assign Location to <strong><?= $count ?></strong> Contacts</h5>
<button type="button" class="close text-white" data-dismiss="modal">
<span>&times;</span>
</button>
<h5 class="modal-title"><i class="fa fa-fw fa-map-marker-alt me-2"></i>Assign Location to <strong><?= $count ?></strong> Contacts</h5>
<button type="button" class="btn-close btn-close-white" data-bs-dismiss="modal"></button>
</div>
<form action="post.php" method="post" autocomplete="off">
<input type="hidden" name="csrf_token" value="<?= $_SESSION['csrf_token'] ?>">
<?php foreach ($contact_ids as $contact_id) { ?><input type="hidden" name="contact_ids[]" value="<?= $contact_id ?>"><?php } ?>
<div class="modal-body">
<div class="form-group">
<div class="mb-3">
<label>Location</label>
<div class="input-group">
<div class="input-group-prepend">
<span class="input-group-text"><i class="fa fa-fw fa-map-marker-alt"></i></span>
</div>
<select class="form-control select2" name="bulk_location_id">
<option value="">- Select Location -</option>
<?php
@@ -51,8 +47,8 @@ ob_start();
</div>
<div class="modal-footer">
<button type="submit" name="bulk_assign_contact_location" class="btn btn-primary text-bold"><i class="fas fa-check mr-2"></i>Assign Location</button>
<button type="button" class="btn btn-light" data-dismiss="modal"><i class="fa fa-times mr-2"></i>Cancel</button>
<button type="submit" name="bulk_assign_contact_location" class="btn btn-primary text-bold"><i class="fas fa-check me-2"></i>Assign Location</button>
<button type="button" class="btn btn-light" data-bs-dismiss="modal"><i class="fa fa-times me-2"></i>Cancel</button>
</div>
</form>

View File

@@ -11,10 +11,8 @@ ob_start();
?>
<div class="modal-header bg-dark">
<h5 class="modal-title"><i class="fa fa-fw fa-tags mr-2"></i>Assign Tags for <strong><?= $count ?></strong> Contacts</h5>
<button type="button" class="close text-white" data-dismiss="modal">
<span>&times;</span>
</button>
<h5 class="modal-title"><i class="fa fa-fw fa-tags me-2"></i>Assign Tags for <strong><?= $count ?></strong> Contacts</h5>
<button type="button" class="btn-close btn-close-white" data-bs-dismiss="modal"></button>
</div>
<form action="post.php" method="post" autocomplete="off">
<input type="hidden" name="csrf_token" value="<?= $_SESSION['csrf_token'] ?>">
@@ -23,17 +21,15 @@ ob_start();
<div class="modal-body">
<input type="hidden" name="bulk_remove_tags" value="0">
<div class="form-group form-check">
<div class="mb-3 form-check">
<input type="checkbox" class="form-check-input" name="bulk_remove_tags" value="1">
<label class="form-check-label text-danger">Remove Existing Tags</label>
</div>
<div class="form-group">
<div class="mb-3">
<label>Tags</label>
<div class="input-group">
<div class="input-group-prepend">
<span class="input-group-text"><i class="fa fa-fw fa-tags"></i></span>
</div>
<select class="form-control select2" name="bulk_tags[]" data-placeholder="Add some tags" multiple>
<?php
@@ -52,8 +48,8 @@ ob_start();
</div>
<div class="modal-footer">
<button type="submit" name="bulk_assign_contact_tags" class="btn btn-primary text-bold"><i class="fas fa-check mr-2"></i>Assign Tags</button>
<button type="button" class="btn btn-light" data-dismiss="modal"><i class="fa fa-times mr-2"></i>Cancel</button>
<button type="submit" name="bulk_assign_contact_tags" class="btn btn-primary text-bold"><i class="fas fa-check me-2"></i>Assign Tags</button>
<button type="button" class="btn btn-light" data-bs-dismiss="modal"><i class="fa fa-times me-2"></i>Cancel</button>
</div>
</form>

View File

@@ -11,10 +11,8 @@ ob_start();
?>
<div class="modal-header bg-dark">
<h5 class="modal-title"><i class="fa fa-fw fa-users mr-2"></i>Set Department / Group for <strong><?= $count ?></strong> Contacts</h5>
<button type="button" class="close text-white" data-dismiss="modal">
<span>&times;</span>
</button>
<h5 class="modal-title"><i class="fa fa-fw fa-users me-2"></i>Set Department / Group for <strong><?= $count ?></strong> Contacts</h5>
<button type="button" class="btn-close btn-close-white" data-bs-dismiss="modal"></button>
</div>
<form action="post.php" method="post" autocomplete="off">
<input type="hidden" name="csrf_token" value="<?= $_SESSION['csrf_token'] ?>">
@@ -22,11 +20,9 @@ ob_start();
<div class="modal-body">
<label>Department / Group</label>
<div class="form-group">
<div class="mb-3">
<div class="input-group">
<div class="input-group-prepend">
<span class="input-group-text"><i class="fa fa-fw fa-users"></i></span>
</div>
<input type="text" class="form-control" name="bulk_department" placeholder="Department or group" maxlength="200">
</div>
</div>
@@ -34,8 +30,8 @@ ob_start();
</div>
<div class="modal-footer">
<button type="submit" name="bulk_edit_contact_department" class="btn btn-primary text-bold"><i class="fas fa-check mr-2"></i>Set Department</button>
<button type="button" class="btn btn-light" data-dismiss="modal"><i class="fa fa-times mr-2"></i>Cancel</button>
<button type="submit" name="bulk_edit_contact_department" class="btn btn-primary text-bold"><i class="fas fa-check me-2"></i>Set Department</button>
<button type="button" class="btn btn-light" data-bs-dismiss="modal"><i class="fa fa-times me-2"></i>Cancel</button>
</div>
</form>

View File

@@ -11,10 +11,8 @@ ob_start();
?>
<div class="modal-header bg-dark">
<h5 class="modal-title"><i class="fa fa-fw fa-phone-alt mr-2"></i>Set Phone Number for <strong><?= $count ?></strong> Contacts</h5>
<button type="button" class="close text-white" data-dismiss="modal">
<span>&times;</span>
</button>
<h5 class="modal-title"><i class="fa fa-fw fa-phone-alt me-2"></i>Set Phone Number for <strong><?= $count ?></strong> Contacts</h5>
<button type="button" class="btn-close btn-close-white" data-bs-dismiss="modal"></button>
</div>
<form action="post.php" method="post" autocomplete="off">
<input type="hidden" name="csrf_token" value="<?= $_SESSION['csrf_token'] ?>">
@@ -22,11 +20,9 @@ ob_start();
<div class="modal-body">
<label>Phone</label>
<div class="form-group">
<div class="mb-3">
<div class="input-group">
<div class="input-group-prepend">
<span class="input-group-text"><i class="fa fa-fw fa-phone"></i></span>
</div>
<input type="text" class="form-control" name="bulk_phone" placeholder="Phone Number" maxlength="200">
</div>
</div>
@@ -34,8 +30,8 @@ ob_start();
</div>
<div class="modal-footer">
<button type="submit" name="bulk_edit_contact_phone" class="btn btn-primary text-bold"><i class="fas fa-check mr-2"></i>Set Phone Number</button>
<button type="button" class="btn btn-light" data-dismiss="modal"><i class="fa fa-times mr-2"></i>Cancel</button>
<button type="submit" name="bulk_edit_contact_phone" class="btn btn-primary text-bold"><i class="fas fa-check me-2"></i>Set Phone Number</button>
<button type="button" class="btn btn-light" data-bs-dismiss="modal"><i class="fa fa-times me-2"></i>Cancel</button>
</div>
</form>

View File

@@ -11,10 +11,8 @@ ob_start();
?>
<div class="modal-header bg-dark">
<h5 class="modal-title"><i class="fa fa-fw fa-user-shield mr-2"></i>Set Roles for <strong><?= $count ?></strong> Contacts</h5>
<button type="button" class="close text-white" data-dismiss="modal">
<span>&times;</span>
</button>
<h5 class="modal-title"><i class="fa fa-fw fa-user-shield me-2"></i>Set Roles for <strong><?= $count ?></strong> Contacts</h5>
<button type="button" class="btn-close btn-close-white" data-bs-dismiss="modal"></button>
</div>
<form action="post.php" method="post" autocomplete="off">
<input type="hidden" name="csrf_token" value="<?= $_SESSION['csrf_token'] ?>">
@@ -23,26 +21,26 @@ ob_start();
<input type="hidden" name="bulk_contact_billing" value="0">
<input type="hidden" name="bulk_contact_technical" value="0">
<div class="modal-body">
<div class="form-group">
<div class="custom-control custom-checkbox">
<input type="checkbox" class="custom-control-input" id="bulkContactImportantCheckbox" name="bulk_contact_important" value="1">
<label class="custom-control-label" for="bulkContactImportantCheckbox">Important</label>
<div class="mb-3">
<div class="form-check">
<input type="checkbox" class="form-check-input" id="bulkContactImportantCheckbox" name="bulk_contact_important" value="1">
<label class="form-check-label" for="bulkContactImportantCheckbox">Important</label>
<small class="form-text text-muted">Important Person and pins them to the top of the contact list</small>
</div>
</div>
<div class="form-group">
<div class="custom-control custom-checkbox">
<input type="checkbox" class="custom-control-input" id="bulkContactBillingCheckbox" name="bulk_contact_billing" value="1">
<label class="custom-control-label" for="bulkContactBillingCheckbox">Billing</label>
<div class="mb-3">
<div class="form-check">
<input type="checkbox" class="form-check-input" id="bulkContactBillingCheckbox" name="bulk_contact_billing" value="1">
<label class="form-check-label" for="bulkContactBillingCheckbox">Billing</label>
<small class="form-text text-muted">Receives Invoices and Receipts and has access to billing via the portal</small>
</div>
</div>
<div class="form-group">
<div class="custom-control custom-checkbox">
<input type="checkbox" class="custom-control-input" id="bulkContactTechnicalCheckbox" name="bulk_contact_technical" value="1">
<label class="custom-control-label" for="bulkContactTechnicalCheckbox">Technical</label>
<div class="mb-3">
<div class="form-check">
<input type="checkbox" class="form-check-input" id="bulkContactTechnicalCheckbox" name="bulk_contact_technical" value="1">
<label class="form-check-label" for="bulkContactTechnicalCheckbox">Technical</label>
<small class="form-text text-muted">Person to contact for technical related things and has access to all tickets and documents via the portal</small>
</div>
</div>
@@ -50,8 +48,8 @@ ob_start();
</div>
<div class="modal-footer">
<button type="submit" name="bulk_edit_contact_role" class="btn btn-primary text-bold"><i class="fas fa-check mr-2"></i>Set Roles</button>
<button type="button" class="btn btn-light" data-dismiss="modal"><i class="fa fa-times mr-2"></i>Cancel</button>
<button type="submit" name="bulk_edit_contact_role" class="btn btn-primary text-bold"><i class="fas fa-check me-2"></i>Set Roles</button>
<button type="button" class="btn btn-light" data-bs-dismiss="modal"><i class="fa fa-times me-2"></i>Cancel</button>
</div>
</form>

View File

@@ -11,10 +11,8 @@ ob_start();
?>
<div class="modal-header bg-dark">
<h5 class="modal-title"><i class="fa fa-fw fa-envelope-open mr-2"></i>Send Email to <strong><?= $count ?></strong> Contacts</h5>
<button type="button" class="close text-white" data-dismiss="modal">
<span>&times;</span>
</button>
<h5 class="modal-title"><i class="fa fa-fw fa-envelope-open me-2"></i>Send Email to <strong><?= $count ?></strong> Contacts</h5>
<button type="button" class="btn-close btn-close-white" data-bs-dismiss="modal"></button>
</div>
<form action="post.php" method="post" autocomplete="off">
<input type="hidden" name="csrf_token" value="<?= $_SESSION['csrf_token'] ?>">
@@ -22,9 +20,9 @@ ob_start();
<div class="modal-body">
<label>From Email / Display Name</label>
<div class="form-row">
<div class="row g-2">
<div class="form-group col-sm-6">
<div class="mb-3 col-sm-6">
<select type="text" class="form-control select2" name="mail_from">
<option value="<?= escapeHtml($config_mail_from_email) ?>">
<?= escapeHtml("$config_mail_from_name - $config_mail_from_email") ?></option>
@@ -37,26 +35,24 @@ ob_start();
</select>
</div>
<div class="form-group col-sm-6">
<div class="mb-3 col-sm-6">
<input type="text" class="form-control" name="mail_from_name" placeholder="From Name" maxlength="255"
value="<?= escapeHtml($config_mail_from_name) ?>">
</div>
</div>
<div class="form-group">
<div class="mb-3">
<input type="text" class="form-control" name="subject" placeholder="Subject" maxlength="255">
</div>
<div class="form-group">
<div class="mb-3">
<textarea class="form-control tinymce" name="body"
placeholder="Type an email in here"></textarea>
</div>
<div class="form-group">
<div class="mb-3">
<div class="input-group">
<div class="input-group-prepend">
<span class="input-group-text"><i class="fa fa-fw fa-calendar"></i></span>
</div>
<input type="datetime-local" class="form-control" name="queued_at">
</div>
</div>
@@ -64,8 +60,8 @@ ob_start();
</div>
<div class="modal-footer">
<button type="submit" name="send_bulk_mail_now" class="btn btn-primary text-bold"><i class="fas fa-paper-plane mr-2"></i>Send Emails</button>
<button type="button" class="btn btn-light" data-dismiss="modal"><i class="fa fa-times mr-2"></i>Cancel</button>
<button type="submit" name="send_bulk_mail_now" class="btn btn-primary text-bold"><i class="fas fa-paper-plane me-2"></i>Send Emails</button>
<button type="button" class="btn btn-light" data-bs-dismiss="modal"><i class="fa fa-times me-2"></i>Cancel</button>
</div>
</form>

View File

@@ -56,10 +56,8 @@ ob_start();
?>
<div class="modal-header bg-dark">
<h5 class="modal-title"><i class='fas fa-user-edit mr-2'></i>Editing Contact: <strong><?= $contact_name ?></strong></h5>
<button type="button" class="close text-white" data-dismiss="modal">
<span>&times;</span>
</button>
<h5 class="modal-title"><i class='fas fa-user-edit me-2'></i>Editing Contact: <strong><?= $contact_name ?></strong></h5>
<button type="button" class="btn-close btn-close-white" data-bs-dismiss="modal"></button>
</div>
<form action="post.php" method="post" enctype="multipart/form-data" autocomplete="off">
<input type="hidden" name="csrf_token" value="<?= $_SESSION['csrf_token'] ?>">
@@ -69,16 +67,16 @@ ob_start();
<ul class="nav nav-pills nav-justified mb-3">
<li class="nav-item">
<a class="nav-link active" data-toggle="pill" href="#pills-details<?= $contact_id ?>"><i class="fa fa-fw fa-id-badge mr-2"></i>Details</a>
<a class="nav-link active" data-bs-toggle="pill" href="#pills-details<?= $contact_id ?>"><i class="fa fa-fw fa-id-badge me-2"></i>Details</a>
</li>
<li class="nav-item">
<a class="nav-link" data-toggle="pill" href="#pills-photo<?= $contact_id ?>"><i class="fa fa-fw fa-image mr-2"></i>Photo</a>
<a class="nav-link" data-bs-toggle="pill" href="#pills-photo<?= $contact_id ?>"><i class="fa fa-fw fa-image me-2"></i>Photo</a>
</li>
<li class="nav-item">
<a class="nav-link" data-toggle="pill" href="#pills-access<?= $contact_id ?>"><i class="fa fa-fw fa-lock mr-2"></i>Access</a>
<a class="nav-link" data-bs-toggle="pill" href="#pills-access<?= $contact_id ?>"><i class="fa fa-fw fa-lock me-2"></i>Access</a>
</li>
<li class="nav-item">
<a class="nav-link" data-toggle="pill" href="#pills-notes<?= $contact_id ?>"><i class="fa fa-fw fa-edit mr-2"></i>Notes</a>
<a class="nav-link" data-bs-toggle="pill" href="#pills-notes<?= $contact_id ?>"><i class="fa fa-fw fa-edit me-2"></i>Notes</a>
</li>
</ul>
@@ -88,69 +86,57 @@ ob_start();
<div class="tab-pane fade show active" id="pills-details<?= $contact_id ?>">
<div class="form-group">
<div class="mb-3">
<label>Name <strong class="text-danger">*</strong> / <span class="text-secondary">Primary Contact</span></label>
<div class="input-group">
<div class="input-group-prepend">
<span class="input-group-text"><i class="fa fa-fw fa-user"></i></span>
</div>
<input type="text" class="form-control" name="name" placeholder="Full Name" maxlength="200" value="<?= $contact_name ?>" required>
<div class="input-group-append">
<div class="input-group-text">
<input type="checkbox" name="contact_primary" value="1" <?php if ($contact_primary == 1) { echo "checked"; } ?>>
</div>
</div>
</div>
</div>
<div class="form-group">
<div class="mb-3">
<label>Title</label>
<div class="input-group">
<div class="input-group-prepend">
<span class="input-group-text"><i class="fa fa-fw fa-id-badge"></i></span>
</div>
<input type="text" class="form-control" name="title" placeholder="Title" maxlength="200" value="<?= $contact_title ?>">
</div>
</div>
<div class="form-group">
<div class="mb-3">
<label>Department / Group</label>
<div class="input-group">
<div class="input-group-prepend">
<span class="input-group-text"><i class="fa fa-fw fa-users"></i></span>
</div>
<input type="text" class="form-control" name="department" placeholder="Department or group" maxlength="200" value="<?= $contact_department ?>">
</div>
</div>
<label>Phone / <span class="text-secondary">Extension</span></label>
<div class="form-row">
<div class="row g-2">
<div class="col-9">
<div class="form-group">
<div class="mb-3">
<div class="input-group">
<div class="input-group-prepend">
<span class="input-group-text"><i class="fa fa-fw fa-phone"></i></span>
</div>
<input type="tel" class="form-control col-2" name="phone_country_code" value="<?= "$contact_phone_country_code" ?>" placeholder="+" maxlength="4">
<input type="tel" class="form-control" name="phone" value="<?= $contact_phone ?>" placeholder="Phone Number" maxlength="200">
</div>
</div>
</div>
<div class="col-3">
<div class="form-group">
<div class="mb-3">
<input type="text" class="form-control" name="extension" value="<?= $contact_extension ?>" placeholder="ext." maxlength="200">
</div>
</div>
</div>
<label>Mobile</label>
<div class="form-row">
<div class="row g-2">
<div class="col-9">
<div class="form-group">
<div class="mb-3">
<div class="input-group">
<div class="input-group-prepend">
<span class="input-group-text"><i class="fa fa-fw fa-mobile-alt"></i></span>
</div>
<input type="tel" class="form-control col-2" name="mobile_country_code" value="<?= "$contact_mobile_country_code" ?>" placeholder="+" maxlength="4">
<input type="tel" class="form-control" name="mobile" value="<?= $contact_mobile ?>" placeholder="Phone Number" maxlength="200">
</div>
@@ -158,22 +144,18 @@ ob_start();
</div>
</div>
<div class="form-group">
<div class="mb-3">
<label>Email</label>
<div class="input-group">
<div class="input-group-prepend">
<span class="input-group-text"><i class="fa fa-fw fa-envelope"></i></span>
</div>
<input type="email" class="form-control" name="email" placeholder="Email Address" maxlength="200" value="<?= $contact_email ?>">
</div>
</div>
<div class="form-group">
<div class="mb-3">
<label>Location</label>
<div class="input-group">
<div class="input-group-prepend">
<span class="input-group-text"><i class="fa fa-fw fa-map-marker-alt"></i></span>
</div>
<select class="form-control select2" name="location">
<option value="">- Select Location -</option>
<?php
@@ -202,24 +184,20 @@ ob_start();
<div class="tab-pane fade" id="pills-access<?= $contact_id ?>">
<div class="form-group">
<div class="mb-3">
<label>Pin</label>
<div class="input-group">
<div class="input-group-prepend">
<span class="input-group-text"><i class="fa fa-fw fa-key"></i></span>
</div>
<input type="text" class="form-control" name="pin" placeholder="Security code or pin" maxlength="255" value="<?= $contact_pin ?>">
</div>
</div>
<?php if ($config_client_portal_enable == 1) { ?>
<div class="authForm">
<div class="form-group">
<div class="mb-3">
<label>Client Portal</label>
<div class="input-group">
<div class="input-group-prepend">
<span class="input-group-text"><i class="fa fa-fw fa-user-circle"></i></span>
</div>
<select class="form-control select2 authMethod" name="auth_method">
<option value="">- No Access -</option>
<option value="local" <?php if ($auth_method == "local") { echo "selected"; } ?>>Using Set Password</option>
@@ -227,21 +205,15 @@ ob_start();
</select>
</div>
</div>
<div class="form-group passwordGroup" style="display: none;">
<div class="mb-3 passwordGroup" style="display: none;">
<label>Password <strong class="text-danger">*</strong></label>
<div class="input-group">
<div class="input-group-prepend">
<span class="input-group-text"><i class="fa fa-fw fa-lock"></i></span>
</div>
<input type="password" class="form-control" data-toggle="password" id="password" name="contact_password" placeholder="Password" autocomplete="new-password">
<div class="input-group-append">
<span class="input-group-text"><i class="fa fa-fw fa-eye"></i></span>
</div>
<div class="input-group-append">
<button type="button" class="btn btn-default" onclick="generatePassword()">
<i class="fa fa-fw fa-question"></i>
</button>
</div>
</div>
</div>
</div>
@@ -255,31 +227,31 @@ ob_start();
<label>Roles:</label>
<div class="form-row">
<div class="row g-2">
<div class="col-md-4">
<div class="form-group">
<div class="custom-control custom-checkbox">
<input type="checkbox" class="custom-control-input" id="contactImportantCheckbox<?= $contact_id ?>" name="contact_important" value="1" <?php if ($contact_important == 1) { echo "checked"; } ?>>
<label class="custom-control-label" for="contactImportantCheckbox<?= $contact_id ?>">Important</label>
<div class="mb-3">
<div class="form-check">
<input type="checkbox" class="form-check-input" id="contactImportantCheckbox<?= $contact_id ?>" name="contact_important" value="1" <?php if ($contact_important == 1) { echo "checked"; } ?>>
<label class="form-check-label" for="contactImportantCheckbox<?= $contact_id ?>">Important</label>
<p class="text-secondary"><small>Pin Top</small></p>
</div>
</div>
</div>
<div class="col-md-4">
<div class="form-group">
<div class="custom-control custom-checkbox">
<input type="checkbox" class="custom-control-input" id="contactBillingCheckbox<?= $contact_id ?>" name="contact_billing" value="1" <?php if ($contact_billing == 1) { echo "checked"; } ?>>
<label class="custom-control-label" for="contactBillingCheckbox<?= $contact_id ?>">Billing</label>
<div class="mb-3">
<div class="form-check">
<input type="checkbox" class="form-check-input" id="contactBillingCheckbox<?= $contact_id ?>" name="contact_billing" value="1" <?php if ($contact_billing == 1) { echo "checked"; } ?>>
<label class="form-check-label" for="contactBillingCheckbox<?= $contact_id ?>">Billing</label>
<p class="text-secondary"><small>Receives Invoices</small></p>
</div>
</div>
</div>
<div class="col-md-4">
<div class="form-group">
<div class="custom-control custom-checkbox">
<input type="checkbox" class="custom-control-input" id="contactTechnicalCheckbox<?= $contact_id ?>" name="contact_technical" value="1" <?php if ($contact_technical == 1) { echo "checked"; } ?>>
<label class="custom-control-label" for="contactTechnicalCheckbox<?= $contact_id ?>">Technical</label>
<div class="mb-3">
<div class="form-check">
<input type="checkbox" class="form-check-input" id="contactTechnicalCheckbox<?= $contact_id ?>" name="contact_technical" value="1" <?php if ($contact_technical == 1) { echo "checked"; } ?>>
<label class="form-check-label" for="contactTechnicalCheckbox<?= $contact_id ?>">Technical</label>
</div>
</div>
</div>
@@ -301,24 +273,22 @@ ob_start();
<?php } ?>
</div>
<div class="form-group">
<input type="file" class="form-control-file" name="file" accept="image/*">
<div class="mb-3">
<input type="file" class="form-control" name="file" accept="image/*">
</div>
</div>
<div class="tab-pane fade" id="pills-notes<?= $contact_id ?>">
<div class="form-group">
<div class="mb-3">
<textarea class="form-control" rows="8" name="notes" placeholder="Notes, eg Personal tidbits to spark convo, temperment, etc"><?= $contact_notes ?></textarea>
</div>
<div class="form-group">
<div class="mb-3">
<label>Tags</label>
<div class="input-group">
<div class="input-group-prepend">
<span class="input-group-text"><i class="fa fa-fw fa-tags"></i></span>
</div>
<select class="form-control select2" name="tags[]" data-placeholder="Add some tags" multiple>
<?php
@@ -331,16 +301,14 @@ ob_start();
<?php } ?>
</select>
<div class="input-group-append">
<button class="btn btn-secondary ajax-modal" type="button"
data-modal-url="../admin/modals/tag/tag_add.php?type=3">
<i class="fas fa-plus"></i>
</button>
</div>
</div>
</div>
<p class="text-muted text-right">Contact ID: <?= $contact_id ?></p>
<p class="text-muted text-end">Contact ID: <?= $contact_id ?></p>
</div>
@@ -348,8 +316,8 @@ ob_start();
</div>
<div class="modal-footer">
<button type="submit" name="edit_contact" class="btn btn-primary text-bold"><i class="fas fa-check mr-2"></i>Save</button>
<button type="button" class="btn btn-light" data-dismiss="modal"><i class="fa fa-times mr-2"></i>Cancel</button>
<button type="submit" name="edit_contact" class="btn btn-primary text-bold"><i class="fas fa-check me-2"></i>Save</button>
<button type="button" class="btn btn-light" data-bs-dismiss="modal"><i class="fa fa-times me-2"></i>Cancel</button>
</div>
</form>

View File

@@ -31,10 +31,8 @@ ob_start();
?>
<div class="modal-header bg-dark">
<h5 class="modal-title"><i class="fas fa-fw fa-download mr-2"></i>Export Contacts</h5>
<button type="button" class="close text-white" data-dismiss="modal">
<span>&times;</span>
</button>
<h5 class="modal-title"><i class="fas fa-fw fa-download me-2"></i>Export Contacts</h5>
<button type="button" class="btn-close btn-close-white" data-bs-dismiss="modal"></button>
</div>
<?php exportTabsNav(); ?>
@@ -47,23 +45,19 @@ ob_start();
<?php exportTabsFiltersOpen(); ?>
<div class="form-group">
<div class="mb-3">
<label>Search</label>
<div class="input-group">
<div class="input-group-prepend">
<span class="input-group-text"><i class="fa fa-fw fa-search"></i></span>
</div>
<input type="text" class="form-control" name="q" value="<?= stripslashes(escapeHtml($q_filter)) ?>" placeholder="Name, title, email, phone">
</div>
</div>
<?php if (!$client_id) { ?>
<div class="form-group">
<div class="mb-3">
<label>Client</label>
<div class="input-group">
<div class="input-group-prepend">
<span class="input-group-text"><i class="fa fa-fw fa-user"></i></span>
</div>
<select class="form-control select2" name="client">
<option value="">- All Clients -</option>
<?php
@@ -82,12 +76,10 @@ ob_start();
<?php } ?>
<?php if ($client_id) { ?>
<div class="form-group">
<div class="mb-3">
<label>Location</label>
<div class="input-group">
<div class="input-group-prepend">
<span class="input-group-text"><i class="fa fa-fw fa-map-marker-alt"></i></span>
</div>
<select class="form-control select2" name="location">
<option value="">- All Locations -</option>
<?php
@@ -105,12 +97,10 @@ ob_start();
</div>
<?php } ?>
<div class="form-group">
<div class="mb-3">
<label>Tags</label>
<div class="input-group">
<div class="input-group-prepend">
<span class="input-group-text"><i class="fa fa-fw fa-tags"></i></span>
</div>
<select class="form-control select2" name="tags[]" data-placeholder="- All Tags -" multiple>
<?php
$sql_tags_filter = mysqli_query($mysqli, "SELECT tag_id, tag_name FROM tags WHERE tag_type = 3 ORDER BY tag_name ASC");
@@ -126,12 +116,10 @@ ob_start();
</div>
</div>
<div class="form-group">
<div class="mb-3">
<label>Archived</label>
<div class="input-group">
<div class="input-group-prepend">
<span class="input-group-text"><i class="fa fa-fw fa-archive"></i></span>
</div>
<select class="form-control select2" name="archived">
<option <?php if (!$archived_filter) { echo "selected"; } ?> value="0">Active only</option>
<option <?php if ($archived_filter) { echo "selected"; } ?> value="1">Archived only</option>

View File

@@ -9,10 +9,8 @@ ob_start();
?>
<div class="modal-header bg-dark">
<h5 class="modal-title"><i class="fa fa-fw fa-users mr-2"></i>Import Contacts</h5>
<button type="button" class="close text-white" data-dismiss="modal">
<span>&times;</span>
</button>
<h5 class="modal-title"><i class="fa fa-fw fa-users me-2"></i>Import Contacts</h5>
<button type="button" class="btn-close btn-close-white" data-bs-dismiss="modal"></button>
</div>
<form action="post.php" method="post" enctype="multipart/form-data" autocomplete="off">
<input type="hidden" name="csrf_token" value="<?= $_SESSION['csrf_token'] ?>">
@@ -20,15 +18,15 @@ ob_start();
<div class="modal-body">
<p><strong>Format csv file with headings & data:</strong><br>Name, Title, Department, Email, Phone, Extension, Mobile, Location</p>
<hr>
<div class="form-group my-4">
<input type="file" class="form-control-file" name="file" accept=".csv" required>
<div class="mb-3 my-4">
<input type="file" class="form-control" name="file" accept=".csv" required>
</div>
<hr>
<div>Download: <a class="text-bold" href="post.php?download_contacts_csv_template=<?= $client_id ?>">sample csv template</a></div>
</div>
<div class="modal-footer">
<button type="submit" name="import_contacts_csv" class="btn btn-primary text-strong"><i class="fas fa-upload mr-2"></i>Import</button>
<button type="button" class="btn btn-light" data-dismiss="modal"><i class="fa fa-times mr-2"></i>Cancel</button>
<button type="submit" name="import_contacts_csv" class="btn btn-primary text-strong"><i class="fas fa-upload me-2"></i>Import</button>
<button type="button" class="btn btn-light" data-bs-dismiss="modal"><i class="fa fa-times me-2"></i>Cancel</button>
</div>
</form>

View File

@@ -2,10 +2,8 @@
<div class="modal-dialog">
<div class="modal-content">
<div class="modal-header bg-dark">
<h5 class="modal-title"><i class="fas fa-fw fa-user-plus mr-2"></i>Invite Contact</h5>
<button type="button" class="close text-white" data-dismiss="modal">
<span>&times;</span>
</button>
<h5 class="modal-title"><i class="fas fa-fw fa-user-plus me-2"></i>Invite Contact</h5>
<button type="button" class="btn-close btn-close-white" data-bs-dismiss="modal"></button>
</div>
<form action="post.php" method="post" enctype="multipart/form-data" autocomplete="off">
@@ -14,22 +12,18 @@
<div class="modal-body">
<div class="form-group">
<div class="mb-3">
<label>Email</label>
<div class="input-group">
<div class="input-group-prepend">
<span class="input-group-text"><i class="fa fa-fw fa-envelope"></i></span>
</div>
<input type="email" class="form-control" name="email" placeholder="Email Address" maxlength="200">
</div>
</div>
<div class="form-group">
<div class="mb-3">
<label>Welcome Letter</label>
<div class="input-group">
<div class="input-group-prepend">
<span class="input-group-text"><i class="fas fa-fw fa-envelope-open-text"></i></span>
</div>
<select class="form-control select2" name="welcome_letter">
<option value="1">- Select One -</option>
<option value="2">Standard</option>
@@ -38,33 +32,33 @@
</div>
</div>
<div class="form-group">
<div class="mb-3">
<textarea class="form-control" rows="8" name="notes" placeholder="Enter some notes"><?= $contact_notes ?></textarea>
</div>
<div class="form-row">
<div class="row g-2">
<div class="col-md-4">
<div class="form-group">
<div class="custom-control custom-checkbox">
<input type="checkbox" class="custom-control-input" id="contactInviteImportantCheckbox" name="contact_important" value="1" >
<label class="custom-control-label" for="contactInviteImportantCheckbox">Important</label>
<div class="mb-3">
<div class="form-check">
<input type="checkbox" class="form-check-input" id="contactInviteImportantCheckbox" name="contact_important" value="1" >
<label class="form-check-label" for="contactInviteImportantCheckbox">Important</label>
</div>
</div>
</div>
<div class="col-md-4">
<div class="form-group">
<div class="custom-control custom-checkbox">
<input type="checkbox" class="custom-control-input" id="contactInviteBillingCheckbox" name="contact_billing" value="1" >
<label class="custom-control-label" for="contactInviteBillingCheckbox">Billing</label>
<div class="mb-3">
<div class="form-check">
<input type="checkbox" class="form-check-input" id="contactInviteBillingCheckbox" name="contact_billing" value="1" >
<label class="form-check-label" for="contactInviteBillingCheckbox">Billing</label>
</div>
</div>
</div>
<div class="col-md-4">
<div class="form-group">
<div class="custom-control custom-checkbox">
<input type="checkbox" class="custom-control-input" id="contactInviteTechnicalCheckbox" name="contact_technical" value="1" >
<label class="custom-control-label" for="contactInviteTechnicalCheckbox">Technical</label>
<div class="mb-3">
<div class="form-check">
<input type="checkbox" class="form-check-input" id="contactInviteTechnicalCheckbox" name="contact_technical" value="1" >
<label class="form-check-label" for="contactInviteTechnicalCheckbox">Technical</label>
</div>
</div>
</div>
@@ -74,8 +68,8 @@
</div>
<div class="modal-footer">
<button type="submit" name="invite_contact" class="btn btn-primary text-bold"><i class="fas fa-paper-plane mr-2"></i>Send Invite</button>
<button type="button" class="btn btn-light" data-dismiss="modal"><i class="fa fa-times mr-2"></i>Cancel</button>
<button type="submit" name="invite_contact" class="btn btn-primary text-bold"><i class="fas fa-paper-plane me-2"></i>Send Invite</button>
<button type="button" class="btn btn-light" data-bs-dismiss="modal"><i class="fa fa-times me-2"></i>Cancel</button>
</div>
</form>

View File

@@ -20,21 +20,17 @@ ob_start();
?>
<div class="modal-header bg-dark">
<h5 class="modal-title"><i class="fa fa-fw fa-desktop mr-2"></i>Link Asset to <strong><?= $contact_name ?></strong></h5>
<button type="button" class="close text-white" data-dismiss="modal">
<span>&times;</span>
</button>
<h5 class="modal-title"><i class="fa fa-fw fa-desktop me-2"></i>Link Asset to <strong><?= $contact_name ?></strong></h5>
<button type="button" class="btn-close btn-close-white" data-bs-dismiss="modal"></button>
</div>
<form action="post.php" method="post" autocomplete="off">
<input type="hidden" name="csrf_token" value="<?= $_SESSION['csrf_token'] ?>">
<input type="hidden" name="contact_id" value="<?= $contact_id ?>">
<div class="modal-body">
<div class="form-group">
<div class="mb-3">
<div class="input-group">
<div class="input-group-prepend">
<span class="input-group-text"><i class="fa fa-fw fa-desktop"></i></span>
</div>
<select class="form-control select2" name="asset_id">
<option value="">- Select an Asset -</option>
<?php
@@ -59,8 +55,8 @@ ob_start();
</div>
</div>
<div class="modal-footer">
<button type="submit" name="link_contact_to_asset" class="btn btn-primary text-bold"><i class="fa fa-check mr-2"></i>Link</button>
<button type="button" class="btn btn-light" data-dismiss="modal"><i class="fa fa-times mr-2"></i>Cancel</button>
<button type="submit" name="link_contact_to_asset" class="btn btn-primary text-bold"><i class="fa fa-check me-2"></i>Link</button>
<button type="button" class="btn btn-light" data-bs-dismiss="modal"><i class="fa fa-times me-2"></i>Cancel</button>
</div>
</form>

View File

@@ -20,21 +20,17 @@ ob_start();
?>
<div class="modal-header bg-dark">
<h5 class="modal-title"><i class="fa fa-fw fa-key mr-2"></i>Link Credential to <strong><?= $contact_name ?></strong></h5>
<button type="button" class="close text-white" data-dismiss="modal">
<span>&times;</span>
</button>
<h5 class="modal-title"><i class="fa fa-fw fa-key me-2"></i>Link Credential to <strong><?= $contact_name ?></strong></h5>
<button type="button" class="btn-close btn-close-white" data-bs-dismiss="modal"></button>
</div>
<form action="post.php" method="post" autocomplete="off">
<input type="hidden" name="csrf_token" value="<?= $_SESSION['csrf_token'] ?>">
<input type="hidden" name="contact_id" value="<?= $contact_id ?>">
<div class="modal-body">
<div class="form-group">
<div class="mb-3">
<div class="input-group">
<div class="input-group-prepend">
<span class="input-group-text"><i class="fa fa-fw fa-key"></i></span>
</div>
<select class="form-control select2" name="credential_id">
<option value="">- Select a Credential -</option>
<?php
@@ -59,8 +55,8 @@ ob_start();
</div>
</div>
<div class="modal-footer">
<button type="submit" name="link_contact_to_credential" class="btn btn-primary text-bold"><i class="fa fa-check mr-2"></i>Link</button>
<button type="button" class="btn btn-light" data-dismiss="modal"><i class="fa fa-times mr-2"></i>Cancel</button>
<button type="submit" name="link_contact_to_credential" class="btn btn-primary text-bold"><i class="fa fa-check me-2"></i>Link</button>
<button type="button" class="btn btn-light" data-bs-dismiss="modal"><i class="fa fa-times me-2"></i>Cancel</button>
</div>
</form>

View File

@@ -20,21 +20,17 @@ ob_start();
?>
<div class="modal-header bg-dark">
<h5 class="modal-title"><i class="fa fa-fw fa-folder mr-2"></i>Link Document to <strong><?= $contact_name ?></strong></h5>
<button type="button" class="close text-white" data-dismiss="modal">
<span>&times;</span>
</button>
<h5 class="modal-title"><i class="fa fa-fw fa-folder me-2"></i>Link Document to <strong><?= $contact_name ?></strong></h5>
<button type="button" class="btn-close btn-close-white" data-bs-dismiss="modal"></button>
</div>
<form action="post.php" method="post" autocomplete="off">
<input type="hidden" name="csrf_token" value="<?= $_SESSION['csrf_token'] ?>">
<input type="hidden" name="contact_id" value="<?= $contact_id ?>">
<div class="modal-body">
<div class="form-group">
<div class="mb-3">
<div class="input-group">
<div class="input-group-prepend">
<span class="input-group-text"><i class="fa fa-fw fa-folder"></i></span>
</div>
<select class="form-control select2" name="document_id">
<option value="">- Select a Document -</option>
<?php
@@ -62,8 +58,8 @@ ob_start();
</div>
</div>
<div class="modal-footer">
<button type="submit" name="link_contact_to_document" class="btn btn-primary text-bold"><i class="fa fa-check mr-2"></i>Link</button>
<button type="button" class="btn btn-light" data-dismiss="modal"><i class="fa fa-times mr-2"></i>Cancel</button>
<button type="submit" name="link_contact_to_document" class="btn btn-primary text-bold"><i class="fa fa-check me-2"></i>Link</button>
<button type="button" class="btn btn-light" data-bs-dismiss="modal"><i class="fa fa-times me-2"></i>Cancel</button>
</div>
</form>

Some files were not shown because too many files have changed in this diff Show More