Merge branch 'master' of https://github.com/johnnyq/itflow into services

This commit is contained in:
Marcus Hill 2022-01-24 19:58:31 +00:00
commit 33809c4f90
22 changed files with 364 additions and 479 deletions

212
campaign.php Normal file
View File

@ -0,0 +1,212 @@
<?php include("header.php");
if(isset($_GET['campaign_id'])){
$campaign_id = intval($_GET['campaign_id']);
$sql = mysqli_query($mysqli,"SELECT * FROM campaigns WHERE campaign_id = $campaign_id AND company_id = $session_company_id");
$row = mysqli_fetch_array($sql);
$campaign_name = $row['campaign_name'];
$campaign_subject = $row['campaign_subject'];
$campaign_from_name = $row['campaign_from_name'];
$campaign_from_email = $row['campaign_from_email'];
$campaign_content = $row['campaign_content'];
$campaign_status = $row['campaign_status'];
$campaign_scheduled_at = $row['campaign_scheduled_at'];
$campaign_created_at = $row['campaign_created_at'];
//Set Badge color based off of campaign status
if($campaign_status == "Sent"){
$campaign_badge_color = "warning text-white";
}elseif($campaign_status == "Queued"){
$campaign_badge_color = "info";
}elseif($campaign_status == "Sending"){
$campaign_badge_color = "primary";
}elseif($campaign_status == "Sent"){
$campaign_badge_color = "success";
}else{
$campaign_badge_color = "secondary";
}
?>
<ol class="breadcrumb elevation-2">
<li class="breadcrumb-item">
<a href="campaigns.php">Campaigns</a>
</li>
<li class="breadcrumb-item active"><?php echo $campaign_name; ?></li>
</ol>
<div class="row">
<div class="col-sm-4">
<div class="card card-body elevation-2">
<h6 class="text-secondary">CAMPAIGN</h6>
<h1><?php echo $campaign_name; ?></h1>
<div class="p-2 badge badge-pill badge-<?php echo $campaign_badge_color; ?>">
<?php echo $campaign_status; ?>
</div>
</div>
</div>
<div class="col-sm-4">
<div class="card card-body elevation-2">
<h6 class="text-secondary">DETAILS</h6>
<div class="mb-1"><i class="fa fa-fw fa-bullhorn text-secondary mr-2"></i><strong><?php echo $campaign_subject; ?></strong></div>
<div class="mb-1"><i class="fa fa-fw fa-user text-secondary mr-2"></i><strong><?php echo $campaign_from_name; ?></strong> (<?php echo $campaign_from_email; ?>)</div>
<div class="mb-1"><i class="fa fa-fw fa-clock text-secondary mr-2"></i><strong><?php echo $campaign_created_at; ?></strong></div>
</div>
</div>
<div class="col-sm-1">
<div class="card card-body card-outline card-success text-center elevation-2">
<h6 class="text-success">Sent</h6>
<h1>18</h1>
</div>
</div>
<div class="col-sm-1">
<div class="card card-body card-outline card-secondary text-center elevation-2">
<h6 class="text-secondary">Opened</h6>
<h1>10</h1>
</div>
</div>
<div class="col-sm-1">
<div class="card card-body card-outline card-info text-center elevation-2">
<h6 class="text-info">Clicked</h6>
<h1>7</h1>
</div>
</div>
<div class="col-sm-1">
<div class="card card-body card-outline card-danger text-center elevation-2">
<h6 class="text-danger">Failed</h6>
<h1>3</h1>
</div>
</div>
</div>
<?php
//Paging
if(isset($_GET['p'])){
$p = intval($_GET['p']);
$record_from = (($p)-1)*$_SESSION['records_per_page'];
$record_to = $_SESSION['records_per_page'];
}else{
$record_from = 0;
$record_to = $_SESSION['records_per_page'];
$p = 1;
}
if(isset($_GET['q'])){
$q = mysqli_real_escape_string($mysqli,$_GET['q']);
}else{
$q = "";
}
if(!empty($_GET['sb'])){
$sb = mysqli_real_escape_string($mysqli,$_GET['sb']);
}else{
$sb = "message_id";
}
if(isset($_GET['o'])){
if($_GET['o'] == 'ASC'){
$o = "ASC";
$disp = "DESC";
}else{
$o = "DESC";
$disp = "ASC";
}
}else{
$o = "DESC";
$disp = "ASC";
}
//Rebuild URL
$url_query_strings_sb = http_build_query(array_merge($_GET,array('sb' => $sb, 'o' => $o)));
$sql = mysqli_query($mysqli,"SELECT SQL_CALC_FOUND_ROWS * FROM campaign_messages
LEFT JOIN contacts ON contact_id = message_contact_id
LEFT JOIN clients ON primary_contact = contact_id
WHERE (contact_name LIKE '%$q%' OR contact_email LIKE '%$q%' OR client_name LIKE '%$q%')
AND message_campaign_id = $campaign_id
AND campaign_messages.company_id = $session_company_id
ORDER BY $sb $o LIMIT $record_from, $record_to"
);
$num_rows = mysqli_fetch_row(mysqli_query($mysqli,"SELECT FOUND_ROWS()"));
$total_found_rows = $num_rows[0];
$total_pages = ceil($total_found_rows / 10);
?>
<div class="card card-dark elevation-3">
<div class="card-header py-3">
<h3 class="card-title"><i class="fa fa-fw fa-envelope"></i> Messages</h3>
</div>
<div class="card-body">
<form class="mb-4" autocomplete="off">
<input type="hidden" name="campaign_id" value="<?php echo $campaign_id; ?>">
<div class="row">
<div class="col-sm-4">
<div class="input-group">
<input type="search" class="form-control" name="q" value="<?php if(isset($q)){echo stripslashes($q);} ?>" placeholder="Search Messages">
<div class="input-group-append">
<button class="btn btn-primary"><i class="fa fa-search"></i></button>
</div>
</div>
</div>
<div class="col-sm-8">
</div>
</div>
</form>
<hr>
<div class="table-responsive">
<table class="table table-striped table-borderless table-hover">
<thead class="text-dark <?php if($num_rows[0] == 0){ echo "d-none"; } ?>">
<tr>
<th><a class="text-dark" href="?<?php echo $url_query_strings_sb; ?>&sb=client_name&o=<?php echo $disp; ?>">Client Name</a></th>
<th><a class="text-dark" href="?<?php echo $url_query_strings_sb; ?>&sb=contact_name&o=<?php echo $disp; ?>">Contact Name</a></th>
<th><a class="text-dark" href="?<?php echo $url_query_strings_sb; ?>&sb=contact_email&o=<?php echo $disp; ?>">Email</a></th>
<th><a class="text-dark" href="?<?php echo $url_query_strings_sb; ?>&sb=message_sent_at&o=<?php echo $disp; ?>">Sent</a></th>
</tr>
</thead>
<tbody>
<?php
while($row = mysqli_fetch_array($sql)){
$message_id = $row['message_id'];
$client_id = $row['client_id'];
$client_name = $row['client_name'];
$contact_id = $row['contact_id'];
$contact_name = $row['contact_name'];
$contact_email = $row['contact_email'];
$message_sent_at = $row['message_sent_at'];
?>
<tr>
<td><?php echo $client_name; ?></td>
<td><?php echo $contact_name; ?></td>
<td><?php echo $contact_email; ?></td>
<td><?php echo $message_sent_at; ?></td>
</tr>
<?php
}
?>
</tbody>
</table>
</div>
<?php include("pagination.php"); ?>
</div>
</div>
<?php } ?>
<?php include("footer.php");

