libreccm-legacy/ccm-cms/web/assets/xinha/plugins/ExtendedFileManager/assets/manager.js

402 lines
11 KiB
JavaScript

/* This compressed file is part of Xinha. For uncompressed sources, forum, and bug reports, go to xinha.org */
/* This file is part of version 0.95 released Mon, 12 May 2008 17:33:15 +0200 */
/* The URL of the most recent version of this file is http://svn.xinha.webfactional.com/trunk/plugins/ExtendedFileManager/assets/manager.js */
function comboSelectValue(c,_2){
var _3=c.getElementsByTagName("option");
for(var i=_3.length;--i>=0;){
var op=_3[i];
op.selected=(op.value==_2);
}
c.value=_2;
}
function i18n(_6){
return Xinha._lc(_6,"ExtendedFileManager");
}
function setAlign(_7){
var _8=document.getElementById("f_align");
for(var i=0;i<_8.length;i++){
if(_8.options[i].value==_7){
_8.selectedIndex=i;
break;
}
}
}
function onTargetChanged(){
var f=document.getElementById("f_other_target");
if(this.value=="_other"){
f.style.visibility="visible";
f.select();
f.focus();
}else{
f.style.visibility="hidden";
}
}
function init(){
if(typeof imgManager=="undefined"){
setTimeout(init,10);
return;
}
var w=650;
var h=600;
window.resizeTo(w,h);
var _d=Xinha.pageSize(window);
window.resizeTo(w,h);
var _e=Xinha.viewportSize(window);
window.resizeBy(0,_d.y-_e.y+5);
_e=Xinha.viewportSize(window);
if(!Xinha.is_ie){
var x=opener.screenX+(opener.outerWidth-_e.x)/2;
var y=opener.screenY+(opener.outerHeight-_e.x)/2;
}else{
var x=(self.screen.availWidth-_e.x)/2;
var y=(self.screen.availHeight-_e.y)/2;
}
window.moveTo(x,y);
__xinha_dlg_init();
__dlg_translate("ExtendedFileManager");
var _11=document.getElementById("uploadForm");
if(_11){
_11.target="imgManager";
}
var _12=window.dialogArguments.editor;
var _13=window.dialogArguments.param;
var _14=null;
if(manager_mode=="image"&&_13){
var _15=new RegExp("^https?://");
if(_13.f_url.length>0&&!_15.test(_13.f_url)&&typeof _13.baseHref=="string"){
_13.f_url=_13.baseHref+_13.f_url;
}
var _16=new RegExp("(https?://[^/]*)?"+base_url.replace(/\/$/,""));
_13.f_url=_13.f_url.replace(_16,"");
var rd=(_resized_dir)?_resized_dir.replace(Xinha.RE_Specials,"\\$1")+"/":"";
var rp=_resized_prefix.replace(Xinha.RE_Specials,"\\$1");
var _19=new RegExp("^(.*/)"+rd+rp+"_([0-9]+)x([0-9]+)_([^/]+)$");
var _1a=_13.f_url.match(_19);
if(_19.test(_13.f_url)){
_13.f_url=RegExp.$1+RegExp.$4;
_13.f_width=RegExp.$2;
_13.f_height=RegExp.$3;
}
document.getElementById("f_url").value=_13["f_url"];
document.getElementById("f_alt").value=_13["f_alt"];
document.getElementById("f_title").value=_13["f_title"];
document.getElementById("f_border").value=_13["f_border"];
document.getElementById("f_width").value=_13["f_width"];
document.getElementById("f_height").value=_13["f_height"];
document.getElementById("f_margin").value=_13["f_margin"];
document.getElementById("f_padding").value=_13["f_padding"];
document.getElementById("f_borderColor").value=_13["f_borderColor"];
document.getElementById("f_backgroundColor").value=_13["f_backgroundColor"];
setAlign(_13["f_align"]);
document.getElementById("f_url").focus();
document.getElementById("orginal_width").value=_13["f_width"];
document.getElementById("orginal_height").value=_13["f_height"];
var _19=new RegExp("^(.*/)([^/]+)$");
if(_19.test(_13["f_url"])){
_14=RegExp.$1;
}
document.getElementById("f_preview").src=_backend_url+"__function=thumbs&img="+_13.f_url;
}else{
if(manager_mode=="link"&&_13){
var _1b=document.getElementById("f_target");
var _1c=true;
var _15=new RegExp("^https?://");
if(_13.f_href.length>0&&!_15.test(_13.f_href)&&typeof _13.baseHref=="string"){
_13.f_href=_13.baseHref+_13.f_href;
}
var _1d=new RegExp("(https?://[^/]*)?"+base_url.replace(/\/$/,""));
_13.f_href=_13.f_href.replace(_1d,"");
var _19=new RegExp("^(.*/)([^/]+)$");
if(_19.test(_13["f_href"])){
_14=RegExp.$1;
}else{
_14=document.cookie.match(/EFMStartDirlink=(.*?)(;|$)/);
if(_14){
_14=_14[1];
}
}
if(_13){
if(typeof _13["f_usetarget"]!="undefined"){
_1c=_13["f_usetarget"];
}
if(typeof _13["f_href"]!="undefined"){
document.getElementById("f_href").value=_13["f_href"];
document.getElementById("f_title").value=_13["f_title"];
comboSelectValue(_1b,_13["f_target"]);
if(_1b.value!=_13.f_target){
var opt=document.createElement("option");
opt.value=_13.f_target;
opt.innerHTML=opt.value;
_1b.appendChild(opt);
opt.selected=true;
}
}
}
if(!_1c){
document.getElementById("f_target_label").style.visibility="hidden";
document.getElementById("f_target").style.visibility="hidden";
document.getElementById("f_other_target").style.visibility="hidden";
}
var opt=document.createElement("option");
opt.value="_other";
opt.innerHTML=i18n("Other");
_1b.appendChild(opt);
_1b.onchange=onTargetChanged;
document.getElementById("f_href").focus();
}else{
if(!_13){
_14=document.cookie.match(new RegExp("EFMStartDir"+manager_mode+"=(.*?)(;|$)"));
if(_14){
_14=_14[1];
}
}
}
}
if(_14){
iframeUrl+="&dir="+_14;
var _1f=document.getElementById("dirPath");
for(var i=0;i<_1f.options.length;i++){
if(_1f.options[i].value==encodeURIComponent(_14)){
_1f.options[i].selected=true;
break;
}
}
}
imgManager.location.replace(iframeUrl);
if(manager_mode=="image"&&typeof Xinha.colorPicker!="undefined"&&document.getElementById("f_backgroundColor")&&document.getElementById("f_backgroundColor").type=="text"){
var _21={cellsize:_12.config.colorPickerCellSize,granularity:_12.config.colorPickerGranularity,websafe:_12.config.colorPickerWebSafe,savecolors:_12.config.colorPickerSaveColors};
new Xinha.colorPicker.InputBinding(document.getElementById("f_backgroundColor"),_21);
new Xinha.colorPicker.InputBinding(document.getElementById("f_borderColor"),_21);
}
setTimeout(function(){
resize();
addEvent(window,"resize",resize);
},500);
}
function pasteButton(_22){
var _23=document.getElementById("pasteBtn");
if(!_23.firstChild){
var a=document.createElement("a");
a.href="javascript:void(0);";
var img=document.createElement("img");
img.src=window.opener.Xinha.getPluginDir("ExtendedFileManager")+"/img/edit_paste.gif";
img.alt=i18n("Paste");
a.appendChild(img);
_23.appendChild(a);
}
_23.onclick=function(){
if(typeof imgManager!="undefined"){
imgManager.paste(_22);
}
if(_22.action=="moveFile"||_22.action=="moveDir"){
this.onclick=null;
this.removeChild(this.firstChild);
}
};
switch(_22.action){
case "copyFile":
_23.firstChild.title=i18n("Copy \"$file="+_22.file+"$\" from \"$dir="+decodeURIComponent(_22.dir)+"$\" here");
break;
case "copyDir":
_23.firstChild.title=i18n("Copy folder \"$file="+_22.file+"$\" from \"$dir="+decodeURIComponent(_22.dir)+"$\" here");
break;
case "moveFile":
_23.firstChild.title=i18n("Move \"$file="+_22.file+"$\" from \"$dir="+decodeURIComponent(_22.dir)+"$\" here");
break;
break;
case "moveDir":
_23.firstChild.title=i18n("Move folder \"$file="+_22.file+"$\" from \"$dir="+decodeURIComponent(_22.dir)+"$\" here");
break;
}
}
function onCancel(){
__dlg_close(null);
return false;
}
function onOK(){
if(manager_mode=="image"){
var _26=["f_url","f_alt","f_title","f_align","f_border","f_margin","f_padding","f_height","f_width","f_borderColor","f_backgroundColor"];
var _27=new Object();
for(var i in _26){
var id=_26[i];
var el=document.getElementById(id);
if(id=="f_url"&&el.value.indexOf("://")<0&&el.value){
_27[id]=makeURL(base_url,el.value);
}else{
_27[id]=el.value;
}
}
var _2b={w:document.getElementById("orginal_width").value,h:document.getElementById("orginal_height").value};
if((_2b.w!=_27.f_width)||(_2b.h!=_27.f_height)){
var _2c=Xinha._geturlcontent(window.opener.Xinha.getPluginDir("ExtendedFileManager")+"/"+_backend_url+"&__function=resizer&img="+encodeURIComponent(document.getElementById("f_url").value)+"&width="+_27.f_width+"&height="+_27.f_height);
_2c=eval(_2c);
if(_2c){
_27.f_url=makeURL(base_url,_2c);
}
}
__dlg_close(_27);
return false;
}else{
if(manager_mode=="link"){
var _2d={};
for(var i in _2d){
var el=document.getElementById(i);
if(!el.value){
alert(_2d[i]);
el.focus();
return false;
}
}
var _26=["f_href","f_title","f_target"];
var _27=new Object();
for(var i in _26){
var id=_26[i];
var el=document.getElementById(id);
if(id=="f_href"&&el.value.indexOf("://")<0){
_27[id]=makeURL(base_url,el.value);
}else{
_27[id]=el.value;
}
}
if(_27.f_target=="_other"){
_27.f_target=document.getElementById("f_other_target").value;
}
__dlg_close(_27);
return false;
}
}
}
function makeURL(_2e,_2f){
if(_2e.substring(_2e.length-1)!="/"){
_2e+="/";
}
if(_2f.charAt(0)=="/"){
}
_2f=_2f.substring(1);
return _2e+_2f;
}
function updateDir(_30){
var _31=_30.options[_30.selectedIndex].value;
changeDir(_31);
}
function goUpDir(){
var _32=document.getElementById("dirPath");
var _33=_32.options[_32.selectedIndex].text;
if(_33.length<2){
return false;
}
var _34=_33.split("/");
var _35="";
for(var i=0;i<_34.length-2;i++){
_35+=_34[i]+"/";
}
for(var i=0;i<_32.length;i++){
var _37=_32.options[i].text;
if(_37==_35){
_32.selectedIndex=i;
var _38=_32.options[i].value;
changeDir(_38);
break;
}
}
}
function changeDir(_39){
if(typeof imgManager!="undefined"){
imgManager.changeDir(_39);
}
}
function updateView(){
refresh();
}
function toggleConstrains(_3a){
var _3b=document.getElementById("imgLock");
var _3a=document.getElementById("constrain_prop");
if(_3a.checked){
_3b.src="img/locked.gif";
checkConstrains("width");
}else{
_3b.src="img/unlocked.gif";
}
}
function checkConstrains(_3c){
var _3d=document.getElementById("constrain_prop");
if(_3d.checked){
var obj=document.getElementById("orginal_width");
var _3f=parseInt(obj.value);
var obj=document.getElementById("orginal_height");
var _40=parseInt(obj.value);
var _41=document.getElementById("f_width");
var _42=document.getElementById("f_height");
var _43=parseInt(_41.value);
var _44=parseInt(_42.value);
if(_3f>0&&_40>0){
if(_3c=="width"&&_43>0){
_42.value=parseInt((_43/_3f)*_40);
}
if(_3c=="height"&&_44>0){
_41.value=parseInt((_44/_40)*_3f);
}
}
}
}
function showMessage(_45){
var _46=document.getElementById("message");
var _47=document.getElementById("messages");
if(_46.firstChild){
_46.removeChild(_46.firstChild);
}
_46.appendChild(document.createTextNode(i18n(_45)));
_47.style.display="block";
}
function addEvent(obj,_49,fn){
if(obj.addEventListener){
obj.addEventListener(_49,fn,true);
return true;
}else{
if(obj.attachEvent){
var r=obj.attachEvent("on"+_49,fn);
return r;
}else{
return false;
}
}
}
function doUpload(){
var _4c=document.getElementById("uploadForm");
if(_4c){
showMessage("Uploading");
}
}
function refresh(){
var _4d=document.getElementById("dirPath");
updateDir(_4d);
}
function newFolder(){
function createFolder(_4e){
var _4f=document.getElementById("dirPath");
var dir=_4f.options[_4f.selectedIndex].value;
if(_4e==thumbdir){
alert(i18n("Invalid folder name, please choose another folder name."));
return false;
}
if(_4e&&_4e!=""&&typeof imgManager!="undefined"){
imgManager.newFolder(dir,encodeURI(_4e));
}
}
if(Xinha.ie_version>6){
popupPrompt(i18n("Please enter name for new folder..."),i18n("Untitled"),createFolder,i18n("New Folder"));
}else{
var _51=prompt(i18n("Please enter name for new folder..."),i18n("Untitled"));
createFolder(_51);
}
}
function resize(){
var win=Xinha.viewportSize(window);
var m=document.getElementById("messages");
var _54=(m&&m.style.display!="none")?parseInt(document.getElementById("messages").offsetHeight,10):0;
document.getElementById("imgManager").style.height=parseInt(win.y-130-document.getElementById("controls").offsetHeight,10)-_54+"px";
return true;
}
Xinha.addOnloadHandler(init,window);