|
Post by Katie Landwheyer on Sept 2, 2012 18:10:33 GMT -5
Hey have you guys thought about getting enhanced UUBC tags? UUBC are those buttons up there that make your text change color and all, and the enhanced ones can make your posting templates super awesome. The style tags as well :-) If you want I can pull the code for you guys to look at and give you some examples of posting templates done with the codes?
|
|
|
Post by Katie Landwheyer on Sept 3, 2012 7:05:26 GMT -5
First I'll post the codes:
<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/) && /(Posts:\s*[\d,]+|Guest)/.test(td[i].innerText||td[i].textContent)){ var msg=td[i].nextSibling.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>
This goes in the global footer, and is the enhanced UBBC Table Tags.
<script type="text/javascript"> /* Style UBBC Tags by SubDevo */ /* Global Footer - Please leave this header intact. Do not repost. */ /* http://interoceandesigns.com or http://lsdp.proboards.com */
var styleImg="http://i52.tinypic.com/25psr5s.png"; // Style UBBC Icon Image URL var iPos=1; // Add icon to top row? 1=Yes, 0=No
function keepCode(a,b){ if(a.innerHTML.indexOf("Code:")==-1){return;} var n=a.getElementsByTagName("font"),m,d=-1,x=-1; while(n[++x]){m=n[x]; if(m.className=="code"){ d++; if(b){nC[d]=(m.innerHTML);} else{m.innerHTML=nC[d];} }}} var n=document.getElementsByTagName("font"),a,b,e,m,nC=[],x=-1; if(/(calendar|pm|pre)view|search2|display/i.test(pb_action)){ b=/\[div style="(.+?)\"]/gi; e=/\[\/style\]/gi; while(n[++x]){ a=n[x].innerHTML; if(b.test(a)&&a.indexOf("google_ad_section")!=-1){ keepCode(n[x],1); n[x].innerHTML=a.replace(b, function(m,p){return '<div class="stylediv" title="'+escape(p)+'" >';}).replace(e,"<\/div>"); keepCode(n[x]); a=n[x].getElementsByTagName("div"),i=-1; while(a[++i]){if(a[i].className=="stylediv"){a[i].style.cssText=unescape(a[i].title); a[i].removeAttribute("title");}} }}} e=document.postForm; if(e&&/^http:/i.test(styleImg)){ a=document.createElement("a"); b=document.createElement("img"); a.href='javascript:add("[style=]","[/div]")'; b.src=styleImg; b.alt=b.title="Style Tag"; b.border=0; a.appendChild(b); e=e.color; b=(iPos)?"insertBefore(a,e.previousSibling)":"appendChild(a)"; eval("e.parentNode."+b); } </script>
This is style tags, global footer.
|
|
|
Post by Katie Landwheyer on Sept 8, 2012 12:27:43 GMT -5
Should I add screen shots or something?
|
|
|
Post by Gayleish** on Sept 8, 2012 12:47:40 GMT -5
I think screen shots would be helpful (: I know Kinz was a little wary cause she doesn't know what it will do, and I suck meatballs at coding so it'd be up to her x)
|
|
|
Post by Katie Landwheyer on Sept 8, 2012 12:51:23 GMT -5
It will be with my phone but okay ;-) I do a bunch of coding an it shouldn't inflict any codes but if you're worried it's not that important or anything ^.^
|
|
|
Post by Gayleish** on Sept 18, 2012 15:22:00 GMT -5
Sorry, didn't see this until now. I will try them out and see how they look. Do I just post those along with the codes that are already in the Global stuff or do I take those codes out and put in these codes?
|
|
|
Post by Katie Landwheyer on Sept 18, 2012 17:43:32 GMT -5
You can just put them below your other codes I believe if it messes up you can just pull them out (but they were fine on my site and I spammed my site with codes lol)
|
|