Changeset 3192754
- Timestamp:
- 11/20/2024 04:08:08 AM (17 months ago)
- Location:
- pdf-for-ninja-forms/trunk
- Files:
-
- 6 edited
-
backend/settings.php (modified) (3 diffs)
-
backend/shortcode.php (modified) (2 diffs)
-
frontend/index.php (modified) (1 diff)
-
ninja-forms/index.php (modified) (6 diffs)
-
pdf-for-ninja-forms.php (modified) (2 diffs)
-
readme.txt (modified) (2 diffs)
Legend:
- Unmodified
- Added
- Removed
-
pdf-for-ninja-forms/trunk/backend/settings.php
r3189938 r3192754 8 8 add_action( 'yeepdf_custom_sizes', array($this,"add_sizes")); 9 9 add_action( 'plugins_loaded', array( $this, 'plugins_loaded' ) ); 10 } 11 public static function generateRandomString($length = 15) { 12 $characters = '0123456789abcdefghijklmnopqrstuvwxyz_'; 13 $charactersLength = strlen($characters); 14 $randomString = ''; 15 for ($i = 0; $i < $length; $i++) { 16 $randomString .= $characters[random_int(0, $charactersLength - 1)]; 17 } 18 return $randomString; 19 } 20 public static function maybe_get_random_dir() { 21 $uploads_folder = apply_filters("yeepdf_folder_download","pdfs/downloads"); 22 return $uploads_folder; 23 } 24 public static function maybe_add_random_dir() { 25 $upload_dir = wp_upload_dir(); 26 $uploads_folder = self::maybe_get_random_dir(); 27 $dir = $upload_dir['basedir'] . '/'.$uploads_folder.'/'; 28 $url = $upload_dir['baseurl'] . '/'.$uploads_folder.'/'; 29 do { 30 $rand_max = mt_getrandmax(); 31 $rand = self::generateRandomString(); 32 $dir_new = path_join( $dir, $rand ); 33 $url_new = $url.$rand; 34 } while ( file_exists( $dir_new ) ); 35 if ( wp_mkdir_p( $dir_new ) ) { 36 return array("path"=>$dir_new."/","url"=>$url_new."/"); 37 } 38 return array("path"=>$dir,"url"=>$url);; 39 } 40 public static function destroy_all_files($dirPath=null) { 41 if(!$dirPath) { 42 $upload_dir = wp_upload_dir(); 43 $uploads_folder = self::maybe_get_random_dir(); 44 $dirPath = $upload_dir['basedir'] . '/'.$uploads_folder.'/'; 45 if (! is_dir($dirPath)) { 46 throw new InvalidArgumentException("$dirPath must be a directory"); 47 } 48 if (substr($dirPath, strlen($dirPath) - 1, 1) != '/') { 49 $dirPath .= '/'; 50 } 51 } 52 $files = glob($dirPath . '*', GLOB_MARK); 53 foreach ($files as $file) { 54 if (is_dir($file)) { 55 self::destroy_all_files($file); 56 } else { 57 unlink($file); 58 } 59 } 60 rmdir($dirPath); 10 61 } 11 62 public function plugins_loaded() { … … 149 200 $part = $path_main.$files['name']; 150 201 if ( ! file_exists( $path_main ) ) { 151 wp_mkdir_p( $path_main );152 }202 wp_mkdir_p( $path_main ); 203 } 153 204 if(file_exists($part)){ 154 205 unlink($part); … … 340 391 <?php $save = get_option("pdf_creator_save_pdf","") ?> 341 392 <input <?php checked($save,"yes") ?> type="checkbox" name="pdf_creator_save_pdf" value="yes"> 342 <?php esc_html_e("It will automatically delete pdf when sending attachment to email","pdf-for-wpforms") ?>393 <?php esc_html_e("It will automatically delete the PDF after attaching the file to the email.","pdf-for-wpforms") ?> 343 394 </td> 344 395 </tr> -
pdf-for-ninja-forms/trunk/backend/shortcode.php
r3155949 r3192754 31 31 "yeepdf_current_time" => "Current Time", 32 32 "yeepdf_images" => "Images(link,link,..)", 33 "yeepdf_random_number" => "Random Number", 33 34 ), 34 35 "User" => array( … … 90 91 return wp_date(get_option('date_format')); 91 92 break; 93 case "yeepdf_random_number": 94 return rand(10000,9999999); 95 break; 92 96 case "yeepdf_current_time": 93 97 return date(get_option('time_format')); -
pdf-for-ninja-forms/trunk/frontend/index.php
r3189938 r3192754 278 278 break; 279 279 case "upload": 280 $path_main = $upload_dir['basedir'] . '/pdfs/'; 281 if ( ! file_exists( $path_main ) ) { 282 wp_mkdir_p( $path_main ); 280 $upload_dir = Yeepdf_Settings_Main::maybe_add_random_dir(); 281 $path_name = $upload_dir["path"].$data_attrs["name"].".pdf"; 282 $url_name = $upload_dir["url"].$data_attrs["name"].".pdf"; 283 if(file_exists($path_name)){ 284 unlink($path_name); 283 285 } 284 $file_name = $path_main.$data_attrs["name"].".pdf";285 if(file_exists($file_name)){286 unlink($file_name);287 }288 286 $mpdf->WriteHTML($html); 289 $output = $mpdf->Output($ file_name,"F");290 return $file_name;287 $output = $mpdf->Output($path_name,"F"); 288 return array("path"=>$path_name,"url"=>$url_name); 291 289 break; 292 290 case "html": -
pdf-for-ninja-forms/trunk/ninja-forms/index.php
r3148551 r3192754 113 113 'type' => 'textbox', 114 114 'default' => '', 115 'placeholder' => ' rand-{name}.pdf',115 'placeholder' => '{name}.pdf', 116 116 'label' => __('PDF Name', "ninja-forms-pdfcreator"), 117 117 'group' => 'primary', 118 118 'use_merge_tags' => true, 119 'width' => 'full',120 );121 $settings['pdf_template_name_number'] = array(122 'name' => 'pdf_template_name_number',123 'type' => 'toggle',124 'placeholder' => '{number}name.pdf',125 'label' => __('Show name key number ( name-{number_key}.pdf )', "ninja-forms-pdfcreator"),126 'group' => 'primary',127 119 'width' => 'full', 128 120 ); … … 151 143 $name = $settings["pdf_template_name"]; 152 144 $template_id = $settings["pdf_template"]; 153 $pdf_template_name_number = $settings["pdf_template_name_number"];154 145 $password = $settings["pdf_template_password"]; 155 146 if( $name == ""){ … … 161 152 $password = apply_filters( 'ninja_forms_merge_tags', $password); 162 153 } 163 if( $pdf_template_name_number == 1 ){ 164 $name = sanitize_title($name)."-".rand(1000,9999); 165 }else{ 166 $name = sanitize_title($name); 167 } 154 $name = sanitize_file_name($name); 168 155 $data_send_settings = array( 169 156 "id_template"=> $template_id, … … 184 171 ); 185 172 $data_send_settings_download = apply_filters("pdf_before_render_datas",$data_send_settings_download); 186 $ path=Yeepdf_Create_PDF::pdf_creator_preview($data_send_settings_download);173 $folder_uploads =Yeepdf_Create_PDF::pdf_creator_preview($data_send_settings_download); 187 174 if( $id_link_pdf != ""){ 188 175 $upload_dir = wp_upload_dir(); … … 190 177 $links = get_post_meta($submission_id,"_field_".$id_link_pdf,true); 191 178 $links = str_replace("[pdf]", "", $links); 192 $link_path = $ upload_dir["baseurl"]."/pdfs/".$name.".pdf";179 $link_path = $folder_uploads["path"]; 193 180 if($links != ""){ 194 181 $links = explode(" | ", $links); … … 200 187 update_post_meta($submission_id,"_field_".$id_link_pdf,$links); 201 188 } 202 $attachments[] = $ path;189 $attachments[] = $folder_uploads["path"]; 203 190 } 204 191 return $attachments; -
pdf-for-ninja-forms/trunk/pdf-for-ninja-forms.php
r3189938 r3192754 4 4 * Description: Ninja Forms PDF Customizer is a helpful tool that helps you build and customize the PDF Templates for Ninja Forms. 5 5 * Plugin URI: https://add-ons.org/plugin/ninja-forms-pdf-customizer/ 6 * Version: 4. 2.06 * Version: 4.4.0 7 7 * Requires Plugins: ninja-forms 8 8 * Requires PHP: 5.6 … … 33 33 include_once YEEPDF_CREATOR_BUILDER_PATH."libs/phpqrcode.php"; 34 34 include_once YEEPDF_CREATOR_BUILDER_PATH."frontend/index.php"; 35 register_activation_hook( __FILE__, array($this,'register_activation_hook') );36 add_action( 'yeepdf_remove_all_file', array($this,"yeepdf_remove_all_file") );37 }38 function register_activation_hook(){39 if (! wp_next_scheduled ( 'yeepdf_remove_all_file' )) {40 wp_schedule_event( time(), 'daily', 'yeepdf_remove_all_file' );41 }42 }43 function yeepdf_remove_all_file(){44 $check_settings = get_option("pdf_creator_save_pdf");45 if($check_settings == "yes"){46 $upload_dir = wp_upload_dir();47 $path_main = $upload_dir['basedir'] . '/pdfs/*';48 $files = glob($path_main);49 foreach($files as $file){ // iterate files50 if(is_file($file)) {51 unlink($file); // delete file52 }53 }54 }55 35 } 56 36 } -
pdf-for-ninja-forms/trunk/readme.txt
r3189938 r3192754 4 4 Requires at least: 2.0 5 5 Tested up to: 6.7 6 Stable tag: 4. 2.06 Stable tag: 4.4.0 7 7 Requires PHP: 5.6 8 8 License: GPLv2 or later … … 74 74 75 75 == Changelog == 76 = 4.4.0 = 77 - Fixed: Do not save PDFs on the server 78 - Added: Secure the folder for downloading PDFs 79 80 = 4.3.0 = 81 - Added: Random number shortcode 82 76 83 = 4.2.0 = 77 84 - Fixed: Default Font
Note: See TracChangeset
for help on using the changeset viewer.