attach-file
7 months ago
additional-preview-images.php
4 years ago
attach-file.php
6 months ago
changelog.php
6 months ago
icons.php
2 weeks ago
lock-options.php
2 weeks ago
package-settings.php
2 weeks ago
additional-preview-images.php
100 lines
| 1 | <?php |
| 2 | if(!defined("ABSPATH")) die("Shit happens!"); |
| 3 | ?> |
| 4 | <style>.adp img{ width: 78px; height: 78px; }</style> |
| 5 | <div id="adpcon"> |
| 6 | <a id="add-prev-img" href="#" style='float:left;margin:3px;padding:3px;width: 68px; height: 68px;border: 2px dashed #ddd;background: url(<?php echo WPDM_BASE_URL; ?>assets/images/plus.svg) no-repeat center center;background-size: 32px'></a> |
| 7 | <?php |
| 8 | |
| 9 | $mpvs = get_post_meta($post->ID,'__wpdm_additional_previews', true); |
| 10 | |
| 11 | $mmv = 0; |
| 12 | |
| 13 | if(is_array($mpvs)){ |
| 14 | foreach($mpvs as $mpv){ |
| 15 | $image = ((int)$mpv > 0) ? wp_get_attachment_image($mpv) : "<img src='".wpdm_dynamic_thumb($mpv, array(128, 128), true)."' />"; |
| 16 | ?> |
| 17 | <div id='<?php echo ++$mmv; ?>' style='float:left;margin:3px;' class='adp'> |
| 18 | <input type='hidden' id='in_<?php echo $mmv; ?>' name='file[additional_previews][]' value='<?php echo esc_attr($mpv); ?>' /> |
| 19 | <img style='position:absolute;z-index:9999;cursor:pointer;width: 16px;height: 16px' id='del_<?php echo $mmv; ?>' rel="<?php echo $mmv; ?>" src='<?php echo WPDM_BASE_URL ?>assets/images/delete.svg' class="del_adp" /> |
| 20 | <?php echo $image; ?> |
| 21 | <div style='clear:both'></div> |
| 22 | </div> |
| 23 | <?php |
| 24 | } |
| 25 | } |
| 26 | ?> |
| 27 | </div> |
| 28 | |
| 29 | |
| 30 | <div class="clear"></div> |
| 31 | |
| 32 | <script type="text/javascript"> |
| 33 | |
| 34 | jQuery(document).ready(function() { |
| 35 | |
| 36 | var file_frame; |
| 37 | |
| 38 | jQuery('body').on('click', '#add-prev-img', function( event ){ |
| 39 | |
| 40 | event.preventDefault(); |
| 41 | |
| 42 | // If the media frame already exists, reopen it. |
| 43 | if ( file_frame ) { |
| 44 | file_frame.open(); |
| 45 | return; |
| 46 | } |
| 47 | |
| 48 | // Create the media frame. |
| 49 | file_frame = wp.media.frames.file_frame = wp.media({ |
| 50 | title: jQuery( this ).data( 'uploader_title' ), |
| 51 | button: { |
| 52 | text: jQuery( this ).data( 'uploader_button_text' ) |
| 53 | }, |
| 54 | library: { |
| 55 | type: [ 'image' ] |
| 56 | }, |
| 57 | multiple: false // Set to true to allow multiple files to be selected |
| 58 | }); |
| 59 | |
| 60 | // When an image is selected, run a callback. |
| 61 | file_frame.on( 'select', function() { |
| 62 | // We set multiple to false so only get one image from the uploader |
| 63 | attachment = file_frame.state().get('selection').first().toJSON(); |
| 64 | var imgurl = attachment.sizes.thumbnail !== undefined ? attachment.sizes.thumbnail.url : attachment.url; |
| 65 | var imgid = attachment.id; |
| 66 | var newDate = new Date; |
| 67 | var ID = newDate.getTime(); |
| 68 | jQuery('#adpcon').append("<div id='"+ID+"' style='display:none;float:left;margin:3px;padding:5px;height:68px;width:68px;background: url("+imgurl+") no-repeat;background-size:cover;' class='adp'><input type='hidden' id='in_"+ID+"' name='file[additional_previews][]' value='"+imgid+"' /><nobr><b><img style='width:16px;position:absolute;z-index:9999;cursor:pointer;' id='del_"+ID+"' src='<?php echo plugins_url(); ?>/download-manager/assets/images/delete.svg' rel='del' align=left /></b></nobr><div style='clear:both'></div></div>"); |
| 69 | jQuery('#'+ID).fadeIn(); |
| 70 | jQuery('#del_'+ID).click(function(){ |
| 71 | if(confirm('Are you sure?')){ |
| 72 | jQuery('#'+ID).fadeOut().remove(); |
| 73 | } |
| 74 | |
| 75 | }); |
| 76 | |
| 77 | // Do something with attachment.id and/or attachment.url here |
| 78 | }); |
| 79 | |
| 80 | // Finally, open the modal |
| 81 | file_frame.open(); |
| 82 | return false; |
| 83 | }); |
| 84 | |
| 85 | |
| 86 | |
| 87 | |
| 88 | |
| 89 | jQuery('.del_adp').click(function(){ |
| 90 | if(confirm('Are you sure?')){ |
| 91 | jQuery('#'+jQuery(this).attr('rel')).fadeOut().remove(); |
| 92 | } |
| 93 | |
| 94 | }); |
| 95 | |
| 96 | jQuery('#adpcon').sortable(); |
| 97 | }); |
| 98 | |
| 99 | </script> |
| 100 |