PDA


View Full Version : Customized Navbar


dfr.sd
04-28-2005, 12:27 PM
I have a quick question and I apologize if this has already been covered in the past.

We are creating a new site for our squad and we want some statistics displayed in what really is a modified navbar. The statistics are really from the stats module and the online users module on the adv_portal template just below the header.

The problem is how do we call the stats.php and the onlineusers.php to make this happen? The login code is working (I just didn't display the javascript). The problem is the stats we are calling are simply blank.

For the common sense answer, "Just use the modules." We can't. The modules are placed in the three columns and what we are doing need to be above the modules spanning the entire page.

Thank you in advance for any help you can provide.

Here is the code we are using:


<!-- Welcome start -->
<table class="tborder" cellpadding="$stylevar[cellpadding]" cellspacing="$stylevar[cellspacing]" border="0" width="100%" align="center">
<tr>
<td class="alt1" width="100%">
<div class="navbar" style="font-size:10pt"><strong>$vboptions[bbtitle]<br /></div>
<div class="smallfont">$vba_options[portal_blockbullet] $vbphrase[members]: $numbermembers | $vbphrase[threads]: $totalthreads &nbsp;|&nbsp; $vbphrase[posts]: $totalposts
<br />
$vba_options[portal_blockbullet] <a href="$vboptions[bburl]/online.php?$session[sessionurl]">$vbphrase[active_users]</a>: $totalonline
<br />
$vba_options[portal_blockbullet] <a href="$vboptions[bburl]/search.php?$session[sessionurl]do=getnew">$vbphrase[new_posts]</a>: $newposts<br />
</div></strong>
</td>

<if condition="$bbuserinfo['userid']">

<td class="alt2" valign="top" nowrap="nowrap">
<div class="smallfont">
<!--<span style="float:$stylevar[right]">[<a href="login.php?$session[sessionurl]do=logout&amp;u=$bbuserinfo[userid]" onclick="return log_out()">$vbphrase[log_out]</a>]</span>-->
<strong><phrase 1="$bbuserinfo[username]">$vbphrase[welcome_x]</phrase></strong><br />
<phrase 1="$pmbox[lastvisitdate]" 2="$pmbox[lastvisittime]">$vbphrase[last_visited_x_at_y]</phrase>
<if condition="$show['pmstats']"><br /><phrase 1="$vbphrase[unread_x_nav_compiled]" 2="$vbphrase[total_x_nav_compiled]" 3="$session[sessionurl]">$vbphrase[private_messages_nav]<br />
<a href="login.php?$session[sessionurl]do=logout&amp;u=$bbuserinfo[userid]" onclick="return log_out()">$vbphrase[log_out]</a>
</phrase></if>
</div>
</td>

<else />

<td class="alt2" nowrap="nowrap" style="padding:0px">

<!-- login form -->
<form action="login.php" method="post" onsubmit="md5hash(vb_login_password,vb_login_md5password,vb_login_md5password_utf)">
<script type="text/javascript" src="clientscript/vbulletin_md5.js"></script>
<table cellpadding="0" cellspacing="$stylevar[formspacer]" border="0">
<tr>
<td class="smallfont">$vbphrase[username]</td>
<td><input type="text" class="button" name="vb_login_username" id="navbar_username" size="10" accesskey="u" tabindex="1" value="$vbphrase[username]" onfocus="if (this.value == '$vbphrase[username]') this.value = '';" /></td>
<td class="smallfont" colspan="2" nowrap="nowrap"><label for="cb_cookieuser_navbar"><input type="checkbox" name="cookieuser" value="1" tabindex="3" id="cb_cookieuser_navbar" accesskey="c" checked="checked" />$vbphrase[remember_me]</label></td>
</tr>
<tr>
<td class="smallfont">$vbphrase[password]</td>
<td><input type="password" class="button" name="vb_login_password" size="10" accesskey="p" tabindex="2" /></td>
<td><input type="submit" class="button" value="$vbphrase[log_in]" tabindex="4" title="$vbphrase[enter_username_to_login_or_register]" accesskey="s" /></td>
</tr>
</table>
<input type="hidden" name="s" value="$session[sessionhash]" />
<input type="hidden" name="do" value="login" />
<input type="hidden" name="forceredirect" value="1" />
<input type="hidden" name="vb_login_md5password" />
<input type="hidden" name="vb_login_md5password_utf" />
</form>
<!-- / login form -->

</td>

</if>

</tr>
</table>
<!-- Welcome end -->

Brian
04-28-2005, 12:42 PM
Your best bet is going to be to copy the relevant code from each of the module files and then place it in your global.php file.

dfr.sd
04-28-2005, 01:07 PM
Thanks Brian.

vbcore
04-28-2005, 01:12 PM
Thanks Brian :)

