public static function fprac_admin_settings() { global $woocommerce, $woocommerce_settings, $current_section, $current_tab; $tabs = ""; do_action('woocommerce_fprac_settings_start'); $current_tab = empty($_GET['tab']) ? 'fpracgenral' : sanitize_text_field(urldecode($_GET['tab'])); $current_section = empty($_REQUEST['section']) ? '' : sanitize_text_field(urldecode($_REQUEST['section'])); if (!empty($_POST['save'])) { if (empty($_REQUEST['_wpnonce']) || !wp_verify_nonce($_REQUEST['_wpnonce'], 'woocommerce-settings')) { die(__('Action failed. Please refresh the page and retry.', 'woocommercecustomtext')); } if (!$current_section) { //include_once('settings/settings-save.php'); switch ($current_tab) { default: if (isset($woocommerce_settings[$current_tab])) { woocommerce_update_options($woocommerce_settings[$current_tab]); } // Trigger action for tab do_action('woocommerce_update_options_' . $current_tab); break; } do_action('woocommerce_update_options'); // Handle Colour Settings if ($current_tab == 'general' && get_option('woocommerce_frontend_css') == 'yes') { } } else { // Save section onlys do_action('woocommerce_update_options_' . $current_tab . '_' . $current_section); } // Clear any unwanted data // $woocommerce->clear_product_transients(); delete_transient('woocommerce_cache_excluded_uris'); // Redirect back to the settings page $redirect = esc_url_raw(add_query_arg(array('saved' => 'true'))); // $redirect .= add_query_arg('noheader', 'true'); if (isset($_POST['subtab'])) { wp_safe_redirect($redirect); exit; } } // Get any returned messages $error = empty($_GET['wc_error']) ? '' : urldecode(stripslashes($_GET['wc_error'])); $message = empty($_GET['wc_message']) ? '' : urldecode(stripslashes($_GET['wc_message'])); if ($error || $message) { if ($error) { echo '<div id="message" class="error fade"><p><strong>' . esc_html($error) . '</strong></p></div>'; } else { echo '<div id="message" class="updated fade"><p><strong>' . esc_html($message) . '</strong></p></div>'; } } elseif (!empty($_GET['saved'])) { echo '<div id="message" class="updated fade"><p><strong>' . __('Your settings have been saved.', 'recoverabandoncart') . '</strong></p></div>'; } elseif (!empty($_GET['resetted'])) { echo '<div id="message" class="updated fade"><p><strong>' . __('Your settings have been Restored.', 'recoverabandoncart') . '</strong></p></div>'; } ?> <div class="wrap woocommerce"> <form method="post" id="mainform" action="" enctype="multipart/form-data"> <div class="icon32 icon32-woocommerce-settings" id="icon-woocommerce"><br /></div><h2 class="nav-tab-wrapper woo-nav-tab-wrapper"> <?php $tabs = apply_filters('woocommerce_fprac_settings_tabs_array', $tabs); foreach ($tabs as $name => $label) { echo '<a href="' . admin_url('admin.php?page=fprac_slug&tab=' . $name) . '" class="nav-tab ' . ($current_tab == $name ? 'nav-tab-active' : '') . '">' . $label . '</a>'; } do_action('woocommerce_fprac_settings_tabs'); ?> </h2> <?php switch ($current_tab) { case "fpractable": RecoverAbandonCart::fp_rac_adandoncart_admin_display(); break; case "fpracemail": if (!isset($_GET['rac_new_email']) && !isset($_GET['rac_edit_email']) && !isset($_GET['rac_send_email'])) { do_action('woocommerce_fprac_settings_tabs_' . $current_tab); // @deprecated hook do_action('woocommerce_fprac_settings_' . $current_tab); ?> <p class="submit" style="margin-left: 25px;"> <?php if (!isset($GLOBALS['hide_save_button'])) { ?> <input name="save" class="button-primary" type="submit" value="<?php _e('Save', 'recoverabandoncart'); ?> " /> <?php } ?> <input type="hidden" name="subtab" id="last_tab" /> <?php wp_nonce_field('woocommerce-settings'); ?> </p> <p><h3><?php _e('Mail Template Settings', 'recoverabandoncart'); ?> </h3></p> <?php } //email template lists global $wpdb; $table_name = $wpdb->prefix . 'rac_templates_email'; $templates = $wpdb->get_results("SELECT * FROM {$table_name}", OBJECT); if (isset($_GET['rac_new_email'])) { $editor_id = "rac_email_template_new"; //$content = get_option('rac_email_template'); $settings = array('textarea_name' => 'rac_email_template_new'); $admin_url = admin_url('admin.php'); $template_list_url = esc_url_raw(add_query_arg(array('page' => 'fprac_slug', 'tab' => 'fpracemail'), $admin_url)); $content = "Hi {rac.firstname}, <br><br>You have not completed your purchase.<br><br>Product Information{rac.Productinfo}.<br><br>Use the following link to make the purchase.<br>{rac.cartlink} <br><br> Thanks"; echo '<table class="widefat"><tr><td>'; echo '<tr><td colspan="2"><span><strong>Use {rac.cartlink} to insert the Cart Link in the mail</strong></span></td></tr>'; echo '<tr><td colspan="2"><span><strong>Use {rac.firstname} to insert Reciever First Name in the mail</strong></span></td></tr>'; echo '<tr><td colspan="2"><span><strong>Use {rac.lastname} to insert Receiver Last Name in the mail</strong></span></td></tr>'; echo '<tr><td colspan="2"><span><strong>Use {rac.Productinfo} to insert Product Information in the mail</strong></span></td></tr>'; echo '<tr><td colspan="2"><span><strong>Use {rac.coupon} to insert Coupon Code in the mail</strong></span></td></tr><tr><td>'; echo '<tr><td>' . __('Template Name', 'recoverabandoncart') . ': </td><td><input type="text" name="rac_template_name" id="rac_template_name"></td></tr>'; echo '<tr><td>' . __('Template Status', 'recoverabandoncart') . ':</td><td> <select name="rac_template_status" id="rac_template_status"> <option value="ACTIVE">Activated</option> <option value="NOTACTIVE">Deactivated</option> </select></td></tr>'; // mail plain or html echo '<tr><td>' . __('Email Template Type', 'recoverabandoncart') . ':</td><td><select name="rac_template_mail" class="rac_template_mail"> <option value="HTML">Woocommerce Template</option> <option value="PLAIN">HTML Template</option> </select></td></tr>'; // mail plain or html // mail logo upload echo '<tr class="rac_logo_link"><td>' . __('Header Image For HTML Template', 'recoverabandoncart') . ':</td><td><input type="text" size="40" name="rac_logo_mail" id="rac_logo_mail"><input class="upload_button" id="image_uploader" type="submit" value="Media Uploader" /></td></tr>'; // mail logo upload echo '<tr><td>' . __('Email Sender Option', 'recoverabandoncart') . ': </td><td><input type="radio" name="rac_sender_opt" id="rac_sender_woo" value="woo" class="rac_sender_opt">woocommerce <input type="radio" name="rac_sender_opt" id="rac_sender_local" value="local" class="rac_sender_opt">local</td></tr>'; echo '<tr class="rac_local_senders"><td>' . __('From Name', 'recoverabandoncart') . ': </td><td><input type="text" name="rac_from_name" id="rac_from_name"></td></tr>'; echo '<tr class="rac_local_senders"><td>' . __('From Email', 'recoverabandoncart') . ': </td><td><input type="text" name="rac_from_email" id="rac_from_email"></td></tr>'; echo '<tr><td>' . __('Subject', 'recoverabandoncart') . ':</td><td> <input type="text" name="rac_subject" id="rac_subject"></td></tr>'; echo '<tr><td>' . __('Duration to Send Mail After Abandoned Cart', 'recoverabandoncart') . ':<select name="rac_duration_type" id="rac_duration_type"> <option value="minutes">Minutes</option> <option value="hours">Hours</option> <option value="days">Days</option </select></td>'; echo '<td><span><input type="text" name="rac_mail_duration" id="rac_duration"></span></td></tr>'; echo '<tr><td>' . __('Cart Link Anchor Text', 'recoverabandoncart') . ': </td><td><input type="text" name="rac_anchor_text" value="Cart Link" id="rac_anchor_text"></td></tr>'; echo '<tr><td> ' . __('Message', 'recoverabandoncart') . ':</td>'; echo '<td>'; wp_editor($content, $editor_id, $settings); echo '</td></tr>'; echo '<tr><td><input type="button" name="rac_save_new_template" class="button button-primary button-large" id="rac_save_new_template" value="Save"> '; echo '<a href="' . $template_list_url . '"><input type="button" class="button" name="returntolist" value="Return to Mail Templates"></a> '; echo '</td></tr>'; echo '</table>'; ?> <script> function get_tinymce_content() { if (jQuery("#wp-rac_email_template_new-wrap").hasClass("tmce-active")) { //rac_email_template_new return tinyMCE.get('rac_email_template_new').getContent(); //return tinyMCE.activeEditor.getContent(); } else { return jQuery("#rac_email_template_new").val(); } } jQuery(document).ready(function () { jQuery("#rac_template_name").val("Default"); jQuery("#rac_from_name").val("Admin"); jQuery("#rac_sender_woo").attr("checked", "checked"); jQuery(".rac_sender_opt").change(function () { if (jQuery("#rac_sender_woo").is(":checked")) { jQuery(".rac_local_senders").css("display", "none"); } else { jQuery(".rac_local_senders").css("display", "table-row"); } }); jQuery("#rac_subject").val("Recover Abandon Cart"); jQuery("#rac_from_email").val("<?php echo get_option('admin_email'); ?> "); jQuery("#rac_duration_type").val("days"); jQuery("#rac_template_status").val("ACTIVE"); jQuery(".rac_template_mail").val("HTML"); jQuery("#rac_logo_mail").val("<?php echo $admin_url; ?> "); jQuery("#rac_duration").val("1"); jQuery("#rac_email_template_new").val("Hi {rac.firstname}, <br><br>You have not completed your purchase.<br><br>Use the following link to make the purchase.<br>{rac.cartlink} <br><br> Thanks"); jQuery("#rac_duration_type").change(function () { jQuery("span#rac_duration").html(jQuery("#rac_duration_type").val()); }); jQuery("#rac_save_new_template").click(function () { jQuery(this).prop("disabled", true); var rac_template_name = jQuery("#rac_template_name").val(); var rac_template_status = jQuery("#rac_template_status").val(); var rac_sender_option = jQuery("input:radio[name=rac_sender_opt]:checked").val(); var rac_from_name = jQuery("#rac_from_name").val(); var rac_from_email = jQuery("#rac_from_email").val(); var rac_subject = jQuery("#rac_subject").val(); var rac_anchor_text = jQuery("#rac_anchor_text").val(); var rac_message = get_tinymce_content(); var rac_duration_type = jQuery("#rac_duration_type").val(); var rac_mail_duration = jQuery("span #rac_duration").val(); var rac_template_mail = jQuery(".rac_template_mail").val(); // mail plain or html var rac_logo_mail = jQuery("#rac_logo_mail").val(); // mail logo upload console.log(jQuery("#rac_email_template_new").val()); var data = { action: "rac_new_template", rac_sender_option: rac_sender_option, rac_template_name: rac_template_name, rac_template_status: rac_template_status, rac_from_name: rac_from_name, rac_from_email: rac_from_email, rac_subject: rac_subject, rac_anchor_text: rac_anchor_text, rac_message: rac_message, rac_duration_type: rac_duration_type, rac_mail_duration: rac_mail_duration, rac_template_mail: rac_template_mail, // mail plain or html rac_logo_mail: rac_logo_mail // mail logo upload }; jQuery.ajax({ type: "POST", url: ajaxurl, data: data }).done(function (response) { jQuery("#rac_save_new_template").prop("disabled", false); window.location.replace("<?php echo $template_list_url; ?> "); }); console.log(data); }); // mail logo upload var uploader_open; jQuery('.upload_button').click(function (e) { e.preventDefault(); if (uploader_open) { uploader_open.open(); return; } uploader_open = wp.media.frames.uploader_open = wp.media({ title: 'Media Uploader', button: { text: 'Media Uploader' }, multiple: false }); //When a file is selected, grab the URL and set it as the text field's value uploader_open.on('select', function () { attachment = uploader_open.state().get('selection').first().toJSON(); jQuery('#rac_logo_mail').val(attachment.url); }); uploader_open.open(); }); //mail logo upload }); </script> <style> .rac_local_senders{ display:none; } #image_uploader { color: blueviolet; } </style> <?php } else { if (isset($_GET['rac_edit_email']) && !isset($_GET['preview'])) { $template_id = $_GET['rac_edit_email']; $edit_templates = $wpdb->get_results("SELECT * FROM {$table_name} WHERE id={$template_id}", OBJECT); $edit_templates = $edit_templates[0]; // get array 0 value mutidimensional method $admin_url = admin_url('admin.php'); $template_list_url = esc_url_raw(add_query_arg(array('page' => 'fprac_slug', 'tab' => 'fpracemail'), $admin_url)); $editor_id = "rac_email_template_edit"; $content = $edit_templates->message; $settings = array('textarea_name' => 'rac_email_template_edit'); echo '<table class="widefat"><tr><td>'; echo '<tr><td colspan="2"><span><strong>Use {rac.cartlink} to insert the Cart Link in the mail</strong></span></td></tr>'; echo '<tr><td colspan="2"><span><strong>Use {rac.firstname} to insert Reciever First Name in the mail</strong></span></td></tr>'; echo '<tr><td colspan="2"><span><strong>Use {rac.lastname} to insert Reciever Last Name in the mail</strong></span></td></tr>'; echo '<tr><td colspan="2"><span><strong>Use {rac.Productinfo} to insert Product Information in the mail</strong></span></td></tr>'; echo '<tr><td colspan="2"><span><strong>Use {rac.coupon} to insert Coupon Code in the mail</strong></span></td></tr><tr><td>'; echo __('Template Name', 'recoverabandoncart') . ':</td>'; echo '<td><input type="text" name="rac_template_name" id="rac_template_name" value="' . $edit_templates->template_name . '"></td></tr>'; $template_active = selected($edit_templates->status, 'ACTIVE', false); $template_not_active = selected($edit_templates->status, 'NOTACTIVE', false); echo '<tr><td>' . __('Template Status', 'recoverabandoncart') . ':</td><td> <select name="rac_template_status" id="rac_template_status"> <option value="ACTIVE" ' . $template_active . '>Activated</option> <option value="NOTACTIVE" ' . $template_not_active . '>Deactivated</option> </select></td></tr>'; // mail plain or html $template_html = selected($edit_templates->mail, 'HTML', false); $template_plain = selected($edit_templates->mail, 'PLAIN', false); echo '<tr><td>' . __('Email Template Type', 'recoverabandoncart') . ':</td><td><select name="rac_template_mail" class="rac_template_mail"> <option value="HTML" ' . $template_html . '>Woocommerce Template</option> <option value="PLAIN" ' . $template_plain . '>HTML Template</option> </select></td></tr>'; // mail plain or html // mail logo upload echo '<tr class="rac_logo_link"><td>' . __('Header Image For HTML Template', 'recoverabandoncart') . ':</td><td><input type="text" size="40" name="rac_logo_mail" id="rac_logo_mail" value="' . $edit_templates->link . '"><input class="upload_button" id="image_uploader" type="submit" value="Media Uploader" /></td></tr>'; // mail logo upload $woo_selected = checked($edit_templates->sender_opt, 'woo', false); $local_selected = checked($edit_templates->sender_opt, 'local', false); echo '<tr><td>' . __('Email Sender Option', 'recoverabandoncart') . ': </td><td><input type="radio" name="rac_sender_opt" id="rac_sender_woo" value="woo" ' . $woo_selected . ' class="rac_sender_opt">woocommerce <input type="radio" name="rac_sender_opt" id="rac_sender_local" value="local" ' . $local_selected . ' class="rac_sender_opt">local</td></tr>'; echo '<tr class="rac_local_senders"><td>' . __('From Name', 'recoverabandoncart') . ':</td>'; echo '<td><input type="text" name="rac_from_name" id="rac_from_name" value="' . $edit_templates->from_name . '"></td></tr>'; echo '<tr class="rac_local_senders"><td>' . __('From Email', 'recoverabandoncart') . ':</td>'; echo '<td><input type="text" name="rac_from_email" id="rac_from_email" value="' . $edit_templates->from_email . '"></td></tr>'; echo '<tr><td>' . __('Subject', 'recoverabandoncart') . ':</td>'; echo '<td><input type="text" name="rac_subject" id="rac_subject" value="' . $edit_templates->subject . '"></td></tr>'; $duration_type = $edit_templates->sending_type; echo '<tr><td>' . __('Send Mail Duration', 'recoverabandoncart') . ':<select name="rac_duration_type" id="rac_duration_type"> <option value="minutes" ' . selected($duration_type, "minutes", false) . '>Minutes</option> <option value="hours" ' . selected($duration_type, "hours", false) . '>Hours</option> <option value="days" ' . selected($duration_type, "days", false) . '>Days</option </select>'; echo '</td><td><span><input type="text" name="rac_mail_duration" id="rac_duration" value="' . $edit_templates->sending_duration . '"></span></td></tr>'; echo '<tr><td>' . __('Cart Link Anchor Text', 'recoverabandoncart') . ': </td><td><input type="text" name="rac_anchor_text" id="rac_anchor_text" value="' . $edit_templates->anchor_text . '"></td></tr>'; echo '<tr><td> ' . __('Message', 'recoverabandoncart') . ':</td>'; echo '<td>'; wp_editor($content, $editor_id, $settings); echo '</td></tr>'; echo '<tr><td>'; echo '<input type="button" class="button button-primary button-large" name="rac_save_new_template" id="rac_save_new_template" value="' . __('Save Changes', 'recoverabandoncart') . '"> '; echo '<a href="' . $template_list_url . '"><input type="button" class="button" name="returntolist" value="' . __('Return to Mail Templates', 'recoverabandoncart') . '"></a> '; echo '</td></tr>'; echo '<tr><td>'; echo '<div id="rac_mail_result" style="display:none"> Settings Saved</div>'; echo '</td></tr>'; echo '</table>'; echo '<script> function get_tinymce_content() { if (jQuery("#wp-rac_email_template_edit-wrap").hasClass("tmce-active")) { return tinyMCE.get("rac_email_template_edit").getContent(); } else { return jQuery("#rac_email_template_edit").val(); } } jQuery(document).ready(function(){ jQuery("#rac_duration_type").change(function(){ jQuery("span#rac_duration").html(jQuery("#rac_duration_type").val()); }); //normal ready event if(jQuery("#rac_sender_woo").is(":checked")){ jQuery(".rac_local_senders").css("display","none"); }else{ jQuery(".rac_local_senders").css("display","table-row"); } jQuery(".rac_sender_opt").change(function(){ if(jQuery("#rac_sender_woo").is(":checked")){ jQuery(".rac_local_senders").css("display","none"); }else{ jQuery(".rac_local_senders").css("display","table-row"); } }); jQuery("#rac_save_new_template").click(function(){ jQuery(this).prop("disabled",true); var rac_template_name = jQuery("#rac_template_name").val(); var rac_template_status = jQuery("#rac_template_status").val(); var rac_sender_option = jQuery("input:radio[name=rac_sender_opt]:checked").val(); var rac_from_name = jQuery("#rac_from_name").val(); var rac_from_email = jQuery("#rac_from_email").val(); var rac_subject = jQuery("#rac_subject").val(); var rac_anchor_text = jQuery("#rac_anchor_text").val(); var rac_message = get_tinymce_content(); var rac_duration_type = jQuery("#rac_duration_type").val(); var rac_mail_duration = jQuery("span #rac_duration").val(); var rac_template_mail = jQuery(".rac_template_mail").val(); // mail plain or html var rac_logo_mail = jQuery("#rac_logo_mail").val(); // mail logo upload var rac_template_id = ' . $template_id . ' console.log(jQuery("#rac_email_template_edit").val()); var data = { action:"rac_edit_template", rac_sender_option:rac_sender_option, rac_template_name:rac_template_name, rac_template_status:rac_template_status, rac_from_name:rac_from_name, rac_from_email:rac_from_email, rac_subject:rac_subject, rac_anchor_text:rac_anchor_text, rac_message:rac_message, rac_duration_type:rac_duration_type, rac_mail_duration:rac_mail_duration, rac_template_id:rac_template_id, rac_template_mail:rac_template_mail, // mail plain or html rac_logo_mail: rac_logo_mail // mail logo upload }; jQuery.ajax({ type:"POST", url:ajaxurl, data:data }).done(function(response){ jQuery("#rac_save_new_template").prop("disabled",false); jQuery("#rac_mail_result").css("display","block"); }); console.log(data); }); });</script> <style> #image_uploader { color: blueviolet; } </style> '; } else { if (isset($_GET['rac_send_email'])) { ?> <table class="widefat"> <tr> <td><?php _e('Load Message from existing Template'); ?> </td> <td><select id="rac_load_mail"> <?php foreach ($templates as $key => $each_template) { if ($key == 0) { $template_name = $each_template->template_name . '( #' . $each_template->id . ')'; echo '<option value=' . $each_template->id . ' selected>' . $template_name . '</option>'; } else { $template_name = $each_template->template_name . '( #' . $each_template->id . ')'; echo '<option value=' . $each_template->id . '>' . $template_name . '</option>'; } } ?> </select></td> </tr> <!--mail plain or html--> <tr> <td><?php _e('Email Template Type'); ?> </td> <td><select name="rac_template_mail" class="rac_template_mail"> <option value="HTML"<?php selected('HTML', $templates[0]->mail); ?> >Woocommerce Template</option> <option value="PLAIN"<?php selected('PLAIN', $templates[0]->mail); ?> >HTML Template</option> </select></td> </tr> <!-- mail plain or html--> <!-- mail logo upload --> <tr class="rac_logo_link"> <td><?php _e('Header Image For HTML Template', 'recoverabandoncart'); ?> :</td> <td><input type="text" size="40" name="rac_logo_mail" id="rac_logo_mail" value="<?php echo $templates[0]->link; ?> "><input class="upload_button" id="image_uploader" type="submit" value="Media Uploader" /></td> </tr> <!-- mail logo upload--> <tr> <td><?php _e('Email Sender Option', 'recoverabandoncart'); ?> : </td> <td> <input type="radio" name="rac_sender_opt" id="rac_sender_woo" value="woo" <?php checked('woo', $templates[0]->sender_opt); ?> class="rac_sender_opt">woocommerce <input type="radio" name="rac_sender_opt" id="rac_sender_local" value="local" <?php checked('local', $templates[0]->sender_opt); ?> class="rac_sender_opt">local </td> </tr> <tr class="rac_local_senders"> <td> <?php _e('From Name', 'recoverabandoncart'); ?> :</td> <td><input type="text" name="rac_from_name" id="rac_from_name" value="<?php echo $templates[0]->from_name; ?> "></td> </tr> <tr class="rac_local_senders"> <td><?php _e('From Email', 'recoverabandoncart'); ?> :</td> <td><input type="text" name="rac_from_email" id="rac_from_email" value="<?php echo $templates[0]->from_email; ?> "></td> </tr> <tr> <td>Subject:</td> <td><input type="text" id="rac_mail_subject" name="rac_manual_mail_subject" value="<?php echo $templates[0]->subject; ?> "></td> </tr> <tr> <td>Cart Link Anchor Text:</td> <td><input type="text" id="rac_anchor_text" name="rac_anchor_text" value="<?php echo $templates[0]->anchor_text; ?> "></td> </tr> <tr> <td><?php _e('Message', 'recoverabandoncart'); ?> :</td> <?php $content = $templates[0]->message; $editor_id = "rac_manual_mail"; $settings = array('textarea_name' => 'rac_manual_mail'); ?> <td><?php wp_editor($content, $editor_id, $settings); ?> </td> </tr> <tr> <td> <input type="hidden" name="rac_cart_row_ids" id="rac_cart_row_ids" value="<?php echo $_GET['rac_send_email']; ?> "> </td> </tr> <tr> <td><input type="button" class="button-primary" name="rac_mail" id="rac_mail" value="Send Mail Now"> <span id="rac_mail_result" style="display: none;">Mail Sent Successfully</span></td> </tr> </table> <script type="text/javascript"> function set_tinymce_content(value) { if (jQuery("#wp-rac_manual_mail-wrap").hasClass("tmce-active")) { return tinyMCE.activeEditor.setContent(value); } else { return jQuery("#rac_manual_mail").val(value); } } function get_tinymce_content_value() { if (jQuery("#wp-rac_manual_mail-wrap").hasClass("tmce-active")) { return tinyMCE.get('rac_manual_mail').getContent(); //return tinyMCE.activeEditor.getContent(); } else { return jQuery("#rac_manual_mail").val(); } } jQuery(document).ready(function () { var template_id; template_id = jQuery('#rac_load_mail').val(); jQuery('#rac_load_mail').change(function () { if (jQuery('#rac_load_mail').val() != 'no') { console.log(jQuery('#rac_load_mail').val()); var row_id = jQuery('#rac_load_mail').val(); var data = { action: 'rac_load_mail_message', row_id: row_id } jQuery.post(ajaxurl, data, function (response) { //alert(response); var template = JSON.parse(response); console.log(template.message); //var k = jQuery("select option:selected").text(); set_tinymce_content(template.message); console.log(jQuery('#rac_manual_mail').val()); jQuery("input[name=rac_sender_opt][value=" + template.mail_send_opt + "]").attr('checked', true); jQuery("select option[value=" + template.mail + "]").prop('selected', true); // mail plain or html jQuery("#rac_from_name").val(template.from_name); jQuery("#rac_logo_mail").val(template.link); //mail logo upload jQuery("#rac_from_email").val(template.from_email); jQuery("#rac_mail_subject").val(template.subject); jQuery("#rac_anchor_text").val(template.cart_link_text); template_id = row_id; }); } }); //event for sender opt if (jQuery('#rac_sender_woo').is(':checked')) { jQuery('.rac_local_senders').hide(); } else { jQuery('.rac_local_senders').show(); } jQuery('input[name=rac_sender_opt]').change(function () { if (jQuery('#rac_sender_woo').is(':checked')) { jQuery('.rac_local_senders').hide(); } else { jQuery('.rac_local_senders').show(); } }); jQuery('#rac_mail').click(function () { // send mail now button when you cick trigger this function jQuery("#rac_mail").prop("disabled", true); var rac_message = get_tinymce_content_value(); var data = { action: 'rac_manual_mail_ajax', rac_mail_row_ids: jQuery('#rac_cart_row_ids').val(), rac_sender_option: jQuery('input[name=rac_sender_opt]:radio:checked').val(), rac_template_mail: jQuery('select[name=rac_template_mail]').val(), // mail plain or html rac_logo_mail: jQuery('#rac_logo_mail').val(), //mail logo upload rac_anchor_text: jQuery('#rac_anchor_text').val(), rac_message: rac_message, rac_from_name: jQuery('#rac_from_name').val(), rac_from_email: jQuery('#rac_from_email').val(), rac_mail_subject: jQuery('#rac_mail_subject').val(), template_id: template_id, } console.log(data); jQuery.post(ajaxurl, data, function (response) { jQuery("#rac_mail").prop("disabled", false); jQuery("#rac_mail_result").css("display", "inline-block"); //alert(response); //jQuery('#rac_manual_mail').val(response); // tinyMCE.get('rac_manual_mail').setContent(response); // console.log(jQuery('#rac_manual_mail').val()); }); }); });</script> <?php } elseif (isset($_GET['preview'])) { global $wpdb; $table_name = $wpdb->prefix . 'rac_templates_email'; $id = $_GET['rac_edit_email']; $templates = $wpdb->get_results("SELECT * FROM {$table_name} WHERE id= {$id}", ARRAY_A); foreach ($templates as $each_template) { $mail_logo_added = $each_template['link']; $view_template = $each_template['mail']; $logo = '<p style="margin-top:0;"><img src="' . esc_url($mail_logo_added) . '" width="100" height="100"/></a></p>'; $subject = $each_template['subject']; $message = $each_template['message']; if ($view_template == "HTML") { echo self::email_template($subject, $message); } else { ?> <style type="text/css"> div.block { background: #ffffff; border-radius: 10px; } div.centered { display: inline-block; width: 2px; height: 350px; padding: 10px 15px; background:#ffffff; } </style> <div class="block" style="height: 400px;width: 100%;"> <div class="centered" style="float:left;"> </div> </br> <p> <?php echo self::template_ready($message, $logo); ?> </p> </div> <?php } } } else { $admin_url = admin_url('admin.php'); $new_template_url = esc_url_raw(add_query_arg(array('page' => 'fprac_slug', 'tab' => 'fpracemail', 'rac_new_email' => 'template'), $admin_url)); $edit_template_url = esc_url_raw(add_query_arg(array('page' => 'fprac_slug', 'tab' => 'fpracemail', 'rac_edit_email' => 'template'), $admin_url)); echo '<a href=' . $new_template_url . '>'; echo '<input type="button" name="rac_new_email_template" id="rac_new_email_template" class="button" value="New Template">'; echo '</a>'; echo ' <span><select id="rac_pagination">'; for ($k = 1; $k <= 20; $k++) { if ($k == 10) { echo '<option value="' . $k . '" selected="selected">' . $k . '</option>'; } else { echo '<option value="' . $k . '">' . $k . '</option>'; } } echo '</select></span>'; echo ' <label>Search</label><input type="text" name="rac_temp_search" id="rac_temp_search">'; echo '<table class="rac_email_template_table table" data-page-size="10" data-filter="#rac_temp_search" data-filter-minimum="1"> <thead> <tr> <th data-type="numeric">' . __('ID', 'recoverabandoncart') . '</th> <th>' . __('Template Name', 'recoverabandoncart') . '</th> <th>' . __('From Name', 'recoverabandoncart') . '</th> <th>' . __('From Email', 'recoverabandoncart') . '</th> <th>' . __('Subject', 'recoverabandoncart') . '</th> <th data-hide="phone">' . __('Message', 'recoverabandoncart') . '</th> <th>' . __('Status', 'recoverabandoncart') . '</th> <th>' . __('Email Preview', 'recoverabandoncart') . '</th> <th>' . __('Duplicate', 'recoverabandoncart') . '</th> </tr> </thead>'; foreach ($templates as $each_template) { echo '<tr><td data-value=' . $each_template->id . ' >'; echo $each_template->id; $edit_template_url = esc_url_raw(add_query_arg(array('page' => 'fprac_slug', 'tab' => 'fpracemail', 'rac_edit_email' => $each_template->id), $admin_url)); $email_template_url = esc_url_raw(add_query_arg(array('page' => 'fprac_slug', 'tab' => 'fpracemail', 'rac_edit_email' => $each_template->id, 'preview' => 'true'), $admin_url)); echo ' <span><a href="' . $edit_template_url . '">' . __('Edit', 'recoverabandoncart') . ' </a></span> <span><a href="" class="rac_delete" data-id="' . $each_template->id . '">' . __('Delete', 'recoverabandoncart') . '</a></span>'; echo '</td><td>'; echo $each_template->template_name; echo '</td><td>'; if ("local" == $each_template->sender_opt) { echo $each_template->from_name; echo '</td><td>'; echo $each_template->from_email; } else { echo get_option('woocommerce_email_from_name'); echo '</td><td>'; echo get_option('woocommerce_email_from_address'); } echo '</td><td>'; echo $each_template->subject; echo '</td><td>'; $message = strip_tags($each_template->message); if (strlen($message) > 80) { echo substr($message, 0, 80); echo '.....'; } else { echo $message; } echo '</td>'; echo '<td>'; $mail_id = $each_template->id; $status = $each_template->status; if ($status == 'ACTIVE') { echo ' <a href="#" class="button rac_mail_active" data-racmailid="' . $mail_id . '" data-currentstate="ACTIVE">Deactivate</a>'; } else { echo ' <a href="#" class="button rac_mail_active" data-racmailid="' . $mail_id . '" data-currentstate="NOTACTIVE">Activate</a>'; } echo '</td>'; echo '<td>'; echo ' <a href="' . $email_template_url . ' "target=_blank"> View </a>'; echo '</td>'; echo '<td>'; echo '<input type="button" name="rac_copy_email_template" data-value="' . $each_template->id . '" id="rac_copy_email_template' . $each_template->id . '" class="button rac_copy_email_template" value="Duplicate">'; echo '</td></tr>'; } echo '</tbody> <tfoot> <tr> <td colspan="9"> <div class="pagination pagination-centered hide-if-no-paging"></div> </td> </tr> </tfoot></table>'; } } } ?> <script type="text/javascript"> jQuery(document).ready(function () { jQuery('.rac_copy_email_template').click(function () { var row_id = (jQuery(this).attr("data-value")); var dataparam = ({ action: 'copy_this_template', row_id: row_id, }); jQuery.post("<?php echo admin_url('admin-ajax.php'); ?> ", dataparam, function (response) { console.log(response); window.setTimeout(function () { location.reload(); }, 1000); }); }); }); </script> <?php break; case "fpracupdate": echo '<table class="form-table"><tr> <th>Add WC Order which are <td><p><input type="checkbox" name="order_status[]" value="on-hold">on-hold</p> <p><input type="checkbox" name="order_status[]" value="pending">Pending</p> <p><input type="checkbox" name="order_status[]" value="failed" checked>Failed</p> <p><input type="checkbox" name="order_status[]" value="cancelled">Cancelled</p></td> </tr><tr> <th>With</th><td><select id="order_time"> <option value="all">All time</option> <option value="specific">Specific</option> </td> </tr> <tr style="display: none" id="specific_row"> <th>Specific Time</th> <td>From <input type="text" name="from_date" id="from_time" class="rac_date"> To <input type="text" id="to_time" name="to_date" class="rac_date"></td> </tr> <tr> <td><input type="button" class="button button-primary" name="update_order" id="update_order" value="Check for Abandoned Cart"></td> <td><img style="width: 30px;height: 30px;display: none;" class="perloader_image" src="' . WP_PLUGIN_URL . '/rac/images/update.gif"/><p id="update_response"></p></td> </tr> </table>'; //ajax call echo '<script>jQuery(document).ready(function(){ jQuery("#specific_row").css("display","none"); jQuery("#order_time").change(function(){ if(jQuery(this).val() == "specific"){ jQuery("#specific_row").css("display","table-row"); }else{ jQuery("#specific_row").css("display","none"); } }); });</script>'; break; case "fpracmailog": RecoverAbandonCart::fp_rac_mail_logs_display(); break; case "fpraccoupon": do_action('woocommerce_fprac_settings_tabs_' . $current_tab); // @deprecated hook do_action('woocommerce_fprac_settings_' . $current_tab); ?> <p>Use {rac.coupon} to include a coupon code in mail</p> <span class="submit" style="margin-left: 25px;"> <?php if (!isset($GLOBALS['hide_save_button'])) { ?> <input name="save" class="button-primary" style="margin-top:15px;" type="submit" value="<?php _e('Save', 'recoverabandoncart'); ?> " /> <?php } ?> <input type="hidden" name="subtab" id="last_tab" /> <?php wp_nonce_field('woocommerce-settings'); ?> </span> <?php break; case "fpracdebug": do_action('woocommerce_fprac_settings_tabs_' . $current_tab); // @deprecated hook do_action('woocommerce_fprac_settings_' . $current_tab); ?> <h3>Test Mail</h3> <table class="form-table"> <tr> <th>Test Mail Format</th> <td> <select name="rac_test_mail_format" id="rac_test_mail_format"> <option value="1">Plain Text</option> <option value="2">HTML</option> </select> </td> </tr> <tr> <th>Send Test Email to </th> <td><input type="text" id="testemailto" name="testemailto" value=""> <input type="button" id="senttestmail" class="button button-primary" value="Send Test Email"></td> </tr> <tr> <td colspan="2"><p id="test_mail_result" style="display:none;"></p></td> </tr> </table> <script type="text/javascript"> jQuery(document).ready(function () { jQuery("#senttestmail").click(function () { var data = { action: "rac_send_test_mail", rac_test_mail_to: jQuery("#testemailto").val(), rac_plain_or_html: jQuery('#rac_test_mail_format').val(), }; console.log(data); var cur_button = jQuery(this); jQuery(this).prop("disabled", true); jQuery.ajax({ type: "POST", url: ajaxurl, data: data }).done(function (response) { jQuery("#test_mail_result").css("display", "block"); if (response == "sent") { jQuery("#test_mail_result").html("Mail has been Sent, but this doesn't mean mail will be delivered Successfully. Check Wordpress Codex for More info on Mail."); } else { jQuery("#test_mail_result").html("Mail not Sent."); } //jQuery("#update_response").text(response); cur_button.prop("disabled", false); }); }); }); </script> <h3>Cron Schedules</h3> <table class="widefat"> <thead> <tr> <th>Mail Job hook</th> <th>Next Mail job</th> </tr> </thead> <tbody> <tr> <td> rac_cron_job </td> <td> <?php if (wp_next_scheduled('rac_cron_job')) { date_default_timezone_set('UTC'); echo "UTC time = " . date(get_option('date_format'), wp_next_scheduled('rac_cron_job')) . ' / ' . date(get_option('time_format'), wp_next_scheduled('rac_cron_job')) . '</br>'; @date_default_timezone_set(get_option('timezone_string')); echo "Local time = " . date(get_option('date_format'), wp_next_scheduled('rac_cron_job')) . ' / ' . date(get_option('time_format'), wp_next_scheduled('rac_cron_job')) . '</br>'; } else { echo "Cron is not set"; } ?> </td> </tr> </tbody> </table> <h1><?php _e('Troubleshoot for Unsubscription Link in Footer', 'recoverabandoncart'); ?> </h1> <h3> <?php _e('If Unsubscribe Email Link is not visible footer of email, then kindly consider to use this shortcode {rac.unsubscribe} in text editor of each email templates to make it work.'); ?> </h3> <span class="submit" style="margin-left: 25px;"> <?php if (!isset($GLOBALS['hide_save_button'])) { ?> <input name="save" class="button-primary" style="margin-top:15px;" type="submit" value="<?php _e('Save', 'recoverabandoncart'); ?> " /> <?php } ?> <input type="hidden" name="subtab" id="last_tab" /> <?php wp_nonce_field('woocommerce-settings'); ?> </span> <?php break; case "fpracreport": RecoverAbandonCart::fp_rac_reports(); break; case "fpracrecoveredorderids": FPRacCounter::add_list_table(); break; case "fpracshortocde": RecoverAbandonCart::fp_rac_shortcodes_info(); break; case "fpracsupport": woocommerce_admin_fields(RecoverAbandonCart::fp_rac_support_admin_fields()); break; default: do_action('woocommerce_fprac_settings_tabs_' . $current_tab); // @deprecated hook do_action('woocommerce_fprac_settings_' . $current_tab); $admin_url = admin_url('admin.php'); $reset_url = esc_url_raw(add_query_arg(array('page' => 'fprac_slug', 'rac_reset' => 'reset'), $admin_url)); echo '<input class="button-secondary" id="rac_reset" type="button" name="rac_reset" value="Reset">'; echo '<script type="text/javascript"> jQuery(document).ready(function(){ jQuery("#rac_reset").click(function(){ window.location.replace("' . $reset_url . '"); }); jQuery("#rac_admin_cart_recovered_noti").change(function(){ if(jQuery(this).is(":checked")){ jQuery(".admin_notification").parent().parent().show(); jQuery(".admin_notifi_sender_opt").closest("tr").show(); }else{ jQuery(".admin_notification").parent().parent().hide(); jQuery(".admin_notifi_sender_opt").closest("tr").hide(); } //sender option should be refereshed as it is inside this var sender_opt = jQuery("[name=\'rac_recovered_sender_opt\']:checked").val(); console.log(sender_opt); if(sender_opt == "woo"){ jQuery(".local_senders").parent().parent().hide(); }else{ jQuery(".local_senders").parent().parent().show(); } }); jQuery("[name=\'rac_recovered_sender_opt\']").change(function(){ var sender_opt = jQuery("[name=\'rac_recovered_sender_opt\']:checked").val(); if(sender_opt == "woo"){ jQuery(".local_senders").parent().parent().hide(); }else{ jQuery(".local_senders").parent().parent().show(); } }); //on ready event var sender_opt = jQuery("[name=\'rac_recovered_sender_opt\']:checked").val(); console.log(sender_opt); if(sender_opt == "woo"){ jQuery(".local_senders").parent().parent().hide(); }else{ jQuery(".local_senders").parent().parent().show(); } //enable notification event if(jQuery("#rac_admin_cart_recovered_noti").is(":checked")){ jQuery(".admin_notification").parent().parent().show(); jQuery(".admin_notifi_sender_opt").closest("tr").show(); }else{ jQuery(".admin_notification").parent().parent().hide(); jQuery(".admin_notifi_sender_opt").closest("tr").hide(); } });</script>'; ?> <span class="submit" style="margin-left: 25px;"> <?php if (!isset($GLOBALS['hide_save_button'])) { ?> <input name="save" class="button-primary" type="submit" value="<?php _e('Save', 'recoverabandoncart'); ?> " /> <?php } ?> <input type="hidden" name="subtab" id="last_tab" /> <?php wp_nonce_field('woocommerce-settings'); ?> </span> <?php break; } ?> </form> </div> <script type="text/javascript"> jQuery(document).ready(function () { if (jQuery('#rac_remove_carts').is(":checked")) { jQuery('#rac_remove_new').parent().parent().parent().parent().css("display", "table-row"); jQuery('#rac_remove_abandon').parent().parent().parent().parent().css("display", "table-row"); } else { jQuery('#rac_remove_new').parent().parent().parent().parent().css("display", "none"); jQuery('#rac_remove_abandon').parent().parent().parent().parent().css("display", "none"); } jQuery('#rac_remove_carts').change(function () { if (this.checked) { jQuery('#rac_remove_new').parent().parent().parent().parent().css("display", "table-row"); jQuery('#rac_remove_abandon').parent().parent().parent().parent().css("display", "table-row"); } else { jQuery('#rac_remove_new').parent().parent().parent().parent().css("display", "none"); jQuery('#rac_remove_abandon').parent().parent().parent().parent().css("display", "none"); } }); }); </script> <?php }