From e751b5e87549929eb707468bfee0a066a6c06ae7 Mon Sep 17 00:00:00 2001 From: Vipul Date: Wed, 27 Mar 2024 12:27:12 +0530 Subject: [PATCH 01/20] code added for page orientation --- common/class-pdf-generator-for-wp-common.php | 59 +++++++++++++++++++- pdf-generator-for-wp.php | 2 +- 2 files changed, 58 insertions(+), 3 deletions(-) diff --git a/common/class-pdf-generator-for-wp-common.php b/common/class-pdf-generator-for-wp-common.php index f37264cb..107ba58e 100644 --- a/common/class-pdf-generator-for-wp-common.php +++ b/common/class-pdf-generator-for-wp-common.php @@ -431,7 +431,62 @@ public function pgfw_aspose_pdf_exporter_bulk_action() { require_once PDF_GENERATOR_FOR_WP_DIR_PATH . 'package/lib/dompdf/vendor/autoload.php'; $general_settings_arr = get_option( 'pgfw_general_settings_save', array() ); $pgfw_generate_mode = array_key_exists( 'pgfw_general_pdf_generate_mode', $general_settings_arr ) ? $general_settings_arr['pgfw_general_pdf_generate_mode'] : 'download_locally'; - + $body_settings_arr = get_option( 'pgfw_body_save_settings', array() ); + $pgfw_body_custom_page_size_height = array_key_exists( 'pgfw_body_custom_page_size_height', $body_settings_arr ) ? $body_settings_arr['pgfw_body_custom_page_size_height'] : ''; + $pgfw_body_custom_page_size_width = array_key_exists( 'pgfw_body_custom_page_size_width', $body_settings_arr ) ? $body_settings_arr['pgfw_body_custom_page_size_width'] : ''; + $page_orientation = array_key_exists( 'pgfw_body_page_orientation', $body_settings_arr ) ? $body_settings_arr['pgfw_body_page_orientation'] : 'portrait'; + $body_page_size = array_key_exists( 'pgfw_body_page_size', $body_settings_arr ) ? $body_settings_arr['pgfw_body_page_size'] : 'a4'; + $paper_sizes = array( + '4a0' => array( 0, 0, 4767.87, 6740.79 ), + '2a0' => array( 0, 0, 3370.39, 4767.87 ), + 'a0' => array( 0, 0, 2383.94, 3370.39 ), + 'a1' => array( 0, 0, 1683.78, 2383.94 ), + 'a2' => array( 0, 0, 1190.55, 1683.78 ), + 'a3' => array( 0, 0, 841.89, 1190.55 ), + 'a4' => array( 0, 0, 595.28, 841.89 ), + 'a5' => array( 0, 0, 419.53, 595.28 ), + 'a6' => array( 0, 0, 297.64, 419.53 ), + 'b0' => array( 0, 0, 2834.65, 4008.19 ), + 'b1' => array( 0, 0, 2004.09, 2834.65 ), + 'b2' => array( 0, 0, 1417.32, 2004.09 ), + 'b3' => array( 0, 0, 1000.63, 1417.32 ), + 'b4' => array( 0, 0, 708.66, 1000.63 ), + 'b5' => array( 0, 0, 498.90, 708.66 ), + 'b6' => array( 0, 0, 354.33, 498.90 ), + 'c0' => array( 0, 0, 2599.37, 3676.54 ), + 'c1' => array( 0, 0, 1836.85, 2599.37 ), + 'c2' => array( 0, 0, 1298.27, 1836.85 ), + 'c3' => array( 0, 0, 918.43, 1298.27 ), + 'c4' => array( 0, 0, 649.13, 918.43 ), + 'c5' => array( 0, 0, 459.21, 649.13 ), + 'c6' => array( 0, 0, 323.15, 459.21 ), + 'ra0' => array( 0, 0, 2437.80, 3458.27 ), + 'ra1' => array( 0, 0, 1729.13, 2437.80 ), + 'ra2' => array( 0, 0, 1218.90, 1729.13 ), + 'ra3' => array( 0, 0, 864.57, 1218.90 ), + 'ra4' => array( 0, 0, 609.45, 864.57 ), + 'sra0' => array( 0, 0, 2551.18, 3628.35 ), + 'sra1' => array( 0, 0, 1814.17, 2551.18 ), + 'sra2' => array( 0, 0, 1275.59, 1814.17 ), + 'sra3' => array( 0, 0, 907.09, 1275.59 ), + 'sra4' => array( 0, 0, 637.80, 907.09 ), + 'letter' => array( 0, 0, 612.00, 792.00 ), + 'legal' => array( 0, 0, 612.00, 1008.00 ), + 'ledger' => array( 0, 0, 1224.00, 792.00 ), + 'tabloid' => array( 0, 0, 792.00, 1224.00 ), + 'executive' => array( 0, 0, 521.86, 756.00 ), + 'folio' => array( 0, 0, 612.00, 936.00 ), + 'commercial #10 envelope' => array( 0, 0, 684, 297 ), + 'catalog #10 1/2 envelope' => array( 0, 0, 648, 864 ), + '8.5x11' => array( 0, 0, 612.00, 792.00 ), + '8.5x14' => array( 0, 0, 612.00, 1008.0 ), + '11x17' => array( 0, 0, 792.00, 1224.00 ), + ); + if ( 'custom_page' == $body_page_size && ! empty( $pgfw_body_custom_page_size_width ) && ! empty( $pgfw_body_custom_page_size_height ) ) { + $paper_size = array( 0, 0, $pgfw_body_custom_page_size_width * 2.834, $pgfw_body_custom_page_size_height * 2.834 ); + } else { + $paper_size = array_key_exists( $body_page_size, $paper_sizes ) ? $paper_sizes[ $body_page_size ] : 'a4'; + } $upload_dir = wp_upload_dir(); $upload_path = $upload_dir['path'] . '/'; @@ -512,7 +567,7 @@ public function pgfw_aspose_pdf_exporter_bulk_action() { $dompdf->setHttpContext( $contxt ); $dompdf->loadHtml( $file_name ); $dompdf->set_option( 'isRemoteEnabled', true ); - + $dompdf->setPaper( $paper_size, $page_orientation ); /* addedcode end */ $document_name = 'bulk_post_to_pdf_' . strtotime( gmdate( 'y-m-d H:i:s' ) ); @ob_end_clean(); // phpcs:ignore. diff --git a/pdf-generator-for-wp.php b/pdf-generator-for-wp.php index bbcd46a1..1d4e89dd 100644 --- a/pdf-generator-for-wp.php +++ b/pdf-generator-for-wp.php @@ -358,7 +358,7 @@ function wps_wpg_pro_pdf_upgrade_notice( $plugin_file, $plugin_data, $status ) { /** * Notification update. */ -function wps_sfw_remove_cron_for_notification_update() { +function wps_pgfw_remove_cron_for_notification_update() { wp_clear_scheduled_hook( 'wps_wgm_check_for_notification_update' ); } From 3bf41234a9de27008979a2f593d2dab38c1e2c37 Mon Sep 17 00:00:00 2001 From: Vipul Date: Fri, 29 Mar 2024 11:51:17 +0530 Subject: [PATCH 02/20] icon tab field changes --- admin/class-pdf-generator-for-wp-admin.php | 99 ++++++++++++---------- pdf-generator-for-wp.php | 8 +- 2 files changed, 60 insertions(+), 47 deletions(-) diff --git a/admin/class-pdf-generator-for-wp-admin.php b/admin/class-pdf-generator-for-wp-admin.php index 128525d2..c8d42245 100644 --- a/admin/class-pdf-generator-for-wp-admin.php +++ b/admin/class-pdf-generator-for-wp-admin.php @@ -616,7 +616,31 @@ public function pgfw_admin_display_settings_page( $pgfw_settings_display_fields_ 'no' => __( 'NO', 'pdf-generator-for-wp' ), ), ), - + array( + 'title' => __( 'Enable Print Option', 'pdf-generator-for-wp' ), + 'type' => 'radio-switch', + 'description' => __( 'Enable this to print current window screen', 'pdf-generator-for-wp' ), + 'id' => 'pgfw_print_enable_org_tag', + 'value' => 'pgfw_print_enable_org_tag', + 'class' => 'wps_pgfw_pro_tag', + 'options' => array( + 'yes' => __( 'YES', 'pdf-generator-for-wp' ), + 'no' => __( 'NO', 'pdf-generator-for-wp' ), + ), + ), + array( + 'title' => __( 'Enable WhatsApp sharing icon', 'pdf-generator-for-wp' ), + 'type' => 'radio-switch', + 'description' => __( 'Enable this to share pdf over WhatsApp', 'pdf-generator-for-wp' ), + 'id' => 'wpg_whatsapp_sharing', + 'value' => '', + 'class' => 'wps_pgfw_pro_tag', + 'name' => 'wpg_whatsapp_sharing', + 'options' => array( + 'yes' => __( 'YES', 'pdf-generator-for-wp' ), + 'no' => __( 'NO', 'pdf-generator-for-wp' ), + ), + ), array( 'title' => __( 'Direct Download or Email User', 'pdf-generator-for-wp' ), 'type' => 'select', @@ -673,19 +697,7 @@ public function pgfw_admin_display_settings_page( $pgfw_settings_display_fields_ 'flex-end' => __( 'Right', 'pdf-generator-for-wp' ), ), ), - array( - 'title' => __( 'Enable WhatsApp sharing icon', 'pdf-generator-for-wp' ), - 'type' => 'radio-switch', - 'description' => __( 'Enable this to share pdf over WhatsApp', 'pdf-generator-for-wp' ), - 'id' => 'wpg_whatsapp_sharing', - 'value' => '', - 'class' => 'wps_pgfw_pro_tag', - 'name' => 'wpg_whatsapp_sharing', - 'options' => array( - 'yes' => __( 'YES', 'pdf-generator-for-wp' ), - 'no' => __( 'NO', 'pdf-generator-for-wp' ), - ), - ), + array( 'title' => __( 'Choose Bulk Download PDF Icon', 'pdf-generator-for-wp' ), 'type' => 'upload-button', @@ -713,34 +725,7 @@ public function pgfw_admin_display_settings_page( $pgfw_settings_display_fields_ 'btn-style' => ! ( '' ) ? 'display:none' : '', ), ), - array( - 'title' => __( 'Choose Single Download PDF Icon', 'pdf-generator-for-wp' ), - 'type' => 'upload-button', - 'button_text' => __( 'Upload Icon', 'pdf-generator-for-wp' ), - 'class' => 'sub_pgfw_pdf_single_download_icon', - 'id' => 'sub_pgfw_pdf_single_download_icon', - 'value' => $sub_pgfw_pdf_single_download_icon, - 'sub_id' => 'pgfw_pdf_single_download_icon', - 'sub_class' => 'pgfw_pdf_single_download_icon', - 'sub_name' => 'pgfw_pdf_single_download_icon', - 'name' => 'sub_pgfw_pdf_single_download_icon', - 'parent-class' => 'wps_pgfw_setting_separate_border', - 'description' => __( 'If no icon is chosen default icon will be used.', 'pdf-generator-for-wp' ), - 'img-tag' => array( - 'img-class' => 'pgfw_single_pdf_icon_image', - 'img-id' => 'pgfw_single_pdf_icon_image', - 'img-style' => ( $sub_pgfw_pdf_single_download_icon ) ? 'margin:10px;height:45px;width:45px;' : 'display:none;margin:10px;height:45px;width:45px;', - 'img-src' => $sub_pgfw_pdf_single_download_icon, - ), - 'img-remove' => array( - 'btn-class' => 'pgfw_single_pdf_icon_image_remove', - 'btn-id' => 'pgfw_single_pdf_icon_image_remove', - 'btn-text' => __( 'Remove Icon', 'pdf-generator-for-wp' ), - 'btn-title' => __( 'Remove Icon', 'pdf-generator-for-wp' ), - 'btn-name' => 'pgfw_single_pdf_icon_image_remove', - 'btn-style' => ! ( $sub_pgfw_pdf_single_download_icon ) ? 'display:none' : '', - ), - ), + array( 'title' => __( 'Bulk Download PDF Icon Name', 'pdf-generator-for-wp' ), 'type' => 'text', @@ -806,6 +791,34 @@ public function pgfw_admin_display_settings_page( $pgfw_settings_display_fields_ 'name' => 'pgfw_show_post_type_icons_for_user_role', 'options' => $roles_array, ), + array( + 'title' => __( 'Choose Single Download PDF Icon', 'pdf-generator-for-wp' ), + 'type' => 'upload-button', + 'button_text' => __( 'Upload Icon', 'pdf-generator-for-wp' ), + 'class' => 'sub_pgfw_pdf_single_download_icon', + 'id' => 'sub_pgfw_pdf_single_download_icon', + 'value' => $sub_pgfw_pdf_single_download_icon, + 'sub_id' => 'pgfw_pdf_single_download_icon', + 'sub_class' => 'pgfw_pdf_single_download_icon', + 'sub_name' => 'pgfw_pdf_single_download_icon', + 'name' => 'sub_pgfw_pdf_single_download_icon', + 'parent-class' => 'wps_pgfw_setting_separate_border', + 'description' => __( 'If no icon is chosen default icon will be used.', 'pdf-generator-for-wp' ), + 'img-tag' => array( + 'img-class' => 'pgfw_single_pdf_icon_image', + 'img-id' => 'pgfw_single_pdf_icon_image', + 'img-style' => ( $sub_pgfw_pdf_single_download_icon ) ? 'margin:10px;height:45px;width:45px;' : 'display:none;margin:10px;height:45px;width:45px;', + 'img-src' => $sub_pgfw_pdf_single_download_icon, + ), + 'img-remove' => array( + 'btn-class' => 'pgfw_single_pdf_icon_image_remove', + 'btn-id' => 'pgfw_single_pdf_icon_image_remove', + 'btn-text' => __( 'Remove Icon', 'pdf-generator-for-wp' ), + 'btn-title' => __( 'Remove Icon', 'pdf-generator-for-wp' ), + 'btn-name' => 'pgfw_single_pdf_icon_image_remove', + 'btn-style' => ! ( $sub_pgfw_pdf_single_download_icon ) ? 'display:none' : '', + ), + ), ); $pgfw_settings_display_fields_html_arr = apply_filters( 'pgfw_settings_display_fields_html_arr_filter_hook', $pgfw_settings_display_fields_html_arr ); @@ -2729,7 +2742,7 @@ public function pgfw_template_invoice_setting_html_fields_dummy( $invoice_settin 'value' => 'two', ), array( - 'title' => __( 'Template3', 'wordpress-pdf-generator' ), + 'title' => __( 'Template3', 'pdf-generator-for-wp' ), 'type' => 'radio', 'id' => 'wpg_invoice_template_three', 'class' => 'wpg_invoice_preview wpg_invoice_template_three', diff --git a/pdf-generator-for-wp.php b/pdf-generator-for-wp.php index 1d4e89dd..321aaafe 100644 --- a/pdf-generator-for-wp.php +++ b/pdf-generator-for-wp.php @@ -15,7 +15,7 @@ * Plugin Name: PDF Generator For WP * Plugin URI: https://wordpress.org/plugins/pdf-generator-for-wp/ * Description: PDF Generator for WordPress plugin allows to generate and download PDF files from WordPress sites across multiple platforms in just one click. Elevate your eCommerce store by exploring more on WP Swings. Elevate your e-commerce store by exploring more on WP Swings - * Version: 1.3.2 + * Version: 1.3.3 * Author: WP Swings * Author URI: https://wpswings.com/?utm_source=wpswings-official&utm_medium=pdf-org-backend&utm_campaign=official * Text Domain: pdf-generator-for-wp @@ -24,8 +24,8 @@ * Requires at least: 5.5.0 * Tested up to: 6.4.3 * WC requires at least: 5.2.0 - * WC tested up to: 8.6.1 - * Stable tag: 1.3.2 + * WC tested up to: 8.7.0 + * Stable tag: 1.3.3 * Requires PHP: 7.2 * * License: GNU General Public License v3.0 @@ -61,7 +61,7 @@ function() { * @since 1.0.0 */ function define_pdf_generator_for_wp_constants() { - pdf_generator_for_wp_constants( 'PDF_GENERATOR_FOR_WP_VERSION', '1.3.2' ); + pdf_generator_for_wp_constants( 'PDF_GENERATOR_FOR_WP_VERSION', '1.3.3' ); pdf_generator_for_wp_constants( 'PDF_GENERATOR_FOR_WP_DIR_PATH', plugin_dir_path( __FILE__ ) ); pdf_generator_for_wp_constants( 'PDF_GENERATOR_FOR_WP_DIR_URL', plugin_dir_url( __FILE__ ) ); pdf_generator_for_wp_constants( 'PDF_GENERATOR_FOR_WP_SERVER_URL', 'https://wpswings.com' ); From 20e7eb14685e8cf1dca30c7b6fc2912f922ca679 Mon Sep 17 00:00:00 2001 From: Vipul Date: Fri, 29 Mar 2024 12:24:59 +0530 Subject: [PATCH 03/20] done fixes phpcheck --- admin/partials/pdf-generator-for-wp-footer.php | 6 ++++++ admin/partials/pdf-generator-for-wp-pdf-setting.php | 7 ++++++- common/class-pdf-generator-for-wp-common.php | 8 ++++---- 3 files changed, 16 insertions(+), 5 deletions(-) diff --git a/admin/partials/pdf-generator-for-wp-footer.php b/admin/partials/pdf-generator-for-wp-footer.php index 51dda849..3e51187c 100644 --- a/admin/partials/pdf-generator-for-wp-footer.php +++ b/admin/partials/pdf-generator-for-wp-footer.php @@ -14,6 +14,12 @@ if ( ! defined( 'ABSPATH' ) ) { exit; } + +$secure_nonce = wp_create_nonce( 'wps-pgfw-auth-nonce' ); +$id_nonce_verified = wp_verify_nonce( $secure_nonce, 'wps-pgfw-auth-nonce' ); +if ( ! $id_nonce_verified ) { + wp_die( esc_html__( 'Nonce Not verified', 'pdf-generator-for-wp' ) ); +} global $pgfw_wps_pgfw_obj; $pgfw_active_tab = isset( $_GET['pgfw_tab'] ) ? sanitize_key( $_GET['pgfw_tab'] ) : 'pdf-generator-for-wp-header'; $pgfw_default_tabs = $pgfw_wps_pgfw_obj->wps_pgfw_plug_default_sub_tabs(); diff --git a/admin/partials/pdf-generator-for-wp-pdf-setting.php b/admin/partials/pdf-generator-for-wp-pdf-setting.php index a578dcd5..39af096a 100644 --- a/admin/partials/pdf-generator-for-wp-pdf-setting.php +++ b/admin/partials/pdf-generator-for-wp-pdf-setting.php @@ -15,8 +15,13 @@ exit(); // Exit if accessed directly. } - +$secure_nonce = wp_create_nonce( 'wps-pgfw-auth-nonce' ); +$id_nonce_verified = wp_verify_nonce( $secure_nonce, 'wps-pgfw-auth-nonce' ); +if ( ! $id_nonce_verified ) { + wp_die( esc_html__( 'Nonce Not verified', 'pdf-generator-for-wp' ) ); +} global $pgfw_wps_pgfw_obj; + $pgfw_active_tab = isset( $_GET['pgfw_tab'] ) ? sanitize_key( $_GET['pgfw_tab'] ) : 'pdf-generator-for-wp-customize'; $pgfw_default_tabs = $pgfw_wps_pgfw_obj->wps_pgfw_plug_default_sub_tabs(); $pgfw_settings_display_fields = apply_filters( 'pgfw_display_settings_array', array() ); diff --git a/common/class-pdf-generator-for-wp-common.php b/common/class-pdf-generator-for-wp-common.php index 107ba58e..2d3819e2 100644 --- a/common/class-pdf-generator-for-wp-common.php +++ b/common/class-pdf-generator-for-wp-common.php @@ -199,7 +199,7 @@ public function pgfw_generate_pdf_from_library( $prod_id, $pgfw_generate_mode, $ $pdf_file_name_custom = array_key_exists( 'pgfw_custom_pdf_file_name', $general_settings_arr ) ? $general_settings_arr['pgfw_custom_pdf_file_name'] : ''; $document_name = ( ( '' !== $pdf_file_name_custom ) && ( $post ) ) ? $pdf_file_name_custom . '_' . $post->ID : 'document'; } elseif ( 'post_name' === $pdf_file_name ) { - $document_name = ( $post ) ? strip_tags( $post->post_title ) : 'document'; + $document_name = ( $post ) ? wp_strip_all_tags( $post->post_title ) : 'document'; } else { $document_name = ( $post ) ? 'document_' . $post->ID : 'document'; } @@ -493,8 +493,8 @@ public function pgfw_aspose_pdf_exporter_bulk_action() { $html_file = $upload_path . 'outpuut.html'; $pdf_file = $upload_path . 'outpuut.pdf'; - @unlink( $html_file ); - @unlink( $pdf_file ); + wp_delete_file( $html_file ); + wp_delete_file( $pdf_file ); global $typenow; $post_type = $typenow; @@ -981,7 +981,7 @@ public function cron_job_wpg_common_generate_pdf( $prod_id, $type, $action ) { $pdf_file_name_custom = array_key_exists( 'pgfw_custom_pdf_file_name', $general_settings_arr ) ? $general_settings_arr['pgfw_custom_pdf_file_name'] : ''; $document_name = ( ( '' !== $pdf_file_name_custom ) && ( $post ) ) ? $pdf_file_name_custom . '_' . $post->ID : 'document'; } elseif ( 'post_name' === $pdf_file_name ) { - $document_name = ( $post ) ? strip_tags( $post->post_title ) : 'document'; + $document_name = ( $post ) ? wp_strip_all_tags( $post->post_title ) : 'document'; } else { $document_name = ( $post ) ? 'document_' . $post->ID : 'document'; } From 0e161f2192558de7f31b1ba9f9754f5fb5346254 Mon Sep 17 00:00:00 2001 From: Vipul Date: Mon, 1 Apr 2024 10:30:01 +0530 Subject: [PATCH 04/20] fix php check error --- admin/class-pdf-generator-for-wp-admin.php | 2 +- .../pdf-generator-for-wp-admin-template1.php | 11 +++++++++++ 2 files changed, 12 insertions(+), 1 deletion(-) diff --git a/admin/class-pdf-generator-for-wp-admin.php b/admin/class-pdf-generator-for-wp-admin.php index c8d42245..33a650e9 100644 --- a/admin/class-pdf-generator-for-wp-admin.php +++ b/admin/class-pdf-generator-for-wp-admin.php @@ -497,7 +497,7 @@ public function pgfw_admin_save_tab_settings() { $file_type = strtolower( pathinfo( $target_file, PATHINFO_EXTENSION ) ); if ( 'ttf' === $file_type ) { if ( ! file_exists( $target_file ) ) { - move_uploaded_file( $file_to_upload, $target_file ); + copy( $file_to_upload, $target_file ); } $settings_general_arr[ $pgfw_genaral_setting['id'] ] = $file_name_to_upload; } else { diff --git a/admin/partials/pdf_templates/pdf-generator-for-wp-admin-template1.php b/admin/partials/pdf_templates/pdf-generator-for-wp-admin-template1.php index cdada157..824627ff 100644 --- a/admin/partials/pdf_templates/pdf-generator-for-wp-admin-template1.php +++ b/admin/partials/pdf_templates/pdf-generator-for-wp-admin-template1.php @@ -274,6 +274,17 @@ function return_ob_html( $post_id, $template_name = '' ) { $post = get_post( $post_id ); if ( is_object( $post ) ) { $html .= '