dfr.sd
05-01-2005, 02:43 PM
Brian or anyone else...

I took some of the relevent code and placed it in the global.php as indicated by Brian, but for whatever reason it's not working. Perhaps I placed it in the wrong area. I only did it with the first module (welcomeblock.php) first to get the $newposts to display.

Here is the code I used:
//prepare default templates/phrases (global.php)

//prepare default templates/phrases

$_templatedo = iif(empty($_REQUEST['do']), 'none', $_REQUEST['do']);

if (is_array($actionphrases["$_templatedo"]))
{
$phrasegroups = array_merge($phrasegroups, $actionphrases["$_templatedo"]);
}

if (is_array($actiontemplates["$_templatedo"]))
{
$globaltemplates = array_merge($globaltemplates, $actiontemplates["$_templatedo"]);
}

//vbadvanced stats-welcome block hybrid

//welcomeblock
if ($bbuserinfo['userid'])
{
$lastvisitdate = vbdate($vba_options['portal_welcome_lastvisit_date'], $bbuserinfo['lastvisit']);
$lastvisittime = vbdate($vba_options['portal_welcome_lastvisit_time'], $bbuserinfo['lastvisit']);

if ($vba_options['portal_welcome_newposts'])
{
$getnewposts = $DB_site->query_first("SELECT COUNT(*) AS count FROM " . TABLE_PREFIX . "post WHERE dateline >= '$bbuserinfo[lastvisit]'");
$newposts = number_format($getnewposts['count']);
}
}

//welcomeblock

//stats

//stats

//vbadvanced stats-welcome block hybrid

Can you please advise me what I did wrong? Thank you in advance.

dfr.sd
05-02-2005, 01:22 AM
anyone have any info on this?

Brian
05-02-2005, 01:05 PM
Try moving the code you added just above this line and see if it makes a difference.
// parse some global templates

dfr.sd
05-02-2005, 02:24 PM
Brian,

Thanks again for your help, but it didn't work. This is the code we used so you can see the placement of it:


//vbadvanced stats-welcome block hybrid

//welcomeblock
if ($bbuserinfo['userid'])
{
$lastvisitdate = vbdate($vba_options['portal_welcome_lastvisit_date'], $bbuserinfo['lastvisit']);
$lastvisittime = vbdate($vba_options['portal_welcome_lastvisit_time'], $bbuserinfo['lastvisit']);

if ($vba_options['portal_welcome_newposts'])
{
$getnewposts = $DB_site->query_first("SELECT COUNT(*) AS count FROM " . TABLE_PREFIX . "post WHERE dateline >= '$bbuserinfo[lastvisit]'");
$newposts = number_format($getnewposts['count']);
}
}

//welcomeblock

//stats

//stats

//vbadvanced stats-welcome block hybrid

// parse some global templates

Do you have any other ideas?

Thanks again for your help.

Brian
05-02-2005, 03:24 PM
Can you post the code you omitted for the stats section? Really just the entire bit of code you've added.

dfr.sd
05-02-2005, 03:39 PM
Brian,

I wanted to get the //welcomeblock integration completed before I dived into the //stats section. Those are comment headers for when I get to that piece of the puzzle. Currently, there is nothing in that part.

Brian
05-02-2005, 03:41 PM
So it's not showing the number of new posts with the code you've posted?

dfr.sd
05-02-2005, 04:11 PM
That's correct. You can view the page by this URL: http://www.dfrsquad.com looking at the navbar.

dfr.sd
05-03-2005, 12:42 PM
Any ideas brian?

Brian
05-03-2005, 01:14 PM
You need to remove this if condition since $vba_options will not be set on your regular forum pages:
if ($vba_options['portal_welcome_newposts'])

Then to get the variables to show up on the portal page, you'll need to add 'newposts' (and any others you use) to the 'Portal Output Global Variables' setting under your main CMPS options.

dfr.sd
05-03-2005, 03:25 PM
Brian you are both a gentleman and scholar. Thanks for your outstanding support!