Version Description
- 2021.10.06 =
- Remove
mbstring
dependency
Download this release
Release Info
Developer | codename065 |
Plugin | WordPress Download Manager |
Version | 3.2.18 |
Comparing to | |
See all releases |
Code changes from version 3.2.16 to 3.2.18
- assets/js/wpdm-admin.js +1 -4
- assets/js/wpdm-admin.min.js +1 -0
- download-manager.php +2 -2
- readme.txt +7 -0
- src/User/views/modal-login-form.php +1 -1
- src/__/Session.php +3 -1
- src/__/__.php +7 -4
assets/js/wpdm-admin.js
CHANGED
@@ -273,10 +273,7 @@ var WPDM = {
|
|
273 |
audioUI: function (audio) {
|
274 |
var $ = jQuery, song_length, song_length_m, song_length_s;
|
275 |
|
276 |
-
|
277 |
-
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>';
|
278 |
-
else
|
279 |
-
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>';
|
280 |
|
281 |
if (audio.duration !== Infinity) {
|
282 |
song_length = parseInt(audio.duration);
|
273 |
audioUI: function (audio) {
|
274 |
var $ = jQuery, song_length, song_length_m, song_length_s;
|
275 |
|
276 |
+
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>';
|
|
|
|
|
|
|
277 |
|
278 |
if (audio.duration !== Infinity) {
|
279 |
song_length = parseInt(audio.duration);
|
assets/js/wpdm-admin.min.js
ADDED
@@ -0,0 +1 @@
|
|
|
1 |
+
var allps;var wpdm_pass_target="#pps_z";var $modal_id="";String.prototype.wpdm_shuffle=function(){var a=this.split(""),n=a.length;for(var i=n-1;i>0;i--){var j=Math.floor(Math.random()*(i+1));var tmp=a[i];a[i]=a[j];a[j]=tmp}return a.join("")};String.prototype.wpdm_hash=function(){if(Array.prototype.reduce){return this.split("").reduce(function(a,b){a=(a<<5)-a+b.charCodeAt(0);return a&a},0)}var hash=0;if(this.length===0)return hash;for(var i=0;i<this.length;i++){var character=this.charCodeAt(i);hash=(hash<<5)-hash+character;hash=hash&hash}return hash};var WPDM={init:function($){},copy:function($id){var copyText=document.getElementById($id);copyText.select();copyText.setSelectionRange(0,99999);document.execCommand("copy");WPDM.notify('<i class="fa fa-check-double"></i> Copied',"success","top-center",1e3)},hash:function(str){return str.wpdm_hash()},beep:function(){if(WPDM.audio==undefined)var snd=new Audio("data:audio/wav;base64,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qJrx4KOQjahZxWbcZgztj2c49nKmkId44S71j0c8eV9yDK6uPRzx5X18eDvjvQ6yKo9ZSS6l//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=");else var snd=new Audio(WPDM.audio);snd.play()},uniqueID:function(){var uniq=Date.now()+"abcdefghijklmnopqrstuvwxyz_";uniq=uniq.wpdm_shuffle();uniq=uniq.substring(1,10);return uniq},popupWindow:function(url,title,w,h){var dualScreenLeft=window.screenLeft!=undefined?window.screenLeft:screen.left;var dualScreenTop=window.screenTop!=undefined?window.screenTop:screen.top;var width=window.innerWidth?window.innerWidth:document.documentElement.clientWidth?document.documentElement.clientWidth:screen.width;var height=window.innerHeight?window.innerHeight:document.documentElement.clientHeight?document.documentElement.clientHeight:screen.height;var left=width/2-w/2+dualScreenLeft;var top=height/2-h/2+dualScreenTop;var newWindow=window.open(url,title,"scrollbars=yes, width="+w+", height="+h+", top="+top+", left="+left);if(window.focus){newWindow.focus()}return false},bootAlert:function(heading,content,width){var html;if(!width)width=400;if($modal_id!=="")jQuery($modal_id).remove();var modal_id="__bootModal_"+WPDM.uniqueID();$modal_id="#"+modal_id;html='<div class="w3eden" id="w3eden'+modal_id+'"><div id="'+modal_id+'" class="modal fade" tabindex="-1" role="dialog">\n'+' <div class="modal-dialog" style="width: '+width+'px" role="document">\n'+' <div class="modal-content" style="border-radius: 4px;overflow: hidden">\n'+' <div class="modal-header" style="padding: 12px 15px;background: rgba(0,0,0,0.02);">\n'+' <h4 class="modal-title" style="font-size: 10pt;font-weight: 600;padding: 0;margin: 0;letter-spacing: 0.5px">'+heading+"</h4>\n"+" </div>\n"+' <div class="modal-body fetfont" style="line-height: 1.5;text-transform: unset;font-weight:400;letter-spacing:0.5px;font-size: 12px">\n'+" "+content+"\n"+" </div>\n"+' <div class="modal-footer" style="padding: 10px 15px">\n'+' <button type="button" class="btn btn-secondary btn-xs" data-target="#'+modal_id+'" data-dismiss="modal">Close</button>\n'+" </div>\n"+" </div>\n"+" </div>\n"+"</div></div>";jQuery("body").append(html);jQuery("#"+modal_id).modal({show:true,backdrop:"static"});return jQuery("#"+modal_id)},pushNotify:function(title,message,icon,image,url){var type="info";if(title.includes("rror")||message.includes("rror"))type="error";if(title.includes("uccess")||message.includes("uccess"))type="success";if(title.includes("arning")||message.includes("arning"))type="warning";if(!("Notification"in window)||!("ServiceWorkerRegistration"in window)){WPDM.notify("<strong>"+title+"</strong><br/>"+message,type,"top-right");return}Notification.requestPermission(function(result){if(result==="granted"){console.log("Notification: "+result);try{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:""});if(url){notification.onclick=function(e){e.preventDefault();window.open(url,"_blank")}}}catch(err){WPDM.notify("<strong>"+title+"</strong><br/>"+message,type,"top-right");console.log("Notification API error: "+err)}}else{WPDM.notify("<strong>"+title+"</strong><br/>"+message,type,"top-right");console.log("Notification: "+result)}})},notify:function(message,type,position,autoclose){var $=jQuery;if(type===undefined||!type)type="info";if(position===undefined||!position)position="top-right";if(type==="danger")type="error";var notifycont=position.indexOf("#")>=0?position:"#wpdm-notify-"+position;if($(notifycont).length==0)$("body").prepend("<div id='wpdm-notify-"+position+"'></div>");var notif=$("<div class='wpdm-notify fetfont wpdm-notify-"+type+"' style='display: none'>"+message+"</div>");$(notifycont).append(notif);$(notif).fadeIn();if(autoclose!==undefined){setTimeout(function(){$(notif).animate({opacity:0},1e3,function(){$(this).slideUp()})},autoclose)}return $(notif)},floatify:function(html,position){var $=jQuery;if(position===undefined||!position)position="top-right";var floatifycont="#wpdm-floatify-"+position;if($(floatifycont).length==0)$("body").prepend("<div class='w3eden' id='wpdm-floatify-"+position+"'></div>");var floatify=$("<div class='wpdm-floatify fetfont style='margin-right: -500px'>"+html+"</div>");$(floatifycont).append(floatify);$(floatify).animate({marginRight:"0px"});return $(floatify)},blockUI:function(element,xhr){jQuery(element).addClass("blockui");if(xhr)xhr.addEventListener("load",function(){jQuery(element).removeClass("blockui")})},unblockUI:function(element){jQuery(element).removeClass("blockui")},overlay:function(element,html){var $=jQuery;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>");$(element).addClass("wpdm-overlay").append(overlaycontent);$(overlaycontent).fadeIn();$("body").on("click",".wpdm-overlay-close",function(){$(overlaycontent).fadeOut(function(){$(this).remove()})});return $(overlaycontent)},confirm:function(heading,content,buttons){var html,$=jQuery;var modal_id="__boot_popup_"+WPDM.uniqueID();$("#w3eden__boot_popup").remove();var _buttons="";if(buttons){_buttons='<div class="modal-footer" style="padding: 8px 15px;">\n';$.each(buttons,function(i,button){var id="btx_"+i;_buttons+="<button id='"+id+"' class='"+button.class+" btn-xs' style='font-size: 10px;padding: 3px 20px;'>"+button.label+"</button> "});_buttons+="</div>\n"}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'+' <div class="modal-dialog" role="document" style="max-width: 100%;width: 350px">\n'+' <div class="modal-content" style="border-radius: 3px;overflow: hidden">\n'+' <div class="modal-header" style="padding: 12px 15px;background: #f5f5f5;">\n'+' <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"+" </div>\n"+' <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'+" "+content+"\n"+" </div>\n"+_buttons+" </div>\n"+" </div>\n"+"</div></div>";$("body").append(html);$("#"+modal_id).modal("show");$.each(buttons,function(i,button){var id="btx_"+i;$("#"+id).unbind("click");$("body").on("click","#"+id,function(){button.callback.call($("#"+modal_id));return false})});return $("#"+modal_id)},audioUI:function(audio){var $=jQuery,song_length,song_length_m,song_length_s;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>';if(audio.duration!==Infinity){song_length=parseInt(audio.duration);song_length_m=parseInt(song_length/60);song_length_s=song_length-song_length_m*60;song_length_m=song_length_m>9?song_length_m:"0"+song_length_m;song_length_s=song_length_s>9?song_length_s:"0"+song_length_s}else{song_length_m="--";song_length_s="--";audio.addEventListener("durationchange",function(e){console.log(this.duration);if(this.duration!==Infinity){song_length=parseInt(this.duration);song_length_m=parseInt(song_length/60);song_length_s=song_length-song_length_m*60;song_length_m=song_length_m>9?song_length_m:"0"+song_length_m;song_length_s=song_length_s>9?song_length_s:"0"+song_length_s;$("#mins").html(song_length_m+":"+song_length_s);next(song_length)}},false)}if($("#wpdm-audio-player-ui").length===0){$("body").append(player_html);$("#wpdm-audio-player-ui").slideDown();$("#mins").html(song_length_m+":"+song_length_s);$("body").on("click","#wpdm-audio-player-ui .progress",function(e){let value=e.offsetX*100/this.clientWidth;var played=parseInt(song_length*value/100);var played_m=parseInt(played/60);var played_s=played-played_m*60;played_m=played_m>9?played_m:"0"+played_m;played_s=played_s>9?played_s:"0"+played_s;$("#played").html(played_m+":"+played_s);audio.currentTime=song_length*value/100;$(this).find(".progress-bar").css("width",value+"%")});$("body").on("click","#wpdm-btn-backward",function(){let value=parseInt($("#wpdm-audio-player-ui .progress-bar").css("width"))/parseInt($("#wpdm-audio-player-ui .progress").css("width"))*100-10;if(value<0)value=0;var played=parseInt(song_length*value/100);var played_m=parseInt(played/60);var played_s=played-played_m*60;played_m=played_m>9?played_m:"0"+played_m;played_s=played_s>9?played_s:"0"+played_s;$("#played").html(played_m+":"+played_s);audio.currentTime=song_length*value/100;$("#wpdm-audio-player-ui .progress-bar").css("width",value+"%")});$("body").on("click","#wpdm-btn-forward",function(){let value=parseInt($("#wpdm-audio-player-ui .progress-bar").css("width"))/parseInt($("#wpdm-audio-player-ui .progress").css("width"))*100+10;if(value>100)value=100;var played=parseInt(song_length*value/100);var played_m=parseInt(played/60);var played_s=played-played_m*60;played_m=played_m>9?played_m:"0"+played_m;played_s=played_s>9?played_s:"0"+played_s;$("#played").html(played_m+":"+played_s);audio.currentTime=song_length*value/100;$("#wpdm-audio-player-ui .progress-bar").css("width",value+"%")});$("#wpdm-btn-volumctrl").on("click",function(){$(this).next(".volumctrl").toggle()});$("body").on("click",".btn-play",function(){if($(this).find(".fa").hasClass("fa-play")){$(this).find(".fa").addClass("fa-pause").removeClass("fa-play");$(this).data("state","playing");audio.play()}else{$(this).find(".fa").addClass("fa-play").removeClass("fa-pause");$(this).data("state","paused");audio.pause()}});$("body").on("change","#wpdm-audio-volume",function(){audio.volume=this.value})}$("#mins").html(song_length_m+":"+song_length_s);audio.addEventListener("play",function(){$("#wpdm-btn-play").find(".fa").addClass("fa-pause").removeClass("fa-play")});audio.addEventListener("pause",function(){$("#wpdm-btn-play").find(".fa").addClass("fa-play").removeClass("fa-pause")});audio.addEventListener("timeupdate",function(e){var song_length=parseInt(audio.duration);var time_now=audio.currentTime;var percent=time_now/song_length*100;if(percent>100)percent=100;$("#wpdm-audio-progress").css("width",percent+"%");var played=parseInt(time_now);var played_m=parseInt(played/60);var played_s=played-played_m*60;played_m=played_m>9?played_m:"0"+played_m;played_s=played_s>9?played_s:"0"+played_s;$("#played").html(played_m+":"+played_s)})}};(function($,window){$.fn.contextMenu=function(settings){return this.each(function(){$(this).on("contextmenu",function(e){if(e.ctrlKey)return;var $menu=$(settings.menuSelector).data("invokedOn",$(e.target)).show().css({position:"absolute",left:getMenuPosition(e.clientX-180,"width","scrollLeft"),top:getMenuPosition(e.clientY-32,"height","scrollTop")}).off("click").on("click","a",function(e){$menu.hide();var $invokedOn=$menu.data("invokedOn");var $selectedMenu=$(e.target);settings.menuSelected.call(this,$invokedOn,$selectedMenu)});return false});$("body").click(function(){$(settings.menuSelector).hide()})});function getMenuPosition(mouse,direction,scrollDir){var win=$(window)[direction](),scroll=$(window)[scrollDir](),menu=$(settings.menuSelector)[direction](),position=mouse+scroll;if(mouse+menu>win&&menu<mouse)position-=menu;return position}}})(jQuery,window);jQuery(function($){var file_frame,dfield;$("body").on("click",".wpdm-notify",function(){$(this).animate({opacity:0},1e3,function(){$(this).slideUp()})});$("body").on("click",".wpdm-modal-pop",function(e){e.preventDefault();var url=$(this).attr("href");var width=600;var title=$(this).text();if($(this).data("width")!==undefined)width=$(this).data("width");if($(this).attr("title")!==undefined)title=$(this).attr("title");if($(this).data("url")!==undefined)url=$(this).data("url");var $modal=WPDM.bootAlert(title,"<div id='wpdm-modal-content' class='blockui' style='min-height: 300px;'></div>",width);$($modal).find("#wpdm-modal-content").load(url,function(res){WPDM.unblockUI("#wpdm-modal-content")});return false});$("body").on("click",".__wpdm_approvedr",function(event){event.preventDefault();$btn=$(this);$btn.attr("disabled","disabled").html('<i class="fa fa-refresh fa-spin"></i>');$(".__wpdm_declinedr_"+$btn.data("rid")).remove();$.post(ajaxurl,{__approvedr:$(this).data("nonce"),__rid:$(this).data("rid"),action:"approveDownloadRequest"},function(res){if(res.match(/ok/)){$btn.removeClass("btn-info").addClass("btn-success").html("Approved")}})});$("body").on("click",".txtsc",function(event){$(this).select()});$("body").on("click",".__wpdm_declinedr",function(event){event.preventDefault();if(!confirm("Are you sure?"))return false;$btn=$(this);$btn.attr("disabled","disabled").html('<i class="fa fa-refresh fa-spin"></i>');$.post(ajaxurl,{__declinedr:$(this).data("nonce"),__rid:$(this).data("rid"),action:"declineDownloadRequest"},function(res){if(res.match(/ok/)){$("#__emlrow_"+$btn.data("rid")).remove()}})});$("body").on("click",".btn-onclick",function(){$(this).css("width",$(this).css("width")).attr("disabled","disabled");$(this).html($(this).data("onclick"))});$("body").on("click",".btn-media-upload",function(event){event.preventDefault();dfield=$($(this).attr("rel"));if(file_frame){file_frame.open();return}file_frame=wp.media.frames.file_frame=wp.media({title:$(this).data("uploader_title"),button:{text:$(this).data("uploader_button_text")},multiple:false});file_frame.on("select",function(){attachment=file_frame.state().get("selection").first().toJSON();dfield.val(attachment.url)});file_frame.open()});$("body").on("click",".btn-image-selector",function(event){event.preventDefault();dfield=$($(this).attr("rel"));var dfield_h=$($(this).attr("rel")+"_hidden");if(file_frame){file_frame.open();return}file_frame=wp.media.frames.file_frame=wp.media({title:$(this).data("uploader_title"),button:{text:$(this).data("uploader_button_text")},multiple:false});file_frame.on("select",function(){attachment=file_frame.state().get("selection").first().toJSON();dfield.attr("src",attachment.url);dfield_h.val(attachment.url)});file_frame.open()});allps=$("#pps_z").val();if(allps==undefined)allps="";$("#ps").val(allps.replace(/\]\[/g,"\n").replace(/[\]|\[]+/g,""));shuffle=function(){var sl="abcdefghijklmnopqrstuvwxyz";var cl="ABCDEFGHIJKLMNOPQRSTUVWXYZ";var nm="0123456789";var sc="~!@#$%^&*()_";ps="";pss="";ps=sl;if($("#passtrn").val()>1)ps+=cl;if($("#passtrn").val()>2)ps+=nm;if($("#passtrn").val()>3)ps+=sc;var i=0;while(i<=ps.length){$max=ps.length-1;$num=Math.floor(Math.random()*$max);$temp=ps.substr($num,1);pss+=$temp;i++}$("#ps").val(pss)};$("#gps").click(shuffle);$("body").on("click","#gpsc",function(){var allps="";shuffle();for(k=0;k<$("#pcnt").val();k++){allps+="["+randomPassword(pss,$("#ncp").val())+"]"}vallps=allps.replace(/\]\[/g,"\n").replace(/[\]|\[]+/g,"");$("#ps").val(vallps)});$("body").on("click","#pins",function(){var aps;aps=$("#ps").val();aps=aps.replace(/\n/g,"][");allps="["+aps+"]";$(wpdm_pass_target).val(allps);$("#generatepass").modal("hide")});$("body").on("click",'*:data[toggle="iframe-modal"]',function(e){e.preventDefault();var url;if($(this).attr("href")!=undefined)url=$(this).attr("href");else url=$(this).data("url");wpdm_iframe_modal(utl)});try{$(".ttip").tooltip()}catch(e){}});function randomPassword(chars,size){if(parseInt(size)==Number.NaN||size=="")size=8;var i=1;var ret="";while(i<=size){$max=chars.length-1;$num=Math.floor(Math.random()*$max);$temp=chars.substr($num,1);ret+=$temp;i++}return ret}function __showDownloadLink(pid,fid){var url;url=wpdmConfig.siteURL+"?wpdmdl="+pid+"&ind="+fid;__bootModal("File Download Link",'<textarea readonly="readonly" class="form-control" style="font-family: monospace">'+url+"</textarea>")}function __bootModal(heading,content,width){var html;if(!width)width=400;jQuery("#w3eden__bootModal").remove();html='<div class="w3eden" id="w3eden__bootModal"><div id="__bootModal" class="modal fade" tabindex="-1" role="dialog">\n'+' <div class="modal-dialog" style="width: '+width+'px" role="document">\n'+' <div class="modal-content">\n'+' <div class="modal-header">\n'+' <button type="button" class="close" data-dismiss="modal" aria-label="Close"><span aria-hidden="true">×</span></button>\n'+' <h4 class="modal-title">'+heading+"</h4>\n"+" </div>\n"+' <div class="modal-body">\n'+" <p>"+content+"</p>\n"+" </div>\n"+' <div class="modal-footer">\n'+' <button type="button" class="btn btn-secondary btn-sm" data-dismiss="modal">Close</button>\n'+" </div>\n"+" </div>\n"+" </div>\n"+"</div></div>";jQuery("body").append(html);jQuery("#__bootModal").modal("show")}function wpdm_boot_popup(heading,content,buttons){var html,$=jQuery;$("#w3eden__boot_popup").remove();var _buttons='<div class="modal-footer" style="padding: 8px 15px;">\n';$.each(buttons,function(i,button){var id="btx_"+i;_buttons+="<button id='"+id+"' class='"+button.class+" btn-xs' style='font-size: 10px;padding: 3px 20px;'>"+button.label+"</button> "});_buttons+="</div>\n";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'+' <div class="modal-dialog" role="document" style="max-width: 100%;width: 350px">\n'+' <div class="modal-content">\n'+' <div class="modal-header">\n'+' <h4 class="modal-title" style="font-size: 11pt;font-weight: 500;padding: 0;margin: 0;letter-spacing: 0.5px">'+heading+"</h4>\n"+" </div>\n"+' <div class="modal-body text-center" style="letter-spacing: 0.5px;font-size: 9pt;font-weight: 300;padding: 25px;">\n'+" "+content+"\n"+" </div>\n"+_buttons+" </div>\n"+" </div>\n"+"</div></div>";$("body").append(html);$("#__boot_popup").modal("show");$.each(buttons,function(i,button){var id="btx_"+i;$("#"+id).unbind("click");$("#"+id).bind("click",function(){button.callback.call($("#__boot_popup"));return false})});return $("#__boot_popup")}function wpdm_iframe_modal(url,closebutton){var iframe,$=jQuery;if(url==="close"){$("#wpdm_iframe_modal").hide();$("#ifcb").hide();$("body").removeClass("wpdm-iframe-modal-open");return false}console.log($("#wpdm_iframe_modal").attr("src"));if($("#wpdm_iframe_modal").length===1&&url===$("#wpdm_iframe_modal").attr("src")){$("#wpdm_iframe_modal").fadeIn();$("#ifcb").fadeIn();try{document.getElementById("wpdm_iframe_modal").contentWindow.showModal()}catch(e){}return false}else{$("#wpdm_iframe_modal").remove();$("#ifcb").remove()}var closebutton_html="";if(closebutton!==undefined&&closebutton===true)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>";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;$("body").append(iframe).addClass("wpdm-iframe-modal-open");$("#wpdm_iframe_modal").fadeIn()}
|
download-manager.php
CHANGED
@@ -5,7 +5,7 @@ Plugin URI: https://www.wpdownloadmanager.com/purchases/
|
|
5 |
Description: Manage, Protect and Track file downloads, and sell digital products from your WordPress site. A complete digital asset management solution.
|
6 |
Author: W3 Eden, Inc.
|
7 |
Author URI: https://www.wpdownloadmanager.com/
|
8 |
-
Version: 3.2.
|
9 |
Text Domain: download-manager
|
10 |
Domain Path: /languages
|
11 |
*/
|
@@ -39,7 +39,7 @@ use WPDM\Widgets\WidgetController;
|
|
39 |
|
40 |
global $WPDM;
|
41 |
|
42 |
-
define('WPDM_VERSION','3.2.
|
43 |
|
44 |
define('WPDM_TEXT_DOMAIN','download-manager');
|
45 |
|
5 |
Description: Manage, Protect and Track file downloads, and sell digital products from your WordPress site. A complete digital asset management solution.
|
6 |
Author: W3 Eden, Inc.
|
7 |
Author URI: https://www.wpdownloadmanager.com/
|
8 |
+
Version: 3.2.18
|
9 |
Text Domain: download-manager
|
10 |
Domain Path: /languages
|
11 |
*/
|
39 |
|
40 |
global $WPDM;
|
41 |
|
42 |
+
define('WPDM_VERSION','3.2.18');
|
43 |
|
44 |
define('WPDM_TEXT_DOMAIN','download-manager');
|
45 |
|
readme.txt
CHANGED
@@ -181,6 +181,13 @@ Check download stats and get a push notification when someone downloads, install
|
|
181 |
|
182 |
== Changelog ==
|
183 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
184 |
= 3.2.16 - 2021.09.27 =
|
185 |
* Fixed an issue with the pagination function
|
186 |
* Improved UI class
|
181 |
|
182 |
== Changelog ==
|
183 |
|
184 |
+
= 3.2.18 - 2021.10.06 =
|
185 |
+
* Remove `mbstring` dependency
|
186 |
+
|
187 |
+
= 3.2.17 - 2021.10.06 =
|
188 |
+
* Fixed a sanitization issue with the wpdm client cookie
|
189 |
+
* Fixed js undefined variable issue with the modal login form
|
190 |
+
|
191 |
= 3.2.16 - 2021.09.27 =
|
192 |
* Fixed an issue with the pagination function
|
193 |
* Improved UI class
|
src/User/views/modal-login-form.php
CHANGED
@@ -112,7 +112,7 @@ if(!defined('ABSPATH')) die(); ?>
|
|
112 |
}
|
113 |
<?php } ?>
|
114 |
} else {
|
115 |
-
$('#wpdmloginmodal-submit').html(
|
116 |
location.href = __lm_redirect_to;
|
117 |
}
|
118 |
}
|
112 |
}
|
113 |
<?php } ?>
|
114 |
} else {
|
115 |
+
$('#wpdmloginmodal-submit').html(wpdm_js.spinner+" "+res.message);
|
116 |
location.href = __lm_redirect_to;
|
117 |
}
|
118 |
}
|
src/__/Session.php
CHANGED
@@ -19,10 +19,11 @@ class Session
|
|
19 |
function __construct()
|
20 |
{
|
21 |
if(isset($_COOKIE['__wpdm_client']))
|
22 |
-
$deviceID = $_COOKIE['__wpdm_client'];
|
23 |
else {
|
24 |
$agent = isset($_SERVER['HTTP_USER_AGENT']) ? $_SERVER['HTTP_USER_AGENT'] : '';
|
25 |
$deviceID = md5(__::get_client_ip() . $agent);
|
|
|
26 |
if(!defined('WPDM_ACCEPT_COOKIE') || WPDM_ACCEPT_COOKIE !== false) {
|
27 |
@setcookie('__wpdm_client', $deviceID, 0, "", COOKIE_DOMAIN, is_ssl(), true);
|
28 |
$_COOKIE['__wpdm_client'] = $deviceID;
|
@@ -53,6 +54,7 @@ class Session
|
|
53 |
$agent = isset($_SERVER['HTTP_USER_AGENT']) ? $_SERVER['HTTP_USER_AGENT'] : '';
|
54 |
$deviceID = md5(__::get_client_ip() . $agent);
|
55 |
}
|
|
|
56 |
self::$deviceID = $deviceID;
|
57 |
return self::$deviceID;
|
58 |
}
|
19 |
function __construct()
|
20 |
{
|
21 |
if(isset($_COOKIE['__wpdm_client']))
|
22 |
+
$deviceID = __::sanitize_var($_COOKIE['__wpdm_client'], 'alphanum');
|
23 |
else {
|
24 |
$agent = isset($_SERVER['HTTP_USER_AGENT']) ? $_SERVER['HTTP_USER_AGENT'] : '';
|
25 |
$deviceID = md5(__::get_client_ip() . $agent);
|
26 |
+
$deviceID = __::sanitize_var($deviceID, 'alphanum');
|
27 |
if(!defined('WPDM_ACCEPT_COOKIE') || WPDM_ACCEPT_COOKIE !== false) {
|
28 |
@setcookie('__wpdm_client', $deviceID, 0, "", COOKIE_DOMAIN, is_ssl(), true);
|
29 |
$_COOKIE['__wpdm_client'] = $deviceID;
|
54 |
$agent = isset($_SERVER['HTTP_USER_AGENT']) ? $_SERVER['HTTP_USER_AGENT'] : '';
|
55 |
$deviceID = md5(__::get_client_ip() . $agent);
|
56 |
}
|
57 |
+
$deviceID = __::sanitize_var($deviceID, 'alphanum');
|
58 |
self::$deviceID = $deviceID;
|
59 |
return self::$deviceID;
|
60 |
}
|
src/__/__.php
CHANGED
@@ -27,11 +27,14 @@ class __
|
|
27 |
$ipaddress = getenv('REMOTE_ADDR');
|
28 |
else
|
29 |
$ipaddress = 'UNKNOWN';
|
|
|
30 |
$ipaddress = explode(",", $ipaddress);
|
|
|
31 |
return $ipaddress[0];
|
32 |
}
|
33 |
|
34 |
|
|
|
35 |
static function media_field($data)
|
36 |
{
|
37 |
ob_start();
|
@@ -265,14 +268,14 @@ class __
|
|
265 |
$value = wpdm_escs($value);
|
266 |
break;
|
267 |
case 'filename':
|
268 |
-
$value =
|
269 |
-
$value =
|
270 |
break;
|
271 |
case 'alpha':
|
272 |
-
$value =
|
273 |
break;
|
274 |
case 'alphanum':
|
275 |
-
$value =
|
276 |
break;
|
277 |
case 'html':
|
278 |
|
27 |
$ipaddress = getenv('REMOTE_ADDR');
|
28 |
else
|
29 |
$ipaddress = 'UNKNOWN';
|
30 |
+
|
31 |
$ipaddress = explode(",", $ipaddress);
|
32 |
+
|
33 |
return $ipaddress[0];
|
34 |
}
|
35 |
|
36 |
|
37 |
+
|
38 |
static function media_field($data)
|
39 |
{
|
40 |
ob_start();
|
268 |
$value = wpdm_escs($value);
|
269 |
break;
|
270 |
case 'filename':
|
271 |
+
$value = preg_replace("/([^\w\s\d\-_~,;\[\]\(\).])/", '_', $value);
|
272 |
+
$value = preg_replace("/([\.]+)/", '_', $value);
|
273 |
break;
|
274 |
case 'alpha':
|
275 |
+
$value = preg_replace("/([^a-zA-Z])/", '', $value);
|
276 |
break;
|
277 |
case 'alphanum':
|
278 |
+
$value = preg_replace("/([^a-zA-Z0-9])/", '', $value);
|
279 |
break;
|
280 |
case 'html':
|
281 |
|