View File

@ -1,4 +1,4 @@
<div class="modal" id="addCampaignModal" tabindex="-1">
<div class="modal" id="campaignAddModal" tabindex="-1">
<div class="modal-dialog modal-lg">
<div class="modal-content bg-dark">
<div class="modal-header">

View File

@ -1,321 +0,0 @@
<?php include("config.php"); ?>
<?php include("header.php"); ?>
<?php
if(isset($_GET['ticket_id'])){
$ticket_id = intval($_GET['ticket_id']);
$sql = mysqli_query($mysqli,"SELECT * FROM tickets LEFT JOIN clients ON ticket_client_id = client_id LEFT JOIN contacts ON ticket_contact_id = contact_id LEFT JOIN users ON ticket_assigned_to = user_id LEFT JOIN locations ON ticket_location_id = location_id WHERE ticket_id = $ticket_id AND tickets.company_id = $session_company_id");
if(mysqli_num_rows($sql) == 0){
echo "<center><h1 class='text-secondary mt-5'>Nothing to see here</h1><a class='btn btn-lg btn-secondary mt-3' href='tickets.php'><i class='fa fa-fw fa-arrow-left'></i> Go Back</a></center>";
include("footer.php");
}else{
$row = mysqli_fetch_array($sql);
$client_id = $row['client_id'];
$client_name = $row['client_name'];
$client_type = $row['client_type'];
$client_website = $row['client_website'];
$client_net_terms = $row['client_net_terms'];
if($client_net_terms == 0){
$client_net_terms = $config_default_net_terms;
}
$ticket_prefix = $row['ticket_prefix'];
$ticket_number = $row['ticket_number'];
$ticket_category = $row['ticket_category'];
$ticket_subject = $row['ticket_subject'];
$ticket_details = $row['ticket_details'];
$ticket_priority = $row['ticket_priority'];
$ticket_status = $row['ticket_status'];
$ticket_created_at = $row['ticket_created_at'];
$ticket_updated_at = $row['ticket_updated_at'];
$ticket_closed_at = $row['ticket_closed_at'];
$ticket_created_by = $row['ticket_created_by'];
if($ticket_status == "Open"){
$ticket_status_display = "<span class='p-2 badge badge-primary'>$ticket_status</span>";
}elseif($ticket_status == "Working"){
$ticket_status_display = "<span class='p-2 badge badge-success'>$ticket_status</span>";
}else{
$ticket_status_display = "<span class='p-2 badge badge-secondary'>$ticket_status</span>";
}
if($ticket_priority == "High"){
$ticket_priority_display = "<span class='p-2 badge badge-danger'>$ticket_priority</span>";
}elseif($ticket_priority == "Medium"){
$ticket_priority_display = "<span class='p-2 badge badge-warning'>$ticket_priority</span>";
}elseif($ticket_priority == "Low"){
$ticket_priority_display = "<span class='p-2 badge badge-info'>$ticket_priority</span>";
}else{
$ticket_priority_display = "-";
}
$contact_id = $row['contact_id'];
$contact_name = $row['contact_name'];
$contact_title = $row['contact_title'];
$contact_email = $row['contact_email'];
$contact_phone = formatPhoneNumber($row['contact_phone']);
$contact_extension = $row['contact_extension'];
$contact_mobile = formatPhoneNumber($row['contact_mobile']);
$location_name = $row['location_name'];
$location_address = $row['location_address'];
$location_city = $row['location_city'];
$location_state = $row['location_state'];
$location_zip = $row['location_zip'];
$location_phone = formatPhoneNumber($row['location_phone']);
$ticket_assigned_to = $row['ticket_assigned_to'];
if(empty($ticket_assigned_to)){
$ticket_assigned_to_display = "<span class='text-danger'>Not Assigned</span>";
}else{
$ticket_assigned_to_display = $row['user_name'];
}
?>
<!-- Breadcrumbs-->
<ol class="breadcrumb">
<li class="breadcrumb-item">
<a href="tickets.php">Tickets</a>
</li>
<li class="breadcrumb-item">
<a href="client.php?client_id=<?php echo $client_id; ?>&tab=tickets"><?php echo $client_name; ?></a>
</li>
<li class="breadcrumb-item active">Ticket Details</li>
</ol>
<div class="row mb-3">
<div class="col-9">
<h3>Ticket <?php echo "$ticket_prefix$ticket_number"; ?> <?php echo $ticket_status_display; ?></h3>
</div>
<div class="col-3">
<div class="dropdown dropleft text-center">
<button class="btn btn-secondary btn-sm float-right" type="button" id="dropdownMenuButton" data-toggle="dropdown">
<i class="fas fa-fw fa-ellipsis-v"></i>
</button>
<div class="dropdown-menu" aria-labelledby="dropdownMenuButton">
<a class="dropdown-item" href="#" data-toggle="modal" data-target="#editTicketModal<?php echo $ticket_id; ?>">Edit</a>
<div class="dropdown-divider"></div>
<a class="dropdown-item text-danger" href="post.php?delete_client=<?php echo $client_id; ?>">Delete</a>
</div>
</div>
</div>
</div>
<div class="row">
<div class="col-md-9">
<div class="card card-outline card-primary mb-3">
<div class="card-header">
<h3 class="card-title"><?php echo $ticket_subject; ?></h3>
</div>
<div class="card-body">
<?php echo $ticket_details; ?>
</div>
</div>
<form class="mb-3" action="post.php" method="post" autocomplete="off">
<input type="hidden" name="ticket_id" value="<?php echo $ticket_id; ?>">
<div class="form-group">
<textarea class="form-control summernote" name="ticket_reply"></textarea>
</div>
<div class="form-row">
<div class="col-md-3">
<div class="form-group">
<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="status" required>
<option <?php if($ticket_status == 'Open'){ echo "selected"; } ?> >Open</option>
<option <?php if($ticket_status == 'Working'){ echo "selected"; } ?> >Working</option>
<option <?php if($ticket_status == 'On Hold'){ echo "selected"; } ?> >On Hold</option>
<option <?php if($ticket_status == 'Closed'){ echo "selected"; } ?> >Closed</option>
</select>
</div>
</div>
</div>
<?php if(!empty($config_smtp_host) AND !empty($client_email)){ ?>
<div class="col-md-2">
<div class="form-group">
<div class="custom-control custom-checkbox">
<input type="checkbox" class="custom-control-input" id="customControlAutosizing" name="email_ticket_reply" value="1" checked>
<label class="custom-control-label" for="customControlAutosizing">Email update to client</label>
</div>
</div>
</div>
<?php } ?>
<div class="col-md-1">
<button type="submit" name="add_ticket_reply" class="btn btn-primary"><i class="fa fa-fw fa-check"></i> Save</button>
</div>
<?php
if($ticket_status !== "Closed"){
?>
<div class="col-md-2">
<a href="post.php?close_ticket=<?php echo $ticket_id; ?>" class="btn btn-outline-danger btn-block">Close Ticket</a>
</div>
<?php
}
?>
</div>
</form>
<?php
$sql = mysqli_query($mysqli,"SELECT * FROM ticket_replies LEFT JOIN users ON ticket_reply_by = user_id WHERE ticket_reply_ticket_id = $ticket_id AND ticket_reply_archived_at IS NULL ORDER BY ticket_reply_id DESC");
while($row = mysqli_fetch_array($sql)){;
$ticket_reply_id = $row['ticket_reply_id'];
$ticket_reply = $row['ticket_reply'];
$ticket_reply_created_at = $row['ticket_reply_created_at'];
$ticket_reply_by = $row['ticket_reply_by'];
$ticket_reply_by_display = $row['user_name'];
$user_id = $row['user_id'];
$user_avatar = $row['user_avatar'];
$user_initials = initials($user_name);
?>
<div class="card mb-3">
<div class="card-header">
<h3 class="card-title">
<div class="media">
<?php if(!empty($user_avatar)){ ?>
<img src="<?php echo "uploads/users/$user_id/$user_avatar"; ?>" alt="User Avatar" class="img-size-50 mr-3 img-circle">
<?php }else{ ?>
<span class="fa-stack fa-2x">
<i class="fa fa-circle fa-stack-2x text-secondary"></i>
<span class="fa fa-stack-1x text-white"><?php echo $user_initials; ?></span>
</span>
<?php
}
?>
<div class="media-body">
<?php echo $ticket_reply_by_display; ?>
<br>
<small class="text-muted"><?php echo $ticket_reply_created_at; ?></small>
</div>
</div>
</h3>
<div class="card-tools">
<div class="dropdown dropleft">
<button class="btn btn-tool" type="button" id="dropdownMenuButton" data-toggle="dropdown">
<i class="fas fa-fw fa-ellipsis-v"></i>
</button>
<div class="dropdown-menu">
<a class="dropdown-item" href="#" data-toggle="modal" data-target="#editTicketReplyModal<?php echo $ticket_reply_id; ?>"><i class="fas fa-fw fa-edit text-secondary"></i> Edit</a>
<div class="dropdown-divider"></div>
<a class="dropdown-item text-danger" href="post.php?archive_ticket_reply=<?php echo $ticket_reply_id; ?>"><i class="fas fa-fw fa-trash text-danger"></i> Delete</a>
</div>
</div>
</div>
</div>
<div class="card-body">
<?php echo $ticket_reply; ?>
</div>
</div>
<?php
include("edit_ticket_reply_modal.php");
}
?>
</div>
<div class="col-md-3">
<div class="card mb-3">
<div class="card-body">
<div>
<h4 class="text-secondary">Client</h4>
<i class="fa fa-fw fa-user text-secondary ml-1 mr-2 mb-2"></i> <?php echo $client_name; ?>
</div>
</div>
</div>
<?php if(!empty($contact_id)){ ?>
<div class="card mb-3">
<div class="card-body">
<div>
<h4 class="text-secondary">Contact</h4>
<i class="fa fa-fw fa-user text-secondary ml-1 mr-2 mb-2"></i> <?php echo $contact_name; ?>
<br>
<?php
if(!empty($location_name)){
?>
<i class="fa fa-fw fa-map-marker-alt text-secondary ml-1 mr-2 mb-2"></i> <?php echo $location_name; ?>
<br>
<?php
}
?>
<?php
if(!empty($contact_email)){
?>
<i class="fa fa-fw fa-envelope text-secondary ml-1 mr-2 mb-2"></i> <a href="mailto:<?php echo $contact_email; ?>"><?php echo $contact_email; ?></a>
<br>
<?php
}
?>
<?php
if(!empty($contact_phone)){
?>
<i class="fa fa-fw fa-phone text-secondary ml-1 mr-2 mb-2"></i> <?php echo $contact_phone; ?>
<br>
<?php
}
?>
<?php
if(!empty($contact_mobile)){
?>
<i class="fa fa-fw fa-mobile text-secondary ml-1 mr-2 mb-2"></i> <?php echo $contact_mobile; ?>
<br>
<?php
}
?>
</div>
</div>
</div>
<?php } ?>
<div class="card card-body mb-3">
<h4 class="text-secondary">Details</h4>
<div class="ml-1"><i class="fa fa-fw fa-thermometer-half text-secondary mr-2 mb-2"></i> <?php echo $ticket_priority_display; ?></div>
<div class="ml-1"><i class="fa fa-fw fa-user text-secondary mr-2 mb-2"></i> <?php echo $ticket_assigned_to_display; ?></div>
<div class="ml-1"><i class="fa fa-fw fa-clock text-secondary mr-2 mb-2"></i> <?php echo $ticket_created_at; ?></div>
</div>
</div>
</div>
<?php include("edit_ticket_modal.php"); ?>
<?php
}
}
?>
<?php include("footer.php");

