You can subscribe to this list here.
| 2005 |
Jan
|
Feb
|
Mar
(95) |
Apr
(270) |
May
(111) |
Jun
|
Jul
|
Aug
(64) |
Sep
(130) |
Oct
(319) |
Nov
(17) |
Dec
(191) |
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 2006 |
Jan
(53) |
Feb
|
Mar
|
Apr
|
May
(6) |
Jun
(387) |
Jul
(102) |
Aug
(247) |
Sep
(120) |
Oct
(1) |
Nov
(8) |
Dec
(21) |
| 2007 |
Jan
(38) |
Feb
(36) |
Mar
|
Apr
(32) |
May
(135) |
Jun
(523) |
Jul
(192) |
Aug
(103) |
Sep
(533) |
Oct
(77) |
Nov
(23) |
Dec
(203) |
| 2008 |
Jan
(312) |
Feb
(1193) |
Mar
(404) |
Apr
(67) |
May
(62) |
Jun
(497) |
Jul
(297) |
Aug
(110) |
Sep
(335) |
Oct
(256) |
Nov
(50) |
Dec
(118) |
| 2009 |
Jan
(67) |
Feb
(10) |
Mar
(1) |
Apr
(1) |
May
|
Jun
(10) |
Jul
(61) |
Aug
|
Sep
(16) |
Oct
(45) |
Nov
(12) |
Dec
(14) |
| 2010 |
Jan
(30) |
Feb
|
Mar
|
Apr
(4) |
May
|
Jun
|
Jul
(7) |
Aug
(7) |
Sep
(5) |
Oct
(5) |
Nov
|
Dec
|
| 2011 |
Jan
(7) |
Feb
(3) |
Mar
(89) |
Apr
(11) |
May
(5) |
Jun
|
Jul
(8) |
Aug
(1) |
Sep
(2) |
Oct
|
Nov
(2) |
Dec
(89) |
| 2012 |
Jan
(7) |
Feb
(1) |
Mar
(1) |
Apr
|
May
|
Jun
|
Jul
|
Aug
(4) |
Sep
(3) |
Oct
(42) |
Nov
(1) |
Dec
|
| 2013 |
Jan
|
Feb
|
Mar
(19) |
Apr
(90) |
May
(38) |
Jun
(235) |
Jul
(38) |
Aug
(10) |
Sep
|
Oct
(29) |
Nov
|
Dec
|
| 2014 |
Jan
|
Feb
|
Mar
|
Apr
(6) |
May
(52) |
Jun
|
Jul
(7) |
Aug
|
Sep
(17) |
Oct
|
Nov
|
Dec
|
|
From: Jon O. <jon...@us...> - 2008-07-01 20:32:40
|
Update of /cvsroot/mxbb/mx_linkdb/templates/_core/images In directory sc8-pr-cvs16.sourceforge.net:/tmp/cvs-serv31600/images Log Message: Directory /cvsroot/mxbb/mx_linkdb/templates/_core/images added to the repository |
|
From: Jon O. <jon...@us...> - 2008-06-27 18:54:21
|
Update of /cvsroot/mxbb/core/modules/mx_shared/mygosumenu In directory sc8-pr-cvs16.sourceforge.net:/tmp/cvs-serv15949/mygosumenu Removed Files: todo.txt Log Message: Cleanup --- todo.txt DELETED --- |
|
From: Jon O. <jon...@us...> - 2008-06-27 18:54:20
|
Update of /cvsroot/mxbb/core/modules/mx_shared/ErrorHandler In directory sc8-pr-cvs16.sourceforge.net:/tmp/cvs-serv15949/ErrorHandler Removed Files: example1.html example2.html readme.txt Log Message: Cleanup --- example1.html DELETED --- --- example2.html DELETED --- --- readme.txt DELETED --- |
|
From: Jon O. <jon...@us...> - 2008-06-27 18:44:30
|
Update of /cvsroot/mxbb/mx_bugsbt/bugsbt/shared/XulMenu/images In directory sc8-pr-cvs16.sourceforge.net:/tmp/cvs-serv11177 Added Files: arrow1.gif arrow2.gif Log Message: cvs weirness, i had to readd all these files... --- NEW FILE: arrow2.gif --- (This appears to be a binary file; contents omitted.) --- NEW FILE: arrow1.gif --- (This appears to be a binary file; contents omitted.) |
|
From: Jon O. <jon...@us...> - 2008-06-27 18:44:22
|
Update of /cvsroot/mxbb/mx_bugsbt/bugsbt/shared/SimpleTextEditor/images In directory sc8-pr-cvs16.sourceforge.net:/tmp/cvs-serv11153 Added Files: bold.gif center.gif help.gif image.gif indent.gif italic.gif left.gif link.gif ol.gif outdent.gif right.gif ul.gif underline.gif viewsource.gif Log Message: cvs weirness, i had to readd all these files... --- NEW FILE: indent.gif --- (This appears to be a binary file; contents omitted.) --- NEW FILE: left.gif --- (This appears to be a binary file; contents omitted.) --- NEW FILE: underline.gif --- (This appears to be a binary file; contents omitted.) --- NEW FILE: image.gif --- (This appears to be a binary file; contents omitted.) --- NEW FILE: outdent.gif --- (This appears to be a binary file; contents omitted.) --- NEW FILE: ul.gif --- (This appears to be a binary file; contents omitted.) --- NEW FILE: italic.gif --- (This appears to be a binary file; contents omitted.) --- NEW FILE: center.gif --- (This appears to be a binary file; contents omitted.) --- NEW FILE: link.gif --- (This appears to be a binary file; contents omitted.) --- NEW FILE: help.gif --- (This appears to be a binary file; contents omitted.) --- NEW FILE: viewsource.gif --- (This appears to be a binary file; contents omitted.) --- NEW FILE: ol.gif --- (This appears to be a binary file; contents omitted.) --- NEW FILE: bold.gif --- (This appears to be a binary file; contents omitted.) --- NEW FILE: right.gif --- (This appears to be a binary file; contents omitted.) |
|
From: Jon O. <jon...@us...> - 2008-06-27 18:44:11
|
Update of /cvsroot/mxbb/mx_bugsbt/bugsbt/shared/images In directory sc8-pr-cvs16.sourceforge.net:/tmp/cvs-serv10700/images Added Files: help.gif help2.gif user.gif Log Message: cvs weirness, i had to readd all these files... --- NEW FILE: help2.gif --- (This appears to be a binary file; contents omitted.) --- NEW FILE: user.gif --- (This appears to be a binary file; contents omitted.) --- NEW FILE: help.gif --- (This appears to be a binary file; contents omitted.) |
|
From: Jon O. <jon...@us...> - 2008-06-27 18:44:10
|
Update of /cvsroot/mxbb/mx_bugsbt/bugsbt/shared/XulMenu In directory sc8-pr-cvs16.sourceforge.net:/tmp/cvs-serv10700/XulMenu Added Files: XulMenu.css.php XulMenu.js ie5.js Log Message: cvs weirness, i had to readd all these files... --- NEW FILE: XulMenu.css.php --- .XulMenu { font-family: georgia, tahoma, verdana; font-size: 11px; -moz-user-select: none; } .XulMenu .button, .XulMenu .button:hover, .XulMenu .button-active, .XulMenu .button-active:hover { line-height: normal; padding: 4px 8px 3px 8px; border: 1px solid #ECE9D8; color: #000000; text-decoration: none; cursor: default; white-space: nowrap; display: block; position: relative; } .XulMenu .button:hover { border-color: #ffffff #ACA899 #ACA899 #ffffff; } .XulMenu .button-active, .XulMenu .button-active:hover { border-color: #ACA899 #ffffff #ffffff #ACA899; } .XulMenu .item, .XulMenu .item:hover, .XulMenu .item-active, .XulMenu .item-active:hover { background: #ffffff; line-height: normal; padding: 3px 30px 3px 20px; color: #000000; text-decoration: none; cursor: default; white-space: nowrap; display: block; position: relative; } .XulMenu .item:hover, .XulMenu .item-active, .XulMenu .item-active:hover { background: #316AC5; color: #ffffff; } .XulMenu .section { background: #ffffff; border: 1px solid; border-color: #F1EFE2 #716F64 #716F64 #F1EFE2; padding: 2px 1px 1px 2px; position: absolute; visibility: hidden; z-index: -1; margin-top: 25px; } .XulMenu .arrow { position: absolute; top: 7px; right: 8px; border: 0; } .XulMenu .hr { font-size: 0px; border-width: 1px; border-color: #aca899; border-style: solid none none none; margin-top: 2px; margin-bottom: 2px; margin-left: 4px; margin-right: 4px; } * html .XulMenu td { position: relative; } /* ie 5.0 fix */ --- NEW FILE: ie5.js --- // +----------------------------------------------------------------+ // | Array functions that are missing in IE 5.0 | // | Author: Cezary Tomczak [www.gosu.pl] | // | Free for any use as long as all copyright messages are intact. | // +----------------------------------------------------------------+ // Removes the last element from an array and returns that element. if (!Array.prototype.pop) { Array.prototype.pop = function() { var last; if (this.length) { last = this[this.length - 1]; this.length -= 1; } return last; }; } // Adds one or more elements to the end of an array and returns the new length of the array. if (!Array.prototype.push) { Array.prototype.push = function() { for (var i = 0; i < arguments.length; ++i) { this[this.length] = arguments[i]; } return this.length; }; } // Removes the first element from an array and returns that element. if (!Array.prototype.shift) { Array.prototype.shift = function() { var first; if (this.length) { first = this[0]; for (var i = 0; i < this.length - 1; ++i) { this[i] = this[i + 1]; } this.length -= 1; } return first; }; } // Adds one or more elements to the front of an array and returns the new length of the array. if (!Array.prototype.unshift) { Array.prototype.unshift = function() { if (arguments.length) { var i, len = arguments.length; for (i = this.length + len - 1; i >= len; --i) { this[i] = this[i - len]; } for (i = 0; i < len; ++i) { this[i] = arguments[i]; } } return this.length; }; } // Adds and/or removes elements from an array. if (!Array.prototype.splice) { Array.prototype.splice = function(index, howMany) { var elements = [], removed = [], i; for (i = 2; i < arguments.length; ++i) { elements.push(arguments[i]); } for (i = index; (i < index + howMany) && (i < this.length); ++i) { removed.push(this[i]); } for (i = index + howMany; i < this.length; ++i) { this[i - howMany] = this[i]; } this.length -= removed.length; for (i = this.length + elements.length - 1; i >= index + elements.length; --i) { this[i] = this[i - elements.length]; } for (i = 0; i < elements.length; ++i) { this[index + i] = elements[i]; } return removed; }; } --- NEW FILE: XulMenu.js --- /* * DO NOT REMOVE THIS NOTICE * * PROJECT: mygosuMenu * VERSION: 1.4.0 * COPYRIGHT: (c) 2003,2004 Cezary Tomczak * LINK: http://gosu.pl/dhtml/mygosumenu.html * LICENSE: BSD (revised) */ /* This code has been modified a little to get it work with SimpleDoc the way I wanted */ function XulMenu(id) { this.type = "horizontal"; this.position = { "level1": { "top": 0, "left": 0}, "levelX": { "top": 0, "left": 0} } this.zIndex = { "visible": 1, "hidden": -1 } this.arrow1 = null; this.arrow2 = null; /* Initialize the menu */ this.init = function() { if (!document.getElementById(this.id)) alert("Element '"+ this.id +"' does not exist in this document. XulMenu cannot be initialized."); if (this.type != "horizontal" && this.type != "vertical") { return alert("XulMenu.init() failed. Unknown menu type: '"+this.type+"'"); } document.onmousedown = click; if (!document.all) { this.fixSections(); } this.parse(document.getElementById(this.id).childNodes, this.tree, this.id); } /* Search for .section elements and set width for them */ this.fixSections = function() { var arr = document.getElementById(this.id).getElementsByTagName("div"); var sections = new Array(); var widths = new Array(); for (var i = 0; i < arr.length; i++) { if (arr[i].className == "section") { sections.push(arr[i]); } } for (var i = 0; i < sections.length; i++) { widths.push(this.getMaxWidth(sections[i].childNodes)); } for (var i = 0; i < sections.length; i++) { sections[i].style.width = (widths[i]) + "px"; } } /* Search for an element with highest width, return that width */ this.getMaxWidth = function(nodes) { var maxWidth = 0; for (var i = 0; i < nodes.length; i++) { if (nodes[i].nodeType != 1 || nodes[i].className == "section") { continue; } if (nodes[i].offsetWidth > maxWidth) maxWidth = nodes[i].offsetWidth; } return maxWidth; } /* Parse menu structure, create events, position elements */ this.parse = function(nodes, tree, id) { for (var i = 0; i < nodes.length; i++) { if (nodes[i].nodeType != 1) { continue }; switch (nodes[i].className) { case "button": nodes[i].id = id + "-" + tree.length; tree.push(new Array()); nodes[i].onmouseover = buttonOver; nodes[i].onclick = buttonClick; break; case "item": nodes[i].id = id + "-" + tree.length; tree.push(new Array()); nodes[i].onmouseover = itemOver; nodes[i].onmouseout = itemOut; nodes[i].onclick = itemClick; break; case "section": nodes[i].id = id + "-" + (tree.length - 1) + "-section"; var box1 = document.getElementById(id + "-" + (tree.length - 1)); var box2 = document.getElementById(nodes[i].id); var el = new Element(box1.id); if (el.level == 1) { if (this.type == "horizontal") { box2.style.top = (box1.offsetTop + this.position.level1.top) + "px"; box2.style.left = (box1.offsetLeft + this.position.level1.left) + "px"; } else if (this.type == "vertical") { box2.style.top = (box1.offsetTop + this.position.level1.top) + "px"; box2.style.left = (box1.offsetLeft + box1.offsetWidth + this.position.level1.left) + "px"; } } else { box2.style.top = (box1.offsetTop + this.position.levelX.top) + "px"; box2.style.left = (box1.offsetLeft + box1.offsetWidth + this.position.levelX.left) + "px"; } break; case "arrow": nodes[i].id = id + "-" + (tree.length - 1) + "-arrow"; break; } if (nodes[i].childNodes) { if (nodes[i].className == "section") { this.parse(nodes[i].childNodes, tree[tree.length - 1], id + "-" + (tree.length - 1)); } else { this.parse(nodes[i].childNodes, tree, id); } } } } /* Hide all sections */ this.hideAll = function() { for (var i = this.visible.length - 1; i >= 0; i--) { this.hide(this.visible[i]); } } /* Hide higher or equal levels */ this.hideHigherOrEqualLevels = function(n) { for (var i = this.visible.length - 1; i >= 0; i--) { var el = new Element(this.visible[i]); if (el.level >= n) { this.hide(el.id); } else { return; } } } /* Hide a section */ this.hide = function(id) { var el = new Element(id); document.getElementById(id).className = (el.level == 1 ? "button" : "item"); if (el.level > 1 && this.arrow2) { document.getElementById(id + "-arrow").src = this.arrow1; } document.getElementById(id + "-section").style.visibility = "hidden"; document.getElementById(id + "-section").style.zIndex = this.zIndex.hidden; if (this.visible.contains(id)) { if (this.visible.getLast() == id) { this.visible.pop(); } else { throw "XulMenu.hide("+id+") failed, trying to hide element that is not deepest visible element"; } } else { throw "XulMenu.hide("+id+") failed, cannot hide element that is not visible"; } } /* Show a section */ this.show = function(id) { var el = new Element(id); document.getElementById(id).className = (el.level == 1 ? "button-active" : "item-active"); if (el.level > 1 && this.arrow2) { document.getElementById(id + "-arrow").src = this.arrow2; } document.getElementById(id + "-section").style.visibility = "visible"; document.getElementById(id + "-section").style.zIndex = this.zIndex.visible; this.visible.push(id); } /* event, document.onmousedown */ function click(e) { var el = null; if (e) { el = e.target.tagName ? e.target : e.target.parentNode; } else { el = window.event.srcElement; } if (!self.visible.length) { return }; if (!el.onclick) { self.hideAll(); } } /* event, button.onmouseover */ function buttonOver() { if (!self.visible.length) { return; } if (self.visible.contains(this.id)) { return }; self.hideAll(); var el = new Element(this.id); if (el.hasChilds()) { self.show(this.id); } } /* event, button.onclick */ function buttonClick() { this.blur(); if (self.visible.length) { self.hideAll(); } else { var el = new Element(this.id); if (el.hasChilds()) { self.show(this.id); } } } /* event, item.onmouseover */ function itemOver() { var el = new Element(this.id); self.hideHigherOrEqualLevels(el.level); if (el.hasChilds()) { self.show(this.id); } } /* event, item.onmouseout */ function itemOut() { var el = new Element(this.id); if (!el.hasChilds()) { document.getElementById(this.id).className = "item"; } } /* event, item.onclick */ function itemClick() { this.blur(); var el = new Element(this.id); self.hideHigherOrEqualLevels(el.level); if (el.hasChilds()) { self.show(this.id); } } function Element(id) { /* Get Level of given id * Examples: menu-1 (1 level), menu-1-4 (2 level) */ this.getLevel = function() { var s = this.id.substr(this.menu.id.length); return s.substrCount("-"); } /* Check whether an element has a sub-section */ this.hasChilds = function() { return Boolean(document.getElementById(this.id + "-section")); } if (!id) { throw "XulMenu.Element(id) failed, id cannot be empty"; } this.menu = self; this.id = id; this.level = this.getLevel(); } this.id = id; var self = this; this.tree = new Array(); /* Multidimensional array, structure of the menu */ this.visible = new Array(); /* Example: Array("menu-0", "menu-0-4", ...), succession is important ! */ } |
|
From: Jon O. <jon...@us...> - 2008-06-27 18:44:10
|
Update of /cvsroot/mxbb/mx_bugsbt/bugsbt/shared/XulTabs In directory sc8-pr-cvs16.sourceforge.net:/tmp/cvs-serv10700/XulTabs Added Files: XulTabs.css.php XulTabs.js Log Message: cvs weirness, i had to readd all these files... --- NEW FILE: XulTabs.js --- // +--------------------------------------------------------------------+ // | DO NOT REMOVE THIS | // +--------------------------------------------------------------------+ // | XulTabs.js | // | Automatic tabs creation. | // +--------------------------------------------------------------------+ // | Author: Cezary Tomczak [www.gosu.pl] | // | Project: SimpleDoc | // | URL: http://gosu.pl/php/simpledoc.html | // | License: GPL | // +--------------------------------------------------------------------+ function XulTabs(id) { this.init = function() { this.parse(document.getElementById(this.id).childNodes); if (this.tabs != this.data) { alert("XulTabs.init() failed, tabs="+this.tabs+", data="+this.data); } }; this.parse = function(nodes) { for (var i = 0; i < nodes.length; i++) { if (nodes[i].nodeType != 1) { continue; } if (/tab/.test(nodes[i].className)) { nodes[i].id = this.id+"-"+this.tabs; nodes[i].onclick = click; this.tabs++; } if (/data/.test(nodes[i].className)) { nodes[i].id = this.id+"-"+this.data+"-data"; this.data++; } if (nodes[i].childNodes) { this.parse(nodes[i].childNodes); } } }; this.show = function(id) { this.hide(); document.getElementById(id).className = document.getElementById(id).className.replace(/tab/, "tab-active"); document.getElementById(id+"-data").style.display = "block"; this.active = id; }; this.hide = function() { if (this.active) { document.getElementById(this.active).className = document.getElementById(this.active).className.replace(/tab-active/, "tab"); document.getElementById(this.active+"-data").style.display = "none"; this.active = ""; } }; function click() { self.show(this.id); this.blur(); } var self = this; this.id = id; this.active = ""; this.tabs = 0; this.data = 0; } --- NEW FILE: XulTabs.css.php --- /* SimpleDoc [www.gosu.pl], style for tabs */ .XulTabs .wrap1 { height: 23px; } .XulTabs .wrap1 td { vertical-align: bottom; } .XulTabs .tab, .XulTabs .tab:hover, .XulTabs .tab-active, .XulTabs .tab-active:hover { text-decoration: none; padding: 3px 10px 3px 10px; border-top: 1px solid #91A7B4; border-left: 1px solid #919B9C; color: #000000; cursor: default; white-space: nowrap; display: block; } .XulTabs .tab:hover { border-top: 2px solid #FFC73C; padding-top: 2px; } .XulTabs .tab-active, .XulTabs .tab-active:hover { border-top: 3px solid #FFC73C; padding-top: 2px; padding-bottom: 4px; font-weight: bold; } .XulTabs .view { border-right: 1px solid #919B9C; } .XulTabs .content { border: 1px solid #919B9C; background: #ffffff; width: 100%; height: 100%; } .XulTabs .wrap2 { vertical-align: top; padding: 15px; } .XulTabs .data { display: none; } * html .XulTabs .tab, * html .XulTabs .tab:hover, * html .XulTabs .tab-active, * html .XulTabs .tab-active:hover { width: 100%; } |
|
From: Jon O. <jon...@us...> - 2008-06-27 18:44:10
|
Update of /cvsroot/mxbb/mx_bugsbt/bugsbt/shared/DynamicTree In directory sc8-pr-cvs16.sourceforge.net:/tmp/cvs-serv10700/DynamicTree Added Files: DynamicTree.css.php DynamicTree.js Log Message: cvs weirness, i had to readd all these files... --- NEW FILE: DynamicTree.js --- // +--------------------------------------------------------------------+ // | DO NOT REMOVE THIS | // +--------------------------------------------------------------------+ // | DynamicTree.js | // | Dynamic tree editing and displaying. | // +--------------------------------------------------------------------+ // | Author: Cezary Tomczak [www.gosu.pl] | // | Project: SimpleDoc | // | URL: http://gosu.pl/php/simpledoc.html | // | License: GPL | // +--------------------------------------------------------------------+ /* See also: http://gosu.pl/dhtml/mygosumenu.html */ /* The code has been modified for SimpleDoc specific needs */ /* Object name must be the same as id, ex. var tree = new DynamicTree("tree"); */ function DynamicTree(id) { this.path = "DynamicTree/images/"; this.cookiePath = ""; this.cookieDomain = ""; this.img = { "branch": "tree-branch.gif", "doc": "tree-doc.gif", "folder": "tree-folder.gif", "folderOpen": "tree-folder-open.gif", "leaf": "tree-leaf.gif", "leafEnd": "tree-leaf-end.gif", "node": "tree-node.gif", "nodeEnd": "tree-node-end.gif", "nodeOpen": "tree-node-open.gif", "nodeOpenEnd": "tree-node-open-end.gif" }; this.imgObjects = []; this.init = function() { var img; for (var i in this.img) { img = new Image(); img.src = this.path + this.img[i]; this.imgObjects.push(img); } this.parse(document.getElementById(this.id).childNodes, this.tree, 1); this.loadState(); if (window.addEventListener) { window.addEventListener("unload", function(e) { self.saveState(); }, false); } else if (window.attachEvent) { window.attachEvent("onunload", function(e) { self.saveState(); }); } this.updateHtml(); }; this.parse = function(nodes, tree) { for (var i = 0; i < nodes.length; i++) { if (nodes[i].nodeType == 1) { if (!nodes[i].id) { throw "DynamicTree.parse() failed, el.id is empty, el.innerText = '"+(nodes[i].firstChild ? nodes[i].firstChild.nodeValue : "undefined")+"'"; } if (!nodes[i].className) { throw "DynamicTree.parse() failed, el.className is empty, el.innerText = '"+(nodes[i].firstChild ? nodes[i].firstChild.nodeValue : "undefined")+"'"; } var node = new Node(); node.id = nodes[i].id; node.text = (nodes[i].firstChild ? nodes[i].firstChild.nodeValue.trim() : ""); node.parentNode = tree; node.childNodes = (nodes[i].className == "folder" ? new Array() : null); node.isDoc = (nodes[i].className == "doc"); node.isFolder = (nodes[i].className == "folder"); tree.childNodes.push(node); this.allNodes.push(node); } if (nodes[i].nodeType == 1 && nodes[i].childNodes) { this.parse(nodes[i].childNodes, tree.childNodes.getLast()); } } }; this.nodeClick = function(id) { var el = document.getElementById(id+"-section"); var node = document.getElementById(id+"-node"); //var icon = document.getElementById(id+"-icon"); if (el.style.display == "block") { el.style.display = "none"; if (findNode(id).isLast()) { node.src = this.path+"tree-node-end.gif"; } else { node.src = this.path+"tree-node.gif"; } //icon.src = this.path+"tree-folder.gif"; this.opened.removeByValue(id); } else { el.style.display = "block"; if (findNode(id).isLast()) { node.src = this.path+"tree-node-open-end.gif"; } else { node.src = this.path+"tree-node-open.gif"; } //icon.src = this.path+"tree-folder-open.gif"; this.opened.push(id); } if (document.all) setTimeout(this.id+".fixImages('"+id+"')", 50); }; // ie fix, icon & node images disappearing this.fixImages = function(id) { var node = document.getElementById(id+"-node"); //var icon = document.getElementById(id+"-icon"); if (node.outerHTML) node.outerHTML = node.outerHTML; //if (icon.outerHTML) icon.outerHTML = icon.outerHTML; }; this.textClick = function(id) { // bad design ! checkContentSaved(); if (this.active) { document.getElementById(this.active+"-text").className = "text"; } document.getElementById(id+"-text").className = "text-active"; this.active = id; this.textClickListener.call(); }; this.toHtml = function() { var s = ""; var nodes = this.tree.childNodes; for (var i = 0; i < nodes.length; i++) { s += nodes[i].toHtml(); } return s; }; this.updateHtml = function() { document.getElementById(this.id).innerHTML = this.toHtml(); }; this.loadState = function() { var opened = this.getStatesUrl(); if (opened) { this.opened = opened.split("|"); var i, invalid = []; for (i = 0; i < this.opened.length; i++) { if (findNode(this.opened[i])) { var node = findNode(this.opened[i]); if (!node.isFolder || (node.isFolder && !node.childNodes.length)) { invalid.push(node.id); } } else { invalid.push(this.opened[i]); } } for (i = 0; i < invalid.length; i++) { this.opened.removeByValue(invalid[i]); } } }; // // Simulate the loadState cookie behaviour // this.getStatesUrl = function() { if (this.queryPath) { var openedTMP = ''; for (i = 0; i < this.queryPath.split("/").length - 1; i++) { if(i > 0) { openedTMP = openedTMP + "|" + 'tree-' + this.queryPath.split("/")[i-1] + '/' + this.queryPath.split("/")[i]; }else{ openedTMP = 'tree-' + this.queryPath.split("/")[i]; } } return openedTMP; } }; this.saveState = function() { if (this.opened.length) { this.cookie.set("opened", this.opened.join("|"), 3600*24*30); } else { this.clearState(); } }; this.clearState = function() { this.cookie.del("opened"); }; this.mayMoveUp = function() { return this.active && !findNode(this.active).isFirst(); }; this.mayMoveDown = function() { return this.active && !findNode(this.active).isLast(); }; this.mayMoveLeft = function() { return this.active && (findNode(this.active).getLevel() > 1); }; this.mayMoveRight = function() { if (this.active) { var node = findNode(this.active).getNextSibling(); while (node) { if (node.isFolder) { return true; } node = node.getNextSibling(); } } return false; }; this.mayInsertBefore = function() { return Boolean(this.active); }; this.mayInsertAfter = function() { return Boolean(this.active); }; this.mayInsertInside = function() { return this.active && findNode(this.active).isFolder; }; this.mayRemove = function() { if (this.active) { var node = findNode(this.active); if (node.isDoc) { return true; } if (node.isFolder && !node.childNodes.length) { return true; } } return false; }; this.moveUp = function() { var node = findNode(this.active); var index = node.getIndex(); var parent = node.parentNode; parent.removeChild(node); parent.appendChildAtIndex(node, index-1); this.updateHtml(); }; this.moveDown = function() { var node = findNode(this.active); var index = node.getIndex(); var parent = node.parentNode; parent.removeChild(node); parent.appendChildAtIndex(node, index+1); this.updateHtml(); }; this.moveLeft = function() { opened1(); var node = findNode(this.active); var left = node.parentNode; left.removeChild(node); left.parentNode.appendChildAtIndex(node, left.getIndex()); this.active = node.id; opened2(); this.updateHtml(); }; this.moveRight = function() { opened1(); var node = findNode(this.active); var next = node.getNextSibling(); var rightId = null; while (next) { if (next.isFolder) { rightId = next.id; break; } next = next.getNextSibling(); } var right = findNode(rightId); node.parentNode.removeChild(node); if (right.childNodes.length) { right.appendChildAtIndex(node, 0); } else { right.appendChild(node); } this.active = node.id; opened2(); this.updateHtml(); }; this.createNode = function(id, text, type) { id = unescape(id); if (!id || findNode(id) || !text || (type != "doc" && type != "folder")) { throw this.id+'.createNode("'+id+'", "'+text+'", "'+type+'") failed, illegal action'; } var node; if (type == "doc") { node = new Node(id, text, null, null, true, false); } else { node = new Node(id, text, null, new Array(), false, true); } this.allNodes.push(node); return node; }; this.insert = function(name, text, type) { var node = this.createNode("tree-"+name, text, type); if (this.tree.childNodes.length) { this.tree.appendChildAtIndex(node, 0); } else { this.tree.appendChild(node); } this.updateHtml(); }; this.insertBefore = function(name, text, type) { if (!this.mayInsertBefore()) { throw this.id+'.insertBefore() failed, illegal action'; } var active = findNode(this.active); var id = active.parentNode.getRealId() ? active.parentNode.getRealId()+"/"+name : "tree-"+name; var node = this.createNode(id, text, type); active.parentNode.appendChildAtIndex(node, active.getIndex()); this.updateHtml(); }; this.insertAfter = function(name, text, type) { if (!this.mayInsertAfter()) { throw this.id+'.insertAfter() failed, illegal action'; } var active = findNode(this.active); var id = active.parentNode.getRealId() ? active.parentNode.getRealId()+"/"+name : "tree-"+name; var node = this.createNode(id, text, type); if (active.parentNode.childNodes[active.getIndex()+1]) { active.parentNode.appendChildAtIndex(node, active.getIndex()+1); } else { active.parentNode.appendChild(node); } this.updateHtml(); }; this.insertInsideAtStart = function(name, text, type) { if (!this.mayInsertInside()) { throw this.id+'.insertInsideAtStart() failed, illegal action'; } var active = findNode(this.active); var id = active.getRealId() ? active.getRealId()+"/"+name : "tree-"+name; var node = this.createNode(id, text, type); if (active.childNodes.length) { active.appendChildAtIndex(node, 0); } else { active.appendChild(node); } this.updateHtml(); }; this.insertInsideAtEnd = function(name, text, type) { if (!this.mayInsertInside()) { throw this.id+'.insertInsideAtEnd() failed, illegal action'; } var active = findNode(this.active); var id = active.getRealId() ? active.getRealId()+"/"+name : "tree-"+name; var node = this.createNode(id, text, type); active.appendChild(node); this.updateHtml(); }; this.renameThis = function(text, type) { var node = findNode(this.active); var id = node.getRealId(); id = (id.substr(0, id.lastIndexOf("/")+1) == '' ? "tree-" : id.substr(0, id.lastIndexOf("/")+1)) + (type == "folder" ? text : text + ".html") node.id = id; node.text = text; this.active = id; node.fixIds(); this.updateHtml(); }; this.remove = function() { var node = findNode(this.active); node.parentNode.removeChild(node); removeNode(this.active); this.active = ""; this.updateHtml(); }; this.rename = function(product_data) { build_name = product_data.substr(product_data.lastIndexOf(";")+1); product_data = product_data.substr(0,product_data.lastIndexOf(";")); edition_name = product_data.substr(product_data.lastIndexOf(";")+1); product_data = product_data.substr(0,product_data.lastIndexOf(";")); product_name = product_data.substr(product_data.lastIndexOf(";")+1); var build = findNode(this.active); build.text = product_name; if (build.getLevel() > 1) { var edition = build.parentNode; edition.text = edition_name; if (edition.getLevel() > 1) { var product = edition.parentNode; product.text = build_name; } } this.updateHtml(); }; function Node(id, text, parentNode, childNodes, isDoc, isFolder) { this.id = id; this.text = text; this.parentNode = parentNode; this.childNodes = childNodes; this.isDoc = isDoc; this.isFolder = isFolder; this.isDocument = function() { return this.isDoc; } this.isFirst = function() { if (this.parentNode) { return this.parentNode.childNodes[0].id == this.id; } throw "DynamicTree.Node.isFirst() failed, this func cannot be called for the root element"; }; this.isLast = function() { if (this.parentNode) { return this.parentNode.childNodes.getLast().id == this.id; } throw "DynamicTree.Node.isLast() failed, this func cannot be called for the root element"; }; this.getName = function() { if (this.id == "tree") { return ""; } if (this.id.lastIndexOf("/") == -1) { return this.id.substr("tree-".length); } return this.id.substr(this.id.lastIndexOf("/")+1); }; this.getRealId = function() { var ret = this.getName(); var parent = this.parentNode; while (parent) { if (parent.parentNode) { ret = parent.getName() +'/'+ ret; } else { ret = "tree-" + ret; } parent = parent.parentNode; } return ret; }; this.fixIds = function() { this.id = this.getRealId(); if (this.isFolder) { for (var i = 0; i < this.childNodes.length; ++i) { this.childNodes[i].fixIds(); } } }; this.getLevel = function() { var level = 0; var node = this; while (node.parentNode) { level++; node = node.parentNode; } return level; }; this.getNextSibling = function() { if (this.parentNode) { var nodes = this.parentNode.childNodes; var start = false; for (var i = 0; i < nodes.length; i++) { if (start) { return nodes[i]; } if (!start && this.id != nodes[i].id) { continue; } start = true; } return false; } throw "DynamicTree.Node.getNextSibling() failed, this func cannot be called for the root element"; }; this.getPreviousSibling = function() { if (this.parentNode) { var nodes = this.parentNode.childNodes; for (var i = 0; i < nodes.length; i++) { if (nodes[i].id == this.id) { if (i) { return nodes[i-1]; } else { return false; } } } throw "DynamicTree.Node.getPreviousSibling() failed, unknown error"; } throw "DynamicTree.Node.getPreviousSibling() failed, this func cannot be called for the root element"; }; this.getIndex = function() { if (this.parentNode) { var nodes = this.parentNode.childNodes; for (var i = 0; i < nodes.length; i++) { if (nodes[i].id == this.id) { return i; } } throw "DynamicTree.Node.getIndex() failed, unknown error"; } throw "DynamicTree.Node.getIndex() failed, this func cannot be called for the root element"; }; this.removeChild = function(node) { this.childNodes.removeByIndex(node.getIndex()); node.parentNode = null; }; this.appendChild = function(node) { this.childNodes.push(node); node.parentNode = this; node.fixIds(); }; this.appendChildAtIndex = function(node, index) { this.childNodes.pushAtIndex(node, index); node.parentNode = this; node.fixIds(); }; this.toHtml = function() { var s = '<div onselectstart="return false" class="'+(this.isFolder ? "folder" : "doc")+'" id="'+this.id+'">'; if (this.isFolder) { var nodeIcon; if (this.childNodes.length) { nodeIcon = (self.opened.contains(this.id) ? (this.isLast() ? "tree-node-open-end.gif" : "tree-node-open.gif") : (this.isLast() ? "tree-node-end.gif" : "tree-node.gif")); } else { nodeIcon = (this.isLast() ? "tree-leaf-end.gif" : "tree-leaf.gif"); } var icon = ((self.opened.contains(this.id) && this.childNodes.length) ? "tree-folder-open.gif" : "tree-folder.gif"); if (this.childNodes.length) { s += '<a href="javascript:void(0)" onclick="'+self.id+'.nodeClick(\''+this.id+'\'); this.blur();">'; } s += '<img id="'+this.id+'-node" src="'+self.path+nodeIcon+'" width="18" height="18" alt="" />'; if (this.childNodes.length) { s += '</a>'; } //s += '<img id="'+this.id+'-icon" src="'+self.path+icon+'" width="18" height="18" alt="" />'; s += '<span id="'+this.id+'-text" class="text'+(self.active == this.id ? '-active' : '')+'" '+(this.childNodes.length ? 'ondblclick="'+self.id+'.nodeClick(\''+this.id+'\'); this.blur();"' : "")+' onclick="'+self.id+'.textClick(\''+this.id+'\')">'+this.text+'</span>'; if (this.childNodes.length) { s += '<div class="section'+(this.isLast() ? " last" : "")+'" id="'+this.id+'-section"'; if (self.opened.contains(this.id)) { s += ' style="display: block;"'; } s += '>'; for (var i = 0; i < this.childNodes.length; i++) { s += this.childNodes[i].toHtml(); } s += '</div>'; } } if (this.isDoc) { s += '<img src="'+self.path+(this.isLast() ? "tree-leaf-end.gif" : "tree-leaf.gif")+'" width="18" height="18" alt="" />'; //<img src="'+self.path+'tree-doc.gif" />'; s += '<span id="'+this.id+'-text" class="text'+(self.active == this.id ? '-active' : '')+'" onclick="'+self.id+'.textClick(\''+this.id+'\')">'+this.text+'</span>'; } s += '</div>'; return s; }; this.toToc = function(parentNode) { var s = ''; s += '<ul>'; if (this.isFolder) { s += '<li><a href="javascript:void(0)"><span id="'+this.id+'-text" class="text'+(self.active == this.id ? '-active' : '')+'" '+(this.childNodes.length ? 'ondblclick="tree.nodeClick(\''+this.id+'\'); this.blur();"' : "")+' onclick="tree.textClick(\''+this.id+'\')">'+this.text+'</span></a></li>'; if (this.childNodes.length) { for (var i = 0; i < this.childNodes.length; i++) { s += this.childNodes[i].toToc(this.parentNode.id); } } } if (this.isDoc) { s += '<li><a href="javascript:void(0)"><span id="'+this.id+'-text" class="text'+(self.active == this.id ? '-active' : '')+'" onclick="tree.textClick(\''+this.id+'\')">'+this.text+'</span></a></li>'; } if (s != '') { } s += '</ul>'; return s; }; } function Listener() { this.funcs = []; this.add = function(func) { this.funcs.push(func); }; this.call = function() { for (var i = 0; i < this.funcs.length; ++i) { this.funcs[i](); } }; } function findNode(id) { for (var i = 0; i < self.allNodes.length; ++i) { if (self.allNodes[i].id == id) { return self.allNodes[i]; } } return false; } function removeNode(id) { for (var i = 0; i < self.allNodes.length; ++i) { if (self.allNodes[i].id == id) { self.allNodes.splice(i, 1); return true; } } return false; } function opened1() { self.openedNodes = []; for (var i = 0; i < self.opened.length; ++i) { self.openedNodes.push(findNode(self.opened[i])); } } function opened2() { self.opened = []; for (var j = 0; j < self.openedNodes.length; ++j) { self.opened.push(self.openedNodes[j].id); } } this.getActiveNode = function() { if (this.active) { return findNode(this.active); } }; // // Fix for initializing the active entry // this.setActive = function() { // bad design ! checkContentSaved(); if (this.active) { document.getElementById(this.active+"-text").className = "text"; } document.getElementById('tree-' + this.queryPath+"-text").className = "text-active"; this.active = 'tree-' + this.queryPath; this.textClickListener.call(); }; var self = this; this.id = id; this.tree = new Node("tree", "", null, new Array(), false, true); this.allNodes = []; this.opened = []; // opened folders this.openedNodes = []; this.active = ""; // active node, text clicked this.cookie = new Cookie(); this.textClickListener = new Listener(); // other modules also need to know when user clicks on text this.queryPath = ''; } --- NEW FILE: DynamicTree.css.php --- /* SimpleDoc [www.gosu.pl], style for DynamicTree */ .DynamicTree { font-family: georgia, tahoma; font-size: 11px; white-space: nowrap; cursor: default; } .DynamicTree .wrap1, .DynamicTree .actions { -moz-user-select: none; } .DynamicTree a, .DynamicTree a:hover { color: #000000; text-decoration: none; cursor: default; } .DynamicTree .text { padding: 1px; cursor: pointer; } .DynamicTree .text-active { background: #CEE3FF; padding: 1px; cursor: pointer; } .DynamicTree div.folder img, .DynamicTree div.doc img { border: 0; vertical-align: -30%; } * html .DynamicTree .folder img, * html .DynamicTree .doc img { vertical-align: -40%; } .DynamicTree .section { background: url(images/tree-branch.gif) repeat-y; display: none; } .DynamicTree .last { background: none; } .DynamicTree div.folder div.folder { margin-left: 18px; } .DynamicTree div.doc div.doc, .DynamicTree div.folder div.doc { margin-left: 18px; } .DynamicTree ul {} .DynamicTree li.folder {} .DynamicTree li.doc {} .DynamicTree .actions { position: relative; margin-top: 7px; margin-left: 0px; height: 20px; } .DynamicTree .tooltip { position: absolute; line-height: 22px; left: 0px; } .DynamicTree .moveUp, .DynamicTree .moveDown, .DynamicTree .moveLeft, .DynamicTree .moveRight, .DynamicTree .insert, .DynamicTree .remove { width: 20px; height: 20px; display: block; position: absolute; border: 1px solid #F1EFE2; z-index: 5; cursor: default; } .DynamicTree .moveUp:hover, .DynamicTree .moveDown:hover, .DynamicTree .moveLeft:hover, .DynamicTree .moveRight:hover, .DynamicTree .insert:hover, .DynamicTree .remove:hover { background-color: #ffffff; border: 1px solid #ACA899; } .DynamicTree .moveUp { left: 0px; } .DynamicTree .moveDown { left: 25px; } .DynamicTree .moveLeft { left: 50px; } .DynamicTree .moveRight { left: 75px; } .DynamicTree .insert { left: 100px; } .DynamicTree .remove { left: 125px; } .DynamicTree .top { padding-left: 0px; line-height: 20px; color: #333333; border-width: 1px; border-color: #aca899; border-style: none none border-width: 1px; border-color: #aca899; border-style: none none solid none; margin-bottom: 5px;} .DynamicTree .wrap1 { padding: 10px; border: 1px solid #919B9C; width: 148px; } .DynamicTree .wrap2 { margin-left: 2px; } .DynamicTree #tree-insert-form { display: none; margin-top: 1em; } .DynamicTree #tree-insert-form .label { text-align: right; width: 50px; padding-right: 8px; } .DynamicTree #tree-insert-form .input { margin-bottom: 2px; padding-left: 3px; } .DynamicTree #tree-insert-form select { margin-bottom: 2px; } .DynamicTree #tree-insert-form .button { margin-top: 4px; } |
|
From: Jon O. <jon...@us...> - 2008-06-27 18:44:09
|
Update of /cvsroot/mxbb/mx_bugsbt/bugsbt/shared/SimpleTextEditor In directory sc8-pr-cvs16.sourceforge.net:/tmp/cvs-serv10700/SimpleTextEditor Added Files: SimpleTextEditor.css.php SimpleTextEditor.js Log Message: cvs weirness, i had to readd all these files... --- NEW FILE: SimpleTextEditor.css.php --- .ste .bar { background: #ECE9D8; padding: 3px; border: #ACA899 1px; border-style: solid solid none solid; } .ste .frame { border: 1px solid; border-color: #716F64 #ECE9D8 #ECE9D8 #716F64; } .ste .frame iframe { width: 100%; height: 300px; } .ste img { border: 0; } .ste .button { padding: 1px; border: #ECE9D8 1px solid; } .ste .button-hover { padding: 1px; border: 1px solid; border-color: #ffffff #ACA899 #ACA899 #ffffff; } .ste .button-click { padding: 1px; border: 1px solid; border-color: #ACA899 #ffffff #ffffff #ACA899; } .ste .separator { width: 0px; height: 18px; border-left: #aca899 1px solid; border-right: #ffffff 1px solid; margin: 0 5px; } .ste .source { padding-top: 5px; } --- NEW FILE: SimpleTextEditor.js --- // +----------------------------------------------------------------+ // | SimpleTextEditor 1.0 | // | Author: Cezary Tomczak [www.gosu.pl] | // | Free for any use as long as all copyright messages are intact. | // +----------------------------------------------------------------+ function SimpleTextEditor(id, objectId) { if (!id || !objectId) { alert("SimpleTextEditor.constructor(id, objectId) failed, two arguments are required"); } var self = this; this.id = id; this.objectId = objectId; this.frame; this.viewSource = false; this.path = ""; // with slash at the end this.cssFile = ""; this.charset = "iso-8859-1"; this.editorHtml = ""; this.frameHtml = ""; this.textareaValue = ""; this.browser = { "ie": Boolean(document.body.currentStyle), "gecko" : (navigator.userAgent.toLowerCase().indexOf("gecko") != -1) }; this.init = function() { if (document.getElementById && document.createElement && document.designMode && (this.browser.ie || this.browser.gecko)) { // EDITOR if (!document.getElementById(this.id)) { alert("SimpleTextEditor "+this.objectId+".init() failed, element '"+this.id+"' does not exist"); return; } var form = document.getElementById(this.id).form; this.textareaValue = document.getElementById(this.id).value; var ste = document.createElement("div"); document.getElementById(this.id).parentNode.replaceChild(ste, document.getElementById(this.id)); ste.id = this.id+"-ste"; ste.innerHTML = this.editorHtml ? this.editorHtml : this.getEditorHtml(); // BUTTONS var buttons = ste.getElementsByTagName("td"); for (var i = 0; i < buttons.length; ++i) { if (buttons[i].className == "button") { buttons[i].id = this.id+'-button-'+i; buttons[i].onmouseover = function() { this.className = "button-hover"; } buttons[i].onmouseout = function() { this.className = this.className.replace(/button-hover(\s)?/, "button"); } buttons[i].onclick = function(id) { return function() { this.className = "button-hover button-click"; setTimeout(function(){ document.getElementById(id).className = document.getElementById(id).className.replace(/(\s)?button-click/, ""); }, 100); } }(buttons[i].id); } } // FRAME if (this.browser.ie) { this.frame = frames[this.id+"-frame"]; } else if (this.browser.gecko) { this.frame = document.getElementById(this.id+"-frame").contentWindow; } this.frame.document.designMode = "on"; this.frame.document.open(); this.frame.document.write(this.frameHtml ? this.frameHtml : this.getFrameHtml()); this.frame.document.close(); insertHtmlFromTextarea(); this.submit(); } }; function lockUrls(s) { if (self.browser.gecko) { return s; } return s.replace(/href=["']([^"']*)["']/g, 'href="simpletexteditor://simpletexteditor/$1"'); } function unlockUrls(s) { if (self.browser.gecko) { return s; } return s.replace(/href=["']simpletexteditor:\/\/simpletexteditor\/([^"']*)["']/g, 'href="$1"'); } function insertHtmlFromTextarea() { try { self.frame.document.body.innerHTML = lockUrls(self.textareaValue); } catch (e) { setTimeout(insertHtmlFromTextarea, 10); } } this.getEditorHtml = function() { var html = ""; html += '<input type="hidden" id="'+this.id+'" name="'+this.id+'" value="">'; html += '<table class="ste" cellspacing="0" cellpadding="0">'; html += '<tr><td class="bar"><table id="'+this.id+'-buttons" cellspacing="0" cellpadding="0"><tr>'; html += '<td><select onchange="'+this.objectId+'.execCommand(\'formatblock\', this.value);this.selectedIndex=0;"><option value=""></option><option value="<h1>">Heading 1</option><option value="<h2>">Heading 2</option><option value="<h3>">Heading 3</option><option value="<p>">Paragraph</option><option value="<pre>">Preformatted</option></select></td>'; html += '<td><div class="separator"></div></td>'; html += '<td class="button"><img src="'+this.path+'images/bold.gif" width="20" height="20" alt="Bold" title="Bold" onclick="'+this.objectId+'.execCommand(\'bold\')"></td>'; html += '<td class="button"><img src="'+this.path+'images/italic.gif" width="20" height="20" alt="Italic" title="Italic" onclick="'+this.objectId+'.execCommand(\'italic\')"></td>'; html += '<td class="button"><img src="'+this.path+'images/underline.gif" width="20" height="20" alt="Underline" title="Underline" onclick="'+this.objectId+'.execCommand(\'underline\')"></td>'; html += '<td><div class="separator"></div></td>'; html += '<td class="button"><img src="'+this.path+'images/left.gif" width="20" height="20" alt="Align Left" title="Align Left" onclick="'+this.objectId+'.execCommand(\'justifyleft\')"></td>'; html += '<td class="button"><img src="'+this.path+'images/center.gif" width="20" height="20" alt="Center" title="Center" onclick="'+this.objectId+'.execCommand(\'justifycenter\')"></td>'; html += '<td class="button"><img src="'+this.path+'images/right.gif" width="20" height="20" alt="Align Right" title="Align Right" onclick="'+this.objectId+'.execCommand(\'justifyright\')"></td>'; html += '<td><div class="separator"></div></td>'; html += '<td class="button"><img src="'+this.path+'images/ol.gif" width="20" height="20" alt="Ordered List" title="Ordered List" onclick="'+this.objectId+'.execCommand(\'insertorderedlist\')"></td>'; html += '<td class="button"><img src="'+this.path+'images/ul.gif" width="20" height="20" alt="Unordered List" title="Unordered List" onclick="'+this.objectId+'.execCommand(\'insertunorderedlist\')"></td>'; html += '<td><div class="separator"></div></td>'; html += '<td class="button"><img src="'+this.path+'images/outdent.gif" width="20" height="20" alt="Outdent" title="Outdent" onclick="'+this.objectId+'.execCommand(\'outdent\')"></td>'; html += '<td class="button"><img src="'+this.path+'images/indent.gif" width="20" height="20" alt="Indent" title="Indent" onclick="'+this.objectId+'.execCommand(\'indent\')"></td>'; html += '<td><div class="separator"></div></td>'; html += '<td class="button"><img src="'+this.path+'images/link.gif" width="20" height="20" alt="Insert Link" title="Insert Link" onclick="'+this.objectId+'.execCommand(\'createlink\')"></td>'; html += '<td class="button"><img src="'+this.path+'images/image.gif" width="20" height="20" alt="Insert Image" title="Insert Image" onclick="'+this.objectId+'.execCommand(\'insertimage\')"></td>'; html += '<td><div class="separator"></div></td>'; html += '<td class="button"><img src="'+this.path+'images/help.gif" width="20" height="20" alt="Help" title="Help" onclick="'+this.objectId+'.openWindow(\''+this.path+'help.html\', \'300\', \'300\')"></td>'; html += '</tr></table></td></tr>'; html += '<tr><td class="frame"><iframe id="'+this.id+'-frame" frameborder="0"></iframe></td></tr>'; html += '<tr><td class="source"><input id="'+this.id+'-viewSource" type="checkbox" onclick="'+this.objectId+'.toggleSource()"> View Source</td></tr>'; html += '</table>'; return html; }; this.getFrameHtml = function() { var html = ""; //html += '<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">'; html += '<html><head>'; html += '<meta http-equiv="Content-Type" content="text/html; charset='+this.charset+'">'; html += '<title>SimpleTextEditor frame</title>'; html += '<style type="text/css">pre { background-color: #eeeeee; padding: 0.75em 1.5em; border: 1px solid #dddddd; }</style>'; if (this.cssFile) { html += '<link rel="stylesheet" type="text/css" href="'+this.cssFile+'">'; } html += '<style type="text/css">html,body { cursor: text; } body { margin: 0.5em; padding: 0; }</style>'; html += '</head><body></body></html>'; return html; }; this.openWindow = function(url, width, height) { var x = (screen.width/2-width/2); var y = (screen.height/2-height/2); window.open(url, "", "scrollbars=yes,width="+width+",height="+height+",screenX="+(x)+",screenY="+y+",left="+x+",top="+y); }; this.toggleSource = function() { var html, text; if (this.browser.ie) { if (!this.viewSource) { html = this.frame.document.body.innerHTML; this.frame.document.body.innerText = unlockUrls(html); document.getElementById(this.id+"-buttons").style.visibility = "hidden"; this.viewSource = true; } else { text = this.frame.document.body.innerText; this.frame.document.body.innerHTML = lockUrls(text); document.getElementById(this.id+"-buttons").style.visibility = "visible"; this.viewSource = false; } } else if (this.browser.gecko) { if (!this.viewSource) { html = document.createTextNode(this.frame.document.body.innerHTML); this.frame.document.body.innerHTML = ""; this.frame.document.body.appendChild(html); document.getElementById(this.id+"-buttons").style.visibility = "hidden"; this.viewSource = true; } else { html = this.frame.document.body.ownerDocument.createRange(); html.selectNodeContents(this.frame.document.body); this.frame.document.body.innerHTML = html.toString(); document.getElementById(this.id+"-buttons").style.visibility = "visible"; this.viewSource = false; } } document.getElementById(this.id+"-viewSource").checked = this.viewSource ? "checked" : ""; document.getElementById(this.id+"-viewSource").blur(); }; this.execCommand = function(cmd, value) { if (cmd == "createlink" && !value) { var url = prompt("Enter URL:", ""); if (url) { this.frame.focus(); this.frame.document.execCommand("unlink", false, null); if (this.browser.ie) this.frame.document.execCommand(cmd, false, "simpletexteditor://simpletexteditor/"+url); else if (this.browser.gecko) this.frame.document.execCommand(cmd, false, url); this.frame.focus(); } } else if (cmd == "insertimage" && !value) { var imageUrl = prompt("Enter Image URL:", ""); if (imageUrl) { this.frame.focus(); this.frame.document.execCommand(cmd, false, imageUrl); this.frame.focus(); } } else { this.frame.focus(); this.frame.document.execCommand(cmd, false, value); this.frame.focus(); } }; this.isOn = function() { return Boolean(this.frame); }; this.getContent = function() { try { return unlockUrls(this.frame.document.body.innerHTML); } catch(e) { alert("SimpleTextEditor "+this.objectId+".getContent() failed"); } }; this.submit = function() { if (this.isOn()) { if (this.viewSource) { this.toggleSource(); } // fix <br></li> mozilla bug var content = this.getContent(); if (this.browser.gecko) { content = content.replace(/<br>\s*<\/li>/gi, '</li>'); } // replace + with + , xmlhttprequest bug + were replaced with spaces content = content.replace(/\+/g, '+'); document.getElementById(this.id).value = content; } }; } |
Update of /cvsroot/mxbb/mx_bugsbt/bugsbt/shared/DynamicTree/images In directory sc8-pr-cvs16.sourceforge.net:/tmp/cvs-serv10700/DynamicTree/images Added Files: delete.gif insert.gif moveDown.gif moveLeft.gif moveRight.gif moveUp.gif rename.gif tree-branch.gif tree-doc.gif tree-folder-open.gif tree-folder.gif tree-leaf-end.gif tree-leaf.gif tree-node-end.gif tree-node-open-end.gif tree-node-open.gif tree-node.gif tree.gif Log Message: cvs weirness, i had to readd all these files... --- NEW FILE: moveDown.gif --- (This appears to be a binary file; contents omitted.) --- NEW FILE: tree-branch.gif --- (This appears to be a binary file; contents omitted.) --- NEW FILE: tree-node-open-end.gif --- (This appears to be a binary file; contents omitted.) --- NEW FILE: tree-folder.gif --- (This appears to be a binary file; contents omitted.) --- NEW FILE: tree-node-end.gif --- (This appears to be a binary file; contents omitted.) --- NEW FILE: moveRight.gif --- (This appears to be a binary file; contents omitted.) --- NEW FILE: tree-leaf-end.gif --- (This appears to be a binary file; contents omitted.) --- NEW FILE: insert.gif --- (This appears to be a binary file; contents omitted.) --- NEW FILE: tree-leaf.gif --- (This appears to be a binary file; contents omitted.) --- NEW FILE: rename.gif --- (This appears to be a binary file; contents omitted.) --- NEW FILE: moveLeft.gif --- (This appears to be a binary file; contents omitted.) --- NEW FILE: tree-node.gif --- (This appears to be a binary file; contents omitted.) --- NEW FILE: moveUp.gif --- (This appears to be a binary file; contents omitted.) --- NEW FILE: tree-node-open.gif --- (This appears to be a binary file; contents omitted.) --- NEW FILE: tree-doc.gif --- (This appears to be a binary file; contents omitted.) --- NEW FILE: tree.gif --- (This appears to be a binary file; contents omitted.) --- NEW FILE: tree-folder-open.gif --- (This appears to be a binary file; contents omitted.) --- NEW FILE: delete.gif --- (This appears to be a binary file; contents omitted.) |
|
From: Jon O. <jon...@us...> - 2008-06-27 18:43:06
|
Update of /cvsroot/mxbb/mx_bugsbt/bugsbt/shared/XulMenu/images In directory sc8-pr-cvs16.sourceforge.net:/tmp/cvs-serv10188/images Log Message: Directory /cvsroot/mxbb/mx_bugsbt/bugsbt/shared/XulMenu/images added to the repository |
|
From: Jon O. <jon...@us...> - 2008-06-27 18:42:49
|
Update of /cvsroot/mxbb/mx_bugsbt/bugsbt/shared/SimpleTextEditor/images In directory sc8-pr-cvs16.sourceforge.net:/tmp/cvs-serv10162/images Log Message: Directory /cvsroot/mxbb/mx_bugsbt/bugsbt/shared/SimpleTextEditor/images added to the repository |
|
From: Jon O. <jon...@us...> - 2008-06-27 18:42:25
|
Update of /cvsroot/mxbb/mx_bugsbt/bugsbt/shared/DynamicTree/images In directory sc8-pr-cvs16.sourceforge.net:/tmp/cvs-serv10131/images Log Message: Directory /cvsroot/mxbb/mx_bugsbt/bugsbt/shared/DynamicTree/images added to the repository |
|
From: Jon O. <jon...@us...> - 2008-06-27 18:42:06
|
Update of /cvsroot/mxbb/mx_bugsbt/bugsbt/shared/XulTabs In directory sc8-pr-cvs16.sourceforge.net:/tmp/cvs-serv9683/XulTabs Log Message: Directory /cvsroot/mxbb/mx_bugsbt/bugsbt/shared/XulTabs added to the repository |
|
From: Jon O. <jon...@us...> - 2008-06-27 18:42:06
|
Update of /cvsroot/mxbb/mx_bugsbt/bugsbt/shared/XulMenu In directory sc8-pr-cvs16.sourceforge.net:/tmp/cvs-serv9683/XulMenu Log Message: Directory /cvsroot/mxbb/mx_bugsbt/bugsbt/shared/XulMenu added to the repository |
|
From: Jon O. <jon...@us...> - 2008-06-27 18:42:06
|
Update of /cvsroot/mxbb/mx_bugsbt/bugsbt/shared/SimpleTextEditor In directory sc8-pr-cvs16.sourceforge.net:/tmp/cvs-serv9683/SimpleTextEditor Log Message: Directory /cvsroot/mxbb/mx_bugsbt/bugsbt/shared/SimpleTextEditor added to the repository |
|
From: Jon O. <jon...@us...> - 2008-06-27 18:42:06
|
Update of /cvsroot/mxbb/mx_bugsbt/bugsbt/shared/images In directory sc8-pr-cvs16.sourceforge.net:/tmp/cvs-serv9683/images Log Message: Directory /cvsroot/mxbb/mx_bugsbt/bugsbt/shared/images added to the repository |
|
From: Jon O. <jon...@us...> - 2008-06-27 18:42:06
|
Update of /cvsroot/mxbb/mx_bugsbt/bugsbt/shared/DynamicTree In directory sc8-pr-cvs16.sourceforge.net:/tmp/cvs-serv9683/DynamicTree Log Message: Directory /cvsroot/mxbb/mx_bugsbt/bugsbt/shared/DynamicTree added to the repository |
|
From: FlorinCB <ory...@us...> - 2008-06-26 22:02:36
|
Update of /cvsroot/mxbb/core/includes/sessions/phpbb3 In directory sc8-pr-cvs16.sourceforge.net:/tmp/cvs-serv23137/sessions/phpbb3 Modified Files: session.php Log Message: experimental setup() method for all backends Index: session.php =================================================================== RCS file: /cvsroot/mxbb/core/includes/sessions/phpbb3/session.php,v retrieving revision 1.20 retrieving revision 1.21 diff -C2 -d -r1.20 -r1.21 *** session.php 26 Jun 2008 19:40:30 -0000 1.20 --- session.php 26 Jun 2008 22:02:02 -0000 1.21 *************** *** 1305,1311 **** } - // We include common language file here to not load it every time a custom language file is included - $lang = &$this->lang; - if ((@include $this->lang_path . "common.$phpEx") === false) { --- 1305,1308 ---- *************** *** 1316,1335 **** } } ! //Added by OryNider (temparary fix) ! /* ! if ($lang_set) ! { ! if ((@include $this->lang_path . "{$lang_set}.$phpEx") === false) ! { ! //this will fix the path for anonymouse users ! if ((@include $phpbb_root_path . $this->lang_path . "{$lang_set}.$phpEx") === false) ! { ! die('Language file ' . $this->lang_path . "{$lang_set}.$phpEx" . ' couldn\'t be opened.'); ! } ! } ! } ! */ ! $this->add_lang($lang_set); unset($lang_set); --- 1313,1319 ---- } } ! $this->add_lang($lang_set); + unset($lang_set); |
|
From: FlorinCB <ory...@us...> - 2008-06-26 22:02:36
|
Update of /cvsroot/mxbb/core/includes/sessions/phpbb2 In directory sc8-pr-cvs16.sourceforge.net:/tmp/cvs-serv23137/sessions/phpbb2 Modified Files: session.php Log Message: experimental setup() method for all backends Index: session.php =================================================================== RCS file: /cvsroot/mxbb/core/includes/sessions/phpbb2/session.php,v retrieving revision 1.6 retrieving revision 1.7 diff -C2 -d -r1.6 -r1.7 *** session.php 15 Jun 2008 09:15:44 -0000 1.6 --- session.php 26 Jun 2008 22:02:02 -0000 1.7 *************** *** 35,121 **** var $update_session_page = true; ! // ! // Adds/updates a new session to the database for the given userid. ! // Returns the new session ID on success. ! // ! function session_begin($user_id, $user_ip, $page_id, $auto_create = 0, $enable_autologin = 0, $admin = 0) ! { ! global $db, $board_config; ! global $mx_request_vars, $SID; [...1558 lines suppressed...] + //this will fix the path for anonymouse users + if ((@include $phpbb_root_path . $language_filename) === false) + { + die('Language file ' . $language_filename . ' couldn\'t be opened by set_lang().'); + } + } + } + else + { + // Get Database Language Strings + // Put them into $lang if nothing is prefixed, put them into $help if help: is prefixed + // For example: help:faq, posting + die("You should not use db with MX-Publisher!"); + } + + // We include common language file here to not load it every time a custom language file is included + $this->lang = &$lang; + } } |
|
From: FlorinCB <ory...@us...> - 2008-06-26 22:02:07
|
Update of /cvsroot/mxbb/core/includes/sessions/internal In directory sc8-pr-cvs16.sourceforge.net:/tmp/cvs-serv23137/sessions/internal Modified Files: session.php Log Message: experimental setup() method for all backends Index: session.php =================================================================== RCS file: /cvsroot/mxbb/core/includes/sessions/internal/session.php,v retrieving revision 1.7 retrieving revision 1.8 diff -C2 -d -r1.7 -r1.8 *** session.php 15 Jun 2008 09:15:43 -0000 1.7 --- session.php 26 Jun 2008 22:02:01 -0000 1.8 *************** *** 35,121 **** var $update_session_page = true; ! // ! // Adds/updates a new session to the database for the given userid. ! // Returns the new session ID on success. ! // ! function session_begin($user_id, $user_ip, $page_id, $auto_create = 0, $enable_autologin = 0, $admin = 0) ! { ! global $db, $board_config; ! global $mx_request_vars, $SID; [...1552 lines suppressed...] ! //this will fix the path for anonymouse users ! if ((@include $phpbb_root_path . $language_filename) === false) ! { ! die('Language file ' . $language_filename . ' couldn\'t be opened.'); ! } ! } ! } ! else ! { ! // Get Database Language Strings ! // Put them into $lang if nothing is prefixed, put them into $help if help: is prefixed ! // For example: help:faq, posting ! die("You should not use db with MX-Publisher!"); ! } ! ! // We include common language file here to not load it every time a custom language file is included ! $this->lang = &$lang; } } |
|
From: FlorinCB <ory...@us...> - 2008-06-26 22:02:06
|
Update of /cvsroot/mxbb/core/includes In directory sc8-pr-cvs16.sourceforge.net:/tmp/cvs-serv23137 Modified Files: mx_functions_style.php Log Message: experimental setup() method for all backends Index: mx_functions_style.php =================================================================== RCS file: /cvsroot/mxbb/core/includes/mx_functions_style.php,v retrieving revision 1.74 retrieving revision 1.75 diff -C2 -d -r1.74 -r1.75 *** mx_functions_style.php 16 Jun 2008 20:26:24 -0000 1.74 --- mx_functions_style.php 26 Jun 2008 22:02:00 -0000 1.75 *************** *** 568,572 **** { // For logged in users, try the board default language next ! $this->lang['default_lang'] = phpBB2::phpbb_ltrim(basename(phpBB2::phpbb_rtrim($board_config['default_lang'])), "'"); } else --- 568,572 ---- { // For logged in users, try the board default language next ! $this->lang['default_lang'] = phpBB2::phpbb_ltrim(basename(phpBB2::phpbb_rtrim($this->data['default_lang'])), "'"); } else *************** *** 628,654 **** } ! //Load phpBB lang keys ! if ((@include $phpbb_lang_path . "lang_" . $board_config['default_lang'] . "/lang_main.$phpEx") === false) { ! if ((@include $phpbb_lang_path . "lang_english/lang_main.$phpEx") === false) { ! mx_message_die(GENERAL_ERROR, 'Language file ' . $phpbb_lang_path . "lang_" . $board_config['default_lang'] . "/lang_main.$phpEx" . ' couldn\'t be opened.'); ! } } ! include($mx_root_path . 'language/lang_' . $board_config['default_lang'] . '/lang_main.' . $phpEx); ! ! //Load AdminCP lang keys ! if ( defined('IN_ADMIN') ) { ! if( !file_exists($mx_root_path . 'language/lang_' . $board_config['default_lang'] . '/lang_admin.'.$phpEx)) { ! $board_config['default_lang'] = 'english'; } - - include($phpbb_lang_path . "lang_" . $board_config['default_lang'] . "/lang_admin.$phpEx"); // Also include phpBB admin lang keys - include($mx_root_path . 'language/lang_' . $board_config['default_lang'] . "/lang_admin.$phpEx"); // Also include mxP Admin lang keys } ! // // Mozilla navigation bar --- 628,662 ---- } ! //Load MXP lang keys ! if (defined('IN_ADMIN')) { ! $phpbb_lang_file = (PORTAL_BACKEND == 'phpbb3') ? 'acp/common' : 'lang_admin'; ! include($mx_root_path . 'language/lang_' . $board_config['default_lang'] . '/lang_admin.' . $phpEx); ! ! if (PORTAL_BACKEND == 'phpbb3') { ! include($phpbb_lang_path . 'lang_' . $board_config['default_lang'] . '/lang_admin.' . $phpEx); ! } } + else + { + $phpbb_lang_file = (PORTAL_BACKEND == 'phpbb3') ? 'common' : 'lang_main'; + } + include($mx_root_path . 'language/lang_' . $board_config['default_lang'] . '/lang_main.' . $phpEx); ! if ((@include $phpbb_lang_path . "lang_" . $board_config['default_lang'] . "/lang_main.$phpEx") === false) { ! if ((@include $phpbb_lang_path . "lang_english/lang_main.$phpEx") === false) { ! mx_message_die(GENERAL_ERROR, 'Language file ' . $phpbb_lang_path . "lang_" . $board_config['default_lang'] . "/lang_main.$phpEx" . ' couldn\'t be opened.'); } } ! ! // We include common language file here to not load it every time a custom language file is included ! $this->lang = &$lang; ! //Load lang keys ! $this->setup($phpbb_lang_file); ! $lang = &$this->lang; ! // // Mozilla navigation bar |
|
From: FlorinCB <ory...@us...> - 2008-06-26 19:40:35
|
Update of /cvsroot/mxbb/core/includes/sessions/phpbb3 In directory sc8-pr-cvs16.sourceforge.net:/tmp/cvs-serv27231 Modified Files: session.php Log Message: some fix Index: session.php =================================================================== RCS file: /cvsroot/mxbb/core/includes/sessions/phpbb3/session.php,v retrieving revision 1.19 retrieving revision 1.20 diff -C2 -d -r1.19 -r1.20 *** session.php 26 Jun 2008 18:40:39 -0000 1.19 --- session.php 26 Jun 2008 19:40:30 -0000 1.20 *************** *** 1706,1710 **** function set_lang(&$lang, &$help, $lang_file, $use_db = false, $use_help = false) { ! global $lang, $phpbb_root_path, $phpEx; // Make sure the language path is set (if the user setup did not happen it is not set) --- 1706,1710 ---- function set_lang(&$lang, &$help, $lang_file, $use_db = false, $use_help = false) { ! global $phpbb_root_path, $phpEx; // Make sure the language path is set (if the user setup did not happen it is not set) |
|
From: FlorinCB <ory...@us...> - 2008-06-26 18:40:43
|
Update of /cvsroot/mxbb/core/includes/sessions/phpbb3 In directory sc8-pr-cvs16.sourceforge.net:/tmp/cvs-serv32582 Modified Files: session.php Log Message: some fix Index: session.php =================================================================== RCS file: /cvsroot/mxbb/core/includes/sessions/phpbb3/session.php,v retrieving revision 1.18 retrieving revision 1.19 diff -C2 -d -r1.18 -r1.19 *** session.php 23 Jun 2008 09:07:08 -0000 1.18 --- session.php 26 Jun 2008 18:40:39 -0000 1.19 *************** *** 1706,1710 **** function set_lang(&$lang, &$help, $lang_file, $use_db = false, $use_help = false) { ! global $phpbb_root_path, $phpEx; // Make sure the language path is set (if the user setup did not happen it is not set) --- 1706,1710 ---- function set_lang(&$lang, &$help, $lang_file, $use_db = false, $use_help = false) { ! global $lang, $phpbb_root_path, $phpEx; // Make sure the language path is set (if the user setup did not happen it is not set) *************** *** 1729,1747 **** $language_filename = $this->lang_path . (($use_help) ? 'help_' : '') . $lang_file . '.' . $phpEx; } - - if ((@include $language_filename) === false) - { - trigger_error('Language file ' . basename($language_filename) . ' couldn\'t be opened.', E_USER_ERROR); - } ! //this should be removed when gold ! if ((@include $this->lang_path . "common.$phpEx") === false) { //this will fix the path for anonymouse users ! if ((@include $phpbb_root_path . $this->lang_path . "common.$phpEx") === false) { ! die('Language file ' . $this->lang_path . "common.$phpEx" . ' couldn\'t be opened.'); } ! } } else --- 1729,1742 ---- $language_filename = $this->lang_path . (($use_help) ? 'help_' : '') . $lang_file . '.' . $phpEx; } ! //fix for mxp ! if ((@include $language_filename) === false) { //this will fix the path for anonymouse users ! if ((@include $phpbb_root_path . $language_filename) === false) { ! die('Language file ' . $language_filename . ' couldn\'t be opened.'); } ! } } else *************** *** 1752,1755 **** --- 1747,1753 ---- die("You should not use db with MX-Publisher!"); } + + // We include common language file here to not load it every time a custom language file is included + $lang = &$this->lang; } |