// ========================================================= // telepark.wiki Professional // This Software is copyright (c) 2007 by telepark, // Inh. Patrick Thomas, www.telepark.de. // All rights reserved. // You may not modify, alter, reverse engineer or emulate // the functionality, or create derivative works of the // Software in parts or it's entirety without the prior // written consent of telepark. // ========================================================= var reloadTimeout=2; //tree object var tree; var treeProcessor; //id for new (unsaved) item var newItemId = "-1"; // set context menu un-called var ismenucalled = false; // define from where the script is called var ajaxFolder = true; // itemId for reload var tmpID = -1; // selected page id var selectedEditorPageID = ''; var tmpUSSid; var tmpState; var tmpAjaxflag; //default wait refresh ms var defaultTime=50; var permsloaded=false; var uploadenabled=false; var homepage=""; var pageLoadProgress=false; var stylesLoadProgress=false; var toutIDs=new Array; var intIDs=new Array; var scriptAllCount = 1; var scriptCount = 0; var isGAOverlay=false; var defBack="navy"; var defFont="white"; var currNodeBack=""; var currNodeFont=""; var lastSelected=""; var nodrop=false; var startedLoading=false; var onTreeLoadedFunc=false; var openingItem=false; var parentsToOpen=new Array; var treeLoaded=false; var pageLoaded=false; var dontRefresh=""; var editingPage=false; var moduleOpen=false; var moduleAdded=false; var pageInner=""; var loadingEditor=false; var moduleSubmitted=false; var selectedId=""; var firstload=true; var IEhead=new Array; var clearingHead=false; var scriptsText=""; var maxRetry=10; var retryCount=0; var scriptSrcs=new Array; var moduleInit=""; var moduleEvents=new Array; var dynCSS=new Array; var countCSS=0; var oldSetTimeout=window.setTimeout; var oldSetInterval=window.setInterval; var oldEval=window.eval; window.setTimeout=newTimeout; window.setInterval=newInterval; var evalData=new Array; var retryEvalCount=new Array; var countEvals=-1; var WIKI_PREFIX=""; var loadingFirstNode=true; var waitForProcessor=false; var commands=new Array; var whoisonline=""; var expires=0; var refreshItems=new Array; var refreshing=false; var refreshFromServer=new Array; var droping=0; var dropsid=""; var droptid=""; var dropbid=""; var treeStates=new Array; var savingStates=false; var loadedTreeItems=new Array; if (readCookie("GASO")!="") isGAOverlay=true; var ie=document.all ? true : false; var rootURL=window.location.href.substr(0,window.location.href.lastIndexOf("/")+1); var rootPath=rootURL.substr(rootURL.indexOf("//")+2); rootPath=rootPath.substr(rootPath.indexOf("/")); window.onresize = windowResize; // send notification email (if necessary) // telepark.wiki pro sendNotification(); // ============== // INITIALIZATION // ============== // set width and height of div elements function windowResize() { setCurrFunc("windowResize"); if (document.getElementById('main') && document.getElementById('treebox')) { var tBanner=document.getElementById('topbanner').offsetHeight; document.getElementById('main').style.top=tBanner+"px"; document.getElementById('treebox').style.top=tBanner+"px"; if (loadingFirstNode) { document.getElementById('treeboxLoading').style.top=tBanner+"px"; document.getElementById('treeboxLoading').style.display="block"; } var width100=document.body.clientWidth-30; var realTreeWidth=treeWidth; var realContentWidth=contentWidth; if (realTreeWidth.indexOf('%')!=-1) realTreeWidth=((parseInt(realTreeWidth)*width100)/100); realTreeWidth=parseInt(realTreeWidth); var maxContentWidth=width100-realTreeWidth; if (realContentWidth.indexOf('%')!=-1) realContentWidth=((parseInt(realContentWidth)*maxContentWidth)/100); realContentWidth=parseInt(realContentWidth); document.getElementById('content').style.width=realContentWidth+"px"; document.getElementById('textlinks').style.width=realTreeWidth+"px"; document.getElementById('main').style.left=realTreeWidth+10+"px"; document.getElementById('main').style.width=realContentWidth+"px"; document.getElementById('treebox').style.width=realTreeWidth+"px"; } else { setTimeout("windowResize()",defaultTime); } setCurrFunc(""); } function gaToTree(el) { var inner=el.innerHTML; var tmp=inner.split("<"); var t=tmp[0].replace(/^\s+|\s+$/g, ''); if (t=="") return; var tmp2=new Array; for (var i=1; i0) droping=5; if (error[1].indexOf("undelete")!=-1) { if (droping>0) droping=5; var tmp=error[1].split(":"); tree.setItemStyle(tmp[1],"font-weight: normal; text-decoration: none"); tree.setUserData(tmp[1],"!nativeeditor_status",""); } } pingServer(); treeProcessor.stopOnError = true; waitForProcessor=false; return false; } function treeProcRefresh( obj ) { var parentid=""; if (obj && obj.firstChild && obj.firstChild.nodeValue) parentid=obj.firstChild.nodeValue; if (parentid=="") return false; if (dontRefresh==parentid) { dontRefresh=""; return false; } removeFromArray(loadedTreeItems,parentid); refreshItem(parentid); return false; } function treeProcUpdate(sid,tid,action) { waitForProcessor=false; this.setUpdated(sid, false); var soid = sid; switch (action) { case "insert": if (tid != sid) { if (this.obj.mytype == "tree") { this.obj.changeItemId(sid, tid); itemCols(tid); this.obj.selectItem(tid); } else { this.obj.changeRowId(sid, tid); } sid = tid; newItemId=sid; } break; case "delete": if (sid.indexOf("_")==-1) { deleteContentFile(sid); if (this.obj.mytype == "tree") { this.obj.deleteItem(sid); if (this._afterUEvent) { this._afterUEvent(sid, action, tid); } return; } else { this.obj.setUserData(sid, "!nativeeditor_status", "true_deleted"); this.obj.deleteRow(sid); } } else { alert("post: "+sid); } break; default:; } var z = this.obj.getUserData(sid, "!nativeeditor_status", ""); if (z != "deleted") { this.obj.setUserData(sid, "!nativeeditor_status", ""); } if (this._lccm) { for (var i = 0; i < this.updatedRows.length; i++) { if (this.updatedRows[i]) { this.obj.setUserData(this.updatedRows[i], "!nativeeditor_status", "inserted"); this.setUpdated(this.updatedRows[i], true); break; } } } if (this._afterUEvent) { this._afterUEvent(soid, action, tid); } if (action=="insert" && sid.indexOf("_")==-1) { saveStates(sid); addPageWait(); } } function startTreeLoad(treeObj,itemId) { if (itemId!=null && !in_array(itemId,refreshItems)) { endLoad=false; saveStates(itemId); refreshItems.push(itemId); refreshing=true; treeLoaded=false; startedLoading=true; working(); } } function removeFakeLoad(itemId) { if (tree.getLevel(itemId)==0) return; var sub=tree.getSubItems(itemId); if (sub!="") { var ch=sub.split(","); for (var i=0; i0) { var id=refreshItems.shift(); if (tree.getLevel(id)!=0) { tree.refreshItem(id); } else { removeFromRefresh(id); } return; } if (!treeProcessor.autoUpdate) { treeProcessor.updatedRows = []; treeProcessor.setUpdateMode("cell"); } removeFakeLoad(parentid); refreshing=false; reloadStates(); if (typeof(onTreeLoadedFunc)=="function") onTreeLoadedFunc(parentid,treeObj); endLoad=true; } function removeFromArray(arr,val) { var tmparr=new Array; for (var i=0; i0) { tree.openItem(itemId); } else { tree.selectItem(itemId,true); } } if (openingItem) proceedOpenItem(itemId,state,null); } function onOpenStart(itemId) { if (itemstoopen.length>0) return true; return !refreshing; } function proceedOpenItem(parentid,state,parents) { if (typeof(parents)!="undefined" && parents!=null) { parentsToOpen=parents.split(","); if (tree.getLevel(parentsToOpen[1])!=0) { tree.openItem(parentsToOpen[1]); saveStates(parentsToOpen[1]); } else { setTimeout("tree.openItem('"+parentsToOpen[1]+"')",defaultTime); } } else { if (!in_array(parentid,parentsToOpen)) return; var i=0; for (i=0; i0) { firstopenInt=oldSetInterval("openingSEO()",10); tree.openItem(tmpId,true); } else { tree.selectItem(tmpId,true); } } } function init_onMover() { } function is_loaded(itemId) { setCurrFunc("is_loaded"); if (document.getElementById('content').innerHTML=="") { setTimeout("is_loaded('"+itemId+"')",defaultTime); } else { setTimeout("showSettings('"+itemId+"')",defaultTime*10); } setCurrFunc(""); } function getItemHTML(treeId) { var objx=tree._globalIdStorageFind(treeId,0,true); if (objx) { var tmpx=objx.htmlNode.childNodes[0].childNodes[0].childNodes[3]; return (tmpx.childNodes[0]); } return false; } function nodeMoverFunc(treeId) { setCurrFunc("nodeMoverFunc"); if (treeId==lastSelected) return; if (tree.getLevel(treeId)!=0) tree.setItemStyle(treeId,"background-color: "+nodeMoverBack+"; color: "+nodeMoverFont+";"); setCurrFunc(""); } function nodeMoutFunc(treeId) { setCurrFunc("nodeMoutFunc"); if (treeId==lastSelected) return; if (tree.getLevel(treeId)!=0) tree.setItemStyle(treeId,"background-color: "+currNodeBack+"; color: "+currNodeFont+";"); setCurrFunc(""); } function itemCols(itemId) { setCurrFunc("itemCols"); if (lastSelected!="") { if (tree.getLevel(lastSelected)!=0) tree.setItemStyle(lastSelected,"background-color: "+currNodeBack+"; color: "+currNodeFont+";"); } if (tree.getLevel(itemId)!=0) tree.setItemStyle(itemId,"background-color: "+defBack+"; color: "+defFont+";"); lastSelected=itemId; toggleTextLinks(itemId); setCurrFunc(""); } function init_Plink() { setCurrFunc("init_Plink"); pL=document.getElementById('printPageSpan'); if (printLink=="YES") { pL.style.display="inline"; } else { pL.style.display="none"; } setCurrFunc(""); } // ================ // HELPER FUNCTIONS // ================ function getParentIds(itemId) { var ret=new Array; if (itemId==null || itemId=="0") return ret; var p=itemId; ret.push(p); while (p!="wiki") { if (tree.getLevel(p)!=0) { p=tree.getParentId(p); ret.push(p); } } return ret; } function in_array(find,ar) { var ret=false; for (var i=0; i0) { state=(tree.getOpenState(itemId)?1:-1); } } else { state=parseInt(state); } treeStates[itemId]=state; savingStates=false; } function reloadStates() { return; if (savingStates) { setTimeout("reloadStates()",defaultTime); return; } for (var itemId in treeStates) { if (treeStates[itemId]!=0) { if (treeStates[itemId]==1) { if (tree.getLevel(itemId)!=0) tree.openItem(itemId); } else { if (tree.getLevel(itemId)!=0) tree.closeItem(itemId); } } } } // on select function onSelect(itemId){ setCurrFunc("onSelect"); if (autoloading && !treeLoaded || refreshing) { setTimeout("onSelect('"+itemId+"')",defaultTime); return false; } itemId=itemId.toString(); if (itemId=="0 "|| itemId.indexOf("_")!=-1 || tree.getLevel(itemId)==0) return; var pTmp=tree.getParentId(itemId); itemCols(itemId); pageLoaded=false; working(); hideLoginBox(); if (!(tree.getUserData(itemId,'sa') == 1 && superadmin != true)) { // telepark.wiki pro if (tree.getLevel(itemId)!=0) { tree.openItem(itemId); saveStates(itemId); } } // unlock previous page when coming from editor page if (selectedEditorPageID != '' && itemId != selectedEditorPageID) { // telepark.wiki pro unLockFile(selectedEditorPageID); } // coming from new page if(itemId!=newItemId){ if(tree.getLevel(newItemId)!=0){ if(confirm("Do you want to save changes?")){ //save changes to new item tree.openItem(newItemId,false); // saveItem(); document.wikiForm.submit(); return; } tree.deleteItem(newItemId); status(); } }else{ //set color to new item label if (tree.getLevel(itemId)!=0) tree.setItemColor(itemId,"red","pink"); } getPage(itemId); setCurrFunc(""); } // on double click function onDoubleClick(itemId) { setCurrFunc("onDoubleClick"); if (waitForProcessor || refreshing) { return false; } if (ismenucalled != false) return false; status(true); hideLoginBox(); // superadmin items if (tree.getUserData(itemId,'sa') == 1) { // telepark.wiki pro if (loggedIn == true && superadmin != false) { editPage(itemId); } else { status(); setCurrFunc(""); return false; } } // other items else { if (((parseInt(permissions[itemId])&P_EDIT)!=0) || superadmin) { editPage(itemId); } else { status(); setCurrFunc(""); return false; } } setCurrFunc(""); } // on context menu click function onButtonClick(menuItemValue,itemId,recursive){ setCurrFunc("onButtonClick"); closeActionsBox(); if (itemId == "-1") itemId = tree.getSelectedItemId(); if (ismenucalled != false || waitForProcessor || refreshing || !treeLoaded) return false; if (typeof(recursive)=="undefined") pingServer(refreshFromServer.legth); if (refreshFromServer.legth>0 || refreshing) { setTimeout("onButtonClick('"+menuItemValue+"','"+itemId+"',1)",defaultTime); } if (itemId!=tree.getSelectedItemId() && menuItemValue!="collapse" && menuItemValue!="add" && menuItemValue!="settings" && menuItemValue!="delete" && menuItemValue!="changepass") tree.openItem(itemId); ismenucalled = menuItemValue; // new page if((menuItemValue=="add") && (!loadingEditor)) { addNewChild(itemId); } // collapse else if(menuItemValue=="collapse") { collapseItem(itemId); } // edit else if(menuItemValue=="edit") { editPage(itemId); } // delete else if(menuItemValue=="delete" && itemId!='wiki') { deleteNode(itemId); } // sort else if(menuItemValue=="sort") { sortNode(itemId); } //printPage else if(menuItemValue=="print") { printPage(itemId); } //changepass else if(menuItemValue=="changepass") { changePassword(); } //settings else if(menuItemValue=="settings") { showSettings(itemId); } //page privileges else if(menuItemValue=="privileges") { showPrivileges(itemId); } setCurrFunc(""); return false; } // ============= // DRAG AND DROP // ============= // before drop function onDrag(sourceId,targetId,beforeId) { setCurrFunc("onDrag"); if (sourceId=="wiki" || targetId==0 || waitForProcessor) { ismenucalled=false; return false; } if (!superadmin) { if ((permissions[sourceId]&P_DRAGNDROP)==0) { ismenucalled=false; return false; } if ((permissions[targetId]&P_DRAGNDROP)==0) { ismenucalled=false; return false; } if ((permissions[targetId]&P_ADD)==0) { ismenucalled=false; return false; } if ((permissions[targetId]&P_EDIT)==0) { ismenucalled=false; return false; } } var smlevel=parseInt(tree.getUserData(sourceId,"levels")); if ((tree.getLevel(targetId)+smlevel)>=maxLevels) { // telepark.wiki pro setCurrFunc(""); ismenucalled=false; return false; } else { if (droping==0) { working(true); droping=1; dropsid=sourceId; droptid=targetId; dropbid=beforeId; saveStates(sourceId); saveStates(targetId); if (beforeId!=null) saveStates(beforeId); pingServer(refreshFromServer.legth); return false; } if (droping==3) { if (!refreshing && refreshFromServer.length==0) { droping=4; if (beforeId!=null) { tree.moveItem(sourceId,"item_sibling",beforeId); } else { tree.moveItem(sourceId,"item_child",targetId); } return false; } else { setTimeout("onDrag(dropsid,droptid,dropbid)",defaultTime); } } if (droping==4) { droping=0; notworking(true); ismenucalled=false; reloadStates(); return true; } if (droping==5) { droping=0; notworking(true); ismenucalled=false; reloadStates(); return false; } setCurrFunc(""); return false; } } function dumpArray(arr) { var a=""; for (var key in arr) { if (a!="") a+="\n"; a+=key+"=>"+arr[key]; } alert(a); } function returnFalse() { return false; } function onBeforeDrag(itemId) { if (waitForProcessor || refreshing || droping!=0) return false; if (in_array(itemId,refreshItems)) return false; for (var i=0; i 0)) aMenu.showItem('sort'); if (((permissions[itemId]&P_READ)!=0) || (superadmin)) aMenu.showItem('print'); if (loggedIn && ((!superadmin) && (canchangepass=="YES"))) aMenu.showItem('changepass'); if (superadmin) aMenu.showItem('settings'); } else if (tree.hasChildren(itemId) > 0) { if ((((permissions[itemId]&P_ADD)!=0) || (superadmin)) && (tree.getLevel(itemId)=maxLevels) { return false; } else { tree.insertNewItem(sId,newItemId,newItemLabel,"","leaf_closed.gif","leaf_open.gif","leaf_closed.gif","SELECT,CALL",0) setCurrFunc(""); } return true; } // ================ // UPDATE FUNCTIONS // ================ // update item (tree) function updateItem(pageID,label,name,value,recursive) { setCurrFunc("proceedUpdate"); tree.setItemText(pageID,label); tree.setItemColor(pageID,color1,color2); writeUserData(pageID,name,value,recursive); openItem(pageID); newItemId=-1; setCurrFunc(""); } // write user data to tree // telepark.wiki pro function writeUserData(pageId,name,value,recursive) { setCurrFunc("writeUserData"); var ids = ""; // set user data tree.setUserData(pageId,name,value); //dontRefresh=tree.getParentId(pageId); treeProcessor.sendData(pageId); updateSuperadminState(pageId,value,'-1'); setCurrFunc(""); } // update superadmin state (content file) function updateSuperadminState(id,state,ajaxflag,reverse){ // telepark.wiki pro setCurrFunc("updateSuperadminState"); tmpUSSid = id; tmpState = state; tmpAjaxflag = ajaxflag; var hp = new HTTPPost(); var param = 'pageID=' + id + "&state=" + state; if (ajaxflag == -1) var prefix = ""; else var prefix = "ajax/"; if (reverse == 1) { if (ajaxflag != -1) var prefix = ""; else var prefix = "ajax/"; } hp.postData(prefix + "updateSuperadminState.php", param, updateSuperadminStateProceed, true); setCurrFunc(""); } function updateSuperadminStateProceed(req) { setCurrFunc("updateSuperadminStateProceed"); if (req.readyState == 4) { if (req.status != 200) { updateSuperadminState(tmpUSSid,tmpState,tmpAjaxflag,1); } } status(); setCurrFunc(""); } // ============ // DELETE ITEMS // ============ // delete item (from database) function deleteNode(pageID){ setCurrFunc("deleteNode"); if (waitForProcessor || refreshing) { return false; } if(pageID!=newItemId){ if(!confirm(str_askdeletenode)) { ismenucalled = false; setCurrFunc(""); return false; } ismenucalled = false; tree.deleteItem(pageID); // delete unsaved node }else{ ismenucalled = false; tree.deleteItem(pageID); } setCurrFunc(""); } // delete item (content file) function deleteContentFile(id){ setCurrFunc("deleteContentFile"); var hp = new HTTPPost(); var pageID = 'pageID=' + id; if (ajaxFolder == false) var pre = ""; else var pre = "ajax/"; hp.postData(pre + 'deletePage.php', pageID, nofunction, true); setCurrFunc(""); } // delete comment function deleteComment(timeVar){ setCurrFunc("deleteComment"); if (confirm(str_commentDelete)) { var hp = new HTTPPost(); if (ajaxFolder == false) var pre = ""; else var pre = "ajax/"; var post="pageID="+tree.getSelectedItemId()+"&comment="+timeVar; hp.postData(pre + 'deleteComment.php', post, proceedDeleteComment, true); } setCurrFunc(""); } // proceed action based on timestamp function proceedDeleteComment(req) { setCurrFunc("proceedDeleteComment"); if (req.readyState == 4) { if (req.status == 200) { isEval=req.responseText; newEval(req.responseText); isEval=""; } } setCurrFunc(""); } // sort node function sortNode(treeItemId) { setCurrFunc("sortNode"); tree.sortTree(treeItemId,'ASC',0); var ch=tree.getSubItems(treeItemId); if (ch!="") { ch=ch.split(","); for (var i=0; i=5) { displaySystemMessage("The editor couldn't be initialized. Please reload the website and try again."); logError("The editor couldn't be initialized after 5 attempts."); } var oFCKeditor = new FCKeditor( 'wikiContent' ) ; oFCKeditor.BasePath = "FCKeditor/" ; oFCKeditor.Width = visualEditorWidth; oFCKeditor.Height = visualEditorHeight; oFCKeditor.ReplaceTextarea() ; setCurrFunc(""); } // after FCKEditor is loaded function FCKeditor_OnComplete( editorInstance ) { setCurrFunc("FCKEditor_ONComplete"); document.getElementById('wikiMenuLabel').select(); status(); setCurrFunc(""); } // check if changes have been made function checkEditorChanges(originalLabel,originalCheckboxState) { setCurrFunc("checkEditorChanges"); if (document.getElementById('continueEdit')) document.getElementById('continueEdit').value=""; ieCrashFix(); unLockFile(tree.getSelectedItemId()); // telepark.wiki pro if (typeof(FCKeditorAPI)!="undefined") { var oEditor = FCKeditorAPI.GetInstance('wikiContent') ; if (!oEditor) return true; // changes // if (oEditor.IsDirty() || (originalLabel != document.getElementById('wikiMenuLabel').value)) { var wF=false; var _comm=document.getElementById('wikiComment'); if (_comm) _comm=_comm.value; var _file=document.getElementById('wikiFileName'); if (_file) _file=_file.value; if (document.getElementById('wikiFile')) wF=document.getElementById('wikiFile').value; if (oEditor.IsDirty() || (originalLabel != document.getElementById('wikiMenuLabel').value) || (document.getElementById('wikiSuperadminPage') && originalCheckboxState != document.getElementById('wikiSuperadminPage').checked) || _comm || _file || wF) { // telepark.wiki pro setCurrFunc(""); return true; } // no changes else { getPage(tree.getSelectedItemId()); setCurrFunc(""); return false; } } else { setCurrFunc(""); return true; } setCurrFunc(""); } function ieCrashFix() { setCurrFunc("ieCrashFIx"); if (ie) { if (typeof(FCKeditorAPI)!="undefined") { var oEditor = FCKeditorAPI.GetInstance('wikiContent') ; if (oEditor) { if (oEditor.Selection.GetSelectedElement()) { if (oEditor.Selection.GetType()=="Control") { oEditor.Selection.SelectNode(oEditor.Selection.GetSelectedElement().parentNode.parentNode); } } } } } setCurrFunc(""); } // =============== // LOGIN FUNCTIONS // =============== // login box function loginBox() { setCurrFunc("loginBox"); closeMessageBox(); document.getElementById('loginBox').style.display = 'block'; document.getElementById('loginBoxName').value = ''; document.getElementById('loginBoxPass').value = ''; document.getElementById('loginBoxName').focus(); setCurrFunc(""); } // hide login box function hideLoginBox() { setCurrFunc("hideLoginBox"); document.getElementById('loginBox').style.display = 'none'; document.getElementById('loginBoxName').value = ''; document.getElementById('loginBoxPass').value = ''; setCurrFunc(""); } // submit login function submitLogin() { setCurrFunc("submitLogin"); var name = document.getElementById('loginBoxName').value; var password = document.getElementById('loginBoxPass').value; var remember = (document.getElementById('loginRemember').checked?"1":"0"); hideLoginBox(); if (password != '') { post = "username="+name+"&pass=" + password + "&remember=" + remember; var hp = new HTTPPost(); hp.postData('ajax/validateLogin.php', post, validateLogin, true); } setCurrFunc(""); } // check login function checkLogin(isLoggedOut) { setCurrFunc("checkLogin"); status(); var post=""; if (isLoggedOut) post="loggedout=1"; var hp = new HTTPPost(); hp.postData('ajax/checkLogin.php', post, login, true); setCurrFunc(""); } // login function login(req) { setCurrFunc("login"); //alert(req.readyState); if (req.readyState == 4) { //alert(req.status); if (req.status == 200 && req.responseXML && req.responseXML.documentElement) { var res = getXMLData(req.responseXML.documentElement.getElementsByTagName('checklogin')); var lev = getXMLData(req.responseXML.documentElement.getElementsByTagName('loginlevel')); var login_str = getXMLData(req.responseXML.documentElement.getElementsByTagName('login_str')); var login_fct = getXMLData(req.responseXML.documentElement.getElementsByTagName('login_fct')); var pageids = getXMLData(req.responseXML.documentElement.getElementsByTagName('pageids')); var groups = getXMLData(req.responseXML.documentElement.getElementsByTagName('uploadgroups')); homepage = getXMLData(req.responseXML.documentElement.getElementsByTagName('homepage')); var err = getXMLData(req.responseXML.documentElement.getElementsByTagName('error')); // set permissions clearPermissions(); //alert(pageids.replace(/\|/g,"\n")); pageids=pageids.split("|"); for (var i=0; i' + login_str + ''; } if (!firstload) reloadTree(); } //toggleTextLinks(); permsloaded=true; if (firstload) { loadTree(); if (defaultPingTime>0) { oldSetInterval("pingServer()",defaultPingTime*1000); } } firstload=false; status(); } } setCurrFunc(""); } // validate login data function validateLogin(req) { setCurrFunc("validateLogin"); if (req.readyState == 4) { if (req.status == 200 && req.responseXML && req.responseXML.documentElement) { var res = getXMLData(req.responseXML.documentElement.getElementsByTagName('validatelogin')); var lev = getXMLData(req.responseXML.documentElement.getElementsByTagName('loginlevel')); var login_str = getXMLData(req.responseXML.documentElement.getElementsByTagName('login_str')); var login_fct = getXMLData(req.responseXML.documentElement.getElementsByTagName('login_fct')); var pageids = getXMLData(req.responseXML.documentElement.getElementsByTagName('pageids')); var groups = getXMLData(req.responseXML.documentElement.getElementsByTagName('uploadgroups')); homepage = getXMLData(req.responseXML.documentElement.getElementsByTagName('homepage')); var err = getXMLData(req.responseXML.documentElement.getElementsByTagName('error')); // set permissions clearPermissions(); pageids=pageids.split("|"); for (var i=0; i' + login_str + ''; } xmlIsChanged=true; reloadTree(); } // wrong password else { loggedIn = false; superadmin = false; // telepark.wiki pro //checkLogin(); } //toggleTextLinks(); } } status(); setCurrFunc(""); } // display or hide text links function toggleTextLinks(itemId) { setCurrFunc("toggleTextLinks"); if (textLinks == true && document.getElementById('textlinks')) { var saStyle="none"; if (superadmin) saStyle="inline"; document.getElementById('changePassLink').style.display="none"; document.getElementById('settingsLink').style.display=saStyle; document.getElementById('privilegesLink').style.display=saStyle; document.getElementById('addLink').style.display=((tree.getLevel(itemId)' + login_str + ''; } displaySystemMessage(str_loggedout); xmlIsChanged=true; reloadTree(); } } } status(); setCurrFunc(""); } // ================== // NOTIFICATION EMAIL // ================== // submit sign email // telepark.wiki pro function submitSignEmail() { setCurrFunc("submitSignEmail"); if (document.getElementById('signEmail') && document.getElementById('signEmail').value!="") { var email = "email=" + document.getElementById('signEmail').value; var hp = new HTTPPost(); hp.postData('ajax/signEmail.php', email, signEmailResult, true); } setCurrFunc(""); } // display sign email result // telepark.wiki pro function signEmailResult(req) { setCurrFunc("signEmailResult"); if (req.readyState == 4) { if (req.status == 200 && req.responseXML && req.responseXML.documentElement) { var res = getXMLData(req.responseXML.documentElement.getElementsByTagName('success')); var err = getXMLData(req.responseXML.documentElement.getElementsByTagName('error')); if (err != "") logError(err); if (res != "") { displaySystemMessage(res); } else { displaySystemMessage(err); } } } document.getElementById('signEmail').value = ""; status(); setCurrFunc(""); } // send notification email // telepark.wiki pro function sendNotification() { setCurrFunc("sendNotification"); var hp = new HTTPPost(); hp.postData('ajax/sendEmail.php', '', sendEmailResult, true); setCurrFunc(""); } // display send email result // telepark.wiki pro function sendEmailResult(req) { setCurrFunc("sendEmailResult"); if (req.readyState == 4) { if (req.status == 200 && req.responseXML && req.responseXML.documentElement) { var err = getXMLData(req.responseXML.documentElement.getElementsByTagName('error')); if (err != "") logError(err); } } setCurrFunc(""); } // ====== // SEARCH // ====== // check search field before submit // telepark.wiki pro function checkSearchField() { setCurrFunc("checkSearchField"); if (document.getElementById('search') && document.getElementById('search').value != '') { setCurrFunc(""); return true; } else { setCurrFunc(""); return false; } setCurrFunc(""); } // ============ // UNLOCK PAGES // ============ // unlock page file // telepark.wiki pro function unLockFile(pageID) { setCurrFunc("unLockFile"); if (pageID==-1) return; var hp = new HTTPPost(); param = "pageID=" + pageID; hp.postData('ajax/unLockFile.php', param, unLockFileResult, true); setCurrFunc(""); } // check lock files // telepark.wiki pro function checkLockFiles() { setCurrFunc("checkLockFiles"); var hp = new HTTPPost(); hp.postData('ajax/checkLockFiles.php', '', nofunction, false); setCurrFunc(""); } // check lock files // telepark.wiki pro function killSession() { setCurrFunc("checkLockFiles"); var hp = new HTTPPost(); hp.postData('ajax/killSession.php', '', nofunction, false); setCurrFunc(""); } // unlock file result // telepark.wiki pro function unLockFileResult(req) { setCurrFunc("unLockFileResult"); if (req.readyState == 4) { if (req.status == 200 && req.responseXML && req.responseXML.documentElement) { var err = getXMLData(req.responseXML.documentElement.getElementsByTagName('error')); if (err != "") logError(err); } } setCurrFunc(""); } // ============ // PRINT PAGE // ============ function printPage(pageID) { setCurrFunc("printPage"); ismenucalled = false; window.open("printPage.php?pageID="+pageID,"PrintPage"); setCurrFunc(""); } // ============ // CHANGE USER PASSWORD // ============ function changePassword(userid) { setCurrFunc("changePassword"); ismenucalled=false; var hp = new HTTPPost(); if (ajaxFolder == false) var pre = ""; else var pre = "ajax/"; hp.postData(pre + 'changePassword.php', 'userid='+userid, proceedChangePassword, true); setCurrFunc(""); } function proceedChangePassword(req) { setCurrFunc("proceedChangePassword"); if (req.readyState == 4) { if (req.status == 200) { document.getElementById('actionsBoxHead').innerHTML=str_CHANGE_PASSWORD; document.getElementById('actionsBoxInner').innerHTML=req.responseText; document.getElementById('actionsBox').style.display="block"; } } setCurrFunc(""); } function changePassSubmit() { setCurrFunc("changePassSubmit"); var obj=document.getElementById('passForm'); if (obj) { var newPass=document.getElementById('userNewPassword').value; if (newPass!="") { if (newPass!=obj.retypeNewPassword.value) { alert(str_passwords_dont_match); } else { var hp = new HTTPPost(); if (ajaxFolder == false) var pre = ""; else var pre = "ajax/"; hp.postData(pre + 'changePassSubmit.php', 'userid='+obj.userid.value+"&newpass="+newPass, proceedChangePassSubmit, true); } } } setCurrFunc(""); } function proceedChangePassSubmit(req) { setCurrFunc("proceedChangePassSubmit"); if (req.readyState == 4) { if (req.status == 200) { document.getElementById('actionsBoxHead').innerHTML=str_change_pass; document.getElementById('actionsBoxInner').innerHTML=req.responseText; setTimeout("document.getElementById('actionsBox').style.display='none'",5000); } } setCurrFunc(""); } function closeActionsBox() { setCurrFunc("closeActionsBox"); document.getElementById('actionsBox').style.display="none"; document.getElementById('actionsBoxInner').innerHTML=""; setCurrFunc(""); } function clearPermissions() { setCurrFunc("clearPermissions"); for (var i in permissions) { delete permissions[i]; } for (var i in uploadgroups) { delete uploadgroups[i]; } uploadenabled=false; setCurrFunc(""); } function getPerms(itemId) { setCurrFunc("getPerms"); if (superadmin) return 65535; if (itemId==0) return permissions['wiki']; var undfnd=new Array; while (typeof(permissions[itemId])=="undefined") { undfnd[undfnd.length]=itemId; itemId=tree.getParentId(itemId); } for (var i=0; i0)) return; var countS=1; var rs=""; for (var i=1; i0)) return; var headTags = document.getElementsByTagName("head"); var headID = headTags[0]; if (IEhead[0]) headID.appendChild(IEhead[0]); pageLoadProgress=false; notworking(true); closeMessageBox(); } catch(e) { displaySystemMessage("Page not loaded. Retrying: "+retryCount+"/"+maxRetry,true); if (retryCount 0) { var cookiename = n+ '='; var cookiebegin = document.cookie.indexOf(cookiename); var cookieend = 0; if(cookiebegin > -1) { cookiebegin += cookiename.length; cookieend = document.cookie.indexOf(";",cookiebegin); if(cookieend < cookiebegin) { cookieend = document.cookie.length; } cookiecontent = document.cookie.substring(cookiebegin,cookieend); } } return unescape(cookiecontent); } function deleteCookie( name, path, domain ) { try { name=WIKI_PREFIX+name; document.cookie = name + "=" + ( ( path ) ? ";path=" + path : "") + ( ( domain ) ? ";domain=" + domain : "" ) + ";expires=Thu, 01-Jan-1970 00:00:01 GMT"; } catch(e) {} } function cancelModuleForm() { if (moduleAdded) { displaySystemMessage("You must enter module data!"); return; } editingPage=false; var pid=tree.getSelectedItemId(); unLockFile(pid); getPage(pid); } // pinging server function sendCommand(com) { commands.push(com); } function pingServer(len) { if (typeof(len)!="undefined" && len==0) refreshFromServer.push("dummy"); if (droping==1) droping=2; var hp = new HTTPPost(); var data=new Array; data['s']=SESSION; if (commands.length>0) { data['command']=commands.shift(); } else { data['command']="none"; } if (ajaxFolder == false) var pre = ""; else var pre = "ajax/"; hp.postData(pre + 'pingServer.php', data, receiveFromServer, true, true); } function receiveFromServer(req) { setCurrFunc("receiveFromServer"); if (req.readyState == 4) { if (req.status == 200 && req.responseXML && req.responseXML.documentElement) { var seval = getXMLData(req.responseXML.documentElement.getElementsByTagName('seval')); var refreshids = getXMLData(req.responseXML.documentElement.getElementsByTagName('refreshids')); var message = getXMLData(req.responseXML.documentElement.getElementsByTagName('message')); var error = getXMLData(req.responseXML.documentElement.getElementsByTagName('error')); whoisonline = getXMLData(req.responseXML.documentElement.getElementsByTagName('whoisonline')); expires = getXMLData(req.responseXML.documentElement.getElementsByTagName('expires')); showWhoIsOnline(); if (message!="") { displaySystemMessage(message,true); } if (error!="") { displaySystemMessage("SERVER ERROR: "+error); } if (refreshids!="") { var tmp=refreshids.split(","); if (droping==2) { if (in_array(dropsid,tmp) || in_array(droptid,tmp) || (dropbid!=null && in_array(tree.getParentId(dropbid),tmp))) { droping=5; if (!in_array(dropsid,tmp)) tmp.push(dropsid); if (!in_array(droptid,tmp)) tmp.push(droptid); if (dropbid!=null && !in_array(dropbid,tmp)) tmp.push(dropbid); displaySystemMessage("Can't drop. Items changed by another user!"); } } for (var i=0; i2) onDrag(dropsid,droptid,dropbid); if (seval!="") { eval(seval); } } } setCurrFunc(""); } function showWhoIsOnline() { var els=getElementsByClass("whoisonlineClass"); for (var i=0; i