View File

@ -1,4 +1,4 @@
<div class="modal" id="editCampaignModal<?php echo $campaign_id; ?>" tabindex="-1">
<div class="modal" id="campaignEditModal<?php echo $campaign_id; ?>" tabindex="-1">
<div class="modal-dialog modal-lg">
<div class="modal-content bg-dark">
<div class="modal-header">

View File

@ -91,11 +91,11 @@
?>
<div class="card card-dark">
<div class="card card-dark elevation-3">
<div class="card-header py-2">
<h3 class="card-title mt-2"><i class="fa fa-fw fa-envelope"></i> Mailing Campaigns</h3>
<div class="card-tools">
<button type="button" class="btn btn-primary" data-toggle="modal" data-target="#addCampaignModal"><i class="fas fa-fw fa-plus"></i> New Campaign</button>
<button type="button" class="btn btn-primary" data-toggle="modal" data-target="#campaignAddModal"><i class="fas fa-fw fa-plus"></i> New Campaign</button>
</div>
</div>
@ -194,7 +194,7 @@
?>
<tr>
<td><a href="campaign_details.php?campaign_id=<?php echo $campaign_id; ?>"><?php echo $campaign_name; ?></a></td>
<td><a href="campaign.php?campaign_id=<?php echo $campaign_id; ?>"><?php echo $campaign_name; ?></a></td>
<td>-</td>
<td>-</td>
<td>-</td>
@ -213,8 +213,8 @@
<div class="dropdown-menu">
<a class="dropdown-item" href="#" data-toggle="modal" data-target="#campaignTestModal<?php echo $campaign_id; ?>">Test</a>
<div class="dropdown-divider"></div>
<a class="dropdown-item" href="#" data-toggle="modal" data-target="#editCampaignModal<?php echo $campaign_id; ?>">Edit</a>
<a class="dropdown-item" href="#" data-toggle="modal" data-target="#addCampaignCopyModal<?php echo $campaign_id; ?>">Copy</a>
<a class="dropdown-item" href="#" data-toggle="modal" data-target="#campaignEditModal<?php echo $campaign_id; ?>">Edit</a>
<a class="dropdown-item" href="#" data-toggle="modal" data-target="#campaignCopyModal<?php echo $campaign_id; ?>">Copy</a>
<div class="dropdown-divider"></div>
<a class="dropdown-item text-danger" href="post.php?delete_campaign=<?php echo $campaign_id; ?>">Delete</a>
</div>
@ -224,8 +224,8 @@
<?php
include("add_campaign_copy_modal.php");
include("edit_campaign_modal.php");
include("campaign_copy_modal.php");
include("campaign_edit_modal.php");
include("campaign_test_modal.php");
}
@ -239,6 +239,6 @@
</div>
</div>
<?php include("add_campaign_modal.php"); ?>
<?php include("campaign_add_modal.php"); ?>
<?php include("footer.php");

