src/myams/resources/js/ext/tinymce/dev/classes/util/URI.min.js
changeset 5 c9c69b13d884
parent 0 f05d7aea098a
equal deleted inserted replaced
4:440e5d8fae8f 5:c9c69b13d884
     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});
     1 define("tinymce/util/URI",["tinymce/util/Tools"],(function(t){var o=t.each,e=t.trim,r="source protocol authority userInfo user password host port relative path directory file query anchor".split(" "),s={ftp:21,http:80,https:443,mailto:25};function i(t,s){var h,n,c=this;if(t=e(t),h=(s=c.settings=s||{}).base_uri,/^([\w\-]+):([^\/]{2})/i.test(t)||/^\s*#/.test(t))c.source=t;else{var u=0===t.indexOf("//");0!==t.indexOf("/")||u||(t=(h&&h.protocol||"http")+"://mce_host"+t),/^[\w\-]*:?\/\//.test(t)||(n=s.base_uri?s.base_uri.path:new i(location.href).directory,""===s.base_uri.protocol?t="//mce_host"+c.toAbsPath(n,t):(t=/([^#?]*)([#?]?.*)/.exec(t),t=(h&&h.protocol||"http")+"://mce_host"+c.toAbsPath(n,t[1])+t[2])),t=t.replace(/@@/g,"(mce_at)"),t=/^(?:(?![^:@]+:[^:@\/]*@)([^:\/?#.]+):)?(?:\/\/)?((?:(([^:@\/]*):?([^:@\/]*))?@)?([^:\/?#]*)(?::(\d*))?)(((\/(?:[^?#](?![^?#\/]*\.[^?#\/.]+(?:[?#]|$)))*\/?)?([^?#\/]*))(?:\?([^#]*))?(?:#(.*))?)/.exec(t),o(r,(function(o,e){var r=t[e];r&&(r=r.replace(/\(mce_at\)/g,"@@")),c[o]=r})),h&&(c.protocol||(c.protocol=h.protocol),c.userInfo||(c.userInfo=h.userInfo),c.port||"mce_host"!==c.host||(c.port=h.port),c.host&&"mce_host"!==c.host||(c.host=h.host),c.source=""),u&&(c.protocol="")}}return i.prototype={setPath:function(t){t=/^(.*?)\/?(\w+)?$/.exec(t),this.path=t[0],this.directory=t[1],this.file=t[2],this.source="",this.getURI()},toRelative:function(t){var o;if("./"===t)return t;if("mce_host"!=(t=new i(t,{base_uri:this})).host&&this.host!=t.host&&t.host||this.port!=t.port||this.protocol!=t.protocol&&""!==t.protocol)return t.getURI();var e=this.getURI(),r=t.getURI();return e==r||"/"==e.charAt(e.length-1)&&e.substr(0,e.length-1)==r?e:(o=this.toRelPath(this.path,t.path),t.query&&(o+="?"+t.query),t.anchor&&(o+="#"+t.anchor),o)},toAbsolute:function(t,o){return(t=new i(t,{base_uri:this})).getURI(o&&this.isSameOrigin(t))},isSameOrigin:function(t){if(this.host==t.host&&this.protocol==t.protocol){if(this.port==t.port)return!0;var o=s[this.protocol];if(o&&(this.port||o)==(t.port||o))return!0}return!1},toRelPath:function(t,o){var e,r,s,i=0,h="";if(t=(t=t.substring(0,t.lastIndexOf("/"))).split("/"),e=o.split("/"),t.length>=e.length)for(r=0,s=t.length;r<s;r++)if(r>=e.length||t[r]!=e[r]){i=r+1;break}if(t.length<e.length)for(r=0,s=e.length;r<s;r++)if(r>=t.length||t[r]!=e[r]){i=r+1;break}if(1===i)return o;for(r=0,s=t.length-(i-1);r<s;r++)h+="../";for(r=i-1,s=e.length;r<s;r++)h+=r!=i-1?"/"+e[r]:e[r];return h},toAbsPath:function(t,e){var r,s,i,h=0,n=[];for(s=/\/$/.test(e)?"/":"",t=t.split("/"),e=e.split("/"),o(t,(function(t){t&&n.push(t)})),t=n,r=e.length-1,n=[];r>=0;r--)0!==e[r].length&&"."!==e[r]&&(".."!==e[r]?h>0?h--:n.push(e[r]):h++);return 0!==(i=(r=t.length-h)<=0?n.reverse().join("/"):t.slice(0,r).join("/")+"/"+n.reverse().join("/")).indexOf("/")&&(i="/"+i),s&&i.lastIndexOf("/")!==i.length-1&&(i+=s),i},getURI:function(t){var o;return this.source&&!t||(o="",t||(this.protocol?o+=this.protocol+"://":o+="//",this.userInfo&&(o+=this.userInfo+"@"),this.host&&(o+=this.host),this.port&&(o+=":"+this.port)),this.path&&(o+=this.path),this.query&&(o+="?"+this.query),this.anchor&&(o+="#"+this.anchor),this.source=o),this.source}},i}));