jQuery(document).ready(function($) { var $embedurl = $('#awsm-url'), $shortcode = $('#shortcode'), $message = $('#embed-message p'), $ActionPanel = $('.mceActionPanel'), $container = $('.ead-container'), fileurl = "", newprovider = "", frame, msextension = emebeder.msextension, drextension = emebeder.drextension; //Opens Embed popup $('body').on('click', '.awsm-embed', function(e) { ead_reset(); e.preventDefault(); $('body').addClass('ead-popup-on'); tb_show("Embed Any Document", "#TB_inline?inlineId=embed-popup-wrap&width=1030&modal=true", null); ead_tb_position(); $("#upload-doc").focus(); return; }); //Update shortcode on change $(".ead-usc").change(function() { newprovider = ""; ead_updateshortcode($(this).attr('id')); ead_customize_popup(); }); $('.embedval').keyup(function() { ead_updateshortcode($(this).attr('id')); }); //Wordpress Uploader $('#upload-doc').click(ead_open_media_window); //Add url $('#ead-add-url').click(ead_embded_url); //insert Shortcode $('#insert-doc').click(ead_shortcode); // Add from URL support $('#add-ead-document').on('click', function(e) { e.preventDefault(); $('.addurl-box').fadeIn(); $('.ead-options').hide(); }); //Add fromrom URL cancel handler $('.go-back').on('click', function(e) { e.preventDefault(); $('.addurl-box').hide(); $('.ead-options').fadeIn(); }); // Close embed dialog $('#embed-popup').on('click', '.cancel-embed,.ead-close', function(e) { // Prevent default action e.preventDefault(); ead_remove_pop(); }); //Insert Media window function ead_open_media_window() { var uClass = 'upload'; if (frame) { frame.open(); return; } frame = wp.media({ title: 'Embed Any Document', multiple: false, library: { type: emebeder.validtypes, }, button: { text: emebeder.select_button } }); frame.on('select', function() { var file = frame.state().get('selection').first().toJSON(); ead_updateprovider(file, uClass); }); frame.open(); } //update provider function ead_updateprovider(file, uClass) { fileurl = file.url; ead_valid_viewer(file, uClass); ead_updateshortcode(); ead_uploaddetails(file, uClass); } //sanitize width and height function ead_sanitize(dim) { if (dim.indexOf("%") == -1) { dim = dim.replace(/[^0-9]/g, ''); dim += "px"; } else { dim = dim.replace(/[^0-9]/g, ''); dim += "%"; } return dim; } //Thickbox Handler function ead_tb_position() { var tbWindow = $('#TB_window'); var width = $(window).width(); var H = $(window).height(); var W = ( 1080 < width ) ? 1080 : width; if ( tbWindow.size() ) { tbWindow.width( W - 50 ).height( H - 45 ); //$('#TB_iframeContent').width( W - 50 ).height( H - 75 ); $('#TB_ajaxContent').css({'width':'100%','height':'100%','padding':'0'}); tbWindow.css({'margin-left': '-' + parseInt((( W - 50 ) / 2),10) + 'px'}); if ( typeof document.body.style.maxWidth != 'undefined' ) tbWindow.css({'top':'20px','margin-top':'0'}); $('#TB_title').css({'background-color':'#fff','color':'#cfcfcf'}); }; }; $(window).resize( function() { ead_tb_position() } ); //to getshortcode function getshortcode(url, item) { var height = ead_sanitize($('#ead-height').val()), width = ead_sanitize($('#ead-width').val()), download = $('#ead-download').val(), provider = $('#ead-provider').val(), text = $('#ead-text').val(), cache = $('#ead-cache').is(':checked'), heightstr = "", widthstr = "", downloadstr = "", providerstr = "", textstr="", cachestr="", drivestr = ""; if (ead_itemcheck('height', item)) { heightstr = ' height="' + height + '"'; } if (ead_itemcheck('width', item)) { widthstr = ' width="' + width + '"'; } if (ead_itemcheck('download', item)) { downloadstr = ' download="' + download + '"'; } if (ead_itemcheck('provider', item)) { providerstr = ' viewer="' + provider + '"'; } if (ead_itemcheck('text', item) && download!='none' ) { textstr = ' text="' + text + '"'; } if (provider == 'google') { $('#eadcachemain').show(); if (cache) { cachestr = ' cache="off"'; } } else { $('#eadcachemain').hide(); } if (provider === 'browser') { $('.ead-browser-viewer-note').show(); } else { $('.ead-browser-viewer-note').hide(); } return '[embeddoc url="' + url + '"' + widthstr + heightstr + downloadstr + providerstr + cachestr + drivestr + textstr +']'; } // Checks with default setting value function ead_itemcheck(item, dataitem) { var check = $('#ead-' + item).val(); if(!check) return false; var datacheck = 'ead-' + item; if (datacheck == dataitem) { return true; } else if (check != emebeder[item]) { return true; } return false; } //Print uploaded file details function ead_uploaddetails(file, uClass) { $('#insert-doc').removeAttr('disabled'); $('#ead-filename').html(file.filename); if (file.filesizeHumanReadable) { $('#ead-filesize').html(file.filesizeHumanReadable); } else { $('#ead-filesize').html(' '); } $('.upload-success').fadeIn(); $container.hide(); ead_upload_class(uClass); } function ead_embded_url() { var checkurl = $embedurl.val(); if (checkurl !== '') { ead_validateurl(checkurl); } else { $embedurl.addClass('urlerror'); ead_updateshortcode(); } } function ead_is_valid_url(url) { return /^(https?|s?ftp):\/\/(((([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:)*@)?(((\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5])\.(\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5])\.(\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5])\.(\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5]))|((([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))\.)+(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))\.?)(:\d*)?)(\/((([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:|@)+(\/(([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:|@)*)*)?)?(\?((([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:|@)|[\uE000-\uF8FF]|\/|\?)*)?(#((([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:|@)|\/|\?)*)?$/i.test(url); } //Validate file url function ead_validateurl(url) { var uClass = 'link'; $('#embed-message').hide(); if(ead_is_valid_url(url)) { fileurl = url; var filename = url.split('/').pop(); if (!filename) filename = emebeder.from_url; var file = { url: fileurl, filename: filename }; $('#insert-doc').removeAttr('disabled'); $('#ead-filename').html(emebeder.from_url); $('#ead-filesize').html(' '); $('.upload-success').fadeIn(); $container.hide(); ead_upload_class(uClass); ead_valid_viewer(file, uClass); ead_updateshortcode(); }else{ ead_showmsg(emebeder.invalidurl); } } //Show Message function ead_showmsg(msg) { $('#embed-message').fadeIn(); $message.text(msg); } function ead_shortcode() { if (fileurl) { // @rel: document guten-block var ins_shortcode = true; if(typeof wp.blocks !== 'undefined') { var document_block = wp.blocks.getBlockType('embed-any-document/document'); if(typeof document_block !== 'undefined') { ins_shortcode = false; } } if(ins_shortcode) { wp.media.editor.insert($shortcode.text()); } ead_remove_pop(); } else { showmsg(emebeder.nocontent); } } //Update ShortCode function ead_updateshortcode(item) { item = typeof item !== 'undefined' ? item : false; if (fileurl) { $shortcode.text(getshortcode(fileurl, item)); } else { $shortcode.text(''); } } //UploadClass function ead_upload_class(uPclass) { $(".uploaded-doccument").removeClass("ead-link ead-upload ead-dropbox ead-drive ead-box"); $('.uploaded-doccument').addClass('ead-' + uPclass); } //close popup function ead_remove_pop(){ // Close popup tb_remove(); setTimeout(function() { $('body').removeClass('ead-popup-on'); }, 800); } //Convert Filesize to human Readable filesize function ead_human_file_size(bytes) { var thresh = 1024; if (bytes < thresh) return bytes + ' B'; var units = ['KB', 'MB', 'GB', 'TB', 'PB', 'EB', 'ZB', 'YB']; var u = -1; do { bytes /= thresh; ++u; } while (bytes >= thresh); return bytes.toFixed(1) + ' ' + units[u]; } // Viewer Check function ead_valid_viewer(file, provider) { var cprovider = ["link", "upload"]; var validext = msextension.split(','); var checkitem = file.filename; if (provider == 'link') { checkitem = file.url; } var ext = '.' + checkitem.split('.').pop(); var flexible_viewers = ['built-in', 'browser', 'microsoft']; $.each(flexible_viewers, function(i, value) { $("#new-provider option[value='" + value + "']").attr({ 'disabled': false, 'hidden': false }); }); $('.ead-browser-viewer-note').hide(); if ($.inArray(provider, cprovider) !== -1) { if ($.inArray(ext, validext) === -1) { newprovider = "google"; $("#new-provider option[value='google']").attr("selected", "selected"); $("#new-provider option[value='microsoft']").attr({ 'disabled': true, 'hidden': true }); } else { newprovider = "microsoft"; $("#new-provider option[value='microsoft']").attr("selected", "selected"); } // Hide the Browser viewer and built-in viewer if the extension is not pdf and also if the provider is not in the supported providers list. if (ext !== '.pdf'){ $("#new-provider option[value='browser']").attr({ 'disabled': true, 'hidden': true }); } if (ext !== '.pdf' || (provider === 'link' && checkitem.indexOf(emebeder.site_url) === -1)) { $("#new-provider option[value='built-in']").attr({ 'disabled': true, 'hidden': true }); } } } //Download text show function ead_customize_popup(){ if($('#ead-download').val()=="none"){ $('#ead-download-text').hide(); }else{ $('#ead-download-text').show(); } } //Reset form data function ead_reset() { $container.show(); $embedurl.val(''); $('.ead-options').fadeIn(); $('.addurl-box').hide(); $('.upload-success').hide(); $('#embed-message').hide(); $('#insert-doc').attr('disabled', 'disabled'); $('#new-provider').show(); $('#ead-pseudo').hide(); newprovider = ""; $("#new-provider option[value='microsoft']").attr('disabled', false); $('#ead-downloadc').show(); ead_customize_popup(); } });