View File

@ -66,7 +66,7 @@ if(isset($_GET['client_id'])){
}
$client_tag_id_array[] = $client_tag_id;
$client_tag_name_display_array[] = "<span class='badge bg-$client_tag_color'><i class='fa fa-fw fa-$client_tag_icon'></i> $client_tag_name</span>";
$client_tag_name_display_array[] = "<div class='badge bg-$client_tag_color'><i class='fa fa-fw fa-$client_tag_icon'></i> $client_tag_name</div> ";
}
$client_tags_display = implode('', $client_tag_name_display_array);
@ -244,9 +244,9 @@ $location_phone = formatPhoneNumber($location_phone);
<a class="dropdown-item" href="post.php?export_client_pdf=<?php echo $client_id; ?>">Export PDF<br><small class="text-secondary">(without passwords)</small></a>
<a class="dropdown-item" href="post.php?export_client_pdf=<?php echo $client_id; ?>&passwords">Export PDF<br><small class="text-secondary">(with passwords)</small></a>
<div class="dropdown-divider"></div>
<a class="dropdown-item" href="#" data-toggle="modal" data-target="#editClientModal<?php echo $client_id; ?>">Edit</a>
<a class="dropdown-item" href="#" data-toggle="modal" data-target="#clientEditModal<?php echo $client_id; ?>">Edit</a>
<div class="dropdown-divider"></div>
<a class="dropdown-item text-danger" href="#" data-toggle="modal" data-target="#deleteClientModal<?php echo $client_id; ?>">Delete</a>
<a class="dropdown-item text-danger" href="#" data-toggle="modal" data-target="#clientDeleteModal<?php echo $client_id; ?>">Delete</a>
</div>
</div>
</div>
@ -257,9 +257,9 @@ $location_phone = formatPhoneNumber($location_phone);
<?php
include("client_routes.php");
include("edit_client_modal.php");
include("client_edit_modal.php");
include("add_quick_modal.php");
include("delete_client_modal.php");
include("client_delete_modal.php");
}

View File

@ -1,4 +1,4 @@
<div class="modal" id="addClientModal" tabindex="-1">
<div class="modal" id="clientAddModal" tabindex="-1">
<div class="modal-dialog">
<div class="modal-content bg-dark">
<div class="modal-header">

View File

@ -1,4 +1,4 @@
<div class="modal" id="deleteClientModal<?php echo $client_id; ?>" tabindex="-1">
<div class="modal" id="clientDeleteModal<?php echo $client_id; ?>" tabindex="-1">
<div class="modal-dialog">
<div class="modal-content">
<div class="modal-body">

View File

