src/pyams_skin/resources/js/ext/tinymce/dev/classes/util/URI.min.js
changeset 566 a1707c607eec
parent 565 318533413200
child 567 bca1726b1d85
equal deleted inserted replaced
565:318533413200 566:a1707c607eec
     1 define("tinymce/util/URI",["tinymce/util/Tools"],function(c){var f=c.each,a=c.trim;var d="source protocol authority userInfo user password host port relative path directory file query anchor".split(" ");var e={ftp:21,http:80,https:443,mailto:25};function b(i,j){var h=this,l,k;i=a(i);j=h.settings=j||{};l=j.base_uri;if(/^([\w\-]+):([^\/]{2})/i.test(i)||/^\s*#/.test(i)){h.source=i;return}var g=i.indexOf("//")===0;if(i.indexOf("/")===0&&!g){i=(l?l.protocol||"http":"http")+"://mce_host"+i}if(!/^[\w\-]*:?\/\//.test(i)){k=j.base_uri?j.base_uri.path:new b(location.href).directory;if(j.base_uri.protocol===""){i="//mce_host"+h.toAbsPath(k,i)}else{i=/([^#?]*)([#?]?.*)/.exec(i);i=((l&&l.protocol)||"http")+"://mce_host"+h.toAbsPath(k,i[1])+i[2]}}i=i.replace(/@@/g,"(mce_at)");i=/^(?:(?![^:@]+:[^:@\/]*@)([^:\/?#.]+):)?(?:\/\/)?((?:(([^:@\/]*):?([^:@\/]*))?@)?([^:\/?#]*)(?::(\d*))?)(((\/(?:[^?#](?![^?#\/]*\.[^?#\/.]+(?:[?#]|$)))*\/?)?([^?#\/]*))(?:\?([^#]*))?(?:#(.*))?)/.exec(i);f(d,function(m,o){var n=i[o];if(n){n=n.replace(/\(mce_at\)/g,"@@")}h[m]=n});if(l){if(!h.protocol){h.protocol=l.protocol}if(!h.userInfo){h.userInfo=l.userInfo}if(!h.port&&h.host==="mce_host"){h.port=l.port}if(!h.host||h.host==="mce_host"){h.host=l.host}h.source=""}if(g){h.protocol=""}}b.prototype={setPath:function(h){var g=this;h=/^(.*?)\/?(\w+)?$/.exec(h);g.path=h[0];g.directory=h[1];g.file=h[2];g.source="";g.getURI()},toRelative:function(k){var h=this,g;if(k==="./"){return k}k=new b(k,{base_uri:h});if((k.host!="mce_host"&&h.host!=k.host&&k.host)||h.port!=k.port||(h.protocol!=k.protocol&&k.protocol!=="")){return k.getURI()}var i=h.getURI(),j=k.getURI();if(i==j||(i.charAt(i.length-1)=="/"&&i.substr(0,i.length-1)==j)){return i}g=h.toRelPath(h.path,k.path);if(k.query){g+="?"+k.query}if(k.anchor){g+="#"+k.anchor}return g},toAbsolute:function(h,g){h=new b(h,{base_uri:this});return h.getURI(g&&this.isSameOrigin(h))},isSameOrigin:function(g){if(this.host==g.host&&this.protocol==g.protocol){if(this.port==g.port){return true}var h=e[this.protocol];if(h&&((this.port||h)==(g.port||h))){return true}}return false},toRelPath:function(n,o){var h,m=0,j="",k,g;n=n.substring(0,n.lastIndexOf("/"));n=n.split("/");h=o.split("/");if(n.length>=h.length){for(k=0,g=n.length;k<g;k++){if(k>=h.length||n[k]!=h[k]){m=k+1;break}}}if(n.length<h.length){for(k=0,g=h.length;k<g;k++){if(k>=n.length||n[k]!=h[k]){m=k+1;break}}}if(m===1){return o}for(k=0,g=n.length-(m-1);k<g;k++){j+="../"}for(k=m-1,g=h.length;k<g;k++){if(k!=m-1){j+="/"+h[k]}else{j+=h[k]}}return j},toAbsPath:function(k,l){var h,g=0,n=[],j,m;j=/\/$/.test(l)?"/":"";k=k.split("/");l=l.split("/");f(k,function(i){if(i){n.push(i)}});k=n;for(h=l.length-1,n=[];h>=0;h--){if(l[h].length===0||l[h]==="."){continue}if(l[h]===".."){g++;continue}if(g>0){g--;continue}n.push(l[h])}h=k.length-g;if(h<=0){m=n.reverse().join("/")}else{m=k.slice(0,h).join("/")+"/"+n.reverse().join("/")}if(m.indexOf("/")!==0){m="/"+m}if(j&&m.lastIndexOf("/")!==m.length-1){m+=j}return m},getURI:function(i){var h,g=this;if(!g.source||i){h="";if(!i){if(g.protocol){h+=g.protocol+"://"}else{h+="//"}if(g.userInfo){h+=g.userInfo+"@"}if(g.host){h+=g.host}if(g.port){h+=":"+g.port}}if(g.path){h+=g.path}if(g.query){h+="?"+g.query}if(g.anchor){h+="#"+g.anchor}g.source=h}return g.source}};return b});