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