@ -1,4 +1,4 @@
<div class="modal" id="editClientModal<?php echo $client_id; ?>" tabindex="-1">
<div class="modal" id="clientEditModal<?php echo $client_id; ?>" tabindex="-1">
<div class="modal-dialog">
<div class="modal-content bg-dark">
<div class="modal-header">

View File

@ -13,10 +13,11 @@
<p>Back</p> |
<p><strong><?php echo $client_name; ?></strong></p>
</a>
<center>
<?php echo $client_tags_display; ?>
</center>
</li>
<div class="sidebar-custom">
<div class="text-wrap"><?php echo $client_tags_display; ?></div>
</div>
<li class="nav-header mt-3">CLIENT</li>
<li class="nav-item">

View File

@ -106,7 +106,7 @@ $num_rows = mysqli_fetch_row(mysqli_query($mysqli,"SELECT FOUND_ROWS()"));
<div class="card-header py-2">
<h3 class="card-title mt-2"><i class="fa fa-fw fa-users"></i> Clients</h3>
<div class="card-tools">
<button type="button" class="btn btn-primary" data-toggle="modal" data-target="#addClientModal"><i class="fas fa-fw fa-plus"></i> New Client</button>
<button type="button" class="btn btn-primary" data-toggle="modal" data-target="#clientAddModal"><i class="fas fa-fw fa-plus"></i> New Client</button>
</div>
</div>
@ -217,7 +217,7 @@ $num_rows = mysqli_fetch_row(mysqli_query($mysqli,"SELECT FOUND_ROWS()"));
}
$client_tag_id_array[] = $client_tag_id;
$client_tag_name_display_array[] = "<span class='badge bg-$client_tag_color'><i class='fa fa-fw fa-$client_tag_icon'></i> $client_tag_name</span>";
$client_tag_name_display_array[] = "<span class='badge bg-$client_tag_color'><i class='fa fa-fw fa-$client_tag_icon'></i> $client_tag_name</span> ";
}
$client_tags_display = implode('', $client_tag_name_display_array);
@ -311,9 +311,9 @@ $num_rows = mysqli_fetch_row(mysqli_query($mysqli,"SELECT FOUND_ROWS()"));
<i class="fas fa-ellipsis-h"></i>
</button>
<div class="dropdown-menu">
<a class="dropdown-item" href="#" data-toggle="modal" data-target="#editClientModal<?php echo $client_id; ?>">Edit</a>
<a class="dropdown-item" href="#" data-toggle="modal" data-target="#clientEditModal<?php echo $client_id; ?>">Edit</a>
<div class="dropdown-divider"></div>
<a class="dropdown-item text-danger" href="#" data-toggle="modal" data-target="#deleteClientModal<?php echo $client_id; ?>">Delete</a>
<a class="dropdown-item text-danger" href="#" data-toggle="modal" data-target="#clientDeleteModal<?php echo $client_id; ?>">Delete</a>
</div>
</div>
</td>
@ -321,8 +321,8 @@ $num_rows = mysqli_fetch_row(mysqli_query($mysqli,"SELECT FOUND_ROWS()"));
<?php
include("edit_client_modal.php");
include("delete_client_modal.php");
include("client_edit_modal.php");
include("client_delete_modal.php");
}
@ -335,7 +335,7 @@ $num_rows = mysqli_fetch_row(mysqli_query($mysqli,"SELECT FOUND_ROWS()"));
</div>
</div>
<?php include("add_client_modal.php"); ?>
<?php include("client_add_modal.php"); ?>
<?php include("add_quick_modal.php"); ?>
<?php include("footer.php");
<?php include("footer.php"); ?>

View File

@ -1,4 +1,4 @@
<div class="modal" id="addProductModal" tabindex="-1">
<div class="modal" id="productAddModal" tabindex="-1">
<div class="modal-dialog">
<div class="modal-content bg-dark">
<div class="modal-header">

View File

@ -1,4 +1,4 @@
<div class="modal" id="editProductModal<?php echo $product_id; ?>" tabindex="-1">
<div class="modal" id="productEditModal<?php echo $product_id; ?>" tabindex="-1">
<div class="modal-dialog">
<div class="modal-content bg-dark">
<div class="modal-header">

View File

@ -52,7 +52,7 @@ $num_rows = mysqli_fetch_row(mysqli_query($mysqli,"SELECT FOUND_ROWS()"));
<div class="card-header py-2">
<h3 class="card-title mt-2"><i class="fa fa-fw fa-box"></i> Products</h3>
<div class="card-tools">
<button type="button" class="btn btn-primary" data-toggle="modal" data-target="#addProductModal"><i class="fas fa-fw fa-plus"></i> New Product</button>
<button type="button" class="btn btn-primary" data-toggle="modal" data-target="#productAddModal"><i class="fas fa-fw fa-plus"></i> New Product</button>
</div>
</div>
@ -101,7 +101,7 @@ $num_rows = mysqli_fetch_row(mysqli_query($mysqli,"SELECT FOUND_ROWS()"));
?>
<tr>
<td><a class="text-dark" href="#" data-toggle="modal" data-target="#editProductModal<?php echo $product_id; ?>"><?php echo $product_name; ?></a></td>
<td><a class="text-dark" href="#" data-toggle="modal" data-target="#productEditModal<?php echo $product_id; ?>"><?php echo $product_name; ?></a></td>
<td><?php echo $category_name; ?></td>
<td><?php echo $product_description_display; ?></td>
<td class="text-right"><?php echo get_currency_symbol($session_company_currency); ?> <?php echo number_format($product_price,2); ?></td>
@ -111,7 +111,7 @@ $num_rows = mysqli_fetch_row(mysqli_query($mysqli,"SELECT FOUND_ROWS()"));
<i class="fas fa-ellipsis-h"></i>
</button>
<div class="dropdown-menu">
<a class="dropdown-item" href="#" data-toggle="modal" data-target="#editProductModal<?php echo $product_id; ?>">Edit</a>
<a class="dropdown-item" href="#" data-toggle="modal" data-target="#productEditModal<?php echo $product_id; ?>">Edit</a>
<div class="dropdown-divider"></div>
<a class="dropdown-item text-danger" href="post.php?delete_product=<?php echo $product_id; ?>">Delete</a>
</div>
@ -121,7 +121,7 @@ $num_rows = mysqli_fetch_row(mysqli_query($mysqli,"SELECT FOUND_ROWS()"));
<?php
include("edit_product_modal.php");
include("product_edit_modal.php");
}
@ -136,7 +136,7 @@ $num_rows = mysqli_fetch_row(mysqli_query($mysqli,"SELECT FOUND_ROWS()"));
<?php
include("add_product_modal.php");
include("product_add_modal.php");
include("add_quick_modal.php");
include("footer.php");

