//============================================================================= //filelist var pagelistparent; var pageselectedids=new Array(); var clipboardselectedids=new Array(); var pageclipboardmode; var filelistMode; var selectedVersions=new Array(); loadedPageData=new Array;//for load/save comparison function listPages(elementId,data,singleClick,doubleClick){ var Html='"; document.getElementById(elementId).innerHTML=Html; if($("#pp_path").length>0){ $("#mmUploadFileListing").sortable({update: fileListSorted}); } } function fileListSorted(event,ui){ var list=event.target; var items=list.getElementsByTagName("LI"); var idlist=''; for(var i=0;i0){ //clear all previously selected items stored in array var elem; for(i=0;i1){//only try and join selected items if more than one is selected //get all files in list var listHolder=document.getElementById('mmUploadFileListing'); var list=listHolder.childNodes; var elemid; var startHighlight=false; var totalSelected=pageselectedids.length; //get highest and lowest selected item for(var i=0;i1){ startHighlight=true; totalSelected--; }else if(elemid==pageselectedids[j]){ startHighlight=false; newpageselectedids.push(elemid); list[i].className=list[i].className.replace(/[ ]?active/,'');//remove active, so we don't get it twice list[i].className+=' active';//then add it again } } if(startHighlight){ newpageselectedids.push(elemid); list[i].className=list[i].className.replace(/[ ]?active/,'');//remove active, so we don't get it twice list[i].className+=' active';//then add it again } } } pageselectedids=newpageselectedids; } }else{ pageselectedids=new Array; pageselectedids[0]=id; item.className+=" active"; } } function loadPageDataRaw(id){ var myConn = new XHConn(); if (myConn){ document.getElementById('statusbar').innerHTML="Loading Page Data"; var Data=advfielddata;//assign last loaded field data to Data variable var fields=""; for (var Row in Data){//loop through and when you find appropriate id populate form if(Data[Row]['parent']==0){ fields+=Data[Row]['fieldName']+","; } } fields=fields.substr(0,(fields.length-1));//remove last comma //var fields="duocms_structure.*,duocms_pages.*"; var where="structure.id="+id+" limit 1"; var savingData="fields="+escape(fields)+"&where="+escape(where)+"&structure_id="+id; myConn.connect("/duocms/data/getsmall/", "POST", savingData, loadPageData_res); } } function loadPageData_res(data){ //parent.document.write(data.responseText); //alert(data.responseText); var data=eval('('+data.responseText+')'); if(data.error){alert(data.error);return;} var info=data.info[0]; for (var table in info){ for (var field in info[table]){ fieldid="advprop_"+table+"_"+field; if(document.getElementById(fieldid)){ var formelem=document.getElementById(fieldid); setFormValueByNode(formelem,info[table][field]); loadedPageData[fieldid]=document.getElementById(fieldid).value;//record for later comparison at save } if(document.getElementById("advOpbox_"+table+"_"+field)){ var tickboxarea=document.getElementById("advOpbox_"+table+"_"+field); var tickboxes=tickboxarea.getElementsByTagName('LABEL'); var tickopt=''; var tickboxinputs=tickboxarea.getElementsByTagName('INPUT'); //clear tickboxes first for(i=0;i0){ if(document.getElementById('genprop_structure_publish')){ document.getElementById('genprop_structure_publish').checked=document.getElementById('advprop_pages_lang_publish').checked; } } if(document.getElementById('securityForm')){ document.getElementById('securityForm').reset(); } if(data.info.security){ if(data.info.security.read){ for(i=0;i"+data.info.versions[i].when+" - "+data.info.versions[i].title+" - "+data.info.versions[i].email+""; } } vers_html+=""; document.getElementById('versionlist').innerHTML=vers_html; objectListen(document.getElementById('versionlist'),"mousedown",versionSelect); $("#versionlist ul").sortable({update: versionListSorted});//allow reordering of verions jquery } document.getElementById('statusbar').innerHTML=""; } // = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = // Version Functions // = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = function versionListSorted(event,ui){ var list=event.target; var items=list.getElementsByTagName("LI"); var idlist=''; for(var i=0;iunpublish'); }else{ $('#pp_version').append(''); } } function versionPublishSelected(pub){ var versions=selectedVersions.join(','); savingData="&versionids="+versions; var myConn = new XHConn(); if (myConn){ myConn.connect("/duocms/pages/versionpublish/"+pub+"/", "POST", savingData,versionsPublish_res); } } function versionsPublish_res(data){ loadPageDataRaw(pageselectedids[0]); } function versionHighlightSelected(){ var items=document.getElementById('versionlist').childNodes[0].childNodes; var itemId; var j; for(var i=0;i0){ document.getElementById('advprop_structure_path').value=document.getElementById('advprop_pages_title').value; } //get all contents var savingData=buildPOSTOptimised('advForm'); //savingData+="&duocms_pages|id="+pageData.duocms_pages.id.value; //alert (savingData); var securityData=buildPOSTOptimised('securityForm'); if(securityData){ savingData+="&"+securityData; } myConn.connect("/duocms/data/set/", "POST", savingData, savePageData_res); } } } function savePageData_res(data){ //parent.document.getElementById('duocmsContent').contentWindow.document.write("
"+data.responseText+"
"); data=eval('('+data.responseText+')'); if(data.error){alert(data.error);return;} //saved!! loadPageList(pagelistparent); loadPageDataRaw(pageselectedids[0]); document.getElementById('statusbar').innerHTML=""; } function addStucture(){ var myConn = new XHConn(); if (myConn && pagelistparent){ document.getElementById('statusbar').innerHTML="Adding File"; myConn.connect("/duocms/data/addStructure/"+escape(pagelistparent)+"/1/", "POST", "", addStucture_res); } } function translatePage(lang){ var myConn = new XHConn(); if (myConn && pageselectedids.length>0){ document.getElementById('statusbar').innerHTML="Translating Page"; var info="&ids="+array2CSV(pageselectedids); myConn.connect("/duocms/files/translate/"+lang+"/", "POST", info, translatePage_res); }else{ alert('please select which pages to translate'); } } function translatePage_res(data){ loadPageList(pagelistparent); loadPageDataRaw(pageselectedids[0]); } function addPage(){ var myConn = new XHConn(); if (myConn && parent){ myConn.connect("/duocms/data/addStructure/"+escape(pagelistparent)+"/1/", "POST", "", addPage_res); } } function addPage_res(data){ var data=eval('('+data.responseText+')'); if (data.error){alert (data.error);return;} //parent.window.location.reload(); var myConn = new XHConn(); if(myConn && data.info){ var savingData="structure|id="+data.info; savingData+="&pages|title="+escape('new page'); savingData+="&pages|html="+escape('

