1var allps; 2 3String.prototype.wpdm_shuffle = function () { 4 var a = this.split(""), 5 n = a.length; 6 7 for(var i = n - 1; i > 0; i--) { 8 var j = Math.floor(Math.random() * (i + 1)); 9 var tmp = a[i]; 10 a[i] = a[j]; 11 a[j] = tmp; 12 } 13 return a.join(""); 14} 15 16 17var WPDM = { 18 19 init: function($){ 20 21 }, 22 23 beep: function() { 24 if(WPDM.audio == undefined) 25 var snd = new Audio("data:audio/wav;base64,//uQRAAAAWMSLwUIYAAsYkXgoQwAEaYLWfkWgAI0wWs/ItAAAGDgYtAgAyN+QWaAAihwMWm4G8QQRDiMcCBcH3Cc+CDv/7xA4Tvh9Rz/y8QADBwMWgQAZG/ILNAARQ4GLTcDeIIIhxGOBAuD7hOfBB3/94gcJ3w+o5/5eIAIAAAVwWgQAVQ2ORaIQwEMAJiDg95G4nQL7mQVWI6GwRcfsZAcsKkJvxgxEjzFUgfHoSQ9Qq7KNwqHwuB13MA4a1q/DmBrHgPcmjiGoh//EwC5nGPEmS4RcfkVKOhJf+WOgoxJclFz3kgn//dBA+ya1GhurNn8zb//9NNutNuhz31f////9vt///z+IdAEAAAK4LQIAKobHItEIYCGAExBwe8jcToF9zIKrEdDYIuP2MgOWFSE34wYiR5iqQPj0JIeoVdlG4VD4XA67mAcNa1fhzA1jwHuTRxDUQ//iYBczjHiTJcIuPyKlHQkv/LHQUYkuSi57yQT//uggfZNajQ3Vmz+Zt//+mm3Wm3Q576v////+32///5/EOgAAADVghQAAAAA//uQZAUAB1WI0PZugAAAAAoQwAAAEk3nRd2qAAAAACiDgAAAAAAABCqEEQRLCgwpBGMlJkIz8jKhGvj4k6jzRnqasNKIeoh5gI7BJaC1A1AoNBjJgbyApVS4IDlZgDU5WUAxEKDNmmALHzZp0Fkz1FMTmGFl1FMEyodIavcCAUHDWrKAIA4aa2oCgILEBupZgHvAhEBcZ6joQBxS76AgccrFlczBvKLC0QI2cBoCFvfTDAo7eoOQInqDPBtvrDEZBNYN5xwNwxQRfw8ZQ5wQVLvO8OYU+mHvFLlDh05Mdg7BT6YrRPpCBznMB2r//xKJjyyOh+cImr2/4doscwD6neZjuZR4AgAABYAAAABy1xcdQtxYBYYZdifkUDgzzXaXn98Z0oi9ILU5mBjFANmRwlVJ3/6jYDAmxaiDG3/6xjQQCCKkRb/6kg/wW+kSJ5//rLobkLSiKmqP/0ikJuDaSaSf/6JiLYLEYnW/+kXg1WRVJL/9EmQ1YZIsv/6Qzwy5qk7/+tEU0nkls3/zIUMPKNX/6yZLf+kFgAfgGyLFAUwY//uQZAUABcd5UiNPVXAAAApAAAAAE0VZQKw9ISAAACgAAAAAVQIygIElVrFkBS+Jhi+EAuu+lKAkYUEIsmEAEoMeDmCETMvfSHTGkF5RWH7kz/ESHWPAq/kcCRhqBtMdokPdM7vil7RG98A2sc7zO6ZvTdM7pmOUAZTnJW+NXxqmd41dqJ6mLTXxrPpnV8avaIf5SvL7pndPvPpndJR9Kuu8fePvuiuhorgWjp7Mf/PRjxcFCPDkW31srioCExivv9lcwKEaHsf/7ow2Fl1T/9RkXgEhYElAoCLFtMArxwivDJJ+bR1HTKJdlEoTELCIqgEwVGSQ+hIm0NbK8WXcTEI0UPoa2NbG4y2K00JEWbZavJXkYaqo9CRHS55FcZTjKEk3NKoCYUnSQ0rWxrZbFKbKIhOKPZe1cJKzZSaQrIyULHDZmV5K4xySsDRKWOruanGtjLJXFEmwaIbDLX0hIPBUQPVFVk
25QkDoUNfSoDgQGKPekoxeGzA4DUvnn4bxzcZrtJyipKfPNy5w+9lnXwgqsiyHNeSVpemw4bWb9psYeq//uQZBoABQt4yMVxYAIAAAkQoAAAHvYpL5m6AAgAACXDAAAAD59jblTirQe9upFsmZbpMudy7Lz1X1DYsxOOSWpfPqNX2WqktK0DMvuGwlbNj44TleLPQ+Gsfb+GOWOKJoIrWb3cIMeeON6lz2umTqMXV8Mj30yWPpjoSa9ujK8SyeJP5y5mOW1D6hvLepeveEAEDo0mgCRClOEgANv3B9a6fikgUSu/DmAMATrGx7nng5p5iimPNZsfQLYB2sDLIkzRKZOHGAaUyDcpFBSLG9MCQALgAIgQs2YunOszLSAyQYPVC2YdGGeHD2dTdJk1pAHGAWDjnkcLKFymS3RQZTInzySoBwMG0QueC3gMsCEYxUqlrcxK6k1LQQcsmyYeQPdC2YfuGPASCBkcVMQQqpVJshui1tkXQJQV0OXGAZMXSOEEBRirXbVRQW7ugq7IM7rPWSZyDlM3IuNEkxzCOJ0ny2ThNkyRai1b6ev//3dzNGzNb//4uAvHT5sURcZCFcuKLhOFs8mLAAEAt4UWAAIABAAAAAB4qbHo0tIjVkUU//uQZAwABfSFz3ZqQAAAAAngwAAAE1HjMp2qAAAAACZDgAAAD5UkTE1UgZEUExqYynN1qZvqIOREEFmBcJQkwdxiFtw0qEOkGYfRDifBui9MQg4QAHAqWtAWHoCxu1Yf4VfWLPIM2mHDFsbQEVGwyqQoQcwnfHeIkNt9YnkiaS1oizycqJrx4KOQjahZxWbcZgztj2c49nKmkId44S71j0c8eV9yDK6uPRzx5X18eDvjvQ6yKo9ZSS6l//8elePK/Lf//IInrOF/FvDoADYAGBMGb7FtErm5MXMlmPAJQVgWta7Zx2go+8xJ0UiCb8LHHdftWyLJE0QIAIsI+UbXu67dZMjmgDGCGl1H+vpF4NSDckSIkk7Vd+sxEhBQMRU8j/12UIRhzSaUdQ+rQU5kGeFxm+hb1oh6pWWmv3uvmReDl0UnvtapVaIzo1jZbf/pD6ElLqSX+rUmOQNpJFa/r+sa4e/pBlAABoAAAAA3CUgShLdGIxsY7AUABPRrgCABdDuQ5GC7DqPQCgbbJUAoRSUj+NIEig0YfyWUho1VBBBA//uQZB4ABZx5zfMakeAAAAmwAAAAF5F3P0w9GtAAACfAAAAAwLhMDmAYWMgVEG1U0FIGCBgXBXAtfMH10000EEEEEECUBYln03TTTdNBDZopopYvrTTdNa325mImNg3TTPV9q3pmY0xoO6bv3r00y+IDGid/9aaaZTGMuj9mpu9Mpio1dXrr5HERTZSmqU36A3CumzN/9Robv/Xx4v9ijkSRSNLQhAWumap82WRSBUqXStV/YcS+XVLnSS+WLDroqArFkMEsAS+eWmrUzrO0oEmE40RlMZ5+ODIkAyKAGUwZ3mVKmcamcJnMW26MRPgUw6j+LkhyHGVGYjSUUKNpuJUQoOIAyDvEyG8S5yfK6dhZc0Tx1KI/gviKL6qvvFs1+bWtaz58uUNnryq6kt5RzOCkPWlVqVX2a/EEBUdU1KrXLf40GoiiFXK///qpoiDXrOgqDR38JB0bw7SoL+ZB9o1RCkQjQ2CBYZKd/+VJxZRRZlqSkKiws0WFxUyCwsKiMy7hUVFhIaCrNQsKkTIsLivwKKigsj8XYlwt/WKi2N4d//uQRCSAAjURNIHpMZBGYiaQPSYyAAABLAAAAAAAACWAAAAApUF/Mg+0aohSIRobBAsMlO//Kk4soosy1JSFRYWaLC4qZBYWFRGZdwqKiwkNBVmoWFSJkWFxX4FFRQWR+LsS4W/rFRb/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////VEFHAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAU291bmRib3kuZGUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMjAwNGh0dHA6Ly93d3cuc291bmRib3kuZGUAAAAAAAAAACU="); 26 else 27 var snd = new Audio(WPDM.audio); 28 snd.play(); 29 }, 30 31 uniqueID: function(){ 32 var uniq = Date.now()+"abcdefghijklmnopqrstuvwxyz_"; 33 uniq = uniq.wpdm_shuffle(); 34 uniq = uniq.substring(1, 10); 35 return uniq; 36 }, 37 38 popupWindow: function(url, title, w, h) { 39 /* Fixes dual-screen position Most browsers Firefox */ 40 var dualScreenLeft = window.screenLeft != undefined ? window.screenLeft : screen.left; 41 var dualScreenTop = window.screenTop != undefined ? window.screenTop : screen.top; 42 43 var width = window.innerWidth ? window.innerWidth : document.documentElement.clientWidth ? document.documentElement.clientWidth : screen.width; 44 var height = window.innerHeight ? window.innerHeight : document.documentElement.clientHeight ? document.documentElement.clientHeight : screen.height; 45 46 var left = ((width / 2) - (w / 2)) + dualScreenLeft; 47 var top = ((height / 2) - (h / 2)) + dualScreenTop; 48 var newWindow = window.open(url, title, 'scrollbars=yes, width=' + w + ', height=' + h + ', top=' + top + ', left=' + left); 49
50 /* Puts focus on the newWindow */ 51 if (window.focus) { 52 newWindow.focus(); 53 } 54 55 return false; 56 }, 57 58 bootAlert: function(heading, content, width) { 59 var html; 60 if(!width) width = 400; 61 var modal_id = '__bootModal_' + WPDM.uniqueID(); 62 html = '<div class="w3eden" id="w3eden'+modal_id+'"><div id="'+modal_id+'" class="modal fade" tabindex="-1" role="dialog">\n' + 63 ' <div class="modal-dialog" style="width: '+width+'px" role="document">\n' + 64 ' <div class="modal-content" style="border-radius: 4px;overflow: hidden">\n' + 65 ' <div class="modal-header" style="padding: 12px 15px;background: rgba(0,0,0,0.02);">\n' + 66 ' <h4 class="modal-title" style="font-size: 10pt;font-weight: 600;padding: 0;margin: 0;font-family:Montserrat, san-serif;letter-spacing: 0.5px">'+heading+'</h4>\n' + 67 ' </div>\n' + 68 ' <div class="modal-body fetfont" style="line-height: 1.5;text-transform: unset;font-weight:400;letter-spacing:0.5px;font-size: 12px">\n' + 69 ' '+content+'\n' + 70 ' </div>\n' + 71 ' <div class="modal-footer" style="padding: 10px 15px">\n' + 72 ' <button type="button" class="btn btn-secondary btn-xs" data-target="#'+modal_id+'" data-dismiss="modal">Close</button>\n' + 73 ' </div>\n' + 74 ' </div>\n' + 75 ' </div>\n' + 76 '</div></div>'; 77 jQuery('body').append(html); 78 jQuery("#"+modal_id).modal({show: true, backdrop: 'static'}); 79 return jQuery("#"+modal_id); 80 }, 81 82 83 /** 84 * Local push notification 85 * @param title 86 * @param message 87 * @param icon 88 * @param image 89 * @param url 90 */ 91 pushNotify: function(title, message, icon, image, url){ 92 if (!('Notification' in window) || !('ServiceWorkerRegistration' in window)) { 93 return; 94 } 95 96 Notification.requestPermission(function (result) { 97 if(result === 'granted'){ 98 console.log('Notification: ' + result); 99 try { 100 var notification = new Notification(title, {body: message, icon: icon?icon:'https://cdn1.iconfinder.com/data/icons/hawcons/32/698558-icon-47-note-important-512.png', image: image?image:''}); 101 if(url) { 102 notification.onclick = function (e) { 103 e.preventDefault(); 104 window.open(url, '_blank'); 105 }; 106 } 107 } catch (err) { 108 console.log('Notification API error: ' + err); 109 } 110 } else { 111 console.log('Notification: ' + result); 112 } 113 }); 114 115 }, 116 117 118 119 /** 120 * Shows notification 121 * @param message 122 * @param type 123 * @param position 124 */ 125 notify: function(message, type, position, autoclose){ 126 var $ = jQuery; 127 if(type === undefined || !type) type = 'info'; 128 if(position === undefined || !position) position = 'top-right'; 129 if(type === 'danger') type = 'error'; 130 var notifycont = position.indexOf('#') >= 0 ? position : '#wpdm-notify-'+position ; 131 if($(notifycont).length == 0) 132 $('body').prepend("<div id='wpdm-notify-"+position+"'></div>"); 133 var notif = $("<div class='wpdm-notify fetfont wpdm-notify-"+type+"' style='display: none'>"+message+"</div>"); 134 $(notifycont).append(notif); 135 $(notif).fadeIn(); 136 if(autoclose !== undefined){ 137 setTimeout(function () { 138 139 $(notif).animate({ 140 opacity: 0 141 }, 1000, function() { 142 $(this).slideUp(); 143 }); 144 145 }, autoclose); 146 } 147 return $(notif); 148 }, 149 150 /** 151 * Shows notification 152 * @param message 153 * @param type 154 * @param position 155 */ 156 floatify: function(html, position){ 157 var $ = jQuery; 158 if(position === undefined || !position) position = 'top-right'; 159 var floatifycont = '#wpdm-floatify-'+position; 160 if($(floatifycont).length == 0) 161 $('body').prepend("<div class='w3eden' id='wpdm-floatify-"+position+"'></div>"); 162 var floatify = $("<div class='wpdm-floatify fetfont style='margin-right: -500px'>"+html+"</div>"); 163 $(floatifycont).append(floatify); 164 $(floatify).animate({marginRight: '0px'}); 165 return $(floatify); 166 }, 167 168 blockUI: function(element, xhr){ 169 jQuery(element).addClass("blockui"); 170 if(xhr) 171 xhr.addEventListener("load", function () { 172 jQuery(element).removeClass("blockui"); 173 }); 174 }, 175 176 unblockUI: function(element){ 177 jQuery(element).removeClass("blockui"); 178 }, 179 180 overlay: function(element, html){ 181 var $ = jQuery; 182 var overlaycontent = $("<div class='wpdm-overlay-content' style='display: none'>"+html+"<div class='wpdm-overlay-close' style='cursor: pointer'><i class='far fa-times-circle'></i> close</div></div>"); 183 $(element).addClass('wpdm-overlay').append(overlaycontent); 184 $(overlaycontent).fadeIn(); 185 $('body').on('click', '.wpdm-overlay-close', function () { 186 $(overlaycontent).fadeOut(function () { 187 $(this).remove(); 188 }); 189 }); 190 return $(overlaycontent); 191 }, 192 193 194 confirm: function(heading, content, buttons) { 195 var html, $ = jQuery; 196 var modal_id = '__boot_popup_' + WPDM.uniqueID(); 197 $("#w3eden__boot_popup").remove(); 198 var _buttons = ''; 199 if(buttons) { 200 _buttons = '<div class="modal-footer" style="padding: 8px 15px;">\n'; 201 $.each(buttons, function (i, button) { 202 var id = 'btx_' + i; 203 _buttons += "<button id='" + id + "' class='" + button.class + " btn-xs' style='font-size: 10px;padding: 3px 20px;'>" + button.label + "</button> "; 204 }); 205 _buttons += '</div>\n'; 206 } 207 208 html = '<div class="w3eden" id="w3eden'+modal_id+'"><div id="'+modal_id+'" style="z-index: 9999999 !important;" class="modal fade" tabindex="-1" role="dialog">\n' + 209 ' <div class="modal-dialog" role="document" style="max-width: 100%;width: 350px">\n' + 210 ' <div class="modal-content" style="border-radius: 3px;overflow: hidden">\n' + 211 ' <div class="modal-header" style="padding: 12px 15px;background: #f5f5f5;">\n' + 212 ' <h4 class="modal-title" style="font-size: 9pt;font-weight: 500;padding: 0;margin: 0;font-family:var(--wpdm-font), san-serif;letter-spacing: 0.5px">'+heading+'</h4>\n' + 213 ' </div>\n' + 214 ' <div class="modal-body text-center" style="font-family:var(--wpdm-font), san-serif;letter-spacing: 0.5px;font-size: 10pt;font-weight: 300;padding: 25px;line-height: 1.5">\n' + 215 ' '+content+'\n' + 216 ' </div>\n' + _buttons + 217 ' </div>\n' + 218 ' </div>\n' + 219 '</div></div>'; 220 $('body').append(html); 221 $("#"+modal_id).modal('show'); 222 $.each(buttons, function (i, button) { 223 var id = 'btx_'+i; 224 $('#'+id).unbind('click'); 225 $( '#'+id).bind('click' , function () { 226 button.callback.call($("#"+modal_id)); 227 return false;
228 }); 229 }); 230 return $("#"+modal_id); 231 }, 232 audioUI: function(audio){ 233 var $ = jQuery, song_length, song_length_m, song_length_s; 234 235 if(parseInt(wpdm_asset.bsversion) !== 3) 236 var player_html = '<div class="w3eden"><div style="display: none" class="wpdm-audio-player-ui" id="wpdm-audio-player-ui"><div class="card m-2"><div class="card-body text-center"><div class="media"><div class="mr-3 wpdm-audio-control-buttons"><button class="btn btn-primary btn-play" id="wpdm-btn-play"><i class="fa fa-play"></i></button> <button class="btn btn-primary btn-backward" id="wpdm-btn-backward"><i class="fa fa-backward"></i></button> <button class="btn btn-primary btn-forward" id="wpdm-btn-forward"><i class="fa fa-forward"></i></button></div><div class="media-body"><div class="position-relative"><div id="played">00:00</div><div id="mins">00:00</div></div><div class="progress"><div id="wpdm-audio-progress" class="progress-bar bg-success" role="progressbar" style="width: 0%;" aria-valuenow="25" aria-valuemin="0" aria-valuemax="100"></div></div></div><div class="ml-3 wpdm-audio-control-buttons"> <button class="btn btn-info btn-volumctrl" id="wpdm-btn-volumctrl"><i class="fa fa-volume-up"></i></button> <div class="volumctrl"><input type="range" min="0" max="1" step="0.01" value="3" class="p-0" id="wpdm-audio-volume"></div></div></div></div></div></div></div>'; 237 else 238 var player_html = '<div class="w3eden"><div style="display: none" class="wpdm-audio-player-ui" id="wpdm-audio-player-ui"><div class="panel panel-default" style="margin: 0;border: 0;border-radius: 0;border-top: 1px solid #dddddd;background: #fcfcfc"><div class="panel-body text-center"><div class="media"><div class="pull-right wpdm-audio-control-buttons"><button class="btn btn-info btn-volumctrl" id="wpdm-btn-volumctrl"><i class="fa fa-volume-up"></i></button> <div class="volumctrl"> <input type="range" min="0" max="1" step="0.01" value="3" class="p-0" id="wpdm-audio-volume"> </div></div><div class="wpdm-audio-control-buttons pull-left"><nobr><button class="btn btn-primary btn-play" id="wpdm-btn-play"><i class="fa fa-play"></i></button> <button class="btn btn-primary btn-backward" id="wpdm-btn-backward"><i class="fa fa-backward"></i></button> <button class="btn btn-primary btn-forward" id="wpdm-btn-forward"><i class="fa fa-forward"></i></button></nobr></div><div class="media-body"><div class="position-relative"><div id="played">00:00</div><div id="mins">00:00</div></div><div class="progress"><div id="wpdm-audio-progress" class="progress-bar bg-success" role="progressbar" style="width: 0%;" aria-valuenow="25" aria-valuemin="0" aria-valuemax="100"></div></div></div></div></div></div></div></div>'; 239 240 if(audio.duration !== Infinity) { 241 song_length = parseInt(audio.duration); 242 song_length_m = parseInt(song_length / 60); 243 song_length_s = song_length - (song_length_m * 60); 244 song_length_m = song_length_m > 9 ? song_length_m : "0" + song_length_m; 245 song_length_s = song_length_s > 9 ? song_length_s : "0" + song_length_s; 246 } else { 247 song_length_m = "--"; 248 song_length_s = "--"; 249 audio.addEventListener("durationchange", function (e) { 250 console.log(this.duration); 251 if (this.duration !== Infinity) { 252 song_length = parseInt(this.duration); 253 song_length_m = parseInt(song_length / 60); 254 song_length_s = song_length - (song_length_m * 60); 255 song_length_m = song_length_m > 9 ? song_length_m : "0" + song_length_m; 256 song_length_s = song_length_s > 9 ? song_length_s : "0" + song_length_s; 257 $('#mins').html(song_length_m+":"+song_length_s); 258 next(song_length); 259 } 260 }, false); 261 } 262 263 if($('#wpdm-audio-player-ui').length === 0 ){ 264 $('body').append(player_html); 265 $("#wpdm-audio-player-ui").slideDown(); 266 $('#mins').html(song_length_m+":"+song_length_s); 267 $('body').on('click', '#wpdm-audio-player-ui .progress', function(e){ 268 let value = e.offsetX * 100 / this.clientWidth; 269 var played = parseInt(song_length*value/100); 270 var played_m = parseInt(played/60); 271 var played_s = played - (played_m*60); 272 played_m = played_m > 9 ? played_m : "0"+played_m; 273 played_s = played_s > 9 ? played_s : "0"+played_s; 274 $('#played').html(played_m+":"+played_s); 275 audio.currentTime = (song_length*value)/100;
276 $(this).find('.progress-bar').css('width', value + "%"); 277 //video.currentTime = duration * (value / 100); 278 }); 279 $('body').on('click', '#wpdm-btn-backward', function(){ 280 let value = (parseInt($('#wpdm-audio-player-ui .progress-bar').css('width'))/parseInt($('#wpdm-audio-player-ui .progress').css('width')))*100 - 10; 281 if(value < 0) value = 0; 282 var played = parseInt(song_length*value/100); 283 var played_m = parseInt(played/60); 284 var played_s = played - (played_m*60); 285 played_m = played_m > 9 ? played_m : "0"+played_m; 286 played_s = played_s > 9 ? played_s : "0"+played_s; 287 $('#played').html(played_m+":"+played_s); 288 audio.currentTime = (song_length*value)/100; 289 $('#wpdm-audio-player-ui .progress-bar').css('width', value + "%"); 290 }); 291 $('body').on('click', '#wpdm-btn-forward', function(){ 292 let value = (parseInt($('#wpdm-audio-player-ui .progress-bar').css('width'))/parseInt($('#wpdm-audio-player-ui .progress').css('width')))*100 + 10; 293 if(value > 100) value = 100; 294 var played = parseInt(song_length*value/100); 295 var played_m = parseInt(played/60); 296 var played_s = played - (played_m*60); 297 played_m = played_m > 9 ? played_m : "0"+played_m; 298 played_s = played_s > 9 ? played_s : "0"+played_s; 299 $('#played').html(played_m+":"+played_s); 300 audio.currentTime = (song_length*value)/100; 301 $('#wpdm-audio-player-ui .progress-bar').css('width', value + "%"); 302 }); 303 $('#wpdm-btn-volumctrl').on('click', function(){ 304 $(this).next('.volumctrl').toggle(); 305 }); 306 $('body').on('click', '.btn-play', function(){ 307 if($(this).find('.fa').hasClass('fa-play')) { 308 $(this).find('.fa').addClass('fa-pause').removeClass('fa-play'); 309 $(this).data('state', 'playing'); 310 audio.play(); 311 } 312 else { 313 $(this).find('.fa').addClass('fa-play').removeClass('fa-pause'); 314 $(this).data('state', 'paused'); 315 audio.pause(); 316 } 317 }); 318 $('body').on('change', '#wpdm-audio-volume', function () { 319 audio.volume = this.value; 320 }); 321 322 } 323 $('#mins').html(song_length_m+":"+song_length_s); 324 audio.addEventListener("play", function(){ 325 $('#wpdm-btn-play').find('.fa').addClass('fa-pause').removeClass('fa-play'); 326 }); 327 audio.addEventListener("pause", function(){ 328 $('#wpdm-btn-play').find('.fa').addClass('fa-play').removeClass('fa-pause'); 329 }); 330 audio.addEventListener("timeupdate", function(e){ 331 var song_length = parseInt(audio.duration); 332 var time_now = audio.currentTime; 333 var percent = (time_now/song_length)*100; 334 if(percent > 100) percent = 100; 335 $('#wpdm-audio-progress').css('width', percent+"%"); 336 var played = parseInt(time_now); 337 var played_m = parseInt(played/60); 338 var played_s = played - (played_m*60); 339 played_m = played_m > 9 ? played_m : "0"+played_m; 340 played_s = played_s > 9 ? played_s : "0"+played_s; 341 $('#played').html(played_m+":"+played_s); 342 }); 343 344 345 346 } 347 348}; 349 350 351 352jQuery(function ($) { 353 354 var $body = $('body'); 355 356 $body.on('click', '.wpdm-notify', function () { 357 /* $(this).addClass('wpdm-hide-right'); */ 358 $(this).animate({marginRight: '-500px'}, 1000, function () { 359 $(this).remove(); 360 }); 361 }); 362 363 $body.on('click', '.dismis-on-click', function () { 364 $(this).slideUp(); 365 }); 366 367 $body.on('click', '.wpdm-download-link.wpdm-download-locked', function (e) { 368 e.preventDefault(); 369 hideLockFrame(); 370 371 var parentWindow = document.createElement("a"); 372 parentWindow.href = document.referrer.toString(); 373 374 var __sep = '?'; 375 if(wpdm_home_url.indexOf('?') > 0) __sep = '&'; 376 377 if(parentWindow.hostname === window.location.hostname || 1) 378 $(window.parent.document.body).append("<iframe id='wpdm-lock-frame' style='left:0;top:0;width: 100%;height: 100%;z-index: 999999999;position: fixed;background: rgba(255,255,255,0.4) url("+wpdm_home_url+"wp-content/plugins/download-manager/assets/images/loader.svg) center center no-repeat;background-size: 80px 80px;border: 0;' src='"+wpdm_home_url+__sep+"__wpdmlo="+$(this).data('package')+"'></iframe>"); 379 else 380 window.parent.postMessage({ 381 'task': 'showiframe', 382 'iframe': "<iframe id='wpdm-lock-frame' style='left:0;top:0;width: 100%;height: 100%;z-index: 999999999;position: fixed;background: rgba(255,255,255,0.4) url("+wpdm_home_url+"wp-content/plugins/download-manager/assets/images/loader.svg) center center no-repeat;background-size: 80px 80px;border: 0;' src='"+wpdm_home_url+__sep+"__wpdmlo="+$(this).data('package')+"'></iframe>" 383 }, "*"); 384 385 }); 386
387 $body.on('click', '.wpdm-download-link.download-on-click', function (e) { 388 e.preventDefault(); 389 if(this.target === '_blank') 390 window.open($(this).data('downloadurl')); 391 else 392 window.location.href = $(this).data('downloadurl'); 393 }); 394 395 $body.on('click', '.__wpdm_playvideo', function (e) { 396 e.preventDefault(); 397 $('#__wpdm_videoplayer').children('source').attr('src', $(this).data('video')); 398 console.log('loading...'); 399 var vid = document.getElementById("__wpdm_videoplayer"); 400 vid.onloadeddata = function() { 401 console.log('loaded....'); 402 }; 403 $("#__wpdm_videoplayer").get(0).load(); 404 405 }); 406 407 $body.on('change', '.terms_checkbox', function (e) { 408 if($(this).is(':checked')) 409 $('#wpdm-filelist-'+$(this).data('pid')+' .btn.inddl, #xfilelist .btn.inddl').removeAttr('disabled'); 410 else 411 $('#wpdm-filelist-'+$(this).data('pid')+' .btn.inddl, #xfilelist .btn.inddl').attr('disabled', 'disabled'); 412 }); 413 414 $body.on('click', '.wpdm-social-lock', function (e) { 415 416 try { 417 418 419 _PopupCenter($(this).data('url'), 'Social Lock', 600, 400); 420 421 }catch(e){} 422 423 }); 424 425 $body.on('click', '#wpdm-dashboard-sidebar a.list-group-item', function (e) { 426 location.href = this.href; 427 }); 428 429 var $input_group_input = $('.input-group input'); 430 $input_group_input.on('focus', function () { 431 $(this).parent('.input-group').find('.input-group-addon').addClass('input-group-addon-active'); 432 }); 433 $input_group_input.on('blur', function () { 434 $(this).parent().find('.input-group-addon').removeClass('input-group-addon-active'); 435 }); 436 437 438 $body.on('click', 'button.btn.inddl', function (e) { 439 e.preventDefault(); 440 var tis = this; 441 if($(this).data('dlurl') !== undefined){ 442 location.href = $(this).data('dlurl'); 443 return; 444 } 445 $.post( wpdm_ajax_url, { 446 action: 'wpdm_verify_file_pass', 447 wpdmfileid: $(tis).data('pid'), 448 wpdmfile: $(tis).data('file'), 449 actioninddlpvr: 1, 450 filepass: $($(tis).data('pass')).val() 451 }, function (res) { 452 if (res.error === '') { 453 var dlurl = res.downloadurl; 454 $(tis).data('dlurl', dlurl); 455 wpdm_boot_popup("Password Verified!", "<div style='padding: 50px;'>Please click following button to start download.<br/><br/><a href='"+dlurl+"' class='btn btn-lg btn-success' target='_blank'>Start Download</a></div>", 456 [{ 457 label: 'Close', 458 class: 'btn btn-secondary', 459 callback: function () { 460 this.modal('hide'); 461 return false; 462 } 463 }] 464 ); 465 } 466 }); 467 }); 468 469 $body.on('click', '.wpdm-download-locked.pop-over', function () { 470 var $dc = $($(this).attr('href')); 471 var prts = $(this).attr('href').split('_'); 472 var pid = prts[1]; 473 474 if ($(this).attr('data-ready') === undefined || $(this).attr('data-ready') === 'hide') { 475 476 $(this).popover({ 477 placement: 'bottom', 478 html: true, 479 content: function () { 480 481 if(wpdm_ajax_popup === 1) 482 return "<div id='popcnt_"+pid+"'><i class='fa fa-refresh fa-spin'></i> Loading...</div>"+'<div style="padding-top: 10px;border-top: 1px solid #eeeeee;text-align: right"><button class="btn btn-danger btn-xs po-close" s><i class="fa fa-times-circle"></i> Close</button></div>'; 483 484 else 485 return $dc.html()+'<div style="padding-top: 10px;border-top: 1px solid #eeeeee;text-align: right"><button class="btn btn-danger btn-xs po-close" s><i class="fa fa-times-circle"></i> Close</button></div>'; 486 487 488 } 489 }); 490 $(this).popover('show'); 491 492 if(wpdm_ajax_popup === 1) 493 $("#popcnt_"+pid).load(ajax_url,{action:'showLockOptions',id:pid}); 494 495 $(this).data('ready', 'show'); 496 } else { 497 $(this).popover('hide'); 498 $(this).date('ready', 'hide'); 499 } 500 501 return false;
502 }); 503 504 505 506 $body.on('click', '.wpdm-indir', function (e) { 507 e.preventDefault(); 508 WPDM.blockUI('#xfilelist'); 509 $('#xfilelist').load(location.href, { 510 action: 'wpdmfilelistcd', 511 pid: $(this).data('pid'), 512 cd: $(this).data('dir') 513 }, function (res) { 514 WPDM.unblockUI('#xfilelist'); 515 }); 516 }); 517 518 519 $body.on('click', '.role-tabs a', function (e) { 520 $('.role-tabs a').removeClass('active'); 521 $(this).addClass('active'); 522 }); 523 524 525 526 $body.on('click', '.btn-wpdm-a2f', function (e) { 527 var a2fbtn = $(this); 528 $.post(ajax_url, {action: 'wpdm_addtofav', pid: $(this).data('package')}, function (res) { 529 if(a2fbtn.hasClass('btn-secondary')) 530 a2fbtn.removeClass('btn-secondary').addClass('btn-danger').html(a2fbtn.data('rlabel')); 531 else 532 a2fbtn.removeClass('btn-danger').addClass('btn-secondary').html(a2fbtn.data('alabel')); 533 }); 534 }); 535 536 $body.on('click', '.wpdm-btn-play', function (e) { 537 e.preventDefault(); 538 539 if($('#wpdm-audio-player').length === 0) { 540 var player = document.createElement('audio'); 541 player.id = 'wpdm-audio-player'; 542 player.controls = 'controls'; 543 player.autoplay = 1; 544 player.type = 'audio/mpeg'; 545 $('body').append(player); 546 } 547 548 player = $('#wpdm-audio-player'); 549 var btn = $(this); 550 551 if (btn.data('state') === 'stop' || !btn.data('state')) { 552 player.css('display', 'none'); 553 player.attr('src', $(this).data('song') + "&play=song.mp3"); 554 } 555 556 if (btn.data('state') === 'playing') { 557 $(this).data('state', 'paused'); 558 player.trigger('pause'); 559 $(this).html("<i class='fa fa-play'></i>"); 560 return false; 561 } 562 563 if (btn.data('state') === 'paused') { 564 $(this).data('state', 'playing'); 565 player.trigger('play'); 566 $('.wpdm-btn-play').html("<i class='fa fa-play'></i>"); 567 $(this).html("<i class='fa fa-pause'></i>"); 568 return false; 569 } 570 571 572 $('.wpdm-btn-play').data("state", "stop"); 573 $('.wpdm-btn-play').html("<i class='fa fa-play'></i>"); 574 btn.html("<i class='fas fa-sun fa-spin'></i>"); 575 player.unbind('loadedmetadata'); 576 player.on('loadedmetadata', function () { 577 console.log("Playing " + this.src + ", for: " + this.duration + "seconds."); 578 btn.html("<i class='fa fa-pause'></i>"); 579 btn.data('state', 'playing'); 580 WPDM.audioUI(this); 581 }); 582 document.getElementById('wpdm-audio-player').onended = function () { 583 btn.html("<i class='fa fa-redo'></i>"); 584 btn.data('state', 'stop'); 585 } 586 }); 587 588 $('.wpdm_remove_empty').remove(); 589 590 /* Uploading files */ 591 var file_frame, dfield; 592 593 $body.on('click', '.wpdm-media-upload', function (event) { 594 event.preventDefault(); 595 dfield = $($(this).attr('rel')); 596 597 /* If the media frame already exists, reopen it. */ 598 if (file_frame) { 599 file_frame.open(); 600 return; 601 } 602 603 /* Create the media frame. */ 604 file_frame = wp.media.frames.file_frame = wp.media({ 605 title: $(this).data('uploader_title'), 606 button: { 607 text: $(this).data('uploader_button_text') 608 }, 609 multiple: false /* Set to true to allow multiple files to be selected */ 610 }); 611 612 /* When an image is selected, run a callback. */ 613 file_frame.on('select', function () { 614 /* We set multiple to false so only get one image from the uploader */ 615 attachment = file_frame.state().get('selection').first().toJSON(); 616 dfield.val(attachment.url); 617 618 }); 619 620 /* Finally, open the modal */ 621 file_frame.open(); 622 }); 623 624 $body.on('click', '.btn-image-selector' , function( event ){ 625 event.preventDefault(); 626 dfield = $($(this).attr('rel')); 627 var dfield_h = $($(this).attr('rel')+'_hidden'); 628 629 if ( file_frame ) { 630 file_frame.open(); 631 return; 632 } 633 634 file_frame = wp.media.frames.file_frame = wp.media({ 635 title: $( this ).data( 'uploader_title' ), 636 button: { 637 text: $( this ).data( 'uploader_button_text' ) 638 }, 639 multiple: false 640 }); 641 642 643 file_frame.on( 'select', function() { 644 645 attachment = file_frame.state().get('selection').first().toJSON(); 646 dfield.attr('src', attachment.url); 647 dfield_h.val(attachment.url); 648 649 }); 650 651 file_frame.open(); 652 }); 653 654 $body.on('click', '.pagination.async a, .__wpdm_load_async', function (e) { 655 e.preventDefault(); 656 var _cont = $(this).data('container'); 657 $(_cont).addClass('blockui'); 658 $.get(this.href, function (res) { 659 $(_cont).html($(res).find(_cont).html()); 660 $(_cont).removeClass('blockui'); 661 }); 662 }); 663 664 $('.__wpdm_submit_async').on('submit', function (e) { 665 e.preventDefault(); 666 var _cont = $(this).data('container'); 667 $(_cont).addClass('blockui'); 668 $(this).ajaxSubmit({ 669 success: function (response) { 670 $(_cont).html($(response).find(_cont).html()); 671 $(_cont).removeClass('blockui'); 672 } 673 }) 674 }); 675 676 677 678 var unlocked = []; 679 680 $('.wpdm-filelist-area[data-termlock]').on('mouseover', function () { 681 682 try { 683 if (unlocked[$(this).data('packageid')] === 1) return; 684 } catch (e) { 685 686 } 687 $('#term-panel-' + $(this).data('packageid')).fadeIn('fast'); 688 }); 689 690 $('.terms_checkbox').on('click', function () { 691 if($(this).is(':checked')){ 692 unlocked[$(this).data('pid')] = 1; 693 $('#term-panel-' + $(this).data('pid')).fadeOut('fast'); 694 $('.download_footer_'+$(this).data('pid')).slideDown(); 695 } 696 else 697 $('.download_footer_'+$(this).data('pid')).slideUp(); 698 }); 699 700 701 $formcontrol = $('.input-wrapper input'); 702 $formcontrol.on('focus', function () { 703 $('.input-wrapper').removeClass('input-focused'); 704 $(this).parent('.input-wrapper').addClass('input-focused'); 705 }); 706 $formcontrol.on('change', function () { 707 $('.input-wrapper').removeClass('input-focused'); 708 $(this).parent('.input-wrapper').addClass('input-focused'); 709 if($(this).val() !== '') 710 $(this).parent('.input-wrapper').addClass('input-withvalue'); 711 else 712 $(this).parent('.input-wrapper').removeClass('input-withvalue'); 713 }); 714 715}); 716 717function _PopupCenter(url, title, w, h) { 718 /* Fixes dual-screen position Most browsers Firefox */ 719 var dualScreenLeft = window.screenLeft != undefined ? window.screenLeft : screen.left; 720 var dualScreenTop = window.screenTop != undefined ? window.screenTop : screen.top; 721 722 var width = window.innerWidth ? window.innerWidth : document.documentElement.clientWidth ? document.documentElement.clientWidth : screen.width; 723 var height = window.innerHeight ? window.innerHeight : document.documentElement.clientHeight ? document.documentElement.clientHeight : screen.height; 724 725 var left = ((width / 2) - (w / 2)) + dualScreenLeft; 726 var top = ((height / 2) - (h / 2)) + dualScreenTop; 727 var newWindow = window.open(url, title, 'scrollbars=yes, width=' + w + ', height=' + h + ', top='
727+ top + ', left=' + left); 728 729 /* Puts focus on the newWindow */ 730 if (window.focus) { 731 newWindow.focus(); 732 } 733 734 return false; 735} 736 737function generatepass(id){ 738 tb_show('Generate Password',ajaxurl+'?action=wpdm_generate_password&id='+id); 739} 740 741function hideLockFrame() { 742 jQuery('#wpdm-lock-frame').remove(); 743} 744 745function wpdm_bootModal(heading, content, width) { 746 var html; 747 if(!width) width = 400; 748 jQuery("#w3eden__bootModal").remove(); 749 html = '<div class="w3eden" id="w3eden__bootModal"><div id="__bootModal" class="modal fade" tabindex="-1" role="dialog">\n' + 750 ' <div class="modal-dialog" style="width: '+width+'px" role="document">\n' + 751 ' <div class="modal-content" style="border-radius: 3px;overflow: hidden">\n' + 752 ' <div class="modal-header" style="padding: 12px 15px;background: #f5f5f5;">\n' + 753 ' <h4 class="modal-title" style="font-size: 9pt;font-weight: 500;padding: 0;margin: 0;font-family:Montserrat, san-serif;letter-spacing: 0.5px">'+heading+'</h4>\n' + 754 ' </div>\n' + 755 ' <div class="modal-body fetfont" style="line-height: 1.5;text-transform: unset;font-weight:400;letter-spacing:0.5px;font-size: 12px">\n' + 756 ' '+content+'\n' + 757 ' </div>\n' + 758 ' <div class="modal-footer" style="padding: 10px 15px">\n' + 759 ' <button type="button" class="btn btn-secondary btn-xs" data-dismiss="modal">Close</button>\n' + 760 ' </div>\n' + 761 ' </div>\n' + 762 ' </div>\n' + 763 '</div></div>'; 764 jQuery('body').append(html); 765 jQuery("#__bootModal").modal('show'); 766} 767 768function wpdm_boot_popup(heading, content, buttons) { 769 var html, $ = jQuery; 770 $("#w3eden__boot_popup").remove(); 771 var _buttons = ''; 772 if(buttons) { 773 _buttons = '<div class="modal-footer" style="padding: 8px 15px;">\n'; 774 $.each(buttons, function (i, button) { 775 var id = 'btx_' + i; 776 _buttons += "<button id='" + id + "' class='" + button.class + " btn-xs' style='font-size: 10px;padding: 3px 20px;'>" + button.label + "</button> "; 777 }); 778 _buttons += '</div>\n'; 779 } 780 781 html = '<div class="w3eden" id="w3eden__boot_popup"><div id="__boot_popup" style="z-index: 9999999 !important;" class="modal fade" tabindex="-1" role="dialog">\n' + 782 ' <div class="modal-dialog" role="document" style="max-width: 100%;width: 350px">\n' + 783 ' <div class="modal-content" style="border-radius: 3px;overflow: hidden">\n' + 784 ' <div class="modal-header" style="padding: 12px 15px;background: #f5f5f5;">\n' + 785 ' <h4 class="modal-title" style="font-size: 9pt;font-weight: 500;padding: 0;margin: 0;font-family:Montserrat, san-serif;letter-spacing: 0.5px">'+heading+'</h4>\n' + 786 ' </div>\n' + 787 ' <div class="modal-body text-center" style="letter-spacing: 0.5px;font-size: 10pt;font-weight: 300;padding: 25px;line-height: 1.5">\n' + 788 ' '+content+'\n' + 789 ' </div>\n' + _buttons + 790 ' </div>\n' + 791 ' </div>\n' + 792 '</div></div>'; 793 $('body').append(html); 794 $("#__boot_popup").modal('show'); 795 $.each(buttons, function (i, button) { 796 var id = 'btx_'+i; 797 $('#'+id).unbind('click'); 798 $( '#'+id).bind('click' , function () { 799 button.callback.call($("#__boot_popup")); 800 return false; 801 }); 802 }); 803 return $("#__boot_popup"); 804} 805 806/** 807 * Open an url in iframe modal 808 * @param url 809 * @param closebutton 810 * @returns {boolean} 811 */ 812function wpdm_iframe_modal(url, closebutton) { 813 var iframe, $ = jQuery; 814 if(url === 'close') { 815 $('#wpdm_iframe_modal').remove(); 816 $('#ifcb').remove(); 817 $('body').removeClass('wpdm-iframe-modal-open'); 818 return false; 819 } 820 var closebutton_html = ""; 821 if(closebutton !== undefined && closebutton === true) 822 closebutton_html = "<span id='ifcb' class='w3eden'><a href='#' onclick='return wpdm_iframe_modal(\"close\");' style='border-radius: 0;position: fixed;top: 0;right: 0;z-index: 9999999999 !important;width: 40px;line-height: 40px;padding: 0' class='btn btn-danger'><i class='fas fa-times'></i></a></span>"; 823 824 iframe = '<iframe src="'+url+'" style="width: 100%;height: 100%;position: fixed;z-index: 999999999 !important;border: 0;left: 0;top: 0;right: 0;bottom: 0;background: rgba(0,0,0,0.2);display: none;" id="wpdm_iframe_modal"></iframe>'+closebutton_html; 825 $('body').append(iframe).addClass('wpdm-iframe-modal-open'); 826 $('#wpdm_iframe_modal').fadeIn(); 827 828}
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.