View File

@ -99,7 +99,6 @@ if(isset($_GET['quote_id'])){
<span class="ml-3 p-2 badge badge-<?php echo $quote_badge_color; ?>"><?php echo $quote_status; ?></span>
</ol>
<div class="card">
<div class="card-header d-print-none">

View File

@ -1,11 +1,11 @@
<!-- Main Sidebar Container -->
<aside class="main-sidebar sidebar-dark-primary d-print-none">
<aside class="main-sidebar sidebar-dark-primary elevation-3 d-print-none">
<!-- Sidebar -->
<div class="sidebar">
<!-- Sidebar Menu -->
<nav class="mt-3">
<nav class="">
<?php
$sql = mysqli_query($mysqli,"SELECT * FROM companies WHERE company_id IN ($session_user_company_access)");
@ -13,9 +13,9 @@
?>
<div class="dropdown mb-4 ml-3">
<div class="dropdown brand-link">
<a class="" href="#" data-toggle="dropdown">
<h3 class="text-light"><?php echo $session_company_name; ?> <small><i class="fa fa-caret-down"></i></small></h3>
<h3 class="brand-text text-light mb-0"><?php echo $session_company_name; ?> <small><i class="fa fa-caret-down"></i></small></h3>
</a>
<ul class="dropdown-menu">
@ -42,7 +42,7 @@
<?php }else{ ?>
<h3 class="mb-4 ml-3 text-light"><?php echo $session_company_name; ?></h3>
<h3 class="brand-text text-light"><?php echo $session_company_name; ?></h3>
<?php } ?>
@ -66,7 +66,7 @@
<li class="nav-header mt-3">SUPPORT</li>
<li class="nav-item">
<a href="tickets.php" class="nav-link <?php if(basename($_SERVER["PHP_SELF"]) == "tickets.php") { echo "active"; } ?>">
<a href="tickets.php" class="nav-link <?php if(basename($_SERVER["PHP_SELF"]) == "tickets.php" OR basename($_SERVER["PHP_SELF"]) == "ticket.php") { echo "active"; } ?>">
<i class="nav-icon fas fa-tags"></i>
<p>Tickets</p>
</a>
@ -91,9 +91,9 @@
</li>
<li class="nav-item">
<a href="campaigns.php" class="nav-link <?php if(basename($_SERVER["PHP_SELF"]) == "campaigns.php") { echo "active"; } ?>">
<a href="campaigns.php" class="nav-link <?php if(basename($_SERVER["PHP_SELF"]) == "campaigns.php" OR basename($_SERVER["PHP_SELF"]) == "campaign.php") { echo "active"; } ?>">
<i class="nav-icon fas fa-envelope"></i>
<p>Mail List</p>
<p>Campaigns</p>
</a>
</li>
@ -103,7 +103,7 @@
<li class="nav-header mt-3">SALES</li>
<li class="nav-item">
<a href="quotes.php" class="nav-link <?php if(basename($_SERVER["PHP_SELF"]) == "quotes.php") { echo "active"; } ?>">
<a href="quotes.php" class="nav-link <?php if(basename($_SERVER["PHP_SELF"]) == "quotes.php" OR basename($_SERVER["PHP_SELF"]) == "quote.php") { echo "active"; } ?>">
<i class="nav-icon fas fa-file-invoice"></i>
<p>Quotes</p>
</a>
@ -121,7 +121,7 @@
</a>
</li>
<li class="nav-item">
<a href="recurring.php" class="nav-link <?php if(basename($_SERVER["PHP_SELF"]) == "recurring.php") { echo "active"; } ?>">
<a href="recurring.php" class="nav-link <?php if(basename($_SERVER["PHP_SELF"]) == "recurring.php" OR basename($_SERVER["PHP_SELF"]) == "recurring_invoice.php") { echo "active"; } ?>">
<i class="nav-icon fas fa-sync-alt"></i>
<p>Recurring</p>
</a>
@ -170,8 +170,8 @@
</a>
</li>
<li class="nav-item has-treeview">
<a href="#" class="nav-link">
<li class="nav-item has-treeview <?php if(basename($_SERVER["PHP_SELF"]) == "report_income_summary.php" OR basename($_SERVER["PHP_SELF"]) == "report_expense_summary.php" OR basename($_SERVER["PHP_SELF"]) == "report_tax_summary.php" OR basename($_SERVER["PHP_SELF"]) == "report_profit_loss.php") { echo "menu-open"; } ?>">
<a href="#" class="nav-link <?php if(basename($_SERVER["PHP_SELF"]) == "report_income_summary.php" OR basename($_SERVER["PHP_SELF"]) == "report_expense_summary.php" OR basename($_SERVER["PHP_SELF"]) == "report_tax_summary.php" OR basename($_SERVER["PHP_SELF"]) == "report_profit_loss.php") { echo "active"; } ?>">
<i class="nav-icon fas fa-chart-area"></i>
<p>
Reports
@ -212,8 +212,8 @@
<li class="nav-header mt-3">SETTINGS</li>
<li class="nav-item has-treeview">
<a href="#" class="nav-link">
<li class="nav-item has-treeview <?php if(basename($_SERVER["PHP_SELF"]) == "settings-general.php" OR basename($_SERVER["PHP_SELF"]) == "categories.php" OR basename($_SERVER["PHP_SELF"]) == "tags.php" OR basename($_SERVER["PHP_SELF"]) == "custom_links.php" OR basename($_SERVER["PHP_SELF"]) == "taxes.php" OR basename($_SERVER["PHP_SELF"]) == "users.php" OR basename($_SERVER["PHP_SELF"]) == "companies.php" OR basename($_SERVER["PHP_SELF"]) == "logs.php") { echo "menu-open"; } ?>">
<a href="#" class="nav-link <?php if(basename($_SERVER["PHP_SELF"]) == "settings-general.php" OR basename($_SERVER["PHP_SELF"]) == "categories.php" OR basename($_SERVER["PHP_SELF"]) == "tags.php" OR basename($_SERVER["PHP_SELF"]) == "custom_links.php" OR basename($_SERVER["PHP_SELF"]) == "taxes.php" OR basename($_SERVER["PHP_SELF"]) == "users.php" OR basename($_SERVER["PHP_SELF"]) == "companies.php" OR basename($_SERVER["PHP_SELF"]) == "logs.php") { echo "active"; } ?>">
<i class="nav-icon fas fa-cog"></i>
<p>
Settings