New Page

'); myConn.connect("/duocms/data/set/", "POST", savingData, addStucture_res); }else{ alert('there was an error creating a new page'); } } function addFile(){ var myConn = new XHConn(); if (myConn && pagelistparent){ document.getElementById('fileupload').action="/duocms/data/addStructure/"+escape(pagelistparent)+"/1/"; myConn.connect("/duocms/data/addStructure/"+escape(pagelistparent)+"/1/", "POST", "", addStucture_res); } } function addStucture_res(data){ //alert(data.responseText); var data=eval('('+data.responseText+')'); if (data.error){alert (data.error);return} document.getElementById('statusbar').innerHTML=""; loadPageList(pagelistparent); } function deleteStucture(){ var myConn = new XHConn(); if (myConn && pageselectedids.length>0 && confirm('Are you sure you want to delete the selected files and all their subdirectories?')){ document.getElementById('statusbar').innerHTML="Deleting Files"; var info="&ids="+array2CSV(pageselectedids); myConn.connect("/duocms/files/delete/", "POST", info, deleteStucture_res); } } function restoreStucture(){ var myConn = new XHConn(); if (myConn && pageselectedids.length>0){ document.getElementById('statusbar').innerHTML="Restoring Files"; var info="&ids="+array2CSV(pageselectedids); myConn.connect("/duocms/files/restore/", "POST", info, pasteStructure_res); } } function permDeleteStucture(){ var myConn = new XHConn(); if (myConn && pageselectedids.length>0 && confirm('Are you sure you want to delete the selected files and all their subdirectories?\nThis cannot be undone')){ document.getElementById('statusbar').innerHTML="Deleting Files"; var info="&ids="+array2CSV(pageselectedids); myConn.connect("/duocms/files/permdelete/", "POST", info, pasteStructure_res); } } function clipboardStucture(mode){ //mode = cut or copy pageclipboardmode=mode; if(clipboardselectedids.length>0){//remove old cut icons var elem; for(var i=0;i0){//add new cut or copy icons for(var i=0;i0){ document.getElementById('statusbar').innerHTML="Pasting Files"; var info="&ids="+array2CSV(clipboardselectedids); var url=pagelistparent+"/"+pageclipboardmode; myConn.connect("/duocms/files/move/"+url, "POST", info, pasteStructure_res); } } function pasteStructure_res(data){ var data=eval('('+data.responseText+')'); if (data.error){alert (data.error);return;} document.getElementById('statusbar').innerHTML=""; if(pageclipboardmode=="cut"){ clipboardselectedids=new Array(); } loadPageList(pagelistparent); } function deleteStucture_res(data){ var data=eval('('+data.responseText+')'); if (data.error){alert (data.error);return;} document.getElementById('statusbar').innerHTML=""; loadPageList(pagelistparent); if(document.getElementById('advForm')){ document.getElementById('advForm').reset(); document.getElementById('genPPForm').reset(); } } function reorderStructure(direction){ if(pageselectedids.length>0){ document.getElementById('statusbar').innerHTML="Reordering File "+direction; var myConn = new XHConn(); if (myConn){ //can't use json encod because php decode doesn't always work, csv will have to do var info="&ids="+array2CSV(pageselectedids); myConn.connect("/duocms/files/reorder/"+direction+"/", "POST", info, reorderStructure_res); } }else{ alert('please select a page to reorder'); } } function reorderStructure_res(data){ var data=eval('('+data.responseText+')'); if (data.error){alert (data.error);return;} loadPageList(pagelistparent); document.getElementById('statusbar').innerHTML=""; } function array2CSV(inputArray){ var csv=""; for(i=0;i5){ holder.innerHTML=''; if(item){item.className="branchPlus";} }else{ var item=document.getElementById(treeName+'TreeId'+parent); if(item){item.className="branchMinus";} var myConn = new XHConn(); if (myConn){ myConn.connect("/duocms/files/listFiles/"+parent+"/"+treeName+"/", "POST", "", res_loadSiteTreeBranch); } } } function res_loadSiteTreeBranch(data){ //alert(data.responseText); var data=eval('('+data.responseText+')'); var treeName=data.info.treeName; if(!treeName){var treeName='file';} if(data && data.error){ alert(data.error); return; } if(data && data.info){ var holder=document.getElementById(treeName+'TreeParent'+data.info.parent); var treeHTML=''; for (var Row in data.info){ var branchTitle= data.info[Row]['title']; if(!branchTitle && data.info[Row]['path']){ branchTitle=xtractFile(data.info[Row]['path']).file; } if(branchTitle){ if(data.info[Row]['children']!="0"){ treeHTML+=''+branchTitle+'
'; }else{ treeHTML+=''+branchTitle+''; } } } holder.innerHTML=holder.innerHTML+treeHTML; } } function setLinkLine(path,id){ setFormValue(te_linkline,path); if(te_linkline=='imgprops_link'){//update link on image on change te_applyImageProps(); } if(document.getElementById('rsspathid')){ document.getElementById('rsspathid').value=id; } }