mirror of https://github.com/itflow-org/itflow
Added more placeholder headers to mailing list, added modal for edit mail campaign, added status colors and status buttons
This commit is contained in:
parent
5e6ff09218
commit
fd77569bf1
|
|
@ -14,6 +14,9 @@
|
|||
<li class="nav-item">
|
||||
<a class="nav-link active" data-toggle="pill" href="#pills-campaign">Campaign</a>
|
||||
</li>
|
||||
<li class="nav-item">
|
||||
<a class="nav-link" data-toggle="pill" href="#pills-content">Content</a>
|
||||
</li>
|
||||
<li class="nav-item">
|
||||
<a class="nav-link" data-toggle="pill" href="#pills-recipients">Recipients</a>
|
||||
</li>
|
||||
|
|
@ -27,24 +30,73 @@
|
|||
|
||||
<div class="form-group">
|
||||
<label>Campaign Name <strong class="text-danger">*</strong></label>
|
||||
<input type="text" class="form-control" name="name" placeholder="Campaign Name" required autofocus>
|
||||
<div class="input-group">
|
||||
<div class="input-group-prepend">
|
||||
<span class="input-group-text"><i class="fa fa-fw fa-paper-plane"></i></span>
|
||||
</div>
|
||||
<input type="text" class="form-control" name="name" placeholder="Campaign Name" required autofocus>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="form-group">
|
||||
<label>Email Subject <strong class="text-danger">*</strong></label>
|
||||
<input type="text" class="form-control" name="subject" placeholder="Email Subject" required>
|
||||
<div class="input-group">
|
||||
<div class="input-group-prepend">
|
||||
<span class="input-group-text"><i class="fa fa-fw fa-smile-wink"></i></span>
|
||||
</div>
|
||||
<input type="text" class="form-control" name="subject" placeholder="Email Subject" required>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="form-group">
|
||||
<label>From Name <strong class="text-danger">*</strong></label>
|
||||
<input type="text" class="form-control" name="from_name" placeholder="From Name" required>
|
||||
<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="from_name" placeholder="From Name" required>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="form-group">
|
||||
<label>From Email <strong class="text-danger">*</strong></label>
|
||||
<input type="text" class="form-control" name="from_email" placeholder="From Email" required>
|
||||
<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="text" class="form-control" name="from_email" placeholder="From Email" required>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<hr>
|
||||
|
||||
<div class="form-group">
|
||||
<label>Schedule <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="datetime-local" class="form-control" name="scheduled_time" placeholder="Schedule Date and Time">
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="form-group">
|
||||
<label>Set Status <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-smile-wink"></i></span>
|
||||
</div>
|
||||
<select class="form-control" name="status">
|
||||
<option>Draft</option>
|
||||
<option>Queued</option>
|
||||
</select>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
<div class="tab-pane fade" id="pills-content">
|
||||
|
||||
<div class="form-group">
|
||||
<textarea class="form-control summernote" name="content"></textarea>
|
||||
</div>
|
||||
|
|
@ -52,14 +104,9 @@
|
|||
|
||||
<div class="tab-pane fade" id="pills-recipients">
|
||||
|
||||
<legend>Recipients</legend>
|
||||
<label>Select Recipients <strong class="text-danger">*</strong></label>
|
||||
|
||||
<div class="form-group">
|
||||
<label>Email <strong class="text-danger">*</strong></label>
|
||||
<input type="text" class="form-control" name="to_email" placeholder="Recipient Email">
|
||||
</div>
|
||||
|
||||
<ul class="list-group">
|
||||
<ul class="list-group mb-3">
|
||||
|
||||
<?php
|
||||
$sql_tags_select = mysqli_query($mysqli,"SELECT * FROM tags WHERE tag_type = 1 AND company_id = $session_company_id ORDER BY tag_name ASC");
|
||||
|
|
@ -91,17 +138,6 @@
|
|||
|
||||
</ul>
|
||||
|
||||
<legend>Schedule</legend>
|
||||
|
||||
<div class="form-group">
|
||||
<label>Date <strong class="text-danger">*</strong></label>
|
||||
<input type="date" class="form-control" name="date" placeholder="Date">
|
||||
</div>
|
||||
|
||||
<div class="form-group">
|
||||
<label>Time <strong class="text-danger">*</strong></label>
|
||||
<input type="time" class="form-control" name="date" placeholder="Date">
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
|
@ -110,7 +146,7 @@
|
|||
|
||||
<div class="modal-footer bg-white">
|
||||
<button type="button" class="btn btn-secondary" data-dismiss="modal">Cancel</button>
|
||||
<button type="submit" name="add_campaign" class="btn btn-primary">Save and Continue</button>
|
||||
<button type="submit" name="add_campaign" class="btn btn-primary">Save</button>
|
||||
</div>
|
||||
</form>
|
||||
</div>
|
||||
|
|
|
|||
|
|
@ -112,6 +112,11 @@
|
|||
</div>
|
||||
</div>
|
||||
<div class="col-sm-8">
|
||||
<div class="float-right">
|
||||
<a href="#" class="btn btn-lg btn-default"><i class="fa fa-fw fa-pencil-ruler"></i> Draft</a>
|
||||
<a href="#" class="btn btn-lg btn-default"><i class="fa fa-fw fa-clock"></i> Queued</a>
|
||||
<a href="#" class="btn btn-lg btn-default"><i class="fa fa-fw fa-paper-plane"></i> Sent</a>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="collapse mt-3 <?php if(!empty($_GET['dtf'])){ echo "show"; } ?>" id="advancedFilter">
|
||||
|
|
@ -153,7 +158,11 @@
|
|||
<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=campaign_name&o=<?php echo $disp; ?>">Name</a></th>
|
||||
<th><a class="text-dark" href="?<?php echo $url_query_strings_sb; ?>&sb=campaign_created_at&o=<?php echo $disp; ?>">Sent</a></th>
|
||||
<th><a class="text-dark" href="?<?php echo $url_query_strings_sb; ?>&sb=campaign_created_at&o=<?php echo $disp; ?>">Opened</a></th>
|
||||
<th><a class="text-dark" href="?<?php echo $url_query_strings_sb; ?>&sb=campaign_created_at&o=<?php echo $disp; ?>">Clicked</a></th>
|
||||
<th><a class="text-dark" href="?<?php echo $url_query_strings_sb; ?>&sb=campaign_created_at&o=<?php echo $disp; ?>">Created</a></th>
|
||||
<th><a class="text-dark" href="?<?php echo $url_query_strings_sb; ?>&sb=campaign_scheduled_at&o=<?php echo $disp; ?>">Scheduled</a></th>
|
||||
<th><a class="text-dark" href="?<?php echo $url_query_strings_sb; ?>&sb=campaign_status&o=<?php echo $disp; ?>">Status</a></th>
|
||||
<th class="text-center">Action</th>
|
||||
</tr>
|
||||
|
|
@ -170,11 +179,32 @@
|
|||
$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";
|
||||
}
|
||||
|
||||
?>
|
||||
<tr>
|
||||
<td><a class="text-dark" href="campaign_details.php?campaign_id=<?php echo $campaign_id; ?>"><?php echo $campaign_name; ?></a></td>
|
||||
<td><a href="campaign_details.php?campaign_id=<?php echo $campaign_id; ?>"><?php echo $campaign_name; ?></a></td>
|
||||
<td>-</td>
|
||||
<td>-</td>
|
||||
<td>-</td>
|
||||
<td><?php echo $campaign_created_at; ?></td>
|
||||
<td><?php echo $campaign_status; ?></td>
|
||||
<td><?php echo $campaign_scheduled_at; ?></td>
|
||||
<td>
|
||||
<span class="p-2 badge badge-<?php echo $campaign_badge_color; ?>">
|
||||
<?php echo $campaign_status; ?>
|
||||
</span>
|
||||
</td>
|
||||
<td>
|
||||
<div class="dropdown dropleft text-center">
|
||||
<button class="btn btn-secondary btn-sm" type="button" data-toggle="dropdown">
|
||||
|
|
|
|||
|
|
@ -0,0 +1,155 @@
|
|||
<div class="modal" id="editCampaignModal<?php echo $campaign_id; ?>" tabindex="-1">
|
||||
<div class="modal-dialog modal-lg">
|
||||
<div class="modal-content bg-dark">
|
||||
<div class="modal-header">
|
||||
<h5 class="modal-title"><i class="fa fa-fw fa-envelope"></i> <?php echo $campaign_name; ?></h5>
|
||||
<button type="button" class="close text-white" data-dismiss="modal">
|
||||
<span>×</span>
|
||||
</button>
|
||||
</div>
|
||||
<form action="post.php" method="post" autocomplete="off">
|
||||
<input type="hidden" name="campaign_id" value="<?php echo $campaign_id; ?>">
|
||||
<div class="modal-body bg-white">
|
||||
|
||||
<ul class="nav nav-pills nav-justified mb-3">
|
||||
<li class="nav-item">
|
||||
<a class="nav-link active" data-toggle="pill" href="#pills-campaign<?php echo $campaign_id; ?>">Campaign</a>
|
||||
</li>
|
||||
<li class="nav-item">
|
||||
<a class="nav-link" data-toggle="pill" href="#pills-content<?php echo $campaign_id; ?>">Content</a>
|
||||
</li>
|
||||
<li class="nav-item">
|
||||
<a class="nav-link" data-toggle="pill" href="#pills-recipients<?php echo $campaign_id; ?>">Recipients</a>
|
||||
</li>
|
||||
</ul>
|
||||
|
||||
<hr>
|
||||
|
||||
<div class="tab-content">
|
||||
|
||||
<div class="tab-pane fade show active" id="pills-campaign<?php echo $campaign_id; ?>">
|
||||
|
||||
<div class="form-group">
|
||||
<label>Campaign 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-paper-plane"></i></span>
|
||||
</div>
|
||||
<input type="text" class="form-control" name="name" placeholder="Campaign Name" value="<?php echo $campaign_name; ?>" required autofocus>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="form-group">
|
||||
<label>Email 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-smile-wink"></i></span>
|
||||
</div>
|
||||
<input type="text" class="form-control" name="subject" placeholder="Email Subject" value="<?php echo $campaign_subject; ?>" required>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="form-group">
|
||||
<label>From 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-user"></i></span>
|
||||
</div>
|
||||
<input type="text" class="form-control" name="from_name" placeholder="From Name" value="<?php echo $campaign_from_name; ?>" required>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="form-group">
|
||||
<label>From Email <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-envelope"></i></span>
|
||||
</div>
|
||||
<input type="text" class="form-control" name="from_email" placeholder="From Email" value="<?php echo $campaign_from_email; ?>" required>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<hr>
|
||||
|
||||
<div class="form-group">
|
||||
<label>Schedule <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="datetime-local" class="form-control" name="scheduled_time" placeholder="Schedule Date and Time" value="<?php echo $campaign_scheduled_at; ?>">
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="form-group">
|
||||
<label>Set Status <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-smile-wink"></i></span>
|
||||
</div>
|
||||
<select class="form-control" name="status">
|
||||
<option <?php if($campaign_status == 'Draft'){ echo "selected"; } ?>>Draft</option>
|
||||
<option <?php if($campaign_status == 'Queued'){ echo "selected"; } ?>>Queued</option>
|
||||
</select>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
<div class="tab-pane fade" id="pills-content<?php echo $campaign_id; ?>">
|
||||
|
||||
<div class="form-group">
|
||||
<textarea class="form-control summernote" name="content"><?php echo $campaign_content; ?></textarea>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="tab-pane fade" id="pills-recipients<?php echo $campaign_id; ?>">
|
||||
|
||||
<label>Select Recipients <strong class="text-danger">*</strong></label>
|
||||
|
||||
<ul class="list-group mb-3">
|
||||
|
||||
<?php
|
||||
$sql_tags_select = mysqli_query($mysqli,"SELECT * FROM tags WHERE tag_type = 1 AND company_id = $session_company_id ORDER BY tag_name ASC");
|
||||
|
||||
while($row = mysqli_fetch_array($sql_tags_select)){
|
||||
$tag_id_select = $row['tag_id'];
|
||||
$tag_name_select = $row['tag_name'];
|
||||
$tag_color_select = $row['tag_color'];
|
||||
$tag_icon_select = $row['tag_icon'];
|
||||
//Get Contact Count
|
||||
$row = mysqli_fetch_assoc(mysqli_query($mysqli,"SELECT COUNT(*) AS client_count FROM clients, client_tags
|
||||
WHERE clients.client_id = client_tags.client_id
|
||||
AND tag_id = $tag_id_select
|
||||
AND company_id = $session_company_id
|
||||
"));
|
||||
$client_count = $row['client_count'];
|
||||
|
||||
?>
|
||||
<li class="list-group-item">
|
||||
<div class="form-check">
|
||||
<input type="checkbox" class="form-check-input" name="tags[]" value="<?php echo $tag_id_select; ?>">
|
||||
<label class="form-check-label ml-2 badge bg-<?php echo $tag_color_select; ?>"><?php echo "<i class='fa fw fa-$tag_icon_select'></i>"; ?> <?php echo $tag_name_select; ?></label><span class="right badge badge-light"><?php echo $client_count; ?></span>
|
||||
</div>
|
||||
</li>
|
||||
|
||||
<?php
|
||||
}
|
||||
?>
|
||||
|
||||
</ul>
|
||||
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
<div class="modal-footer bg-white">
|
||||
<button type="button" class="btn btn-secondary" data-dismiss="modal">Cancel</button>
|
||||
<button type="submit" name="edit_campaign" class="btn btn-primary">Save</button>
|
||||
</div>
|
||||
</form>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
8
post.php
8
post.php
|
|
@ -1642,7 +1642,6 @@ if(isset($_GET['export_client_vendors_csv'])){
|
|||
}
|
||||
|
||||
// Campaigns
|
||||
|
||||
if(isset($_POST['add_campaign'])){
|
||||
|
||||
$name = trim(strip_tags(mysqli_real_escape_string($mysqli,$_POST['name'])));
|
||||
|
|
@ -1650,8 +1649,10 @@ if(isset($_POST['add_campaign'])){
|
|||
$from_name = trim(strip_tags(mysqli_real_escape_string($mysqli,$_POST['from_name'])));
|
||||
$from_email = trim(strip_tags(mysqli_real_escape_string($mysqli,$_POST['from_email'])));
|
||||
$content = trim(mysqli_real_escape_string($mysqli,$_POST['content']));
|
||||
$status = trim(strip_tags(mysqli_real_escape_string($mysqli,$_POST['status'])));
|
||||
$scheduled_time = trim(strip_tags(mysqli_real_escape_string($mysqli,$_POST['scheduled_time'])));
|
||||
|
||||
mysqli_query($mysqli,"INSERT INTO campaigns SET campaign_name = '$name', campaign_subject = '$subject', campaign_from_name = '$from_name', campaign_from_email = '$from_email', campaign_content = '$content', campaign_status = 'Draft', campaign_created_at = NOW(), company_id = $session_company_id");
|
||||
mysqli_query($mysqli,"INSERT INTO campaigns SET campaign_name = '$name', campaign_subject = '$subject', campaign_from_name = '$from_name', campaign_from_email = '$from_email', campaign_content = '$content', campaign_status = '$status', campaign_scheduled_at = '$scheduled_time', campaign_created_at = NOW(), company_id = $session_company_id");
|
||||
|
||||
$campaign_id = mysqli_insert_id($mysqli);
|
||||
|
||||
|
|
@ -1739,7 +1740,10 @@ if(isset($_GET['delete_campaign'])){
|
|||
$row = mysqli_fetch_array($sql);
|
||||
$campaign_name = $row['campaign_name'];
|
||||
|
||||
//Delete Campaign
|
||||
mysqli_query($mysqli,"DELETE FROM campaigns WHERE campaign_id = $campaign_id AND company_id = $session_company_id");
|
||||
//Delete Messages Related to the Campaign
|
||||
mysqli_query($mysqli,"DELETE FROM campaign_messages WHERE message_campaign_id = $campaign_id AND company_id = $session_company_id");
|
||||
|
||||
//logging
|
||||
mysqli_query($mysqli,"INSERT INTO logs SET log_type = 'Campaign', log_action = 'Delete', log_description = '$session_name deleted mail campaign $campaign_name', log_created_at = NOW(), company_id = $session_company_id, log_user_id = $session_user_id");
|
||||
|
|
|
|||
Loading…
Reference in New Issue