@@ -344,7 +451,8 @@ get_header(); ?>
value="">
-
+
+
Stay on this page to create another?
diff --git a/page-edit-domain.php b/page-edit-domain.php
index 088eb79..fc964a7 100644
--- a/page-edit-domain.php
+++ b/page-edit-domain.php
@@ -15,7 +15,7 @@ $new_post = true;
// Handle form submission
if ($_SERVER['REQUEST_METHOD'] === 'POST' && isset($_POST['domain_submit'])) {
- $post_title = sanitize_text_field($_POST['domain_name']);
+ $post_title = strtolower(sanitize_text_field($_POST['domain_name']));
$cloudflare_email = isset($_POST['cloudflare_api_email']) ? sanitize_email($_POST['cloudflare_api_email']) : '';
$cloudflare_key = isset($_POST['cloudflare_api_key']) ? sanitize_text_field($_POST['cloudflare_api_key']) : '';
$domain_in_use = isset($_POST['domain_in_use']) ? $_POST['domain_in_use'] : '';
@@ -26,50 +26,76 @@ if ($_SERVER['REQUEST_METHOD'] === 'POST' && isset($_POST['domain_submit'])) {
'post_status' => 'publish'
);
- // Check if editing existing post
- if (isset($_POST['post_id']) && !empty($_POST['post_id'])) {
- $post_data['ID'] = intval($_POST['post_id']);
- $post_id = wp_update_post($post_data);
- $new_post = false;
- $message = ['status' => 'success', 'message' => 'Domain updated successfully.'];
- } else {
- $post_id = wp_insert_post($post_data);
- $message = ['status' => 'success', 'message' => 'Domain added successfully.'];
- }
+ // Check if editing existing post
+ if (isset($_POST['post_id']) && !empty($_POST['post_id'])) {
+ $post_data['ID'] = intval($_POST['post_id']);
+ $post_id = wp_update_post($post_data);
+ $new_post = false;
+ $message = ['status' => 'success', 'message' => 'Domain updated successfully.'];
+ } else {
+ // Prepare WP_Query to check for an existing post with the same title
+ $args = [
+ 'post_type' => 'domain', // Replace with your post type
+ 'post_status' => 'any',
+ 'title' => $post_title,
+ 'fields' => 'id',
+ 'posts_per_page' => 1
+ ];
+
+ $query = new WP_Query($args);
- if (!is_wp_error($post_id)) {
- update_post_meta($post_id, 'cloudflare_api_email', $cloudflare_email);
- update_post_meta($post_id, 'cloudflare_api_key', $cloudflare_key);
- update_post_meta($post_id, 'domain_in_use', $domain_in_use);
- if ($new_post) {
- // set the owner_id to the creator of the post if this is a new domain
- update_post_meta($post_id, 'owner_id', $current_user_id);
+ if ($query->have_posts()) {
+ log_to_file("Domain Edit template - Domain {$post_title} already exists: ");
+ $message = ['status' => 'error', 'message' => 'Domain already exists.'];
+ } else {
+ $post_id = wp_insert_post($post_data);
+ $new_post = true;
+ $message = ['status' => 'success', 'message' => 'Domain added successfully.'];
+ if (!is_wp_error($post_id)) {
+ update_post_meta($post_id, 'cloudflare_api_email', $cloudflare_email);
+ update_post_meta($post_id, 'cloudflare_api_key', $cloudflare_key);
+ update_post_meta($post_id, 'domain_in_use', $domain_in_use);
+ if ($new_post) {
+ // set the owner_id to the creator of the post if this is a new domain
+ update_post_meta($post_id, 'owner_id', $current_user_id);
- // Run a domain health check
- $domain_report_id = RL_MailWarmer_Domain_Helper::save_domain_health_report($post_id);
- }
- } else {
- $message = ['status' => 'error', 'message' => 'Error: ' . $post_id->get_error_message()];
- // $message = 'Error: ' . $post_id->get_error_message();
- }
+ // Run a domain health check
+ $domain_report_id = RL_MailWarmer_Domain_Helper::save_domain_health_report($post_id);
+ }
+ } else {
+ $message = ['status' => 'error', 'message' => 'Error: ' . $post_id->get_error_message()];
+ // $message = 'Error: ' . $post_id->get_error_message();
+ }
- if (isset($_POST['update_dns']) && !empty($_POST['update_dns'])) {
- log_to_file("Domain Edit template - Running Fix Domain");
- $results = RL_MailWarmer_Domain_Helper::fix_deliverability_dns_issues($post_id);
- log_to_file("Domain Edit template - Results: ", $results);
- }
+ if (isset($_POST['update_dns']) && !empty($_POST['update_dns'])) {
+ log_to_file("Domain Edit template - Running Fix Domain");
+ $results = RL_MailWarmer_Domain_Helper::fix_deliverability_dns_issues($post_id);
+ log_to_file("Domain Edit template - Results: ", $results);
+ }
- if ($domain_in_use) {
- log_to_file("Domain Edit template - Domain in use: $post_title");
- } else {
- log_to_file("Domain Edit template - Domain not in use: $post_title");
- }
+ if ($domain_in_use) {
+ log_to_file("Domain Edit template - Domain in use: {$post_title}. Not modifying MX records");
+ } else {
+ log_to_file("Domain Edit template - Domain not in use: {$post_title}. Setting MX to Mailferno server ");
+ // Set MX to 'server' of $post_id
+ $server = get_field('defaut_mailferno_mx', 'option');
+ log_to_file("Domain Edit template - Default Mailferno MX Server: ", $server);
+ $update_MX_result = RL_MailWarmer_Domain_Helper::update_mx_record($post_id, $server->post_title, 0, $ttl = 3600);
+ log_to_file("Domain Edit template - CloudFlare Response: {$update_MX_result}");
+ }
- if ( !(isset($_POST['stay_on_page']) && ($_POST['stay_on_page'] === 'on')) ) {
- // log_to_file("Domain Edit template - stay_on_page not set; redirecting!");
- wp_redirect( get_permalink( $post_id ) );
- exit;
- }
+ if ( !(isset($_POST['stay_on_page']) && ($_POST['stay_on_page'] === 'on')) ) {
+ // log_to_file("Domain Edit template - stay_on_page not set; redirecting!");
+ wp_redirect( get_permalink( $post_id ) );
+ exit;
+ }
+ }
+
+ // Reset post data
+ wp_reset_postdata();
+ }
+
+
}
// Get existing post data if editing
diff --git a/page-edit-email-account.php b/page-edit-email-account.php
index 6373769..c7aaec7 100644
--- a/page-edit-email-account.php
+++ b/page-edit-email-account.php
@@ -18,8 +18,9 @@ log_to_file("Email Account Edit template - Post Data: ", $_POST);
// Handle form submission
if ($_SERVER['REQUEST_METHOD'] === 'POST' && isset($_POST['email_submit']) && isset($_POST['email_address'])) {
+ $post_title = strtolower(sanitize_email($_POST['email_address']));
$post_data = array(
- 'post_title' => sanitize_email($_POST['email_address']),
+ 'post_title' => $post_title,
'post_type' => 'email-account',
'post_status' => 'publish'
);
@@ -36,31 +37,47 @@ if ($_SERVER['REQUEST_METHOD'] === 'POST' && isset($_POST['email_submit']) && is
$new_post = false;
$message = ['status' => 'success', 'message' => 'Email account updated successfully.'];
} else {
- $post_id = wp_insert_post($post_data);
- $message = ['status' => 'success', 'message' => 'Email account added successfully.'];
- }
+ // Prepare WP_Query to check for an existing post with the same title
+ $args = [
+ 'post_type' => 'email-account', // Replace with your post type
+ 'post_status' => 'any',
+ 'title' => $post_title,
+ 'fields' => 'id',
+ 'posts_per_page' => 1
+ ];
+
+ $query = new WP_Query($args);
- if (!is_wp_error($post_id)) {
- foreach ($meta_fields as $field) {
- if (isset($_POST[$field])) {
- update_post_meta($post_id, $field, sanitize_text_field($_POST[$field]));
+ if ($query->have_posts()) {
+ log_to_file("Email Account Edit template - email account {$post_title} already exists: ");
+ $message = ['status' => 'error', 'message' => 'Email account already exists.'];
+ } else {
+ $post_id = wp_insert_post($post_data);
+ $new_post = true;
+ $message = ['status' => 'success', 'message' => 'Email account added successfully.'];
+ if (!is_wp_error($post_id)) {
+ foreach ($meta_fields as $field) {
+ if (isset($_POST[$field])) {
+ update_post_meta($post_id, $field, sanitize_text_field($_POST[$field]));
+ }
+ }
+ // include new accounts in the warmup pool and set the owner_id to the creator of the post
+ if ($new_post) {
+ update_post_meta($post_id, 'owner_id', $current_user_id);
+ update_post_meta($post_id, 'include_in_warmup_pool', $current_user_id);
+ }
+
+ } else {
+ $message = ['status' => 'error', 'message' => 'Error: ' . $post_id->get_error_message()];
+ }
+
+ if ( !(isset($_POST['stay_on_page']) && ($_POST['stay_on_page'] === 'on')) ) {
+ // log_to_file("Email Account Edit template - stay_on_page not set; redirecting!");
+ wp_redirect( get_permalink( $post_id ) );
+ exit;
}
}
- // include new accounts in the warmup pool and set the owner_id to the creator of the post
- if ($new_post) {
- update_post_meta($post_id, 'owner_id', $current_user_id);
- update_post_meta($post_id, 'include_in_warmup_pool', $current_user_id);
- }
-
- } else {
- $message = ['status' => 'error', 'message' => 'Error: ' . $post_id->get_error_message()];
- }
-
- if ( !(isset($_POST['stay_on_page']) && ($_POST['stay_on_page'] === 'on')) ) {
- // log_to_file("Email Account Edit template - stay_on_page not set; redirecting!");
- wp_redirect( get_permalink( $post_id ) );
- exit;
- }
+ }
}
// Get existing post data if editing
diff --git a/page-email-accounts.php b/page-email-accounts.php
index 4e5bd6d..2414a9f 100644
--- a/page-email-accounts.php
+++ b/page-email-accounts.php
@@ -9,7 +9,7 @@ if ( ! defined( 'ABSPATH' ) ) {
exit; // Exit if accessed directly.
}
-$items_per_page = isset($_GET['per_page']) ? intval($_GET['per_page']) : 10;
+$items_per_page = isset($_GET['per_page']) ? intval($_GET['per_page']) : 25;
get_header(); ?>
diff --git a/single-campaign.php b/single-campaign.php
index dd3b1c3..735ee23 100644
--- a/single-campaign.php
+++ b/single-campaign.php
@@ -25,6 +25,7 @@ get_header(); ?>
while ( have_posts() ) :
the_post();
+ $post_id = get_the_ID();
?>
@@ -52,9 +53,15 @@ get_header(); ?>
do_action( 'generate_before_entry_title' );
if ( generate_show_title() ) {
- $params = generate_get_the_title_parameters();
+ $params = generate_get_the_title_parameters();
+ $post_id = get_the_ID(); // Get the current post ID
+ $edit_url = "/dashboard/campaigns/edit-campaign?edit={$post_id}"; // Construct the edit URL
- the_title( $params['before'], $params['after'] );
+ echo $params['before']; // Output the title before markup
+ echo '
'; // Begin the link
+ the_title(); // Display the title
+ echo ' '; // Close the link
+ echo $params['after']; // Output the title after markup
}
/**
@@ -65,7 +72,9 @@ get_header(); ?>
* @hooked generate_post_meta - 10
*/
do_action( 'generate_after_entry_title' );
+ $campaign_tracking_id = get_field('campaign_tracking_id', $post_id);
?>
+