/* WP-wp_dTree 3.5 (ulfben 2008-10-27) Escapes HTML-entities so they don't break the link titles / display WP-wp_dTree 3.3 (ulfben 2007-10-26) Fixed $curdir being undefined on some servers. (contributed by Zarquod) Added base URL to the tree so we won't have to pass it in for every node. Added a truncate-title function so we wont have to pass redundant data. Removed the text and graphic for the root-node. WP-wp_dTree 3.2 (ulfben 2007-10-08) Added duration parameter to the GET array. Removed title on root-node. */ /*--------------------------------------------------| | WP-wp_dTree 2.2 | www.silpstream.com/blog/ | |---------------------------------------------------| | Copyright (c) 2006 Christopher Hwang | | Release Date: July 2006 | | Modifications: | | v2.2 Added support for generating page trees | | Added support for excluding specific posts | | from tree | | Updated option menu | | Rewrite of base code | | Fixed support for tooltips on non-linked | | folders | | Added option for not displaying posts in | | archive tree | | v2.1 Patch to work with Regulus theme | | Ability to change open/close all link | | Set folders as links option | | Highlight current position in blog | | v2.0 Support for scriptaculous effects added | | Category based menu added | | Support for wp_dTree options was built in | | Option menu added to admin panel | | v1.0 Work arounds added for wordpress beautified | | permalinks. | |--------------------------------------------------*/ /*--------------------------------------------------| | wp_dTree 2.05 | www.destroydrop.com/javascript/tree/ | |---------------------------------------------------| | Copyright (c) 2002-2003 Geir Landr� | | | | This script can be used freely as long as all | | copyright messages are intact. | | | | Updated: 17.04.2003 | |--------------------------------------------------*/ // wp_dtree_Node object function wp_dtree_Node(id, pid, name, url, title, targ, count, rsspath){ this.id = id; this.pid = pid; this.name = name; this.url = url; this.title = title; this.count = count; //for postcounts this.rsspath = rsspath; //for feed link. var icon, iconOpen, open; //these were originally passed as parameters, but were never used in wp-dtree. this.target = targ; this.icon = icon; this.iconOpen = iconOpen; this._io = open || false; this._is = false; this._ls = false; this._hc = false; this._ai = 0; this._p; }; // Tree object function wp_dTree(objName, baseUrl, truncate){ this.config ={ target : null, folderLinks : false, useSelection : false, useCookies : true, useLines : true, useIcons : true, useStatusText : false, closeSameLevel : false, inOrder : false } this.icon ={ root : 'https://bonusmania.ru/wp-content/plugins/wp-dtree-30/dtree-img/empty.gif', folder : 'https://bonusmania.ru/wp-content/plugins/wp-dtree-30/dtree-img/folder.gif', folderOpen : 'https://bonusmania.ru/wp-content/plugins/wp-dtree-30/dtree-img/folderopen.gif', node : 'https://bonusmania.ru/wp-content/plugins/wp-dtree-30/dtree-img/page.gif', empty : 'https://bonusmania.ru/wp-content/plugins/wp-dtree-30/dtree-img/empty.gif', line : 'https://bonusmania.ru/wp-content/plugins/wp-dtree-30/dtree-img/line.gif', join : 'https://bonusmania.ru/wp-content/plugins/wp-dtree-30/dtree-img/join.gif', joinBottom : 'https://bonusmania.ru/wp-content/plugins/wp-dtree-30/dtree-img/joinbottom.gif', plus : 'https://bonusmania.ru/wp-content/plugins/wp-dtree-30/dtree-img/plus.gif', plusBottom : 'https://bonusmania.ru/wp-content/plugins/wp-dtree-30/dtree-img/plusbottom.gif', minus : 'https://bonusmania.ru/wp-content/plugins/wp-dtree-30/dtree-img/minus.gif', minusBottom : 'https://bonusmania.ru/wp-content/plugins/wp-dtree-30/dtree-img/minusbottom.gif', nlPlus : 'https://bonusmania.ru/wp-content/plugins/wp-dtree-30/dtree-img/nolines_plus.gif', nlMinus : 'https://bonusmania.ru/wp-content/plugins/wp-dtree-30/dtree-img/nolines_minus.gif' }; this._url = baseUrl; this._truncate = truncate; this.obj = objName; this.awp_dtree_Nodes = []; this.aIndent = []; this.root = new wp_dtree_Node(-1); this.selectedwp_dtree_Node = null; this.selectedFound = false; this.completed = false; }; // Adds a new node to the node array wp_dTree.prototype.a = function(id, pid, title, path, link_target, count, rsspath){ if(typeof(count) != "undefined" && count != ""){ count = "
"; } if(typeof(rsspath) != "undefined" && rsspath != ""){ rsspath = "ÿ"; } name = this.htmlEntities(this.truncate(title, this._truncate)); path += ""; //remove this and the next line breaks down for some reason. var url = path; //default value. if(!path.indexOf('http://') == 0){ //if the path doesn't start with "http://" (eg. home path) url = this._url + path; } this.awp_dtree_Nodes[this.awp_dtree_Nodes.length] = new wp_dtree_Node(id, pid, name, url, this.htmlEntities(title),link_target, count, rsspath); }; wp_dTree.prototype.truncate = function(str, length){ var length = length || 16; var truncation = '...'; if(str.length > length) { return str.slice(0, length - truncation.length) + truncation; } return str; }; wp_dTree.prototype.htmlEntities = function(str) { str=str.replace(/\&/g,'\&'); str=str.replace(/\"/g,'\"'); str=str.replace(/\,'\/g,'\>'); return str; } // Open/close all nodes wp_dTree.prototype.openAll = function(){ this.oAll(true); }; wp_dTree.prototype.closeAll = function(){ this.oAll(false); }; // Outputs the tree to the page wp_dTree.prototype.toString = function(){ var str = '
';
if(!this.selectedFound) this.selectedwp_dtree_Node = null;
this.completed = true;
return str;
};
// Creates the tree structure
wp_dTree.prototype.addwp_dtree_Node = function(pwp_dtree_Node){
var str = '';
var n=0;
if(this.config.inOrder) n = pwp_dtree_Node._ai;
for (n; n ' + this.indent(node, nodeId);
if(this.config.useIcons){
if(!node.icon) node.icon = (this.root.id == node.pid) ? this.icon.root : ((node._hc) ? this.icon.folder : this.icon.node);
if(!node.iconOpen) node.iconOpen = (node._hc) ? this.icon.folderOpen : this.icon.node;
if(this.root.id != node.pid){
str += '';
}
}
if(this.root.id != node.pid){
if(node.url){
str += '';
}
else if((!this.config.folderLinks || !node.url) && node._hc && node.pid != this.root.id){
str += '';
}
str += node.name;
if(node.url || ((!this.config.folderLinks || !node.url) && node._hc)) str += '';
}
if(node.count){
str += node.count;
}
if(node.rsspath){
str += node.rsspath;
}
str += ' ';
if(node._hc){
str += '
';
}
this.aIndent.pop();
return str;
};
// Adds the empty and line icons
wp_dTree.prototype.indent = function(node, nodeId){
var str = '';
if(this.root.id != node.pid){
for (var n=0; n';
}
return str;
};
// Checks ifa node has any children and ifit is the last sibling
wp_dTree.prototype.setCS = function(node){
var lastId;
for (var n=0; n