Changeset 3478194
- Timestamp:
- 03/09/2026 02:01:06 PM (4 weeks ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
a1-tools/trunk/includes/class-a1-tools-media-management.php
r3478187 r3478194 626 626 */ 627 627 private function get_admin_js() { 628 return " 628 // Using nowdoc to avoid PHP variable interpolation ($item, $btn, $msg, $p). 629 return <<<'JSEOF' 629 630 (function($){ 630 631 'use strict'; … … 640 641 641 642 function escAttr(s) { 642 return s.replace(/&/g,'&').replace(/ \"/g,'"').replace(/'/g,''').replace(/</g,'<').replace(/>/g,'>');643 return s.replace(/&/g,'&').replace(/"/g,'"').replace(/'/g,''').replace(/</g,'<').replace(/>/g,'>'); 643 644 } 644 645 … … 662 663 $('#a1mm-loading').hide(); 663 664 664 if (!res.success || !res.data.items.length) { 665 if (!res || !res.success) { 666 var msg = (res && res.data && res.data.message) ? res.data.message : 'Failed to load media.'; 667 $('#a1mm-empty').show().find('p').text(msg); 668 $('#a1mm-status').text(''); 669 return; 670 } 671 672 if (!res.data.items.length) { 665 673 $('#a1mm-empty').show(); 666 674 $('#a1mm-status').text('0 items'); … … 680 688 }).fail(function() { 681 689 $('#a1mm-loading').hide(); 682 $('#a1mm-empty').show().find('p').text('Error loading media. ');690 $('#a1mm-empty').show().find('p').text('Error loading media. Check browser console.'); 683 691 }); 684 692 } 685 693 686 694 function buildItem(item) { 687 var nameNoExt = item.filename.replace(/\ \.[^.]+$/, '');695 var nameNoExt = item.filename.replace(/\.[^.]+$/, ''); 688 696 var ext = item.filename.split('.').pop(); 689 697 var thumbHtml = item.is_image 690 ? '<img src= \"' + escAttr(item.thumbnail_url) + '\" alt=\"\" />'691 : '<span class= \"dashicons dashicons-media-default\"></span>';698 ? '<img src="' + escAttr(item.thumbnail_url) + '" alt="" />' 699 : '<span class="dashicons dashicons-media-default"></span>'; 692 700 693 701 var metaParts = [escHtml(item.mime_type), escHtml(item.file_size_formatted)]; … … 697 705 metaParts.push(escHtml(item.date)); 698 706 699 var html = '<div class= \"a1mm-item\" data-id=\"' + item.id + '\">'700 + '<div class= \"a1mm-thumb\">' + thumbHtml + '</div>'701 + '<div class= \"a1mm-info\">'702 + ' <div class= \"a1mm-current\"><code>' + escHtml(item.filename) + '</code></div>'703 + ' <div class= \"a1mm-meta\">' + metaParts.join(' | ') + '</div>'704 + ' <div class= \"a1mm-rename-row\">'705 + ' <input type= \"text\" class=\"a1mm-new-name\" value=\"' + escAttr(nameNoExt) + '\" />'706 + ' <span class= \"a1mm-ext\">.' + escHtml(ext) + '</span>'707 + ' <label class= \"a1mm-refs-label\"><input type=\"checkbox\" class=\"a1mm-refs-cb\" /> Update refs</label>'708 + ' <button type= \"button\" class=\"button button-primary a1mm-rename-btn\">Rename</button>'709 + ' <span class= \"a1mm-item-msg\"></span>'707 var html = '<div class="a1mm-item" data-id="' + item.id + '">' 708 + '<div class="a1mm-thumb">' + thumbHtml + '</div>' 709 + '<div class="a1mm-info">' 710 + ' <div class="a1mm-current"><code>' + escHtml(item.filename) + '</code></div>' 711 + ' <div class="a1mm-meta">' + metaParts.join(' | ') + '</div>' 712 + ' <div class="a1mm-rename-row">' 713 + ' <input type="text" class="a1mm-new-name" value="' + escAttr(nameNoExt) + '" />' 714 + ' <span class="a1mm-ext">.' + escHtml(ext) + '</span>' 715 + ' <label class="a1mm-refs-label"><input type="checkbox" class="a1mm-refs-cb" /> Update refs</label>' 716 + ' <button type="button" class="button button-primary a1mm-rename-btn">Rename</button>' 717 + ' <span class="a1mm-item-msg"></span>' 710 718 + ' </div>' 711 719 + '</div>' … … 718 726 var $p = $('#a1mm-pagination'); 719 727 if (current > 1) { 720 $p.append('<button type= \"button\" class=\"button a1mm-page-btn\" data-page=\"' + (current - 1) + '\">‹ Prev</button>');721 } 722 $p.append('<span class= \"a1mm-page-info\">Page ' + current + ' of ' + total + '</span>');728 $p.append('<button type="button" class="button a1mm-page-btn" data-page="' + (current - 1) + '">‹ Prev</button>'); 729 } 730 $p.append('<span class="a1mm-page-info">Page ' + current + ' of ' + total + '</span>'); 723 731 if (current < total) { 724 $p.append('<button type= \"button\" class=\"button a1mm-page-btn\" data-page=\"' + (current + 1) + '\">Next ›</button>');732 $p.append('<button type="button" class="button a1mm-page-btn" data-page="' + (current + 1) + '">Next ›</button>'); 725 733 } 726 734 } … … 761 769 // Update displayed info. 762 770 $item.find('.a1mm-current code').text(d.new_filename); 763 var nameNoExt = d.new_filename.replace(/\ \.[^.]+$/, '');771 var nameNoExt = d.new_filename.replace(/\.[^.]+$/, ''); 764 772 $item.find('.a1mm-new-name').val(nameNoExt); 765 773 if (d.new_thumbnail_url) { … … 808 816 809 817 })(jQuery); 810 ";818 JSEOF; 811 819 } 812 820 }
Note: See TracChangeset
for help on using the changeset viewer.