Post by Mr. Showtime on Jan 11, 2011 3:09:43 GMT -8
Site URL: ownboards.proboards.com/index.cgi
I've been working on one for quite some time, took a long break from it but back to trying to get it to work. It was a custom made IC someone had posted for public use that was picked apart and shaped to my own liking. Still a few things that aren't working that I am currently trying to modify so they do work. Anywho, hoping someone could help me out so I can finish it up and get it placed on my forum finally.
The IC can be seen at the following link:
owntestboards2.proboards.com/index.cgi?
Now for the code:
I have 2 issues I'm trying to resolve. The first one is that the Total Boards and Total Categories count has to be input manually instead of being automatically counted by the code. The second issue is that the OWNer, OWN Staff, and EFed Admin count for the past 24 hours will not show up. It keeps the same count as the Currently Online does instead. The OWN Enthusiast and Guest counts work properly.
Those are the two big issues I've had with it and the only things that have prevented it from being on the forum for the past 6-8 months.
Now, I also have another IC that I found recently that DOES count all those things up automatically, but the code is MUCH different. I have been sifting through it to find a way to implement pieces of it's code into the IC I want to implement at my forum. I haven't had any luck yet due to the difference in the codes.
The 2nd IC can be seen at the following link:
owntestboards.proboards.com/index.cgi?
The Code:
If anyone could provide some help with this, it would be much appreciated. There are a few things from this IC I would like to implement besides what has been mentioned and it may call for a cosmetic change to the one I want to implement. I'll burn that bridge when I get there. For now, I just want to find a way to fix the 2 main issues I have had for quite some time so I can go ahead and get that IC finally placed on my forum.
I've been working on one for quite some time, took a long break from it but back to trying to get it to work. It was a custom made IC someone had posted for public use that was picked apart and shaped to my own liking. Still a few things that aren't working that I am currently trying to modify so they do work. Anywho, hoping someone could help me out so I can finish it up and get it placed on my forum finally.
The IC can be seen at the following link:
owntestboards2.proboards.com/index.cgi?
Now for the code:
Main Header
<script type="text/javascript">
<!--
var stylesheet=new Array(); stylesheet[0]='';
stylesheet[1]="#table {border-collapse: collapse; border: 1px solid #000000;}";
stylesheet[2]="#table {border-collapse: collapse; border: 1px solid #FFFF99;}";
document.write('<style>'+stylesheet[pb_skinid]+'</style>');
// -->
</script>
Main Footer
<div id="myoic" align="center">
<table id="table" cellpadding="0" cellspacing="0" width="100%">
<tr>
<td id="table" class="titlebg" align="center" colspan="4">
<font size="2"><b>Forum Statistics</b></font>
</td>
</tr>
<tr>
<td id="table" class="catbg" valign="top" align="center" width="20%">
<font size="2"><b>Private Messages</b></font>
</td>
<td id="table" class="windowbg" valign="top" align="center" width="60%">
<font size="1">
<b>
~Total Posts: <span id="totalposts"></span> ~Total Threads: <span id="totalthreads"></span> ~Total Boards: 27 ~Total Categories: 5
</b>
</font>
</td>
<td id="table" class="catbg" valign="top" align="center" width="20%">
<font size="2">
<b>Posting History</b>
</font>
</td>
</tr>
<tr>
<td id="table" class="windowbg" valign="top" align="left" width="20%">
<ul>
<li><font size="1"><b><a href="index.cgi?action=pm">Your Total PM's: <span id="yourpms"></span></a></b></font></li>
<li><font size="1"><b><a href="index.cgi?action=pm">Your New PM's: <span id="yournewpms"></span></a></b></font></li>
<li><font size="1"><b><a href="index.cgi?action=pm&view=1">Your PM Inbox</a></b></font></li>
<li><font size="1"><b><a href="/index.cgi?action=pm&view=2">Your PM Outbox</a></b></font></li>
<li><font size="1"><b><a href="/index.cgi?action=pmsend">Send Member A PM</a></b></font></li>
<li><font size="1"><b><a href="/index.cgi? action=pmbackup">Backup Your PM's</a></b></font></li>
<li><font size="1"><b><a href="index.cgi?action=pmprefs">Your PM Preferences</a></b></font></li>
<li><font size="1"><b><a href="index.cgi?action=viewprofile">Your Profile</a></b></font></li>
</ul>
</td>
<td id="table" class="windowbg" valign="top" align="center" width="60%">
<font size="1">
<b>
Welcome back to OWN <span id="yourdisplayname"></span>!<br/>
The most recently updated topic is <span id="lastpostname"></span>.<br/>
The last post was made by <span id="lastpostuser"></span>, <span id="lastposttime"></span>.<br/>It is currently <span id="pbtime"></span>.<br/><br/>
There are a total of <span id="totalmem"></span><a href="/index.cgi?action=members"> registered members</a> at OWN.<br/>
We would like to welcome <span id="newmem"></span> as the most recent member to join OWN.
</b>
</font>
</td>
<td id="table" class="windowbg" valign="top" align="left" width="20%">
<font size="1">
<b>
*Posting Averages*<br/>
*Threads per Board: <span id="threadsperboard"></span><br/>
*Posts per Board: <span id="postsperboard"></span><br/>
*Threads per Category: <span id="threadspercat"></span><br/>
*Posts per Category: <span id="postspercat"></span><br/>
*Threads per Member: <span id="threadspermem"></span><br/>
*Posts per Member: <span id="postspermem"></span><br/>
<a href="/index.cgi?action=recent">*View The Last 15 Posts*</a>
</b>
</font>
</td>
</tr>
<tr>
<td id="table" class="titlebg" align="center" colspan="4">
<font size="2"><b>Online Statistics</b></font>
</td>
</tr>
<tr>
<td id="table" class="catbg" valign="top" align="center" width="20%">
<font size="2">
<b>
Currently Online
</b>
</font>
</td>
<td id="table" class="windowbg" valign="top" align="center" width="60%">
<font size="1"><b>There are a total of <span id="totalonline"></span> users currently online. The most ever online was <span id="mostonline"></span> . <br/></b></font></td>
<td id="table" class="catbg" valign="top" align="center" width="20%">
<font size="2"><b>Links & Events</b></font>
</td>
</tr>
<tr>
<td id="table" class="windowbg" valign="top" align="left" width="20%">
<ul>
<font size="1">
<b>
<li>
Guests: <span id="guestsonline"></span>
</li>
<li><font color="#ff0033">OWN Enthusiasts: <span id="membersonline"></span></font></li>
<li><font color="#ffcc00">EFed Admins: <span id="modonline"></span></font></li>
<li><font color="#339966">OWN Staff: <span id="gmodonline"></span></font></li>
<li><font color="#8b00ff">OWNers: <span id="adminonline"></span></font></li>
</b>
</font>
</ul>
</td>
<td id="table" class="windowbg" valign="top" align="center" width="60%">
<font size="1">
<b>
Members Online: <br><span id="onlinelist"></span></br>
<br>There have been <span id="adminonlinetoday"></span>
<font color="#8b00ff">
OWNers</font>,
<span id="gmodonlinetoday"></span>
<font color="#339966">
OWN Staff</font>,
<span id="modonlinetoday"></span>
<font color="#ffcc00">
EFed Admins</font>, <span id="memberonlinetoday"></span>
<font color="#ff0033">
OWN Enthusiasts</font>,
and <span id="guestsonlinetoday"></span> <a href="javascript:popWindow('viewguests')">Guests</a> active in the last 24 hours:
</br><span id="usersonlinetoday"></span></br>
</b>
</font>
</td>
<td id="table" class="windowbg" width="20%" align="left">
<font size="1">
<b>
*Birthdays Today: <span id="totalbdays"></span><br/>
*Members Celebrating: <span id="bdaylist"></span><br/>
<a href="/index.cgi?action=calendar">*Events This Month: </a><span id="monthsevents"></span><br/>
<a href="/index.cgi?action=calendarviewall">*View All Events: </a><br/>
<a href="/index.cgi?action=bookmarks">*Bookmark Threads</a>
</b>
</font>
</td>
</tr>
</table>
</div>
<script type="text/javascript">
<!--
/* Make-Your-Own Info Center v1 by california
©2005 SoCal Codes, [url]http://socal.proboards26.com[/url] */
/* customization variables below */
// these two are just used for calculating averages (threads per board, etc.)
var numberOfCategories = 5;
var numberOfBoards = 27;
// used for the 'modifyprofile' ID as the hyperlink text
var modifyProfileText = "modify profile";
// used for the three comma seperated lists when there's nothing in the list
var noBirthdaysMessage = "There are no birthdays today."
var noEventsMessage = "There are no events this month.";
var noneOnlineMessage = "There are no users online right now.";
// used for the '[custom]online' IDs
// first part of each line determines what you use as the ID of the span tag in your markup
// second part of each line specifies what member group numbers go with that ID
var memberGroups = [
['admin', '(1|4)'],
['gmod', '(2|19)'],
['mod', '(3|5)'] // last line doesn't get a comma
];
/* end customization */
/* Make-Your-Own Info Center v1 by california
©2005 SoCal Codes, http://socal.proboards26.com */
var v45 = true;
var iTable = document.getElementsByTagName("table");
var iCell = document.getElementsByTagName("td");
var guestCheck = (pb_username == "Guest") ? 1 : 0;
if(location.href.match(/com\/?((index\.cgi)?\??(action=home)?(#.+)?)?$/) || location.href.match(/icrun=1/i)){
for(t=0; t<iTable.length-1; t++){
var fCell = iTable[t+1].rows[0].cells[0];
if(iTable[t].width == "100%" && fCell.innerHTML.match(/Info Center/) && fCell.className == "titlebg" && iTable[t].className == "bordercolor"){
var idArr = ['pbtime', 'totalthreads', 'totalposts', 'postsperboard', 'postspercat', 'threadsperboard', 'threadspercat', 'lastpostname', 'lastpostuser', 'lastposttime', 'yourusername', 'yourdisplayname', 'yourpms', 'yournewpms', 'modifyprofile', 'totalmem', 'postspermem', 'threadspermem', 'newmem', 'totalbdays', 'bdayslist', 'totalevents', 'eventslist', 'onlinelist', 'mostonline', 'totalonline', 'membersonline', 'guestsonline', 'invisonline', 'usersonlinetoday', 'totalonlinetoday', 'memberonlinetoday', 'adminonlinetoday', 'gmodonlinetoday', 'modonlinetoday', 'guestsonlinetoday', 'invisonlinetoday'];
for(m=0; m<memberGroups.length; m++){
idArr.push(memberGroups[m][0]+"onlinetoday");
}
for(m=0; m<memberGroups.length; m++){
idArr.push(memberGroups[m][0]+"online");
}
var el = [];
el['pbtime'] = document.createTextNode(iCell[2].getElementsByTagName("font")[0].innerHTML.split(/<br\s?\/?>/i)[1]);
var posttotals = iTable[t+2].rows[0].cells[0].firstChild.firstChild;
var threadstr = (posttotals.data.match(/topics: ([\d,]+)/i)) ? RegExp.$1 : "1";
el['totalthreads'] = document.createTextNode(threadstr);
var tThreads = parseFloat(threadstr.replace(/,/g, ''));
var poststr = (posttotals.data.match(/posts: ([\d,]+)/i)) ? RegExp.$1 : "1";
el['totalposts'] = document.createTextNode(poststr);
var tPosts = parseFloat(poststr.replace(/,/g, ''));
el['postsperboard'] = document.createTextNode(Math.round(tPosts/numberOfBoards));
el['postspercat'] = document.createTextNode(Math.round(tPosts/numberOfCategories));
el['threadsperboard'] = document.createTextNode(Math.round(tThreads/numberOfBoards));
el['threadspercat'] = document.createTextNode(Math.round(tThreads/numberOfCategories));
el['lastpostname'] = iTable[t+2].getElementsByTagName("a")[0];
if(iTable[t+2].innerHTML.match(/ by (.+?) \((.+?)\)\s?<br/i)){
var lpuser = RegExp.$1;
var lptime = RegExp.$2;
el['lastpostuser'] = (lpuser.match(/<a/i)) ? iTable[t+2].getElementsByTagName("a")[1] : document.createTextNode(lpuser);
el['lastposttime'] = document.createElement("span");
el['lastposttime'].innerHTML = lptime;
}
el['yourusername'] = document.createTextNode(pb_username);
el['yourdisplayname'] = document.createTextNode(pb_displayname);
var tPMs = (iCell[2].innerHTML.match(/>([\d,]+) message/i)) ? RegExp.$1 : 0;
var newPMs = (iCell[2].innerHTML.match(/ (\d+) (are|is) new/i)) ? RegExp.$1 : 0;
el['yourpms'] = document.createTextNode(tPMs);
el['yournewpms'] = document.createTextNode(newPMs);
el['modifyprofile'] = document.createElement("a");
el['modifyprofile'].href = "/index.cgi?action=modifyprofile&user="+pb_username;
el['modifyprofile'].appendChild(document.createTextNode(modifyProfileText));
var mLink = iTable[t+2].rows[0].cells[1].getElementsByTagName("a");
el['totalmem'] = mLink[0];
var tMem = parseFloat(el['totalmem'].firstChild.data.replace(/,/g, ''));
el['postspermem'] = document.createTextNode(Math.round(tPosts/tMem));
el['threadspermem'] = document.createTextNode(Math.round(tThreads/tMem));
if((guestCheck && mLink.length > 1) || mLink.length > 3){
el['newmem'] = mLink[1];
}else if(iTable[t+2].rows[0].cells[1].innerHTML.match(/Newest Member: (\w+)/)){
el['newmem'] = document.createTextNode(RegExp.$1);
}else{
el['newmem'] = document.createTextNode("[deleted] ");
}
el['newmem'];
var testbday = (v45?4:3);
if(iTable[t+testbday].innerHTML.match(/(\d+) birthdays? today/i)){
el['totalbdays'] = document.createTextNode(RegExp.$1);
el['bdayslist'] = document.createElement("span");
el['bdayslist'].innerHTML = iTable[t+testbday].firstChild.innerHTML.split(/<br\s?\/?>/i)[1];
testbday += (v45?2:1)
}else{
el['totalbdays'] = document.createTextNode("0");
el['bdayslist'] = document.createTextNode(noBirthdaysMessage);
}
var eCell = iTable[t+testbday].rows[0].cells[0];
if(eCell.innerHTML.match(/=calendarview/) || (v45 && iTable[t+testbday-1].innerHTML.match(/Events This Month/))){
testbday += (v45?2:1)
el['totalevents'] = document.createTextNode(eCell.getElementsByTagName("a").length);
el['eventslist'] = eCell.firstChild;
el['eventslist'].removeAttribute("size");
}else{
el['totalevents'] = document.createTextNode("0");
el['eventslist'] = document.createTextNode(noEventsMessage);
}
var uCell = iTable[t+testbday].rows[0].cells[0];
var uLink = uCell.getElementsByTagName("a");
var mostonmes = (uCell.innerHTML.match(/most users online was (.+?)<br/i)) ? RegExp.$1 : "N/A";
el['mostonline'] = document.createTextNode(mostonmes.replace(/<\/?b>/gi, ''));
var testIt = true;
var iMember = (uCell.innerHTML.match(/(\d+) member/i)) ? RegExp.$1 : 0;
var iTotal = 0;
var iInvis = (uCell.innerHTML.match(/(\d+) invisible user/i)) ? RegExp.$1 : 0;
var iGuest = (uCell.innerHTML.match(/(\d+) guest/i)) ? RegExp.$1 : 2;
el['guestsonline'] = document.createTextNode(iGuest);
if(uLink.length == 0){
el['onlinelist'] = document.createTextNode(noneOnlineMessage);
testit = false;
}else if(uLink[0].href.match(/viewguests/i)){
el['guestsonline'] = uLink[0];
el['guestsonline'].innerHTML = el['guestsonline'].innerHTML.split(' ')[0];
if(uLink.length == 1){
el['onlinelist'] = document.createTextNode(noneOnlineMessage);
testit = false;
}
}
var mgcounts = [];
for(mg=0; mg<memberGroups.length; mg++){
mgcounts.push(0);
}
if(testIt){
var fbr = uCell.getElementsByTagName("br")[0];
el['onlinelist'] = document.createDocumentFragment();
while(fbr.nextSibling){
if(fbr.nextSibling.nodeName == "A"){
iTotal++;
for(m=0; m<memberGroups.length; m++){
var reg = new RegExp("group("+memberGroups[m][1]+")$", "");
if(fbr.nextSibling.className.match(reg)){
mgcounts[m]++;
}
}
}
el['onlinelist'].appendChild(fbr.nextSibling);
}
}
el['totalonline'] = document.createTextNode(iTotal);
el['membersonline'] = document.createTextNode(iMember);
el['invisonline'] = document.createTextNode(iInvis);
for(m=0; m<memberGroups.length; m++){
el[memberGroups[m][0]+"online"] = document.createTextNode(mgcounts[m]);
}
// Active users today
var tCell = iTable[t+2+testbday].rows[0].cells[0]; // RE4 anyone?
el['usersonlinetoday'] = document.createElement("span");
el['usersonlinetoday'].innerHTML = tCell.firstChild.innerHTML.split(/<br\s?\/?>/i)[1];
var iMember = (tCell.innerHTML.match(/(\d+) member/i)) ? RegExp.$1 : 0;
var iInvis = (tCell.innerHTML.match(/(\d+) invisible user/i)) ? RegExp.$1 : 0;
var iAdmin = (tCell.innerHTML.match(/(\d+) admin/i)) ? RegExp.$1 : 0;
var iGMod = (tCell.innerHTML.match(/(\d+) gmod/i)) ? RegExp.$1 : 0;
var iMod = (tCell.innerHTML.match(/(\d+) mod/i)) ? RegExp.$1 : 0;
var iGuest = (tCell.innerHTML.match(/(\d+) guest/i)) ? RegExp.$1 : 0;
var iTotal = iMember-0+iInvis-0+iAdmin-0+iGMod-0+iMod-0+iGuest-0;
el['totalonlinetoday'] = document.createTextNode(iTotal);
el['adminonlinetoday'] = document.createTextNode(iAdmin);
el['gmodonlinetoday'] = document.createTextNode(iGMod);
el['modonlinetoday'] = document.createTextNode(iMod);
el['memberonlinetoday'] = document.createTextNode(iMember);
el['guestsonlinetoday'] = document.createTextNode(iGuest);
el['invisonlinetoday'] = document.createTextNode(iInvis);
for(m=0; m<memberGroups.length; m++){
el[memberGroups[m][0]+"onlinetoday"] = document.createTextNode(mgcounts[m]);
}
for(z=0; z<idArr.length; z++){
var tempID = document.getElementById(idArr[z]);
if(tempID && el[idArr[z]] && el[idArr[z]].nodeType){
var tempFrag = document.createDocumentFragment();
tempFrag.appendChild(el[idArr[z]]);
if(document.all){
tempFrag.appendChild(document.createTextNode(" "));
}
tempID.parentNode.replaceChild(tempFrag, tempID);
}
}
var myoic = document.getElementById("myoic");
myoic.style.display = "";
iTable[t].parentNode.replaceChild(myoic, iTable[t]);
break;
}
}
}
// -->
I have 2 issues I'm trying to resolve. The first one is that the Total Boards and Total Categories count has to be input manually instead of being automatically counted by the code. The second issue is that the OWNer, OWN Staff, and EFed Admin count for the past 24 hours will not show up. It keeps the same count as the Currently Online does instead. The OWN Enthusiast and Guest counts work properly.
Those are the two big issues I've had with it and the only things that have prevented it from being on the forum for the past 6-8 months.
Now, I also have another IC that I found recently that DOES count all those things up automatically, but the code is MUCH different. I have been sifting through it to find a way to implement pieces of it's code into the IC I want to implement at my forum. I haven't had any luck yet due to the difference in the codes.
The 2nd IC can be seen at the following link:
owntestboards.proboards.com/index.cgi?
The Code:
<style type="text/css">
#holder{
width: 100%;
}
#leftbox{
width: 20%;
float: left;
}
#rightbox{
width: 77%;
float: left;
position: relative;
left: 14px;
}
#eventbox{
width: 99%;
float: left;
}
#padding{
padding: 2px;
}
#area{
border: 1px solid #000000;
text-align: left;
width: 100%;
padding: 4px;
}
#onlinearea{
border: 1px solid #000000;
border-top-style: none;
text-align: left;
width: 100%;
padding: 4px;
}
</style>
<script type="text/javascript">
/*=======================================
Ultimate Info Center V3
Created by hey
You may edit this code however you wish, as long as you
keep this copyright intact and you don't repost this script
=======================================*/
var yourForumName = 'OWN';
var usersOnlineHeight = '43px';
var showActiveUsers = true; // Set to true to show the active users today box or false to not show it
var staffGroups = [];
staffGroups[0] = ["OWNer","#8b00ff","1|4"];
staffGroups[1] = ["OWN Staff","#339966","2|19"];
staffGroups[2] = ["EFed Admin","#ffcc00","3|5"];
/*===========No Edit Unless You Know What You're Doing=============*/
function executeUltimateInfoCenter(){
var td = document.getElementsByTagName('td');
var font = document.getElementsByTagName('font');
var totalBoards = 0;
var totalCategories = 0;
var updatedBoards = 0;
var usersViewing = 0;
var staffNumber = 0;
var dB = navigator.appName
document.write('<style type="text/css">#onlinearea{height: '+usersOnlineHeight+'}</style>');
if(dB == "Microsoft Internet Explorer"){document.write('<style type="text/css">#rightbox{width: 79%; position: relative; left: 6px;}</style>')
var ieOnlineHeight = parseInt(usersOnlineHeight) + parseInt(9);
document.write('<style type="text/css">#onlinearea{height: '+ieOnlineHeight+'}</style>');}
for(f=0;f<font.length;f++){
if(font[f].size=="1" && font[f].innerHTML.match( /- (\d+) viewing/i)){
var usersViewing = Math.floor(usersViewing) + Math.floor(RegExp.$1);}}
if(usersViewing==1){var vAre = 'is'; var vUsers = 'user';}
else{var vAre = 'are'; var vUsers = 'users';}
for(t=0;t<td.length;t++){
var totalPMs = (td[2].innerHTML.match(/you have (.+?),/i)) ? RegExp.$1: '';
var newPMs = (td[2].innerHTML.match(/<\/a>, (.+?) new/i)) ? RegExp.$1: '';
if(pb_username == 'Guest'){
var welcomeMessage = 'Welcome to '+yourForumName+', Guest! Please <a href="/index.cgi?action=login">Login</a> or <a href="/index.cgi?action=register">Register</a>.';
} else {
var welcomeMessage = 'Welcome back to '+yourForumName+', '+pb_displayname+'! You have '+totalPMs+', '+newPMs+' new.';}
if(td[t].className=="windowbg2" && td[t].width=="24%" && td[t].innerHTML.match(/<b>Today<\/b>/i)){updatedBoards++;}
if(td[t].width=="66%" && td[t].className.match(/windowbg2/i)){totalBoards++;}
if(td[t].className.match(/catbg/i) && !td[t].innerHTML.match(/Users Online|Forum Statistics|=markallboardsread/i)){totalCategories++;}
if(td[t].className.match(/catbg/i) && td[t].innerHTML.match(/Forum Statistics/i)){
infoHolder = '<div id="holder">';
infoHolder += '<div id="leftbox">';
infoHolder += '<div id="padding">';
infoHolder += '<div id="area" class="windowbg">';
var totalPosts = (td[t+2].innerHTML.match(/Total Posts: (\d+)(,\d+)?<br/i)) ? RegExp.$1+RegExp.$2: '';
infoHolder += 'Posts: '+totalPosts+'';
infoHolder += '<br />';
var totalTopics = (td[t+2].innerHTML.match(/Total Topics: (\d+)(,\d+)? &/i)) ? RegExp.$1+RegExp.$2: '';
infoHolder += 'Topics: '+totalTopics+'';
infoHolder += '<br />';
var totalMembers = (td[t+2].innerHTML.match(/Total Members: (.+?)<br/i)) ? RegExp.$1: '';
infoHolder += 'Members: '+totalMembers+'';
infoHolder += '<br />';
infoHolder += 'Updated Boards: '+updatedBoards+'';
infoHolder += '</div>';
infoHolder += '</div>';
infoHolder += '<div id="padding">';
infoHolder += '<div id="area" class="windowbg">';
infoHolder += 'Boards: '+totalBoards+'';
infoHolder += '<br />';
infoHolder += 'Categories: '+totalCategories+'';
infoHolder += '</div>';
infoHolder += '</div>';
infoHolder += '</div>';
infoHolder += '<div id="rightbox">';
infoHolder += '<div id="padding">';
infoHolder += '<div id="area" class="windowbg">';
var lastPost = (td[t+2].innerHTML.match(/Last Updated Topic: (.+?)<br\s?\/?>/i)) ? RegExp.$1: 'n/a';
lastPost = lastPost.replace('\(','\(').replace('\)','\)').replace('\'','\'');
infoHolder += 'The last post was '+lastPost+'.';
infoHolder += '<br />';
var recentPosts = (td[t+2].innerHTML.match(/View the (.+?) most/i)) ? RegExp.$1+'</a>': 'X';
infoHolder += 'View the '+recentPosts+' most recent posts made at '+yourForumName+'.';
infoHolder += '<br />';
var newestMember = (td[t+2].innerHTML.match(/Newest Member: (.+?)<\/a>/i)) ? RegExp.$1+'</a>': '[Newest Member Deleted]';
infoHolder += 'The newest member to '+yourForumName+' is '+newestMember+'.';
infoHolder += '<br />';
infoHolder += ''+welcomeMessage+'';
infoHolder += '</div>';
infoHolder += '</div>';
infoHolder += '<div id="padding">';
infoHolder += '<div id="area" class="windowbg">';
infoHolder += 'There '+vAre+' '+usersViewing+' '+vUsers+' viewing inside the boards.';
infoHolder += '<br />';
for(g=0;g<staffGroups.length;g++){
infoHolder += '[<font color="'+staffGroups[g][1]+'">'+staffGroups[g][0]+'</font>] ';}
infoHolder += '</div>';
infoHolder += '</div>';
infoHolder += '</div>';
infoHolder += '</div>';
td[t+1].style.display = 'none';
td[t+2].innerHTML = ''+infoHolder+'';}
if(td[t].className.match(/catbg/i) && td[t].innerHTML.match(/Today's Birthdays/i)){
bdayHolder = '<div id="holder">';
bdayHolder += '<div id="leftbox">';
bdayHolder += '<div id="padding">';
bdayHolder += '<div id="area" class="windowbg">';
var totalBDays = (td[t+4].innerHTML.match(/(\d+) birthday/i)) ? RegExp.$1: '';
bdayHolder += 'Birthdays: '+totalBDays+'';
bdayHolder += '</div>';
bdayHolder += '</div>';
bdayHolder += '</div>';
bdayHolder += '<div id="rightbox">';
bdayHolder += '<div id="padding">';
bdayHolder += '<div id="area" class="windowbg">';
var memberBDays = td[t+4].innerHTML.split(/<br\s?\/?>/i)[1];
bdayHolder += ''+memberBDays+'';
bdayHolder += '</div>';
bdayHolder += '</div>';
bdayHolder += '</div>';
bdayHolder += '</div>';
td[t+3].style.display = 'none';
td[t+4].innerHTML = ''+bdayHolder+'';}
if(td[t].className.match(/catbg/i) && td[t].innerHTML.match(/Events This Month/i)){
var numberOfEvents = td[t+4].getElementsByTagName('a').length;
eventHolder = '<div id="holder">';
eventHolder += '<div id="leftbox">';
eventHolder += '<div id="padding">';
eventHolder += '<div id="area" class="windowbg">';
eventHolder += 'Events: '+numberOfEvents+'';
eventHolder += '</div>';
eventHolder += '</div>';
eventHolder += '</div>';
eventHolder += '<div id="rightbox">';
eventHolder += '<div id="padding">';
eventHolder += '<div id="area" class="windowbg">';
var monthlyEvents = td[t+4].getElementsByTagName('font')[0].innerHTML;
eventHolder += ''+monthlyEvents+'';
eventHolder += '</div>';
eventHolder += '</div>';
eventHolder += '</div>';
eventHolder += '</div>';
td[t+3].style.display = 'none';
td[t+4].innerHTML = ''+eventHolder+'';}
if(td[t].className.match(/catbg/i) && td[t].innerHTML.match(/Users Online/i)){
userHolder = '<div id="holder">';
userHolder += '<div id="leftbox">';
userHolder += '<div id="padding">';
userHolder += '<div id="area" class="windowbg">';
var staffLinks = td[t+4].getElementsByTagName('a');
for(g=0;g<staffGroups.length;g++){
for(a=0;a<staffLinks.length;a++){
if(staffLinks[a].className.match(new RegExp('group'+staffGroups[g][2]+'$'))){staffNumber++;}}
userHolder += ''+staffGroups[g][0]+': '+staffNumber+'<br />';
var staffNumber = 0;}
var membersOn = (td[t+4].innerHTML.match(/(\d+) Member/i)) ? RegExp.$1: '0';
userHolder += 'OWN Enthusiasts: '+membersOn+'';
userHolder += '<br />';
var guestsOn = (td[t+4].innerHTML.match(/(\d+) Guest/i)) ? RegExp.$1: '0';
if(td[t+4].getElementsByTagName('a').length > 0 && td[t+4].getElementsByTagName('a')[0].href.match(/viewguests/)){
var iguestlinka = '<a href="javascript:popWindow(\'viewguests\')">';
var iguestlinkb = '</a>';} else {var iguestlinka = ''; var iguestlinkb = '';}
userHolder += ''+iguestlinka+'Guests: '+guestsOn+iguestlinkb+'<br />';
userHolder += '</div>';
userHolder += '</div>';
userHolder += '</div>';
userHolder += '<div id="rightbox">';
userHolder += '<div id="padding">';
userHolder += '<div id="area" class="windowbg">';
var staffOn = (td[t+4].innerHTML.match(/(\d+) Staff/i)) ? RegExp.$1: '0';
var totalOnline = parseInt(staffOn) + parseInt(membersOn) + parseInt(guestsOn);
if(totalOnline==1){var toAre = 'is'; var toUsers = 'user';}
else{var toAre = 'are'; var toUsers = 'users';}
userHolder += 'There '+toAre+' '+totalOnline+' '+toUsers+' online. ';
if(td[t+4].innerHTML.match(/Most users online was (\d+), (.+?)<br/i)){
var mostOnline = RegExp.$1;
var mostDate = RegExp.$2;}
userHolder += 'The most users online was '+mostOnline+' on '+mostDate+'.';
userHolder += '</div>';
userHolder += '<div id="onlinearea" class="windowbg">';
var usersOn = td[t+4].innerHTML.split(/<br\s?\/?>/i)[1].replace('\'','\'');
userHolder += ''+usersOn+'';
userHolder += '</div>';
userHolder += '</div>';
userHolder += '</div>';
userHolder += '</div>';
td[t+3].style.display = 'none';
td[t+4].innerHTML = ''+userHolder+'';
} else if(td[t].className == 'catbg' && td[t].innerHTML.match(/Active Users/)) {
if("undefined" != typeof(showActiveUsers) && showActiveUsers) {
userHolder = '<div id="holder">';
userHolder += '<div id="leftbox">';
userHolder += '<div id="padding">';
userHolder += '<div id="area" class="windowbg">';
var staffLinks = td[t+4].getElementsByTagName('a');
for(g=0;g<staffGroups.length;g++){
for(a=0;a<staffLinks.length;a++){
if(staffLinks[a].className.match(new RegExp('group'+staffGroups[g][2]+'$'))){staffNumber++;}}
userHolder += ''+staffGroups[g][0]+': '+staffNumber+'<br />';
var staffNumber = 0;}
var membersOn = (td[t+4].innerHTML.match(/(\d+) Member/i)) ? RegExp.$1: '0';
userHolder += 'OWN Enthusiasts: '+membersOn+'';
userHolder += '<br />';
var guestsOn = (td[t+4].innerHTML.match(/(\d+) Guest/i)) ? RegExp.$1: '0';
if(td[t+4].getElementsByTagName('a').length > 0 && td[t+4].getElementsByTagName('a')[0].href.match(/viewgueststoday/)){
var iguestlinka = '<a href="javascript:popWindow(\'viewgueststoday\')">';
var iguestlinkb = '</a>';} else {var iguestlinka = ''; var iguestlinkb = '';}
userHolder += ''+iguestlinka+'Guests: '+guestsOn+iguestlinkb+'<br />';
userHolder += '</div>';
userHolder += '</div>';
userHolder += '</div>';
userHolder += '<div id="rightbox">';
userHolder += '<div id="padding">';
userHolder += '<div id="area" class="windowbg">';
var staffOn = (td[t+4].innerHTML.match(/(\d+) Staff/i)) ? RegExp.$1: '0';
var totalOnline = parseInt(staffOn) + parseInt(membersOn) + parseInt(guestsOn);
if(totalOnline==1){var toAre = 'was'; var toUsers = 'user';}
else{var toAre = 'were'; var toUsers = 'users';}
userHolder += 'There '+toAre+' '+totalOnline+' '+toUsers+' online today. ';
userHolder += '</div>';
userHolder += '<div id="onlinearea" class="windowbg">';
var usersOn = td[t+4].innerHTML.split(/<br\s?\/?>/i)[1].replace('\'','\'');
userHolder += ''+usersOn+'';
userHolder += '</div>';
userHolder += '</div>';
userHolder += '</div>';
userHolder += '</div>';
td[t+3].style.display = 'none';
td[t+4].innerHTML = userHolder;
} else {
td[t+3].style.display = 'none';
td[t+4].style.display = 'none';
td[t].parentNode.style.display = 'none';
td[t].parentNode.nextSibling.style.display = 'none';
}}}}
if(pb_action == "home"){
executeUltimateInfoCenter();
}
</script>
If anyone could provide some help with this, it would be much appreciated. There are a few things from this IC I would like to implement besides what has been mentioned and it may call for a cosmetic change to the one I want to implement. I'll burn that bridge when I get there. For now, I just want to find a way to fix the 2 main issues I have had for quite some time so I can go ahead and get that IC finally placed on my forum.