Changeset 3383033
- Timestamp:
- 10/23/2025 03:48:07 AM (4 months ago)
- Location:
- bsk-pdf-manager/trunk
- Files:
-
- 9 edited
-
bsk-pdf-manager.php (modified) (5 diffs)
-
classes/common/display.php (modified) (13 diffs)
-
classes/dashboard/dashboard.php (modified) (2 diffs)
-
classes/permalink-access/permalink-access.php (modified) (2 diffs)
-
classes/shortcodes/category/category-dropdown.php (modified) (9 diffs)
-
classes/shortcodes/embed/pdfs-embed.php (modified) (1 diff)
-
classes/shortcodes/pdfs/pdfs-dropdown.php (modified) (4 diffs)
-
js/bsk_pdf_manager_pro.js (modified) (1 diff)
-
readme.txt (modified) (3 diffs)
Legend:
- Unmodified
- Added
- Removed
-
bsk-pdf-manager/trunk/bsk-pdf-manager.php
r3278709 r3383033 5 5 * Plugin URI: http://www.bannersky.com/bsk-pdf-manager/ 6 6 * Description: Help you manage your PDF documents. PDF documents can be filter by category. Support short code to show special PDF documents or all PDF documents under category. Widget supported. 7 * Version: 3.7 7 * Version: 3.7.1 8 8 * Author: BannerSky.com 9 9 * Author URI: http://www.bannersky.com/ … … 33 33 public static $_notifications_tbl_name = 'bsk_pdf_manager_notifications'; 34 34 35 public static $_PLUGIN_VERSION_ = '3.7 ';36 private static $_plugin_db_version = '3. 0';35 public static $_PLUGIN_VERSION_ = '3.7.1'; 36 private static $_plugin_db_version = '3.1'; 37 37 private static $_plugin_saved_db_version_option = '_bsk_pdf_manager_db_ver_'; 38 38 private static $_plugin_db_rels_done_option = '_bsk_pdf_manager_rels_done_'; … … 66 66 67 67 public static $_category_max_depth = 3; 68 69 public static $_dropdown_shortcodes_pages_option = 'bsk_pdfm_dropdown_shortcodes_pages_';70 68 71 69 //objects … … 442 440 `size` int(11) NOT NULL DEFAULT 0, 443 441 `redirect_permalink` tinyint(1) NOT NULL DEFAULT 0, 442 `restricted` tinyint(1) NOT NULL DEFAULT 0, 444 443 UNIQUE KEY id (id) 445 444 ) $charset_collate;"; … … 616 615 617 616 } 617 618 //upgrade db version to 3.1 619 if ( version_compare( $db_version, '3.1', '<' ) ) { 620 require_once( ABSPATH . 'wp-admin/includes/upgrade.php' ); 621 622 $table_name = $wpdb->prefix . self::$_pdfs_tbl_name; 623 $sql = 'ALTER TABLE `'.$table_name.'` ADD `restricted` tinyint(1) NOT NULL DEFAULT 0 AFTER `redirect_permalink`;'; 624 $wpdb->query( $sql ); 625 626 } 618 627 619 628 //update db version to latest -
bsk-pdf-manager/trunk/classes/common/display.php
r3053029 r3383033 32 32 return $return_bool; 33 33 }//end of function 34 35 public static function show_pdf_item_single_div(36 $pdf_item_obj,37 $description,38 $featured_image, $featured_image_size,39 $default_thumbnail_html,40 $open_target_str, $nofollow_tag_str, $column_class_item,41 $show_pdf_title, $pdf_title_position,42 $show_date_in_title, $date_format_str, $date_before_title43 ){44 $utc_timezone = new DateTimeZone( 'UTC' );45 $date_class = ' data-date="'.wp_date( 'Y-m-d-D', strtotime($pdf_item_obj->last_date), $utc_timezone ).'"';46 47 $file_url = site_url().'/'.$pdf_item_obj->file_name;48 if( $pdf_item_obj->by_media_uploader ){49 $file_url = wp_get_attachment_url( $pdf_item_obj->by_media_uploader );50 if( $file_url == false ){51 return '';52 }53 }54 55 //PDF titile str56 $pdf_item_obj_title = esc_html($pdf_item_obj->title);57 $pdf_title_str = '<span class="bsk-pdfm-pdf-title-string">'.$pdf_item_obj_title.'</span>';58 if( $pdf_title_str == "" ){59 $pdf_item_obj_title_array = explode( '/', $file_url );60 $pdf_title_str = esc_html($pdf_item_obj_title_array[count($pdf_item_obj_title_array) - 1]);61 }62 if( $show_date_in_title ){63 $date_str = '<span class="bsk-pdfm-pdf-date">'.esc_html(date($date_format_str, strtotime($pdf_item_obj->last_date))).'</span>';64 $pdf_title_str = $date_before_title ? $date_str.$pdf_title_str : $pdf_title_str.$date_str;65 }66 67 //pdf title link68 $pdf_title_str = '<a href="'.esc_url($file_url).'"'.esc_attr($open_target_str.$nofollow_tag_str).' title="'.esc_attr($pdf_item_obj_title).'" class="bsk-pdfm-pdf-link-for-title pdf-id-'.esc_attr($pdf_item_obj->id).'">'.$pdf_title_str.'</a>';69 /*70 * organise return str71 */72 $forStr = '<div class="bsk-pdfm-columns-single'.esc_attr($column_class_item).' pdf-id-'.esc_attr($pdf_item_obj->id).'"'.$date_class.'>';73 $forStr .= '<h3>'.$pdf_title_str.'</h3>';74 $forStr .= '</div>'."\n";75 76 return $forStr;77 }78 34 79 35 public static function show_pdfs_in_dropdown( $pdf_items_results, … … 84 40 $date_format_str, 85 41 $date_before_title, 86 $default_enable_permalink 42 $default_enable_permalink, 43 $form_id_random 87 44 ){ 88 45 if( !$pdf_items_results || !is_array($pdf_items_results) || count($pdf_items_results) < 1 ){ … … 90 47 } 91 48 92 //read global embeded viewer settings93 $embedded_viewer_settings = self::get_embedded_viewer_settings();94 95 49 $utc_timezone = new DateTimeZone( 'UTC' ); 96 50 97 51 $forStr = ''; 98 $forStr .= '<select class="'.esc_attr($class).'" '.$target.'>'."\n";52 $forStr .= '<select class="'.esc_attr($class).'" id="bsk_pdfm_pdfs_dropdown_'.rand( 20, 90 ).'" data-from-id="'.$form_id_random.'">'."\n"; 99 53 if( $option_none_str ){ 100 54 $forStr .= '<option value="" selected="selected">'.esc_attr($option_none_str).'</option>'; … … 116 70 if( is_array( $file_extension_array ) && count($file_extension_array) > 1 ){ 117 71 $file_extension = strtolower( $file_extension_array[count($file_extension_array) - 1] ); 118 }119 120 //if pdfjs enabled121 if ( $embedded_viewer_settings['enable'] && $file_extension == 'pdf' ) {122 $file_url = BSK_PDFM_PLUGIN_URL . 'pdfjs/web/viewer.html?file=' . $file_url . $embedded_viewer_settings['paras'];123 72 } 124 73 … … 150 99 $default_enable_permalink 151 100 ){ 152 //read global embeded viewer settings153 $embedded_viewer_settings = self::get_embedded_viewer_settings();154 101 $utc_timezone = new DateTimeZone( 'UTC' ); 155 102 … … 177 124 } 178 125 179 //if pdfjs enabled180 if ( $embedded_viewer_settings['enable'] && $file_extension == 'pdf' ) {181 $file_url = BSK_PDFM_PLUGIN_URL . 'pdfjs/web/viewer.html?file=' . $file_url . $embedded_viewer_settings['paras'];182 }183 184 126 if( $default_enable_permalink ){ 185 127 $file_url = site_url().'/bsk-pdf-manager/'.$pdf_item_obj->slug.'/'; … … 209 151 $show_date_in_title, 210 152 $date_format_str, 211 $date_before_title 153 $date_before_title, 154 $form_id_random 212 155 ){ 213 156 214 157 $forStr = ''; 215 $forStr .= '<select class="'.esc_attr($class).'" '.$target.' style="display: none;">'."\n";158 $forStr .= '<select class="'.esc_attr($class).'" style="display: none;" id="bsk_pdfm_pdfs_dropdown_'.rand( 20, 90 ).'" data-from-id="'.$form_id_random.'">'."\n"; 216 159 if( $option_none_str ){ 217 160 $forStr .= '<option value="" selected="selected">'.esc_attr($option_none_str).'</option>'; … … 255 198 } 256 199 257 //read global embeded viewer settings258 $embedded_viewer_settings = self::get_embedded_viewer_settings();259 200 $utc_timezone = new DateTimeZone( 'UTC' ); 260 201 … … 275 216 if( is_array( $file_extension_array ) && count($file_extension_array) > 1 ){ 276 217 $file_extension = strtolower( $file_extension_array[count($file_extension_array) - 1] ); 277 }278 279 //if pdfjs enabled280 if ( $embedded_viewer_settings['enable'] && $file_extension == 'pdf' ) {281 $file_url = BSK_PDFM_PLUGIN_URL . 'pdfjs/web/viewer.html?file=' . $file_url . $embedded_viewer_settings['paras'];282 218 } 283 219 … … 353 289 354 290 $paras_string_array = array(); 291 $paras_array = array(); 355 292 if ( isset( $embedded_viewer_settings['disable_right_click'] ) && $embedded_viewer_settings['disable_right_click'] == true ) { 356 293 $paras_string_array[] = 'mright=1'; 294 $paras_array['mright'] = 1; 357 295 } 358 296 if ( isset( $embedded_viewer_settings['show_toolbar'] ) && $embedded_viewer_settings['show_toolbar'] == false ) { 359 297 $paras_string_array[] = 'toolbar=1'; 298 $paras_array['toolbar'] = 1; 360 299 } else { 361 300 if ( isset( $embedded_viewer_settings['text_button'] ) && $embedded_viewer_settings['text_button'] == false ) { 362 301 $paras_string_array[] = 'freetext=1'; 302 $paras_array['freetext'] = 1; 363 303 } 364 304 if ( isset( $embedded_viewer_settings['draw_button'] ) && $embedded_viewer_settings['draw_button'] == false ) { 365 305 $paras_string_array[] = 'ink=1'; 306 $paras_array['ink'] = 1; 366 307 } 367 308 if ( isset( $embedded_viewer_settings['stamp_button'] ) && $embedded_viewer_settings['stamp_button'] == false ) { 368 309 $paras_string_array[] = 'stamp=1'; 310 $paras_array['stamp'] = 1; 369 311 } 370 312 if ( isset( $embedded_viewer_settings['download_button'] ) && $embedded_viewer_settings['download_button'] == false ) { 371 313 $paras_string_array[] = 'download=1'; 314 $paras_array['download'] = 1; 372 315 } 373 316 if ( isset( $embedded_viewer_settings['print_button'] ) && $embedded_viewer_settings['print_button'] == false ) { 374 317 $paras_string_array[] = 'print=1'; 318 $paras_array['print'] = 1; 375 319 } 376 320 if ( isset( $embedded_viewer_settings['open_file_button'] ) && $embedded_viewer_settings['open_file_button'] == false ) { 377 321 $paras_string_array[] = 'open=1'; 322 $paras_array['open'] = 1; 378 323 } 379 324 if ( isset( $embedded_viewer_settings['text_selection_tool'] ) && $embedded_viewer_settings['text_selection_tool'] == false ) { 380 325 $paras_string_array[] = 'textsel=1'; 326 $paras_array['textsel'] = 1; 381 327 } 382 328 if ( isset( $embedded_viewer_settings['document_properties_menu'] ) && $embedded_viewer_settings['document_properties_menu'] == false ) { 383 329 $paras_string_array[] = 'docprop=1'; 330 $paras_array['docprop'] = 1; 384 331 } 385 332 } … … 390 337 391 338 $return_array['paras'] = '&' . implode( '&', $paras_string_array ); 339 $return_array['paras_array'] = $paras_array; 392 340 return $return_array; 393 341 } … … 439 387 //if pdfjs enabled 440 388 if ( $embedded_viewer_settings['enable'] && $file_extension == 'pdf' ) { 441 $file_url = BSK_PDFM_PLUGIN_URL . 'pdfjs/web/viewer.html?file=' . $file_url. $embedded_viewer_settings['paras'];389 $file_url = BSK_PDFM_PLUGIN_URL . 'pdfjs/web/viewer.html?file=' . rawurlencode( $file_url ) . $embedded_viewer_settings['paras']; 442 390 } 443 391 … … 506 454 //if pdfjs enabled 507 455 if ( $embedded_viewer_settings['enable'] && $file_extension == 'pdf' ) { 508 $file_url = BSK_PDFM_PLUGIN_URL . 'pdfjs/web/viewer.html?file=' . $file_url. $embedded_viewer_settings['paras'];456 $file_url = BSK_PDFM_PLUGIN_URL . 'pdfjs/web/viewer.html?file=' . rawurlencode( $file_url ) . $embedded_viewer_settings['paras']; 509 457 } 510 458 -
bsk-pdf-manager/trunk/classes/dashboard/dashboard.php
r3106691 r3383033 147 147 add_action( 'wp_print_scripts', array ( $this, 'bsk_pdfm_remove_the_event_calendar_js_fun' ), 999 ); 148 148 149 add_action( 'admin_notices', array ( $this, 'bsk_pdfm_dropdown_warning_fun' ) );150 149 } 151 150 … … 777 776 } 778 777 } 779 780 function bsk_pdfm_dropdown_warning_fun() {781 782 $_dropdown_shortcodes_pages = get_option( BSKPDFManager::$_dropdown_shortcodes_pages_option, array() );783 if ( count( $_dropdown_shortcodes_pages ) < 1 ) {784 return;785 }786 787 $page = isset( $_GET['page'] ) ? $_GET['page'] : '';788 if ( $page == '' || ! in_array( $page, self::$_bsk_pdfm_pro_pages ) ) {789 return;790 }791 ?>792 <div class="notice notice-warning is-dismissible">793 <p>You are using dropdown layout to display PDFs / documents on the below page(s): </p>794 <ul>795 <?php796 foreach( $_dropdown_shortcodes_pages as $page_ID ) {797 ?>798 <a href="<?php echo get_permalink( $page_ID ); ?>"><?php echo get_permalink( $page_ID ); ?></a>799 <?php800 }801 ?>802 </ul>803 <p>The PDF/document is designed to open in a new tab/window when the dropdown changes. But some browsers block new tabs/windows by default. To avoid this trouble, please update to our <a href="https://www.bannersky.com/document/bsk-pdf-manager-documentatio-v2/how-to-upgrade-to-pro-version/" target="_blank">Pro version</a>. The pro version doesn't have this problem because it uses a different method.804 </div>805 <?php806 }807 778 } -
bsk-pdf-manager/trunk/classes/permalink-access/permalink-access.php
r3053029 r3383033 124 124 $embedded_viewer_settings = BSKPDFM_Common_Display::get_embedded_viewer_settings(); 125 125 126 if ( isset( $wp->query_vars[$default_permalink_base] ) && $wp->query_vars[$default_permalink_base] ) { 127 $pdf_slug = $wp->query_vars[$default_permalink_base]; 128 $pdf_obj = BSKPDFM_Common_Data_Source::get_document_obj_by_slug( $pdf_slug ); 129 if( $pdf_obj == false ){ 130 global $wp_query; 131 132 $wp_query->set_404(); 133 status_header( 404 ); 134 get_template_part( 404 ); 135 136 exit(); 137 } 138 139 $file_path = ''; 140 $file_ext = ''; 141 $file_url = ''; 142 if( $pdf_obj->file_name ){ 143 $file_path = BSKPDFManager::$_upload_root_path.$pdf_obj->file_name; 144 $file_ext = pathinfo( $pdf_obj->file_name, PATHINFO_EXTENSION ); 145 $file_url = site_url().'/'.$pdf_obj->file_name; 146 } 147 $file_ext = strtolower( $file_ext ); 148 149 if( !file_exists( $file_path ) ){ 150 global $wp_query; 151 152 $wp_query->set_404(); 153 status_header( 404 ); 154 get_template_part( 404 ); 155 156 exit(); 157 } 158 126 if ( ! isset( $wp->query_vars[$default_permalink_base] ) || ! $wp->query_vars[$default_permalink_base] ) { 127 return; 128 } 129 130 $pdf_slug = $wp->query_vars[$default_permalink_base]; 131 $pdf_obj = BSKPDFM_Common_Data_Source::get_document_obj_by_slug( $pdf_slug ); 132 if( $pdf_obj == false ){ 133 global $wp_query; 134 135 $wp_query->set_404(); 136 status_header( 404 ); 137 get_template_part( 404 ); 138 139 exit(); 140 } 141 142 $file_path = ''; 143 $file_ext = ''; 144 $file_url = ''; 145 if ( $pdf_obj->file_name ) { 146 $file_path = BSKPDFManager::$_upload_root_path.$pdf_obj->file_name; 147 $file_ext = pathinfo( $pdf_obj->file_name, PATHINFO_EXTENSION ); 148 $file_url = site_url().'/'.$pdf_obj->file_name; 149 } 150 $file_ext = strtolower( $file_ext ); 151 152 if ( ! file_exists( $file_path ) ) { 153 global $wp_query; 154 155 $wp_query->set_404(); 156 status_header( 404 ); 157 get_template_part( 404 ); 158 159 exit(); 160 } 161 //if a PDF is restricted, then cannot be redirected to its file url 162 if ( $pdf_obj->restricted ) { 163 //TO DO...... 164 //need check user's permission 165 166 /* echo '<p>You are now alloed to access this document / PDF.</p>'; 167 exit; */ 168 } else { 159 169 if ( $permalink_redirect_to == 'YES' || 160 ( $permalink_redirect_to == 'NO' && $pdf_obj->redirect_permalink ) ) {161 170 ( $permalink_redirect_to == 'NO' && $pdf_obj->redirect_permalink ) ) { 171 162 172 if( $file_url == "" ){ 163 173 wp_die( 'Cannot get valid URL for the document, document slug: '.$pdf_slug ); … … 175 185 exit; 176 186 } 177 178 //output docment content 179 if ( is_array( $embedded_viewer_settings ) && isset( $embedded_viewer_settings ) && $embedded_viewer_settings['enable'] && $file_ext == 'pdf' ) { 180 ob_start(); 181 ?> 182 <!DOCTYPE html> 183 <html> 184 <head> 185 <meta name="viewport" content="width=device-width, initial-scale=1"> 186 <title><?php echo $pdf_obj->title; ?></title> 187 <style> 188 .container { 189 position: relative; 190 width: 100%; 191 overflow: hidden; 192 padding-top: 56.25%; /* 16:9 Aspect Ratio */ 193 } 194 195 .responsive-iframe { 196 position: absolute; 197 top: 0; 198 left: 0; 199 bottom: 0; 200 right: 0; 201 width: 100%; 202 height: 100%; 203 border: none; 204 } 205 </style> 206 </head> 207 <body> 208 <div class="container"> 209 <iframe class="responsive-iframe" src="<?php echo BSK_PDFM_PLUGIN_URL . 'pdfjs/web/viewer.html?file=' . $file_url . $embedded_viewer_settings['paras']; ?>"></iframe> 210 </div> 211 </body> 212 </html> 213 <?php 214 $html_content = ob_get_contents(); 215 ob_end_clean(); 216 217 echo $html_content; 218 } else { 219 $wp_filetype = wp_check_filetype( $file_path, null ); 220 221 // Header content type 222 header('Content-Type: '.$wp_filetype['type']); 223 header("Content-Length: " . filesize( $file_path ) ); 224 header('Content-Disposition: inline; filename="' . basename( $file_path ) . '"'); 225 header('Content-Transfer-Encoding: binary'); 226 header('Accept-Ranges: bytes'); 227 228 // Read the file 229 @readfile( $file_path ); 230 } 231 exit(); 232 } 187 } 188 189 if ( isset( $_GET['read'] ) && intval( $_GET['read'] ) == 1 ) { 190 191 $wp_filetype = wp_check_filetype( $file_path, null ); 192 // Header content type 193 header('Content-Type: '.$wp_filetype['type']); 194 header("Content-Length: " . filesize( $file_path ) ); 195 header('Content-Disposition: inline; filename="' . basename( $file_path ) . '"'); 196 header('Content-Transfer-Encoding: binary'); 197 header('Accept-Ranges: bytes'); 198 199 // Read the file 200 @readfile( $file_path ); 201 } 202 203 //output docment content 204 if ( is_array( $embedded_viewer_settings ) && isset( $embedded_viewer_settings ) && $embedded_viewer_settings['enable'] && $file_ext == 'pdf' ) { 205 ob_start(); 206 207 //for restricted file, the url should be change to use permalink with read=1 208 if ( $pdf_obj->restricted ) { 209 $file_url = site_url().'/'.$default_permalink_base.'/'.$pdf_obj->slug.'/?read=1'; 210 } 211 ?> 212 <!DOCTYPE html> 213 <html> 214 <head> 215 <meta name="viewport" content="width=device-width, initial-scale=1"> 216 <title><?php echo $pdf_obj->title; ?></title> 217 <style> 218 .container { 219 position: relative; 220 width: 100%; 221 overflow: hidden; 222 padding-top: 56.25%; /* 16:9 Aspect Ratio */ 223 } 224 225 .responsive-iframe { 226 position: absolute; 227 top: 0; 228 left: 0; 229 bottom: 0; 230 right: 0; 231 width: 100%; 232 height: 100%; 233 border: none; 234 } 235 </style> 236 </head> 237 <body> 238 <div class="container"> 239 <iframe class="responsive-iframe" src="<?php echo BSK_PDFM_PLUGIN_URL . 'pdfjs/web/viewer.html?file=' . rawurlencode( $file_url ) . $embedded_viewer_settings['paras']; ?>"></iframe> 240 </div> 241 </body> 242 </html> 243 <?php 244 $html_content = ob_get_contents(); 245 ob_end_clean(); 246 247 echo $html_content; 248 } else { 249 $wp_filetype = wp_check_filetype( $file_path, null ); 250 251 // Header content type 252 header('Content-Type: '.$wp_filetype['type']); 253 header("Content-Length: " . filesize( $file_path ) ); 254 header('Content-Disposition: inline; filename="' . basename( $file_path ) . '"'); 255 header('Content-Transfer-Encoding: binary'); 256 header('Accept-Ranges: bytes'); 257 258 // Read the file 259 @readfile( $file_path ); 260 } 261 exit(); 233 262 } 234 263 -
bsk-pdf-manager/trunk/classes/shortcodes/category/category-dropdown.php
r2985503 r3383033 94 94 $total_pdfs = $cat_pdfs_query_results['total']; 95 95 } 96 97 //read global embeded viewer settings 98 $embedded_viewer_settings = BSKPDFM_Common_Display::get_embedded_viewer_settings(); 96 99 97 100 $output_container_class = $shortcode_atts['output_container_class'] ? ' '.$shortcode_atts['output_container_class'] : ''; 98 101 $str_body = '<div class="bsk-pdfm-output-container shortcode-category layout-dropdown' . esc_attr( $output_container_class ) . '">'; 99 102 103 $form_id_random = rand( 10000000,99999999 ) ; 100 104 $target_str = ''; 101 105 if( $cat_pdfs_query_results ){ … … 161 165 } 162 166 163 $dropdown_output = '<select class="bsk-pdfm-pdfs-dropdown" '.$target_str.'>';167 $dropdown_output = '<select class="bsk-pdfm-pdfs-dropdown" id="bsk_pdfm_pdfs_dropdown_'.rand( 20, 90 ).'" data-from-id="'.$form_id_random.'">'; 164 168 $option_none_str = trim($shortcode_atts['option_none']); 165 169 if( $option_none_str ){ … … 192 196 $dropdown_output .= '</select>'; 193 197 198 //form with method:get to open file in new window 199 $form_target_str = ''; 200 if( $shortcode_atts['target'] == '_blank' ){ 201 $form_target_str = ' target="_blank"'; 202 } 203 $action = ''; 204 $pdfjs_paras = ''; 205 //if pdfjs enabled 206 if ( $embedded_viewer_settings['enable'] ) { 207 $action = BSK_PDFM_PLUGIN_URL . 'pdfjs/web/viewer.html'; 208 foreach ( $embedded_viewer_settings['paras_array'] as $para_name => $para_value ) { 209 $pdfjs_paras .= '<input type="hidden" value="' . $para_value . '" name="' . $para_name . '" class="bsk-pdfm-pdfs-dropdown-form-fields" />'; 210 } 211 } 212 $str_body .= '<form action="' . $action . '" method="get" id="bsk_pdfm_pdfs_dropdown_open_form_ID_'.$form_id_random.'"' . $form_target_str . '> 213 <input type="hidden" value="default" name="file" id="bsk_pdfm_pdfs_dropdown_to_open_ID_'.$form_id_random.'" class="bsk-pdfm-pdfs-dropdown-form-fields" />' 214 . $pdfjs_paras . 215 '</form>'; 216 194 217 $str_body .= '<div class="bsk-pdfm-category-output cat-'.esc_attr(implode('-', $cat_ids_for_container)).' category-hierarchical-depth-1 pdfs-in-dropdown" data-cat-id="'.esc_attr(implode('-', $cat_ids_for_container)).'">'; 195 218 $str_body .= $dropdown_output; … … 201 224 $str_body .= $this->get_shortcode_parameters_output( $shortcode_atts ); 202 225 226 //pdfjs embeded 227 if ( $embedded_viewer_settings['enable'] ) { 228 $str_body .= '<input type="hidden" class="bsk-pdfm-pdfs-dropdown-pdfs-enable" value="YES">'; 229 } else { 230 $str_body .= '<input type="hidden" class="bsk-pdfm-pdfs-dropdown-pdfs-enable" value="NO">'; 231 } 232 203 233 $str_body .= '</div><!-- //bsk-pdfm-output-container -->'; 204 205 global $post;206 207 if ( $post->ID && $target_str ) {208 $_dropdown_shortcodes_pages = get_option( BSKPDFManager::$_dropdown_shortcodes_pages_option, array() );209 $_dropdown_shortcodes_pages[$post->ID] = $post->ID;210 211 update_option( BSKPDFManager::$_dropdown_shortcodes_pages_option, $_dropdown_shortcodes_pages );212 }213 234 214 235 return $str_body; … … 223 244 ){ 224 245 246 //read global embeded viewer settings 247 $embedded_viewer_settings = BSKPDFM_Common_Display::get_embedded_viewer_settings(); 225 248 $depth_class = ' category-hierarchical-depth-'.$category_depth; 226 249 $caegory_title_tag = 'h'.($category_depth + 1); … … 253 276 $date_format_str = $shortcode_atts['date_format']; 254 277 } 255 256 $categor_output_str .= '<select class="bsk-pdfm-pdfs-dropdown"'.$target_str.'>'; 278 279 $form_id_random = rand( 10000000,99999999 ) ; 280 281 $categor_output_str .= '<select class="bsk-pdfm-pdfs-dropdown" id="bsk_pdfm_pdfs_dropdown_'.rand( 20, 90 ).'" data-from-id="'.$form_id_random.'">'; 257 282 $option_none_str = trim($shortcode_atts['option_none']); 258 283 if( $option_none_str ){ … … 271 296 $categor_output_str .= '</select>'; 272 297 298 //form with method:get to open file in new window 299 $form_target_str = ''; 300 if( $shortcode_atts['target'] == '_blank' ){ 301 $form_target_str = ' target="_blank"'; 302 } 303 $action = ''; 304 $pdfjs_paras = ''; 305 //if pdfjs enabled 306 if ( $embedded_viewer_settings['enable'] ) { 307 $action = BSK_PDFM_PLUGIN_URL . 'pdfjs/web/viewer.html'; 308 foreach ( $embedded_viewer_settings['paras_array'] as $para_name => $para_value ) { 309 $pdfjs_paras .= '<input type="hidden" value="' . $para_value . '" name="' . $para_name . '" class="bsk-pdfm-pdfs-dropdown-form-fields" />'; 310 } 311 } 312 $categor_output_str .= '<form action="' . $action . '" method="get" id="bsk_pdfm_pdfs_dropdown_open_form_ID_'.$form_id_random.'"' . $form_target_str . '> 313 <input type="hidden" value="default" name="file" id="bsk_pdfm_pdfs_dropdown_to_open_ID_'.$form_id_random.'" class="bsk-pdfm-pdfs-dropdown-form-fields" />' 314 . $pdfjs_paras . 315 '</form>'; 316 273 317 $categor_output_str .= '<!--//bsk-pdfm-category-output cat-'.esc_attr($category_obj->id).'-->'; 274 318 $categor_output_str .= '</div>'; … … 406 450 } 407 451 452 //read global embeded viewer settings 453 $embedded_viewer_settings = BSKPDFM_Common_Display::get_embedded_viewer_settings(); 408 454 409 455 $str_body = ''; … … 483 529 } 484 530 $dropdown_output .= '</select>'; 531 532 //form with method:get to open file in new window 533 $form_target_str = ''; 534 if( $shortcode_atts['target'] == '_blank' ){ 535 $form_target_str = ' target="_blank"'; 536 } 537 $action = ''; 538 $pdfjs_paras = ''; 539 //if pdfjs enabled 540 if ( $embedded_viewer_settings['enable'] ) { 541 $action = BSK_PDFM_PLUGIN_URL . 'pdfjs/web/viewer.html'; 542 foreach ( $embedded_viewer_settings['paras_array'] as $para_name => $para_value ) { 543 $pdfjs_paras .= '<input type="hidden" value="' . $para_value . '" name="' . $para_name . '" class="bsk-pdfm-pdfs-dropdown-form-fields" />'; 544 } 545 } 546 $str_body .= '<form action="' . $action . '" method="get" id="bsk_pdfm_pdfs_dropdown_open_form_ID_'.$form_id_random.'"' . $form_target_str . '> 547 <input type="hidden" value="default" name="file" id="bsk_pdfm_pdfs_dropdown_to_open_ID_'.$form_id_random.'" class="bsk-pdfm-pdfs-dropdown-form-fields" />' 548 . $pdfjs_paras . 549 '</form>'; 485 550 486 551 $str_body .= '<div class="bsk-pdfm-category-output cat-'.implode('-', esc_attr($cat_ids_for_container)).' category-hierarchical-depth-1 pdfs-in-dropdown" data-cat-id="'.esc_attr(implode('-', $cat_ids_for_container)).'">'; -
bsk-pdf-manager/trunk/classes/shortcodes/embed/pdfs-embed.php
r3117750 r3383033 141 141 ?> 142 142 <div class="bsk-pdfm-output-container embeded-pdf-container"> 143 <iframe class="responsive-iframe" src="<?php echo BSK_PDFM_PLUGIN_URL . 'pdfjs/web/viewer.html?file=' . $file_url. $embedded_viewer_settings['paras']; ?>" width="<?php echo $width; ?>" height="<?php echo $height; ?>" <?php echo $style_string; ?>></iframe>143 <iframe class="responsive-iframe" src="<?php echo BSK_PDFM_PLUGIN_URL . 'pdfjs/web/viewer.html?file=' . rawurlencode( $file_url ) . $embedded_viewer_settings['paras']; ?>" width="<?php echo $width; ?>" height="<?php echo $height; ?>" <?php echo $style_string; ?>></iframe> 144 144 </div><!-- //end for bsk-pdfm-output-container embeded-pdf-container--> 145 145 <?php -
bsk-pdf-manager/trunk/classes/shortcodes/pdfs/pdfs-dropdown.php
r3278709 r3383033 132 132 $total_pdfs = $pdfs_query_return['total']; 133 133 } 134 135 $form_id_random = rand( 10000000,99999999 ) ; 136 137 //read global embeded viewer settings 138 $embedded_viewer_settings = BSKPDFM_Common_Display::get_embedded_viewer_settings(); 134 139 135 140 $output_container_class = trim($shortcode_atts['output_container_class']) ? ' '.trim($shortcode_atts['output_container_class']) : ''; … … 158 163 $show_date, 159 164 $date_format_str, 160 $date_before_title 165 $date_before_title, 166 $form_id_random 161 167 ); 162 } else{168 } else { 163 169 //show count description bar 164 170 $str_body .= BSKPDFM_Common_Count_Desc_Bar::show_count_desc_bar( … … 177 183 $date_format_str, 178 184 $date_before_title, 179 $default_enable_permalink 185 $default_enable_permalink, 186 $form_id_random 180 187 ); 181 188 } 189 190 //form with method:get to open file in new window 191 $form_target_str = ''; 192 if( $shortcode_atts['target'] == '_blank' ){ 193 $form_target_str = ' target="_blank"'; 194 } 195 $action = ''; 196 $pdfjs_paras = ''; 197 //if pdfjs enabled 198 if ( $embedded_viewer_settings['enable'] ) { 199 $action = BSK_PDFM_PLUGIN_URL . 'pdfjs/web/viewer.html'; 200 foreach ( $embedded_viewer_settings['paras_array'] as $para_name => $para_value ) { 201 $pdfjs_paras .= '<input type="hidden" value="' . $para_value . '" name="' . $para_name . '" class="bsk-pdfm-pdfs-dropdown-form-fields" />'; 202 } 203 } 204 205 $str_body .= '<form action="' . $action . '" method="get" id="bsk_pdfm_pdfs_dropdown_open_form_ID_'.$form_id_random.'"' . $form_target_str . '> 206 <input type="hidden" value="default" name="file" id="bsk_pdfm_pdfs_dropdown_to_open_ID_'.$form_id_random.'" class="bsk-pdfm-pdfs-dropdown-form-fields" />' 207 . $pdfjs_paras . 208 '</form>'; 209 182 210 $str_body .= '</div><!--// bsk-pdfm-pdfs-output-->'; 183 211 … … 185 213 $str_body .= BSKPDFM_Common_Display::get_shortcode_attributes_and_ajax_nonce( $shortcode_atts ); 186 214 215 //pdfjs embeded 216 if ( $embedded_viewer_settings['enable'] ) { 217 $str_body .= '<input type="hidden" class="bsk-pdfm-pdfs-dropdown-pdfs-enable" value="YES">'; 218 } else { 219 $str_body .= '<input type="hidden" class="bsk-pdfm-pdfs-dropdown-pdfs-enable" value="NO">'; 220 } 221 187 222 $str_body .= '</div><!--// bsk-pdfm-output-container-->'; 188 189 global $post;190 191 if ( $post->ID && $open_target_str ) {192 $_dropdown_shortcodes_pages = get_option( BSKPDFManager::$_dropdown_shortcodes_pages_option, array() );193 $_dropdown_shortcodes_pages[$post->ID] = $post->ID;194 195 update_option( BSKPDFManager::$_dropdown_shortcodes_pages_option, $_dropdown_shortcodes_pages );196 }197 223 198 224 return $str_body; -
bsk-pdf-manager/trunk/js/bsk_pdf_manager_pro.js
r2426160 r3383033 5 5 */ 6 6 $(".bsk-pdfm-output-container").on("change", ".bsk-pdfm-pdfs-dropdown", function(){ 7 var target = $(this).data("target"); 7 8 var output_container = $(this).parents(".bsk-pdfm-output-container"); 8 9 var url = $(this).val(); 9 10 target = target == '_blank' ? '_blank' : '_self'; 11 if( url ){ 12 window.open( url, target); 10 11 if ( url ) { 12 //window.open( url, target); 13 var form_ID_random = $( this ).data( "from-id" ); 14 15 //if pdfjs enabled 16 var pdfjs_enabled = output_container.find( ".bsk-pdfm-pdfs-dropdown-pdfs-enable" ).val(); 17 var permalink_enabled = output_container.find( ".bsk_pdfm_settings_enalbe_permalink_cls" ).val() > 0 ? true : false ; 18 var file_extension = bsk_pdfm_get_fiel_extension( url ); 19 if ( pdfjs_enabled == 'YES' && permalink_enabled == false && file_extension == 'PDF' ) { 20 //change file's value 21 $( "#bsk_pdfm_pdfs_dropdown_to_open_ID_" + form_ID_random ).val( url ); 22 } else { 23 //change form's action 24 $( "#bsk_pdfm_pdfs_dropdown_open_form_ID_" + form_ID_random ).prop( "action", url ); 25 //remove all form's fields 26 $( "#bsk_pdfm_pdfs_dropdown_open_form_ID_" + form_ID_random ).find( ".bsk-pdfm-pdfs-dropdown-form-fields" ).remove(); 27 } 28 $( "#bsk_pdfm_pdfs_dropdown_open_form_ID_" + form_ID_random ).submit(); 13 29 } 14 30 }); 31 32 function bsk_pdfm_get_fiel_extension(url) { 33 try { 34 const urlObj = new URL(url); 35 const pathname = urlObj.pathname; 36 37 if (!pathname.includes('.')) { 38 return null; 39 } 40 41 const filename = pathname.split('/').pop(); 42 const extension = filename.split('.').pop(); 43 44 if (extension === filename) { 45 return null; 46 } 47 48 return extension.toUpperCase(); 49 } catch (error) { 50 console.error('Invalid URL:', error); 51 return null; 52 } 53 } 15 54 16 55 $(".bsk-pdfm-output-container").on("click", ".bsk-pdfm-extension-filter-anchor, .bsk-pdfm-tags-filter-anchor", function(){ -
bsk-pdf-manager/trunk/readme.txt
r3278709 r3383033 4 4 Tags: PDF manager, meeting minutes tool, printable forms tool, data sheets tool, embed PDF 5 5 Requires at least: 5.3 6 Tested up to: 6.8 7 Stable tag: 3.7 6 Tested up to: 6.8.3 7 Stable tag: 3.7.1 8 8 License: GPLv2 or later 9 9 License URI: https://www.gnu.org/licenses/gpl-2.0.html … … 54 54 == Changelog == 55 55 56 3.7.1 57 58 * Added: A new implementation to open PDF/documents from the drop-down menu. This way, the browser will no longer display security warnings or warnings when opening PDF/documents in a new window. 59 60 * Compatible: Wordpress 6.8.3 61 56 62 3.7 57 63 … … 60 66 * Fixed: warning mesage when display documents / PDFs in list and dropdown mode. 61 67 62 * Compatible: Wordpress 6.8. x68 * Compatible: Wordpress 6.8.1 63 69 64 70 ( In addition to the above, the Pro version also does the following )
Note: See TracChangeset
for help on using the changeset viewer.