Changeset 3236148
- Timestamp:
- 02/06/2025 04:45:44 PM (10 months ago)
- Location:
- photo-gallery/trunk
- Files:
-
- 6 edited
-
admin/views/Albums.php (modified) (15 diffs)
-
filemanager/svg-sanitizer.php (modified) (1 diff)
-
js/bwg.js (modified) (1 diff)
-
js/bwg_gallery_box.js (modified) (1 diff)
-
photo-gallery.php (modified) (5 diffs)
-
readme.txt (modified) (2 diffs)
Legend:
- Unmodified
- Added
- Removed
-
photo-gallery/trunk/admin/views/Albums.php
r2844248 r3236148 57 57 <thead class="alternate"> 58 58 <td id="cb" class="column-cb check-column"> 59 <label class="screen-reader-text" for="cb-select-all-1"><?php _e('Select all', 'photo-gallery'); ?></label>59 <label class="screen-reader-text" for="cb-select-all-1"><?php esc_html_e('Select all', 'photo-gallery'); ?></label> 60 60 <input id="check_all" type="checkbox" onclick="spider_check_all(this)" /> 61 61 </td> … … 93 93 } 94 94 ?> 95 <tr id="tr_<?php echo $row->id; ?>" <?php echo $alternate; ?>>95 <tr id="tr_<?php echo esc_attr($row->id); ?>" <?php echo $alternate; ?>> 96 96 <th class="check-column"> 97 <input type="checkbox" id="check_<?php echo $row->id; ?>" name="check[<?php echo $row->id; ?>]" onclick="spider_check_all(this)" />97 <input type="checkbox" id="check_<?php echo esc_attr($row->id); ?>" name="check[<?php echo esc_attr($row->id); ?>]" onclick="spider_check_all(this)" /> 98 98 </th> 99 99 <td class="column-primary column-title" data-colname="<?php _e('Title', 'photo-gallery'); ?>"> … … 101 101 <a href="<?php echo $edit_url; ?>"> 102 102 <span class="media-icon image-icon"> 103 <img class="preview-image" title="<?php echo esc_attr( $row->name ); ?>" src="<?php echo $preview_image; ?>" width="60" height="60" />103 <img class="preview-image" title="<?php echo esc_attr($row->name); ?>" src="<?php echo esc_url( $preview_image ); ?>" width="60" height="60" /> 104 104 </span> 105 <?php echo esc_html( $row->name); ?>105 <?php echo esc_html($row->name); ?> 106 106 </a> 107 107 <?php if ( !$row->published ) { ?> … … 110 110 </strong> 111 111 <div class="row-actions"> 112 <span><a href="<?php echo $edit_url; ?>"><?php_e('Edit', 'photo-gallery'); ?></a> |</span>113 <span><a href="<?php echo $publish_url; ?>"><?php echo ($row->published ? __('Unpublish', 'photo-gallery') :__('Publish', 'photo-gallery')); ?></a> |</span>114 <span><a href="<?php echo $duplicate_url; ?>"><?php_e('Duplicate', 'photo-gallery'); ?></a> |</span>115 <span class="trash"><a onclick="if (!confirm('<?php echo addslashes(__('Do you want to delete selected item?', 'photo-gallery')); ?>')) {return false;}" href="<?php echo $delete_url; ?>"><?php_e('Delete', 'photo-gallery'); ?></a> |</span>116 <span><a href="<?php echo esc_url( $preview_url ); ?>" target="_blank"><?php _e('Preview', 'photo-gallery'); ?></a></span>112 <span><a href="<?php echo esc_url( $edit_url ); ?>"><?php esc_html_e('Edit', 'photo-gallery'); ?></a> |</span> 113 <span><a href="<?php echo esc_url( $publish_url ); ?>"><?php echo ($row->published ? esc_html__('Unpublish', 'photo-gallery') : esc_html__('Publish', 'photo-gallery')); ?></a> |</span> 114 <span><a href="<?php echo esc_url( $duplicate_url ); ?>"><?php esc_html_e('Duplicate', 'photo-gallery'); ?></a> |</span> 115 <span class="trash"><a onclick="if (!confirm('<?php echo esc_js(__('Do you want to delete selected item?', 'photo-gallery')); ?>')) {return false;}" href="<?php echo esc_url( $delete_url ); ?>"><?php esc_html_e('Delete', 'photo-gallery'); ?></a> |</span> 116 <span><a href="<?php echo esc_url( $preview_url ); ?>" target="_blank"><?php esc_html_e('Preview', 'photo-gallery'); ?></a></span> 117 117 </div> 118 118 <button class="toggle-row" type="button"> 119 <span class="screen-reader-text"><?php _e('Show more details', 'photo-gallery'); ?></span>119 <span class="screen-reader-text"><?php esc_html_e('Show more details', 'photo-gallery'); ?></span> 120 120 </button> 121 121 </td> 122 <td data-colname="<?php _e('Author', 'photo-gallery'); ?>"><?php echo ( $user ) ? $user->display_name: ''; ?></td>122 <td data-colname="<?php esc_attr_e('Author', 'photo-gallery'); ?>"><?php echo $user ? esc_html($user->display_name) : ''; ?></td> 123 123 </tr> 124 124 <?php … … 193 193 <div class="wd-page-title wd-header wd-list-view-header-left"> 194 194 <div> 195 <h1 class="wp-heading-inline bwg-heading"><?php _e('Gallery Group Title', 'photo-gallery'); ?></h1>196 <input type="text" id="name" name="name" value="<?php echo !empty($row->name) ? esc_attr( $row->name) : ''; ?>">195 <h1 class="wp-heading-inline bwg-heading"><?php esc_html_e('Gallery Group Title', 'photo-gallery'); ?></h1> 196 <input type="text" id="name" name="name" value="<?php echo !empty($row->name) ? esc_attr($row->name) : ''; ?>"> 197 197 </div> 198 198 <div class="bwg-page-actions"> … … 203 203 ?> 204 204 <button class="tw-button-primary button-large" onclick="if (spider_check_required('name', 'Title')) {return false;}; spider_set_input_value('task', 'save')"> 205 <?php echo ($params['id']) ? __('Update', 'photo-gallery') :__('Publish', 'photo-gallery'); ?>205 <?php echo ($params['id']) ? esc_html__('Update', 'photo-gallery') : esc_html__('Publish', 'photo-gallery'); ?> 206 206 </button> 207 207 208 208 <?php /* Preview Section */ 209 209 if ( $params['id'] && $params['preview_action'] ) { ?> 210 <div class="tw-button-secondary bwg-preview-button " id ="bwg-preview-button" onclick="bwg_preview_section(this);"><?php_e('Preview', 'photo-gallery'); ?></div>210 <div class="tw-button-secondary bwg-preview-button" id="bwg-preview-button" onclick="bwg_preview_section(this);"><?php esc_html_e('Preview', 'photo-gallery'); ?></div> 211 211 <div class="bwg-preview-section album"> 212 <p><?php _e('Preview gallery group in:', 'photo-gallery'); ?></p>213 <?php foreach ( $get_album_gallery_types as $key => $value ) { ?>214 <div class="bwg-preview-gallery-type" onclick="window.open('<?php echo $value['preview_url']; ?>')">212 <p><?php esc_html_e('Preview gallery group in:', 'photo-gallery'); ?></p> 213 <?php foreach ( $get_album_gallery_types as $key => $value ) { ?> 214 <div class="bwg-preview-gallery-type" onclick="window.open('<?php echo esc_url($value['preview_url']); ?>')"> 215 215 <div class="bwg-preview-gallery-type-icon"></div> 216 216 <div class="bwg-preview-gallery-type-title"> 217 <?php echo $value["title"]; ?>217 <?php echo esc_html($value["title"]); ?> 218 218 </div> 219 219 </div> … … 234 234 <div class="wd-table-row wd-table-col-100 wd-table-col-left"> 235 235 <div class="wd-box-section"> 236 <div class="postbox <?php echo $params['id'] ? 'closed' : '' ?>">236 <div class="postbox <?php echo $params['id'] ? 'closed' : ''; ?>"> 237 237 <button class="button-link handlediv" type="button" aria-expanded="true"> 238 <span class="screen-reader-text"><?php _e('Toggle panel:', 'photo-gallery'); ?></span>238 <span class="screen-reader-text"><?php esc_html_e('Toggle panel:', 'photo-gallery'); ?></span> 239 239 <span class="toggle-indicator" aria-hidden="true"></span> 240 240 </button> 241 241 <h2 class="hndle"> 242 <span><?php _e('Basic', 'photo-gallery'); ?></span>242 <span><?php esc_html_e('Basic', 'photo-gallery'); ?></span> 243 243 </h2> 244 244 <div class="inside"> 245 245 <div class="wd-box-content"> 246 246 <div class="wd-group"> 247 <label class="wd-label" for="preview_image"><?php _e('Preview image', 'photo-gallery'); ?></label>247 <label class="wd-label" for="preview_image"><?php esc_html_e('Preview image', 'photo-gallery'); ?></label> 248 248 <div> 249 <a href="<?php echo $params['add_preview_image_action']; ?>" id="button_preview_image" class="button wd-preview-image-btn thickbox thickbox-preview <?php echo ($row->preview_image == '') ? 'bwg_not-preview-image' : '' ?>" title="<?php _e('Add Preview Image', 'photo-gallery'); ?>" onclick="return false;" style="<?php echo !empty($row->preview_image) ? 'display:none;' : '' ?>"> 250 <span class="dashicons dashicons-camera"></span><?php _e('Add', 'photo-gallery'); ?> 249 <a href="<?php echo esc_url($params['add_preview_image_action']); ?>" 250 id="button_preview_image" 251 class="button wd-preview-image-btn thickbox thickbox-preview <?php echo ($row->preview_image == '') ? 'bwg_not-preview-image' : ''; ?>" 252 title="<?php esc_attr_e('Add Preview Image', 'photo-gallery'); ?>" 253 onclick="return false;" 254 style="<?php echo !empty($row->preview_image) ? 'display:none;' : ''; ?>"> 255 <span class="dashicons dashicons-camera"></span><?php esc_html_e('Add', 'photo-gallery'); ?> 251 256 </a> 252 <img id="img_preview_image" src="<?php echo $row->preview_image ? (BWG()->upload_url . $row->preview_image) : ''; ?>" style="<?php echo empty($row->preview_image) ? 'display:none;' : '' ?>" /> 253 <span id="delete_preview_image" class="spider_delete_img dashicons dashicons-no-alt" onclick="spider_remove_url('button_preview_image', 'preview_image', 'delete_preview_image', 'img_preview_image')" style="<?php echo empty($row->preview_image) ? 'display:none;' : '' ?>"></span> 254 <input type="hidden" id="preview_image" name="preview_image" value="<?php echo $row->preview_image; ?>" /> 255 <p class="description"><?php _e('Add a preview image, which will be displayed as the cover image of the gallery group when it is published in a parent gallery group.', 'photo-gallery'); ?></p> 257 <img id="img_preview_image" 258 src="<?php echo $row->preview_image ? esc_url(BWG()->upload_url . $row->preview_image) : ''; ?>" 259 style="<?php echo empty($row->preview_image) ? 'display:none;' : ''; ?>" /> 260 <span id="delete_preview_image" 261 class="spider_delete_img dashicons dashicons-no-alt" 262 onclick="spider_remove_url('button_preview_image', 'preview_image', 'delete_preview_image', 'img_preview_image')" 263 style="<?php echo empty($row->preview_image) ? 'display:none;' : ''; ?>"> 264 </span> 265 <input type="hidden" id="preview_image" name="preview_image" value="<?php echo esc_attr($row->preview_image); ?>" /> 266 <p class="description"><?php esc_html_e('Add a preview image, which will be displayed as the cover image of the gallery group when it is published in a parent gallery group.', 'photo-gallery'); ?></p> 256 267 </div> 257 268 </div> 258 269 <div class="wd-group"> 259 <label class="wd-label"><?php _e('Published', 'photo-gallery'); ?></label>270 <label class="wd-label"><?php esc_html_e('Published', 'photo-gallery'); ?></label> 260 271 <input type="radio" class="inputbox" id="published1" name="published" <?php echo(($row->published == 1 || !$params['id']) ? 'checked="checked"' : ''); ?> value="1" /> 261 <label for="published1"><?php _e('Yes', 'photo-gallery'); ?></label>272 <label for="published1"><?php esc_html_e('Yes', 'photo-gallery'); ?></label> 262 273 <input type="radio" class="inputbox" id="published0" name="published" <?php echo(($row->published) ? '' : 'checked="checked"'); ?> value="0" /> 263 <label for="published0"><?php _e('No', 'photo-gallery'); ?></label>274 <label for="published0"><?php esc_html_e('No', 'photo-gallery'); ?></label> 264 275 </div> 265 276 </div> … … 272 283 <div class="postbox closed"> 273 284 <button class="button-link handlediv" type="button" aria-expanded="true"> 274 <span class="screen-reader-text"><?php _e('Toggle panel:', 'photo-gallery'); ?></span>285 <span class="screen-reader-text"><?php esc_html_e('Toggle panel:', 'photo-gallery'); ?></span> 275 286 <span class="toggle-indicator" aria-hidden="false"></span> 276 287 </button> 277 288 <h2 class="hndle"> 278 <span><?php _e('Advanced', 'photo-gallery'); ?></span>289 <span><?php esc_html_e('Advanced', 'photo-gallery'); ?></span> 279 290 </h2> 280 291 <div class="inside bwg-flex bwg-flex-wrap bwg-align-items-top"> … … 283 294 <div class="wd-box-content"> 284 295 <div class="wd-group"> 285 <label class="wd-label"><?php _e('Author', 'photo-gallery'); ?></label>296 <label class="wd-label"><?php esc_html_e('Author', 'photo-gallery'); ?></label> 286 297 <span><?php echo esc_html($row->author); ?></span> 287 298 </div> 288 299 <div class="wd-group"> 289 <label class="wd-label" for="slug"><?php _e('Slug', 'photo-gallery'); ?></label>290 <input type="text" id="slug" name="slug" value="<?php echo urldecode($row->slug); ?>">291 <input type="hidden" id="old_slug" name="old_slug" value="<?php echo urldecode($row->slug); ?>">300 <label class="wd-label" for="slug"><?php esc_html_e('Slug', 'photo-gallery'); ?></label> 301 <input type="text" id="slug" name="slug" value="<?php echo esc_attr(urldecode($row->slug)); ?>"> 302 <input type="hidden" id="old_slug" name="old_slug" value="<?php echo esc_attr(urldecode($row->slug)); ?>"> 292 303 </div> 293 304 <div class="wd-group"> 294 <label class="wd-label" for="description"><?php _e('Description', 'photo-gallery'); ?> </label>305 <label class="wd-label" for="description"><?php esc_html_e('Description', 'photo-gallery'); ?> </label> 295 306 <?php 296 307 if ( user_can_richedit() && $enable_wp_editor ) { 297 wp_editor( esc_html($row->description), 'description', array(308 wp_editor(wp_kses_post($row->description), 'description', array( 298 309 'teeny' => TRUE, 299 310 'textarea_name' => 'description', … … 304 315 else { 305 316 ?> 306 <textarea cols="36" rows="5" id="description" name="description" 307 class="wd-resize-vertical"><?php echo esc_html($row->description); ?></textarea>317 <textarea cols="36" rows="5" id="description" name="description" 318 class="wd-resize-vertical"><?php echo esc_textarea($row->description); ?></textarea> 308 319 <?php 309 320 } … … 323 334 <div class="wd-box-content"> 324 335 <div class="wd-group"> 325 <h2 class="wd-titles"><?php _e('Galleries and Gallery Groups', 'photo-gallery'); ?></h2>336 <h2 class="wd-titles"><?php esc_html_e('Galleries and Gallery Groups', 'photo-gallery'); ?></h2> 326 337 <div id="bwg_tabs" class="bwg_tabs hidden"> 327 338 <?php 328 339 foreach ( $params['albums_galleries'] as $item ) { 329 340 $item->published = !$item->published ? 'dashicons-hidden' : 'bwg-hidden'; 330 $item->preview_image = 'style="background-image:url( "' . $item->preview_image . '")"';341 $item->preview_image = 'style="background-image:url(' . esc_url($item->preview_image) . ')"'; 331 342 echo $this->albumgallery_template($item); 332 343 } … … 341 352 <div class="bwg_subtab"> 342 353 <div class="new_tab_image"> 343 <a class="new_tab_link thickbox-preview" onclick="jQuery('#loading_div').show();" href="<?php echo $params['add_albums_galleries_action']; ?>"> 344 <p id="add_album_gallery_text"><?php _e('Add', 'photo-gallery'); ?></p> 354 <a class="new_tab_link thickbox-preview" 355 onclick="jQuery('#loading_div').show();" 356 href="<?php echo esc_url($params['add_albums_galleries_action']); ?>"> 357 <p id="add_album_gallery_text"><?php esc_html_e('Add', 'photo-gallery'); ?></p> 345 358 </a> 346 359 </div> … … 354 367 </div> 355 368 <div id="loading_div" class="bwg_show"></div> 356 <input type="hidden" value="<?php echo !empty($row->modified_date) ? $row->modified_date : time()?>" id="modified_date" name="modified_date" />369 <input type="hidden" value="<?php echo esc_attr(!empty($row->modified_date) ? $row->modified_date : time()); ?>" id="modified_date" name="modified_date" /> 357 370 <?php 358 371 } 359 372 360 373 public function albumgallery_template($albumgallery_row, $template = false) { 361 $edit_url = add_query_arg(array( 362 'page' => $albumgallery_row->is_album == 0 ? 'galleries_bwg' : 'albums_bwg', 363 'task' => 'edit', 364 'current_id' => $albumgallery_row->alb_gal_id, 365 ), admin_url('admin.php')); 374 $edit_url = esc_url(add_query_arg(array( 375 'page' => $albumgallery_row->is_album == 0 ? 'galleries_bwg' : 'albums_bwg', 376 'task' => 'edit', 377 'current_id' => $albumgallery_row->alb_gal_id, 378 ), admin_url('admin.php'))); 379 366 380 ob_start(); 367 381 if ($template) { … … 371 385 } 372 386 ?> 373 <div class="bwg_subtab connectedSortable <?php echo 'bwg_subtab_' . $albumgallery_row->published; ?>" data-id="<?php echo $albumgallery_row->alb_gal_id; ?>" data-is-album="<?php echo $albumgallery_row->is_album; ?>" data-status="<?php echo $albumgallery_row->published; ?>"> 387 <div class="bwg_subtab connectedSortable <?php echo esc_attr('bwg_subtab_' . $albumgallery_row->published); ?>" 388 data-id="<?php echo esc_attr($albumgallery_row->alb_gal_id); ?>" 389 data-is-album="<?php echo esc_attr($albumgallery_row->is_album); ?>" 390 data-status="<?php echo esc_attr($albumgallery_row->published); ?>"> 374 391 <div <?php echo $albumgallery_row->preview_image; ?> class="tab_image"> 375 392 <div class="tab_buttons"> 376 393 <div class="handle_wrap"> 377 <span class="bwg_move dashicons dashicons-move" title="<?php _e('Drag to re-order', 'photo-gallery'); ?>"></span>378 </div> 379 <div class="bwg_tab_title_wrap" title="<?php echo $albumgallery_row->name; ?>">380 <a href="<?php echo $edit_url ?>" target="_blank">381 <label class="bwg_tab_title" title="<?php echo $albumgallery_row->name; ?>"><?php echo $albumgallery_row->name; ?></label>394 <span class="bwg_move dashicons dashicons-move" title="<?php esc_attr_e('Drag to re-order', 'photo-gallery'); ?>"></span> 395 </div> 396 <div class="bwg_tab_title_wrap" title="<?php echo esc_attr($albumgallery_row->name); ?>"> 397 <a href="<?php echo $edit_url; ?>" target="_blank"> 398 <label class="bwg_tab_title" title="<?php echo esc_attr($albumgallery_row->name); ?>"><?php echo esc_html($albumgallery_row->name); ?></label> 382 399 </a> 383 400 </div> … … 385 402 <div class="overlay"> 386 403 <div class="hover_buttons"> 387 <span class="bwg_tab_remove dashicons dashicons-trash" title="<?php _e('Remove', 'photo-gallery'); ?>" onclick="bwg_remove_album_gallery(this)"></span> 388 <span class="bwg_tab_status dashicons <?php echo $albumgallery_row->published; ?>" title="<?php _e('Unpublished', 'photo-gallery'); ?>"></span> 404 <span class="bwg_tab_remove dashicons dashicons-trash" 405 title="<?php esc_attr_e('Remove', 'photo-gallery'); ?>" 406 onclick="bwg_remove_album_gallery(this)"></span> 407 <span class="bwg_tab_status dashicons <?php echo esc_attr($albumgallery_row->published); ?>" 408 title="<?php esc_attr_e('Unpublished', 'photo-gallery'); ?>"></span> 389 409 <span class="bwg_clear"></span> 390 410 </div> -
photo-gallery/trunk/filemanager/svg-sanitizer.php
r3071536 r3236148 189 189 190 190 $tag_name = $element->tagName; // phpcs:ignore -- php DomDocument 191 192 191 if ( ! in_array( strtolower( $tag_name ), $allowed_tags ) ) { 193 192 $this->remove_element( $element ); -
photo-gallery/trunk/js/bwg.js
r3098798 r3236148 368 368 .replace( /%%is_album%%/g, is_album ) 369 369 .replace( /%%preview_image%%=""/g, 'style="background-image:url("' + preview_image + '")"' ) 370 .replace( /%%name%%/g, name)370 .replace( /%%name%%/g, tw_escape( name ) ) 371 371 .replace( /%%status%%/g, status ); 372 372 jQuery( '#bwg_tabs' ).children( '#bwg_template' ).last().before( html ); -
photo-gallery/trunk/js/bwg_gallery_box.js
r3034547 r3236148 716 716 .hide() 717 717 .appendTo("body"); 718 /* Load script which is append to body in the ajax response data */ 719 popup.find('script').each(function () { 720 jQuery.globalEval(this.text || this.textContent || this.innerHTML || ''); 721 }); 718 722 gallery_box_ready(); 719 723 spider_showpopup(description, lifetime, popup, duration, lightbox_ctrl_btn_pos); -
photo-gallery/trunk/photo-gallery.php
r3180567 r3236148 4 4 * Plugin URI: https://10web.io/plugins/wordpress-photo-gallery/?utm_source=photo_gallery&utm_medium=free_plugin 5 5 * Description: This plugin is a fully responsive gallery plugin with advanced functionality. It allows having different image galleries for your posts and pages. You can create unlimited number of galleries, combine them into albums, and provide descriptions and tags. 6 * Version: 1.8.3 16 * Version: 1.8.33 7 7 * Author: Photo Gallery Team 8 8 * Author URI: https://10web.io/plugins/?utm_source=photo_gallery&utm_medium=free_plugin … … 109 109 $this->front_url = $this->plugin_url; 110 110 $this->main_file = plugin_basename(__FILE__); 111 $this->plugin_version = '1.8.3 1';112 $this->db_version = '1.8.3 1';111 $this->plugin_version = '1.8.33'; 112 $this->db_version = '1.8.33'; 113 113 $this->prefix = 'bwg'; 114 114 $this->nicename = __('Photo Gallery', 'photo-gallery'); … … 217 217 add_action('plugins_loaded', array($this, 'plugins_loaded')); 218 218 219 // Load a plugin translated strings.220 load_plugin_textdomain( 'photo-gallery', false, plugin_basename(dirname(__FILE__)) . '/languages' );221 222 219 if ( !$this->is_pro ) { 223 220 add_filter("plugin_row_meta", array($this, 'add_plugin_meta_links'), 10, 2); … … 397 394 ob_start(); 398 395 $this->overview(); 399 add_action('init', array($this, 'language_load'));396 add_action('init', array($this, 'language_load')); 400 397 add_action('init', array($this, 'create_post_types')); 401 398 } … … 1451 1448 */ 1452 1449 public function language_load() { 1453 load_plugin_textdomain($this->prefix, FALSE, basename(dirname(__FILE__)) . '/languages');1450 load_plugin_textdomain( 'photo-gallery', false, plugin_basename(dirname(__FILE__)) . '/languages' ); 1454 1451 } 1455 1452 -
photo-gallery/trunk/readme.txt
r3180567 r3236148 4 4 Requires at least: 4.6 5 5 Tested up to: 6.6 6 Stable tag: 1.8.3 16 Stable tag: 1.8.33 7 7 License: GPLv2 or later 8 8 License URI: http://www.gnu.org/licenses/gpl-2.0.html … … 273 273 274 274 == Changelog == 275 276 = 1.8.33 = 277 * Fixed: Security fix. 275 278 276 279 = 1.8.31 =
Note: See TracChangeset
for help on using the changeset viewer.