diff --git a/campaign.php b/campaign.php
deleted file mode 100644
index 70c1cdd6..00000000
--- a/campaign.php
+++ /dev/null
@@ -1,247 +0,0 @@
-
-
-
- -
- Campaigns
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- $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);
-
-?>
-
-
-
-
-
-
\ No newline at end of file
diff --git a/campaign_add_modal.php b/campaign_add_modal.php
deleted file mode 100644
index a0858e7e..00000000
--- a/campaign_add_modal.php
+++ /dev/null
@@ -1,152 +0,0 @@
-
\ No newline at end of file
diff --git a/campaign_edit_modal.php b/campaign_edit_modal.php
deleted file mode 100644
index 9d7e2b6d..00000000
--- a/campaign_edit_modal.php
+++ /dev/null
@@ -1,155 +0,0 @@
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/campaign_test_modal.php b/campaign_test_modal.php
deleted file mode 100644
index 4e0316aa..00000000
--- a/campaign_test_modal.php
+++ /dev/null
@@ -1,42 +0,0 @@
-
\ No newline at end of file
diff --git a/campaign_track.php b/campaign_track.php
deleted file mode 100644
index 35579dd7..00000000
--- a/campaign_track.php
+++ /dev/null
@@ -1,37 +0,0 @@
-
\ No newline at end of file
diff --git a/campaigns.php b/campaigns.php
deleted file mode 100644
index 7e922b81..00000000
--- a/campaigns.php
+++ /dev/null
@@ -1,230 +0,0 @@
- $sb, 'o' => $o)));
-
- $sql = mysqli_query($mysqli,"SELECT SQL_CALC_FOUND_ROWS * FROM campaigns
- WHERE (campaign_name LIKE '%$q%' OR campaign_subject LIKE '%$q%' OR campaign_status LIKE '%$q%')
- AND DATE(campaign_created_at) BETWEEN '$dtf' AND '$dtt'
- AND 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);
-
-?>
-
-
-
-
-
-
-
-
-
- ">
-
- | Name |
- Subscribers |
- Sent |
- Opened |
- Clicked |
- Created |
- Scheduled |
- Status |
- Action |
-
-
-
-
-
- |
- |
- |
- |
- |
- |
- |
-
-
-
-
- |
-
-
-
-
-
- |
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-SMTPDebug = 2; // Enable verbose debug output
- $mail->isSMTP(); // Set mailer to use SMTP
- $mail->Host = $config_smtp_host; // Specify main and backup SMTP servers
- $mail->SMTPAuth = true; // Enable SMTP authentication
- $mail->Username = $config_smtp_username; // SMTP username
- $mail->Password = $config_smtp_password; // SMTP password
- $mail->SMTPSecure = $config_smtp_encryption; // Enable TLS encryption, `ssl` also accepted
- $mail->Port = $config_smtp_port; // TCP port to connect to
-
- //Recipients
- $mail->setFrom($campaign_from_email, $campaign_from_name);
- $mail->addAddress("$contact_email", "$contact_name"); // Add a recipient
-
- // Content
- $mail->isHTML(true); // Set email format to HTML
-
- $mail->Subject = "$campaign_subject";
- $mail->Body = "Hello $contact_name,
$campaign_content
-
-
-
-
~
$company_name
$company_phone";
-
- $mail->send();
-
- mysqli_query($mysqli,"UPDATE campaign_messages SET message_sent_at = NOW() WHERE message_id = $message_id");
-
- }catch (Exception $e) {
- echo "Message could not be sent. Mailer Error: {$mail->ErrorInfo}";
- mysqli_query($mysqli,"UPDATE campaign_messages SET message_bounced_at = NOW() WHERE message_id = $message_id");
- } //End Mail Try
-
- }
- mysqli_query($mysqli,"UPDATE campaigns SET campaign_status = 'Sent' WHERE campaign_id = $campaign_id");
- }
-} //End Company Loop through
-
-?>
\ No newline at end of file
diff --git a/database_updates.php b/database_updates.php
index b0ccf35e..84d29995 100644
--- a/database_updates.php
+++ b/database_updates.php
@@ -289,14 +289,22 @@ if(LATEST_DATABASE_VERSION > CURRENT_DATABASE_VERSION){
mysqli_query($mysqli, "UPDATE `settings` SET `config_current_database_version` = '0.1.5'");
}
- //if(CURRENT_DATABASE_VERSION == '0.1.5'){
+ if(CURRENT_DATABASE_VERSION == '0.1.5'){
// Insert queries here required to update to DB version 0.1.6
+ // Remove Mailing List Tables
+ mysqli_query($mysqli, "DROP TABLE campaigns");
+ mysqli_query($mysqli, "DROP TABLE campaign_messages");
// Then, update the database to the next sequential version
- // mysqli_query($mysqli, "UPDATE `settings` SET `config_current_database_version` = '0.1.6'");
- //}
+ mysqli_query($mysqli, "UPDATE `settings` SET `config_current_database_version` = '0.1.6'");
+ }
- // etc
+ //if(CURRENT_DATABASE_VERSION == '0.1.6'){
+ // Insert queries here required to update to DB version 0.1.7
+
+ // Then, update the database to the next sequential version
+ // mysqli_query($mysqli, "UPDATE `settings` SET `config_current_database_version` = '0.1.7'");
+ //}
}
else{
diff --git a/database_version.php b/database_version.php
index 150b3630..49ec8dc6 100644
--- a/database_version.php
+++ b/database_version.php
@@ -5,4 +5,4 @@
* It is used in conjunction with database_updates.php
*/
-DEFINE("LATEST_DATABASE_VERSION", "0.1.5");
\ No newline at end of file
+DEFINE("LATEST_DATABASE_VERSION", "0.1.6");
\ No newline at end of file
diff --git a/db.sql b/db.sql
index 27a747ea..e0b2f171 100644
--- a/db.sql
+++ b/db.sql
@@ -1,8 +1,8 @@
--- MariaDB dump 10.19 Distrib 10.5.16-MariaDB, for debian-linux-gnu (x86_64)
+-- MariaDB dump 10.19 Distrib 10.5.17-MariaDB, for debian-linux-gnu (x86_64)
--
-- Host: localhost Database: itflow_dev
-- ------------------------------------------------------
--- Server version 10.5.16-MariaDB-1:10.5.16+maria~focal
+-- Server version 10.5.17-MariaDB-1:10.5.17+maria~ubu2004
/*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */;
/*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */;
@@ -152,58 +152,6 @@ CREATE TABLE `calendars` (
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
/*!40101 SET character_set_client = @saved_cs_client */;
---
--- Table structure for table `campaign_messages`
---
-
-DROP TABLE IF EXISTS `campaign_messages`;
-/*!40101 SET @saved_cs_client = @@character_set_client */;
-/*!40101 SET character_set_client = utf8 */;
-CREATE TABLE `campaign_messages` (
- `message_id` int(11) NOT NULL AUTO_INCREMENT,
- `message_hash` varchar(250) NOT NULL,
- `message_ip` varchar(200) DEFAULT NULL,
- `message_referer` varchar(250) DEFAULT NULL,
- `message_user_agent` varchar(250) DEFAULT NULL,
- `message_queued_at` datetime DEFAULT NULL,
- `message_sent_at` datetime DEFAULT NULL,
- `message_delivered_at` datetime DEFAULT NULL,
- `message_bounced_at` datetime DEFAULT NULL,
- `message_opened_at` datetime DEFAULT NULL,
- `message_clicked_at` datetime DEFAULT NULL,
- `message_created_at` datetime NOT NULL DEFAULT current_timestamp(),
- `message_client_tag_id` int(11) NOT NULL,
- `message_contact_id` int(11) NOT NULL,
- `message_campaign_id` int(11) NOT NULL,
- `company_id` int(11) NOT NULL,
- PRIMARY KEY (`message_id`)
-) ENGINE=InnoDB DEFAULT CHARSET=utf8;
-/*!40101 SET character_set_client = @saved_cs_client */;
-
---
--- Table structure for table `campaigns`
---
-
-DROP TABLE IF EXISTS `campaigns`;
-/*!40101 SET @saved_cs_client = @@character_set_client */;
-/*!40101 SET character_set_client = utf8 */;
-CREATE TABLE `campaigns` (
- `campaign_id` int(11) NOT NULL AUTO_INCREMENT,
- `campaign_name` varchar(255) NOT NULL,
- `campaign_subject` varchar(255) NOT NULL,
- `campaign_from_name` varchar(200) NOT NULL,
- `campaign_from_email` varchar(200) NOT NULL,
- `campaign_content` longtext NOT NULL,
- `campaign_status` varchar(20) NOT NULL,
- `campaign_scheduled_at` datetime DEFAULT NULL,
- `campaign_created_at` datetime NOT NULL DEFAULT current_timestamp(),
- `campaign_updated_at` datetime DEFAULT NULL ON UPDATE current_timestamp(),
- `campaign_archived_at` datetime DEFAULT NULL,
- `company_id` int(11) NOT NULL,
- PRIMARY KEY (`campaign_id`)
-) ENGINE=InnoDB DEFAULT CHARSET=utf8;
-/*!40101 SET character_set_client = @saved_cs_client */;
-
--
-- Table structure for table `categories`
--
@@ -1546,4 +1494,4 @@ CREATE TABLE `vendors` (
/*!40101 SET COLLATION_CONNECTION=@OLD_COLLATION_CONNECTION */;
/*!40111 SET SQL_NOTES=@OLD_SQL_NOTES */;
--- Dump completed on 2022-05-25 15:44:58
+-- Dump completed on 2022-09-17 16:34:13
diff --git a/post.php b/post.php
index 22d66434..5ea58bfe 100644
--- a/post.php
+++ b/post.php
@@ -699,8 +699,6 @@ if(isset($_GET['delete_company'])){
mysqli_query($mysqli,"DELETE FROM assets WHERE company_id = $company_id");
mysqli_query($mysqli,"DELETE FROM calendars WHERE company_id = $company_id");
mysqli_query($mysqli,"DELETE FROM notifications WHERE company_id = $company_id");
- mysqli_query($mysqli,"DELETE FROM campaigns WHERE company_id = $company_id");
- mysqli_query($mysqli,"DELETE FROM campaign_messages WHERE company_id = $company_id");
mysqli_query($mysqli,"DELETE FROM categories WHERE company_id = $company_id");
mysqli_query($mysqli,"DELETE FROM certificates WHERE company_id = $company_id");
@@ -1913,231 +1911,6 @@ if(isset($_GET['export_client_vendors_csv'])){
exit;
}
-// Campaigns
-if(isset($_POST['add_campaign'])){
-
- $name = trim(strip_tags(mysqli_real_escape_string($mysqli,$_POST['name'])));
- $subject = trim(strip_tags(mysqli_real_escape_string($mysqli,$_POST['subject'])));
- $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_at = trim(strip_tags(mysqli_real_escape_string($mysqli,$_POST['scheduled_at'])));
-
- 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_at', company_id = $session_company_id");
-
- $campaign_id = mysqli_insert_id($mysqli);
-
- //Create Recipient List based off tags selected
- if(isset($_POST['tags'])){
- foreach($_POST['tags'] as $tag){
- $tag = intval($tag);
-
- $sql = mysqli_query($mysqli,"SELECT * FROM clients
- LEFT JOIN contacts ON contacts.contact_id = clients.primary_contact
- LEFT JOIN client_tags ON clients.client_id = client_tags.client_id
- WHERE client_tags.tag_id = $tag
- AND clients.company_id = $session_company_id
- ");
-
- while($row = mysqli_fetch_array($sql)){
- $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'];
-
- //Check to see if the email has already been added if so don't add it
- $row = mysqli_fetch_assoc(mysqli_query($mysqli,"SELECT COUNT(message_id) AS count FROM campaign_messages WHERE message_contact_id = $contact_id AND message_campaign_id = $campaign_id"));
- $count = $row['count'];
- if($count == 0){
- //Generate Unique hash
- $message_hash = keygen();
- mysqli_query($mysqli,"INSERT INTO campaign_messages SET message_hash = '$message_hash', message_client_tag_id = $tag, message_contact_id = $contact_id, message_campaign_id = $campaign_id, company_id = $session_company_id");
- }
- }
- }
- }
-
- //Logging
- mysqli_query($mysqli,"INSERT INTO logs SET log_type = 'Campaign', log_action = 'Create', log_description = '$session_name created mail campaign $name', log_ip = '$session_ip', log_user_agent = '$session_user_agent', log_user_id = $session_user_id, company_id = $session_company_id");
-
- $_SESSION['alert_message'] = "Campaign $name created";
-
- //header("Location: campaign_details.php?campaign_id=$campaign_id");
- header("Location: " . $_SERVER["HTTP_REFERER"]);
-}
-
-if(isset($_POST['edit_campaign'])){
-
- $campaign_id = intval($_POST['campaign_id']);
- $name = trim(strip_tags(mysqli_real_escape_string($mysqli,$_POST['name'])));
- $subject = trim(strip_tags(mysqli_real_escape_string($mysqli,$_POST['subject'])));
- $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_at = trim(strip_tags(mysqli_real_escape_string($mysqli,$_POST['scheduled_at'])));
-
- mysqli_query($mysqli,"UPDATE 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_at' WHERE campaign_id = $campaign_id AND company_id = $session_company_id");
-
- //Create Recipient List based off tags selected
- if(isset($_POST['tags'])){
- foreach($_POST['tags'] as $tag){
- $tag = intval($tag);
-
- $sql = mysqli_query($mysqli,"SELECT * FROM clients
- LEFT JOIN contacts ON contacts.contact_id = clients.primary_contact
- LEFT JOIN client_tags ON clients.client_id = client_tags.client_id
- WHERE client_tags.tag_id = $tag
- AND clients.company_id = $session_company_id
- ");
-
- while($row = mysqli_fetch_array($sql)){
- $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'];
-
- //Check to see if the email has already been added if so don't add it
- $row = mysqli_fetch_assoc(mysqli_query($mysqli,"SELECT COUNT(message_id) AS count FROM campaign_messages WHERE message_contact_id = $contact_id AND message_campaign_id = $campaign_id"));
- $count = $row['count'];
- if($count == 0){
- //Generate Unique hash
- $message_hash = keygen();
- mysqli_query($mysqli,"INSERT INTO campaign_messages SET message_hash = '$message_hash', message_client_tag_id = $tag, message_contact_id = $contact_id, message_campaign_id = $campaign_id, company_id = $session_company_id");
- }
- }
- }
- }
-
- //Logging
- mysqli_query($mysqli,"INSERT INTO logs SET log_type = 'Campaign', log_action = 'Modify', log_description = '$session_name modified mail campaign $name', log_ip = '$session_ip', log_user_agent = '$session_user_agent', log_user_id = $session_user_id, company_id = $session_company_id");
-
- $_SESSION['alert_message'] = "Campaign $name modified";
-
- header("Location: " . $_SERVER["HTTP_REFERER"]);
-}
-
-if(isset($_GET['copy_campaign'])){
-
- $campaign_id = intval($_GET['copy_campaign']);
-
- $sql = mysqli_query($mysqli,"SELECT * FROM campaigns WHERE campaign_id = $campaign_id AND company_id = $session_company_id");
-
- $row = mysqli_fetch_array($sql);
-
- $name = $row['campaign_name'];
- $subject = $row['campaign_subject'];
- $from_name = $row['campaign_from_name'];
- $from_email = $row['campaign_from_email'];
- $content = $row['campaign_content'];
- $status = $row['campaign_status'];
- $scheduled_at = $row['campaign_scheduled_at'];
-
- mysqli_query($mysqli,"INSERT INTO campaigns SET campaign_name = '$name (COPY)', campaign_subject = '$subject', campaign_from_name = '$from_name', campaign_from_email = '$from_email', campaign_content = '$content', campaign_status = 'Draft', campaign_scheduled_at = '$scheduled_at', company_id = $session_company_id");
-
- $new_campaign_id = mysqli_insert_id($mysqli);
-
- //Logging
- mysqli_query($mysqli,"INSERT INTO logs SET log_type = 'Campaign', log_action = 'Copy', log_description = '$session_name copied mail campaign $name', log_ip = '$session_ip', log_user_agent = '$session_user_agent', log_user_id = $session_user_id, company_id = $session_company_id");
-
- $_SESSION['alert_message'] = "Campaign $campaign_name copied";
-
- header("Location: " . $_SERVER["HTTP_REFERER"]);
-}
-
-if(isset($_GET['archive_campaign'])){
- $campaign_id = intval($_GET['archive_campaign']);
-
- //Get Campaign Name
- $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'];
-
- mysqli_query($mysqli,"UPDATE campaigns SET campaign_archived_at = NOW() WHERE campaign_id = $campaign_id");
-
- //logging
- mysqli_query($mysqli,"INSERT INTO logs SET log_type = 'Campaign', log_action = 'Archive', log_description = '$session_name archived mail campaign $campaign_name', log_ip = '$session_ip', log_user_agent = '$session_user_agent', log_user_id = $session_user_id, company_id = $session_company_id");
-
- $_SESSION['alert_type'] = "error";
- $_SESSION['alert_message'] = "Campaign $campaign_name archived";
-
- header("Location: " . $_SERVER["HTTP_REFERER"]);
-}
-
-if(isset($_GET['delete_campaign'])){
- $campaign_id = intval($_GET['delete_campaign']);
-
- //Get Campaign Name
- $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'];
-
- //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_ip = '$session_ip', log_user_agent = '$session_user_agent', log_user_id = $session_user_id, company_id = $session_company_id");
-
- $_SESSION['alert_type'] = "error";
- $_SESSION['alert_message'] = "Campaign $campaign_name deleted";
-
- header("Location: " . $_SERVER["HTTP_REFERER"]);
-}
-
-if(isset($_POST['test_campaign'])){
- $campaign_id = intval($_POST['campaign_id']);
- $name_to = trim(strip_tags(mysqli_real_escape_string($mysqli,$_POST['name_to'])));
- $email_to = trim(strip_tags(mysqli_real_escape_string($mysqli,$_POST['email_to'])));
-
- $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'];
-
- $mail = new PHPMailer(true);
-
- //Mail Server Settings
-
- //$mail->SMTPDebug = 2; // Enable verbose debug output
- $mail->isSMTP(); // Set mailer to use SMTP
- $mail->Host = $config_smtp_host; // Specify main and backup SMTP servers
- $mail->SMTPAuth = true; // Enable SMTP authentication
- $mail->Username = $config_smtp_username; // SMTP username
- $mail->Password = $config_smtp_password; // SMTP password
- $mail->SMTPSecure = $config_smtp_encryption; // Enable TLS encryption, `ssl` also accepted
- $mail->Port = $config_smtp_port; // TCP port to connect to
-
- //Recipients
- $mail->setFrom("$campaign_from_email", "$campaign_from_name");
- $mail->addAddress("$email_to", "$name_to"); // Add a recipient
-
- // Content
- $mail->isHTML(true); // Set email format to HTML
- $mail->Subject = "[Test] $campaign_subject";
- $mail->Body = "Hi $name_to,
$campaign_content";
-
- $mail->send();
- echo 'Message has been sent';
-
- //logging
- mysqli_query($mysqli,"INSERT INTO logs SET log_type = 'Campaign', log_action = 'Test', log_description = 'Sent a test campaign named $campaign_name to $email_to', log_ip = '$session_ip', log_user_agent = '$session_user_agent', log_user_id = $session_user_id, company_id = $session_company_id");
-
- $_SESSION['alert_message'] = "Test email to $email_to for $campaign_name sent successfully";
-
- header("Location: " . $_SERVER["HTTP_REFERER"]);
-
-}
-
// Products
if(isset($_POST['add_product'])){
diff --git a/side_nav.php b/side_nav.php
index f060c82a..2cbceeff 100644
--- a/side_nav.php
+++ b/side_nav.php
@@ -96,13 +96,6 @@
-
- ">
-
- Campaigns
-
-
-