Sindbad~EG File Manager
!function(e){"use strict";const t=function(e){this.view=new t.View({model:new t.Model(e)})};t.View=Backbone.View.extend({events:{"click #lp-remove-upload-photo":"_removePhoto","click #lp-upload-photo":"_upload","click .lp-cancel-upload":"_cancel","click .lp-save-upload":"_save"},el:"#lp-user-edit-avatar",uploader:null,initialize(){_.bindAll(this,"filesAdded","uploadProgress","uploadError","fileUploaded","crop"),this._getUploader()},_save(t){t.preventDefault();const a=this;e.ajax({url:"?lp-ajax=save-uploaded-user-avatar",data:this.$(".lp-avatar-crop-image").serializeJSON(),type:"post",success(t){(t=LP.parseJSON(t)).success&&(a.$(".lp-avatar-crop-image").remove(),e(".lp-user-profile-avatar").html(t.avatar),a.$().attr("data-custom","yes"),a.$(".profile-picture").toggleClass("profile-avatar-current").filter(".profile-avatar-current").html(t.avatar))}})},$(t){return t?e(this.$el).find(t):e(this.$el)},_removePhoto(t){t.preventDefault(),confirm("Are you sure?")&&(this.$().removeAttr("data-custom"),this.$(".profile-picture").toggleClass("profile-avatar-current"),this.$("#submit").prop("disabled",!1),e(".lp-user-profile-avatar").html(this.$(".profile-avatar-current").find("img").clone()))},_upload(e){e.preventDefault()},_cancel(e){e.preventDefault(),this.$crop&&this.$crop.remove(),this.$(".lp-avatar-preview").removeClass("croping")},filesAdded(e,t){e.files.splice(0,e.files.length-1),this.$(".lp-avatar-preview").addClass("uploading"),this.$(".lp-avatar-upload-progress-value").width(0),this.uploader.start()},uploadProgress(e,t){this.$(".lp-avatar-upload-progress-value").css("width",t.percent+"%")},uploadError(e,t){this.$(".lp-avatar-preview").addClass("upload-error").removeClass("uploading"),this.$(".lp-avatar-upload-error").html(t)},fileUploaded(t,a,i){this.$(".lp-avatar-preview").removeClass("upload-error").removeClass("uploading");const r=this,s=LP.parseJSON(i.response);s.url&&(this.avatar=s.url,e("<img/>").attr("src",s.url).load((function(){r.model.set(e.extend(s,{width:this.width,height:this.height})),r.crop()})))},crop(){this.model.set("r",Math.random()),new t.Crop(this),this.$("#submit").prop("disabled",!1)},_getUploader(){return this.uploader||(this.uploader=new plupload.Uploader({runtimes:"html5,flash,silverlight,html4",browse_button:"lp-upload-photo",container:e("#lp-user-edit-avatar").get(0),url:("undefined"!=typeof lpGlobalSettings?lpGlobalSettings.ajax:"").addQueryVar("action","learnpress_upload-user-avatar"),filters:{max_file_size:"10mb",mime_types:[{title:"Image",extensions:"png,jpg,bmp,gif"}]},file_data_name:"lp-upload-avatar",init:{PostInit(){},FilesAdded:this.filesAdded,UploadProgress:this.uploadProgress,FileUploaded:this.fileUploaded,Error:this.uploadError}}),this.uploader.init()),this.uploader}}),t.Model=Backbone.Model.extend({}),t.Crop=function(t){const a=this,i=t.model.toJSON(),r=e(LP.template("tmpl-crop-user-avatar")(i));r.appendTo(t.$("#profile-avatar-uploader")),t.$crop=r;let s=r.find("img"),o=0,l=0,d=0,n=0,p=0,h=0;this.initCrop=function(){i.viewWidth/i.viewHeight>=i.width/i.height?(o=i.viewWidth,l=i.height*i.viewWidth/i.width,d=0,n=-(l-i.viewHeight)/2):(l=i.viewHeight,o=i.width*i.viewHeight/i.height,n=0,d=-(o-i.viewWidth)/2),p=o,h=l,s.draggable({drag(t,a){a.position.left>0&&(a.position.left=0),a.position.top>0&&(a.position.top=0);const r=i.viewWidth-p,s=i.viewHeight-h;r>a.position.left&&(a.position.left=r),s>a.position.top&&(a.position.top=s),e(document.body).addClass("profile-dragging")},stop(r,o){d=parseInt(s.css("left")),n=parseInt(s.css("top")),t=(Math.abs(d)+i.viewWidth/2)/p,c=(Math.abs(n)+i.viewHeight/2)/h,a.update({width:p,height:h,top:n,left:d}),e(document.body).removeClass("profile-dragging")}});var t=(Math.abs(d)+i.viewWidth/2)/o,c=(Math.abs(n)+i.viewHeight/2)/l;r.find(".lp-zoom > div").slider({create(){a.update({width:o,height:l,top:n,left:d})},slide(r,s){p=o+s.value/100*i.width*2,h=l+s.value/100*i.height*2;let u=i.viewWidth/2-p*t,f=i.viewHeight/2-h*c;u>0&&(u=0),f>0&&(f=0);const v=parseInt(i.viewWidth-p),g=parseInt(i.viewHeight-h);v>u&&(u=d=v),g>f&&(f=n=g),a.update({width:p,height:h,top:f,left:u}),e(document.body).addClass("profile-resizing"),console.log(s.value,i)},stop(){e(document.body).removeClass("profile-resizing")}})},this.update=function(t){s.css({width:t.width,height:t.height,top:t.top,left:t.left});const a=t.width/i.width,o=parseInt(Math.abs(t.left/a)),l=parseInt(Math.abs(t.top/a)),d=o+parseInt(i.viewWidth/a),n=l+parseInt(i.viewHeight/a),p=e.extend(t,{width:i.viewWidth,height:i.viewHeight,r:a,points:[o,l,d,n].join(",")});r.find('input[name^="lp-user-avatar-crop"]').each((function(){const t=e(this),a=t.data("name");"name"!=a&&void 0!==p[a]&&t.val(p[a])}))},this.initCrop()},e(document).on("submit","#learn-press-form-login",(function(t){const a=e(this),i=a.serialize();return a.find(".learn-press-error, .learn-press-notice, .learn-press-message").fadeOut(),a.find("input").attr("disabled",!0),LP.doAjax({data:{"lp-ajax":"login",data:i},success(t,i){LP.showMessages(t.message,a,"LOGIN_ERROR"),"error"==t.result&&(a.find("input").attr("disabled",!1),e('#learn-press-form-login input[type="text"]').trigger("focus")),t.redirect&&LP.reload(t.redirect)},error(){LP.showMessages("",a,"LOGIN_ERROR"),a.find("input").attr("disabled",!1),e('#learn-press-form-login input[type="text"]').trigger("focus")}}),!1})),e(document).on("click",".table-orders .cancel-order",(function(t){t.preventDefault();const a=e(this).attr("href");return LP.alert(learn_press_js_localize.confirm_cancel_order,(function(e){e&&(window.location.href=a)})),!1})),e(document).ready((function(){let i=e("#lp-user-profile-form form"),r=i.serialize(),s=null,o=i.find("#lp-profile-edit-password-form");function l(){i.find("#submit").prop("disabled",!(i.serialize()!=r))}0==o.length?i.on("keyup change","input, textarea, select",(function(){s&&clearTimeout(s),s=setTimeout(l,300)})):o.on("change keyup","input",(function(t){e(t.target).attr("name");const a=i.find("#pass0"),r=i.find("#pass1"),s=i.find("#pass2"),o=!((r.val()||s.val())&&r.val()!=s.val());i.find("#lp-password-not-match").toggleClass("hide-if-js",o),i.find("#submit").prop("disabled",!(o&&a.val()&&r.val()&&s.val()))}));const d={};"undefined"!=typeof lpProfileUserSettings&&(d.viewWidth=parseInt(lpProfileUserSettings.avatar_size.width),d.viewHeight=parseInt(lpProfileUserSettings.avatar_size.height)),new t(d),a.recoverOrder()})).on("click",".btn-load-more-courses",(function(t){const a=e(this);let i=a.data("paged")||1;const r=a.data("pages")||1,s=a.data("container"),o=e("#"+s);let l=a.data("url");if(i++,a.data("paged",i).prop("disabled",!0).removeClass("btn-ajax-off").addClass("btn-ajax-on"),l)l=l.addQueryVar("current_page",i);else{const e=window.location.href.split("?");l=e[0].match(/\/([0-9]+)\//)?e[0].replace(/\/([0-9]+)\//,i):e[0]+i,e[1]&&(l+="?"+e[1])}e.ajax({url:l,data:a.data("args"),success(t){o.append(e(t).find("#"+s).children()),i>=r?a.remove():a.prop("disabled",!1).removeClass("btn-ajax-on").addClass("btn-ajax-off")}})}));const a={recoverOrder(t){const a=e(".order-recover"),i=a.find(".button-recover-order");a.find('input[name="order-key"]');i.on("click",()=>{a.find(".learn-press-message").remove(),e(".profile-recover-order").find(".learn-press-message").remove(),e.post({url:"",data:a.serializeJSON(),beforeSend(){i.addClass("loading").attr("disabled","disabled")},success(t){if((t=LP.parseJSON(t)).message){const i=e('<div class="learn-press-message icon"><i class="fa"></i> '+t.message+"</div>");"error"==t.result&&i.addClass("error"),a.before(i)}t.redirect&&(window.location.href=t.redirect),i.removeClass("loading").removeAttr("disabled","")},error(){i.removeClass("loading").removeAttr("disabled","")}})})}}}(jQuery);
Sindbad File Manager Version 1.0, Coded By Sindbad EG ~ The Terrorists