diff --git a/functions.php b/functions.php index 814d020..dd5db26 100644 --- a/functions.php +++ b/functions.php @@ -91,6 +91,9 @@ function generate_certificate($cert_data,$input_data){ $pdf->SetFont('Helvetica', '', $general_font_size); // Event Date $pdf->Cell(0, 8, $value[2], 0, 2, 'C', 0, '', 0); + if (!file_exists($path.'/certificate/')) { + mkdir($path.'/certificate/', 0777, true); + } $pdf_file_path = $path.'/certificate/'.$value[0].'-'.date('ymdHis').'.pdf'; $pdf_file_name = basename($pdf_file_path); $pdf->Output($pdf_file_path,'F'); @@ -106,7 +109,6 @@ function generate_certificate($cert_data,$input_data){ $input_data['email_body'] = str_replace("{{variable2}}", $value[1], $input_data['email_body']); $input_data['email_body'] = str_replace("{{variable3}}", $value[2], $input_data['email_body']); $msg = htmlspecialchars_decode($input_data['email_body']); - // print_r($input_data['email_body']); } else{ // Default MSG @@ -154,12 +156,11 @@ function send_mail($to,$sub,$msg,$headers,$attachment){ return wp_mail($to,$sub,$msg,$headers,$attachment); } -// Clear Data +// Clear Data function. This will be called via AJAX call function cleardata(){ - echo "Clearing Data
"; + echo "Clearing Data of certificates and generated PDFs"; $path = dirname(__FILE__); // Clearing Certificate data - echo "Clearing Cert
"; $files = glob($path.'/data/*'); // get all file names foreach($files as $file){ // iterate files if(is_file($file)) { @@ -167,12 +168,13 @@ function cleardata(){ } } // Clearing PDFs - echo "Clearing PDFs
"; $files = glob($path.'/certificate/*'); // get all file names foreach($files as $file){ // iterate files if(is_file($file)) { unlink($file); // delete file } } + wp_die(); } -// add_action('clear_all_data','read_data','',2); \ No newline at end of file +add_action('wp_ajax_cleardata', 'cleardata'); +add_action('wp_ajax_nopriv_cleardata', 'cleardata'); \ No newline at end of file diff --git a/generate.php b/generate.php index 38dee12..a9dbfa6 100644 --- a/generate.php +++ b/generate.php @@ -2,7 +2,7 @@ $content = '

Generate PDF

+
-

Required fields are followed by *

Sender\'s Configurations @@ -97,6 +97,9 @@ $allowedfileExtensions = array('csv'); if (in_array($fileExtension, $allowedfileExtensions)) { // directory in which the uploaded file will be moved + if (!file_exists(plugin_dir_path(__FILE__).'data/')) { + mkdir(plugin_dir_path(__FILE__).'data/', 0777, true); + } $uploadFileDir = plugin_dir_path(__FILE__).'data/'; $dest_path = $uploadFileDir . $newFileName; @@ -124,7 +127,4 @@ exit(); } } -} -elseif(isset($_POST['clearData']) && $_POST['clearData'] == 'Delete'){ - cleardata(); } \ No newline at end of file diff --git a/pdf-generator-ajax-script.js b/pdf-generator-ajax-script.js new file mode 100644 index 0000000..c70068b --- /dev/null +++ b/pdf-generator-ajax-script.js @@ -0,0 +1,17 @@ +jQuery(document).ready(function($) { + // Button click event to flush out generated data + $('#delete_data_btn').click(function() { + console.log('Clicked'); + $.ajax({ + type: 'GET', + url: pdf_generator_ajax_params.ajax_url, + data: { + 'action': 'cleardata' + }, + success: function(response) { + console.log(response); + } + }); + }); + }); + \ No newline at end of file diff --git a/pdf-generator.php b/pdf-generator.php index d4bfaa4..3faa38d 100644 --- a/pdf-generator.php +++ b/pdf-generator.php @@ -8,7 +8,7 @@ Description: Generate PDF from CSV files -Version: 1.2 +Version: 1.2.1 Author: Speed @@ -35,4 +35,14 @@ function pdf_generator_function(){ require($pluginDirPath.'generate.php'); } $pluginDirPath = plugin_dir_path(__FILE__); -require($pluginDirPath.'functions.php'); \ No newline at end of file +require($pluginDirPath.'functions.php'); + +// Hook to register AJAX action that will call functions from functions.php file +function pdf_generator_register_ajax_action() { + wp_register_script('pdf-generator-ajax-script', plugins_url('/pdf-generator-ajax-script.js', __FILE__), array('jquery')); + wp_localize_script('pdf-generator-ajax-script', 'pdf_generator_ajax_params', array( + 'ajax_url' => admin_url('admin-ajax.php') + )); + wp_enqueue_script('pdf-generator-ajax-script'); +} +add_action('admin_enqueue_scripts', 'pdf_generator_register_ajax_action');