Sachi
New Member
Posts: 47
inherit
129084
0
Jun 25, 2010 8:13:29 GMT -8
Sachi
47
August 2008
mistcloud
|
Post by Sachi on Feb 6, 2010 9:15:07 GMT -8
Hey. I just added the "Enhanced UBBC table tags" code, to the bottom of the Global Footers. This code has worked for me on other forums, but it doesn't seem to work on this one. I've moved it from the middle, to the top, and now to the bottom of the global footers and have had the same result.
This is the link directly to the test post.
This is the code as posted in the global footer.
<script type="text/javascript"> <!-- /* Name: ENHANCED UBBC TABLE TAGS Location: Global Footer Created by EtonBones at yahoo d o t com Do not redistribute without permission Feel free to edit provided a notation is added to this header stating that fact. THIS HEADER MUST REMAIN INTACT. */
/*********** *****START EDITABLE USER OPTIONS*********************** If not concerned about the security risk posed by allowing users the ability to set events such as onclick and onmouseover in their posts set the following variable to false*/ var DisallowEvents=true;
/*If UBBC Undo installed and you would like enhanced tags added to history set the following variable to true*/ var UUInstalled=false; /******END EDITABLE USER OPTIONS (NO FURTHER EDITING NECESSARY)*******/
var NoGood="Enhanced tags need to be between the [td] and [/td]"; function enhanceTable(){ var td=document.getElementsByTagName("td"); for(i=0;i<td.length;i++){ if(td[i].width=="20%" && td[i].className.match(/windowbg/)){ var msg=td[i].parentNode.getElementsByTagName('td')[1].getElementsByTagName('tr')[1]; if(msg.getElementsByTagName('table').length){ for(l=0;l<msg.getElementsByTagName('table').length;l++){ parseTags(msg.getElementsByTagName('table')[l]); //separate func needed since rowspans need to be set first in order to count columns parseTH(msg.getElementsByTagName('table')[l]); } } }else if(document.postForm && td[i].width=="30%" && td[i].className.match(/windowbg2/) && !document.getElementById('enhancedTable')){ var TR=td[i].parentNode; var newTR=TR.parentNode.insertRow(TR.rowIndex+1); TR.id="enhancedTable"; var newTD=document.createElement('td'); newTD.width='30%'; newTD.className='windowbg2'; newTD.innerHTML='<font size="2">Enhanced Table Tags:</font>'; newTR.appendChild(newTD); newTD=document.createElement('td'); newTD.width='70%'; newTD.className='windowbg2'; newTD.innerHTML='<font size="2">Select Tag:</font><select name="etags" onChange=" addEtag(this.options[this.selectedIndex].value);this.selectedIndex=0;" ><option value="" selected="1">Enhanced Table Tags</option><option value="[th]" >Header</option><option value="[cs=2]">Span Columns</option><option value="[rs=2]">Span Rows</option><option value="[bg=white]">Background Color</option><option value="[atrb=border,0,true]">Any Attribute</option></select> '; newTR.appendChild(newTD); }else if(document.postForm && td[i].width=="100%" && td[i].className.match(/titlebg/) && td[i].innerHTML.match(/Topic Summary/)){ var table=td[i].parentNode.parentNode; var re= /(?:[^\"])(\[(th|cs|rs|bg|atrb).*?\])/gim; if(table.className.match(/tbody/i))table=table.parentNode; for(l=2;l<table.rows.length;l=l+2){ if(table.rows[l].cells[0].innerHTML.match(/(?:[^\"\=])(\[(th|cs|rs|bg|atrb).*?\])/gim)){ while(table.rows[l].cells[0].innerHTML.match(/(?:[^\"\=])(\[(th|cs|rs|bg|atrb).*?\])/im ) ){ table.rows[l].cells[0].innerHTML= table.rows[l].cells[0].innerHTML.replace(/(?:[^\"\=])(\[(th|cs|rs|bg|atrb).*?\])/im, stripAnchor(RegExp.$1,RegExp.$2) ) ; } } } } } }
function stripAnchor(str){ var t=/(<A href\=.*\>(.*?)\<\/A\>)/i if(!str)return ""; var s=str.substr(0,1); if(s=='\"')return str; if(s=="\[") s=""; if(str.match(t))str=str.replace(RegExp.$1,RegExp.$2); return s+"<a title=\""+str+"\">*</a>"; }
function parseTags(TBL){ if(TBL.className !=""){ TBLS=TBL.getElementsByTagName('table') for(k=0;k<TBLS.length;k++)parseTags(TBLS[k]); return true; } var cell=TBL.getElementsByTagName('td'); var nada=""; for (j=0;j<cell.length;j++){ if(cell[j].innerHTML.match(/(\[cs\=(\d+)\])/i)){ cell[j].setAttribute("colSpan",RegExp.$2); cell[j].innerHTML=cell[j].innerHTML.replace(RegExp.$1,''); } if(cell[j].innerHTML.match(/(\[rs\=(\d+)\])/i)){ cell[j].setAttribute("rowSpan",RegExp.$2); cell[j].innerHTML=cell[j].innerHTML.replace(RegExp.$1,''); } if(cell[j].innerHTML.match(/(\[bg\=(.*?)\])/i)){ cell[j].setAttribute("bgColor",RegExp.$2); cell[j].innerHTML=cell[j].innerHTML.replace(RegExp.$1,''); } while(cell[j].innerHTML.match(/(\[atrb\=(.*?)\])/i)){ var r1=RegExp.$1; var r2=RegExp.$2; var atrb=""; var atrbVal=""; var applyTable=false; var oObj; if(r2.split(',').length>0){ atrb=r2.split(',')[0]; atrb=atrb.replace(/^\s*|\s*$/g,"");} if(r2.split(',').length>1) {atrbVal=r2.split(',')[1]; atrbVal=atrbVal.replace(/^\s*|\s*$/g,"");} if(atrbVal.match(/(<A href\=.*\>(.*)\<\/A\>)/i))atrbVal=atrbVal.replace(RegExp.$1,RegExp.$2); if(r2.split(',').length>2)applyTable=r2.split(',')[2]?true:false; oObj=applyTable?TBL:cell[j]; if(atrb != ""){ if(atrb.toLowerCase()=="style"){ oObj.style.cssText+=atrbVal; }else if(atrb.toLowerCase().substr(0,2)=="on" && DisallowEvents){ nada="<a title=\"Disallowed: "+r1.replace("[","").replace("]","") +"\">*</a>"; }else{ document.expando=false; //IE workaround for casing try{ oObj.setAttribute(atrb,atrbVal); }catch(e){ nada="<a title=\"Casing Error: "+r1.replace("[","").replace("]","") +"\">*</a>"; }finally{ document.expando=true; } } } cell[j].innerHTML=cell[j].innerHTML.replace(r1,nada); } } }
function parseTH(TBL){ if(TBL.className !=""){ TBLS=TBL.getElementsByTagName('table') for(k=0;k<TBLS.length;k++)parseTags(TBLS[k]); return true; } var cell=TBL.getElementsByTagName('td'); for (j=0;j<cell.length;j++){ if(cell[j].innerHTML.match(/(\[th\])/i)){ cell[j].setAttribute("colSpan",columns(TBL)); cell[j].innerHTML=cell[j].innerHTML.replace(RegExp.$1,''); } } } function columns(TBL){ //w3c states that a colSpan=0 should make a cell span all columns but IE doesn't honor this, so... var columns=0; var tmp; for(o=0;o<TBL.rows.length;o++){ tmp=0; for(p=0;p<TBL.rows[o].cells.length;p++){ tmp++ if(TBL.rows[o].cells[p].rowSpan>1)tmp=tmp+TBL.rows[o].cells[p].rowSpan-1; } if(tmp>columns)columns=tmp; } return columns; }
function addEtag(tag){ if(tag!=""){ if(UUInstalled){ if(isInsideCell()){ addX(tag); }else{ alert(NoGood); document.postForm.message.focus(); } }else{ if(isInsideCell()){ add(tag); }else{ alert(NoGood); document.postForm.message.focus(); } } } }
function isInsideCell(){ //Function purpose: determine if insertion point falls within the bounds of a cell var msg=document.postForm.message; if(document.postForm.message.createTextRange){ getCursorPositionIE(); var tmp= document.postForm.message.value.substr(0,document.postForm.message.selectionStart).split("\n").length-1; setCursorPositionIE(msg.selectionStart-tmp); } msg.selectionStart=msg.selectionEnd; var curr=msg.selectionStart; if(msg.value.substr(0,curr).lastIndexOf("[td]")==-1 || msg.value.substr(0,curr).lastIndexOf("[td]")<msg.value.substr(0,curr).lastIndexOf("[/td]")) return false; if(msg.value.substr(curr).indexOf("[/td]")==-1 || (msg.value.substr(curr).indexOf("[/td]")>msg.value.substr(curr).indexOf("[td]") && msg.value.substr(curr).indexOf("[td]")!=-1)) return false; if(msg.value.substr(0,curr).lastIndexOf("[")>msg.value.substr(0,curr).lastIndexOf("]")) return false; if(msg.value.substr(curr).indexOf("]")<msg.value.substr(curr).indexOf("[") ) return false; return true; }
if(location.href.match(/action\=(display|pmview|recent|userrecent|goto|search|calendarview)/) || ( document.postForm )) enhanceTable();
function setCursorPositionIE(start,end) { if(document.selection){ var element=document.postForm.message; end=(end)?end:start; var range = element.createTextRange(); range.collapse(true); range.moveEnd('character', end); range.moveStart('character', start); range.select(); } }
function getCursorPositionIE(){ if(document.selection){ var element = document.postForm.message; element.focus(); var range = document.selection.createRange(); var stored_range = range.duplicate(); stored_range.moveToElementText( element ); stored_range.setEndPoint( 'EndToEnd', range ); element.selectionStart = stored_range.text.length - range.text.length; element.selectionEnd = element.selectionStart + range.text.length; element.selectionFaux=true; } } //--> </script>
|
|
inherit
154135
0
May 5, 2010 0:19:18 GMT -8
gaiety
1
May 2010
gaiety
|
Post by gaiety on May 5, 2010 0:17:24 GMT -8
Bump
I also have the same problem
|
|
inherit
Official Code Helper
65613
0
1
Oct 22, 2024 1:56:19 GMT -8
Chris
"'Oops' is the sound we make when we improve"
9,019
December 2005
horace
RedBassett's Mini-Profile
|
Post by Chris on May 5, 2010 0:57:44 GMT -8
The link you've posted is not guest viewable so it's pretty useless to me but from looking at your custom welcome table and in particular the clans at the bottom which are all set to 20% width I'll go out on a limb and say the problem is as described here
|
|