View File

@ -171,8 +171,8 @@ if(isset($_GET['ticket_id'])){
<i class="fas fa-fw fa-ellipsis-v"></i>
</button>
<div class="dropdown-menu" aria-labelledby="dropdownMenuButton">
<a class="dropdown-item" href="#" data-toggle="modal" data-target="#editTicketModal<?php echo $ticket_id; ?>">Edit</a>
<a class="dropdown-item" href="#" data-toggle="modal" data-target="#mergeTicketModal<?php echo $ticket_id; ?>">Merge</a>
<a class="dropdown-item" href="#" data-toggle="modal" data-target="#ticketEditModal<?php echo $ticket_id; ?>">Edit</a>
<a class="dropdown-item" href="#" data-toggle="modal" data-target="#ticketMergeModal<?php echo $ticket_id; ?>">Merge</a>
<div class="dropdown-divider"></div>
<a class="dropdown-item text-danger" href="post.php?delete_ticket=<?php echo $ticket_id; ?>">Delete</a>
</div>
@ -295,7 +295,7 @@ if(isset($_GET['ticket_id'])){
<i class="fas fa-fw fa-ellipsis-v"></i>
</button>
<div class="dropdown-menu">
<a class="dropdown-item" href="#" data-toggle="modal" data-target="#editTicketReplyModal<?php echo $ticket_reply_id; ?>"><i class="fas fa-fw fa-edit text-secondary"></i> Edit</a>
<a class="dropdown-item" href="#" data-toggle="modal" data-target="#ticketReplyEditModal<?php echo $ticket_reply_id; ?>"><i class="fas fa-fw fa-edit text-secondary"></i> Edit</a>
<div class="dropdown-divider"></div>
<a class="dropdown-item text-danger" href="post.php?archive_ticket_reply=<?php echo $ticket_reply_id; ?>"><i class="fas fa-fw fa-trash text-danger"></i> Archive</a>
</div>
@ -310,7 +310,7 @@ if(isset($_GET['ticket_id'])){
<?php
include("edit_ticket_reply_modal.php");
include("ticket_reply_edit_modal.php");
}
@ -320,73 +320,69 @@ if(isset($_GET['ticket_id'])){
<div class="col-md-3">
<div class="card card-outline card-primary mb-3">
<div class="card-body">
<div>
<h5><strong><?php echo $client_name; ?></strong></h5>
<?php
if(!empty($location_phone)){
?>
<i class="fa fa-fw fa-phone text-secondary ml-1 mr-2 mb-2"></i><?php echo $location_phone; ?>
<br>
<?php
}
?>
<?php
if(!empty($client_tags_display)){
echo "$client_tags_display";
}
?>
</div>
<div class="card card-body card-outline card-primary mb-3">
<div>
<h5><strong><?php echo $client_name; ?></strong></h5>
<?php
if(!empty($location_phone)){
?>
<i class="fa fa-fw fa-phone text-secondary ml-1 mr-2 mb-2"></i><?php echo $location_phone; ?>
<br>
<?php
}
?>
<?php
if(!empty($client_tags_display)){
echo "$client_tags_display";
}
?>
</div>
</div>
<?php if(!empty($contact_id)){ ?>
<div class="card card-outline card-dark mb-3">
<div class="card-body">
<div>
<h4 class="text-secondary">Contact</h4>
<i class="fa fa-fw fa-user text-secondary ml-1 mr-2 mb-2"></i><strong><?php echo $contact_name; ?></strong>
<br>
<i class="fa fa-fw fa-info-circle text-secondary ml-1 mr-2 mb-2"></i><?php echo $primary_contact_display; ?>
<br>
<i class="fa fa-fw fa-envelope text-secondary ml-1 mr-2 mb-2"></i>Related tickets: Open <strong><?php echo $ticket_related_open; ?></strong> | Closed <strong><?php echo $ticket_related_closed; ?></strong> | Total <strong><?php echo $ticket_related_total; ?></strong>
<hr>
<?php
if(!empty($location_name)){
?>
<i class="fa fa-fw fa-map-marker-alt text-secondary ml-1 mr-2 mb-2"></i><?php echo $location_name; ?>
<br>
<?php
}
?>
<?php
if(!empty($contact_email)){
?>
<i class="fa fa-fw fa-envelope text-secondary ml-1 mr-2 mb-2"></i><a href="mailto:<?php echo $contact_email; ?>"><?php echo $contact_email; ?></a>
<br>
<?php
}
?>
<?php
if(!empty($contact_phone)){
?>
<i class="fa fa-fw fa-phone text-secondary ml-1 mr-2 mb-2"></i><?php echo $contact_phone; ?>
<br>
<?php
}
?>
<?php
if(!empty($contact_mobile)){
?>
<i class="fa fa-fw fa-mobile text-secondary ml-1 mr-2 mb-2"></i><?php echo $contact_mobile; ?>
<br>
<?php
}
?>
</div>
<div class="card card-body card-outline card-dark mb-3">
<div>
<h4 class="text-secondary">Contact</h4>
<i class="fa fa-fw fa-user text-secondary ml-1 mr-2 mb-2"></i><strong><?php echo $contact_name; ?></strong>
<br>
<i class="fa fa-fw fa-info-circle text-secondary ml-1 mr-2 mb-2"></i><?php echo $primary_contact_display; ?>
<br>
<i class="fa fa-fw fa-envelope text-secondary ml-1 mr-2 mb-2"></i>Related tickets: Open <strong><?php echo $ticket_related_open; ?></strong> | Closed <strong><?php echo $ticket_related_closed; ?></strong> | Total <strong><?php echo $ticket_related_total; ?></strong>
<hr>
<?php
if(!empty($location_name)){
?>
<i class="fa fa-fw fa-map-marker-alt text-secondary ml-1 mr-2 mb-2"></i><?php echo $location_name; ?>
<br>
<?php
}
?>
<?php
if(!empty($contact_email)){
?>
<i class="fa fa-fw fa-envelope text-secondary ml-1 mr-2 mb-2"></i><a href="mailto:<?php echo $contact_email; ?>"><?php echo $contact_email; ?></a>
<br>
<?php
}
?>
<?php
if(!empty($contact_phone)){
?>
<i class="fa fa-fw fa-phone text-secondary ml-1 mr-2 mb-2"></i><?php echo $contact_phone; ?>
<br>
<?php
}
?>
<?php
if(!empty($contact_mobile)){
?>
<i class="fa fa-fw fa-mobile text-secondary ml-1 mr-2 mb-2"></i><?php echo $contact_mobile; ?>
<br>
<?php
}
?>
</div>
</div>
@ -394,37 +390,35 @@ if(isset($_GET['ticket_id'])){
<?php if(!empty($asset_id)){ ?>
<div class="card card-outline card-dark mb-3">
<div class="card-body">
<div>
<h4 class="text-secondary">Asset</h4>
<i class="fa fa-fw fa-desktop text-secondary ml-1 mr-2 mb-2"></i><strong><?php echo $asset_name; ?></strong>
<br>
<?php
if(!empty($asset_make)){
?>
<i class="fa fa-fw fa-tag text-secondary ml-1 mr-2 mb-2"></i><?php echo "$asset_make $asset_model"; ?>
<br>
<?php
}
?>
<?php
if(!empty($asset_serial)){
?>
<i class="fa fa-fw fa-barcode text-secondary ml-1 mr-2 mb-2"></i><?php echo $asset_serial; ?>
<br>
<?php
}
?>
<?php
if(!empty($asset_os)){
?>
<i class="fa fa-fw fa-tag text-secondary ml-1 mr-2 mb-2"></i><?php echo $asset_os; ?>
<br>
<?php
}
?>
</div>
<div class="card card-body card-outline card-dark mb-3">
<div>
<h4 class="text-secondary">Asset</h4>
<i class="fa fa-fw fa-desktop text-secondary ml-1 mr-2 mb-2"></i><strong><?php echo $asset_name; ?></strong>
<br>
<?php
if(!empty($asset_make)){
?>
<i class="fa fa-fw fa-tag text-secondary ml-1 mr-2 mb-2"></i><?php echo "$asset_make $asset_model"; ?>
<br>
<?php
}
?>
<?php
if(!empty($asset_serial)){
?>
<i class="fa fa-fw fa-barcode text-secondary ml-1 mr-2 mb-2"></i><?php echo $asset_serial; ?>
<br>
<?php
}
?>
<?php
if(!empty($asset_os)){
?>
<i class="fa fa-fw fa-tag text-secondary ml-1 mr-2 mb-2"></i><?php echo $asset_os; ?>
<br>
<?php
}
?>
</div>
</div>
@ -498,8 +492,8 @@ if(isset($_GET['ticket_id'])){
</div>
<?php
include("edit_ticket_modal.php");
include("merge_ticket_modal.php");
include("ticket_edit_modal.php");
include("ticket_merge_modal.php");
?>
<?php

View File

@ -1,4 +1,4 @@
<div class="modal" id="addTicketModal" tabindex="-1">
<div class="modal" id="ticketAddModal" tabindex="-1">
<div class="modal-dialog modal-lg">
<div class="modal-content bg-dark">
<div class="modal-header">

View File

@ -1,4 +1,4 @@
<div class="modal" id="editTicketModal<?php echo $ticket_id; ?>" tabindex="-1">
<div class="modal" id="ticketEditModal<?php echo $ticket_id; ?>" tabindex="-1">
<div class="modal-dialog modal-lg">
<div class="modal-content bg-dark">
<div class="modal-header">

View File

@ -1,4 +1,4 @@
<div class="modal" id="mergeTicketModal<?php echo $ticket_id; ?>" tabindex="-1">
<div class="modal" id="ticketMergeModal<?php echo $ticket_id; ?>" tabindex="-1">
<div class="modal-dialog modal-md">
<div class="modal-content bg-dark">
<div class="modal-header">

View File

@ -1,4 +1,4 @@
<div class="modal" id="editTicketReplyModal<?php echo $ticket_reply_id; ?>" tabindex="-1">
<div class="modal" id="ticketReplyEditModal<?php echo $ticket_reply_id; ?>" tabindex="-1">
<div class="modal-dialog modal-lg">
<div class="modal-content bg-dark">
<div class="modal-header">

View File

@ -113,7 +113,7 @@
<div class="card-header py-2">
<h3 class="card-title mt-2"><i class="fa fa-fw fa-tags"></i> Tickets</h3>
<div class='card-tools'>
<button type="button" class="btn btn-primary" data-toggle="modal" data-target="#addTicketModal"><i class="fas fa-fw fa-plus"></i> New Ticket</button>
<button type="button" class="btn btn-primary" data-toggle="modal" data-target="#ticketAddModal"><i class="fas fa-fw fa-plus"></i> New Ticket</button>
</div>
</div>
<div class="card-body">
@ -273,14 +273,14 @@
<i class="fas fa-ellipsis-h"></i>
</button>
<div class="dropdown-menu">
<a class="dropdown-item" href="#" data-toggle="modal" data-target="#editTicketModal<?php echo $ticket_id; ?>">Edit</a>
<a class="dropdown-item" href="#" data-toggle="modal" data-target="#ticketEditModal<?php echo $ticket_id; ?>">Edit</a>
<div class="dropdown-divider"></div>
<a class="dropdown-item text-danger" href="post.php?delete_ticket=<?php echo $ticket_id; ?>">Delete</a>
</div>
</div>
<?php
include("edit_ticket_modal.php");
include("ticket_edit_modal.php");
?>
</td>
@ -299,6 +299,6 @@
</div>
</div>
<?php include("add_ticket_modal.php"); ?>
<?php include("ticket_add_modal.php"); ?>
<?php include("footer.php");