PDA

View Full Version : Profile Enhancements - 3.6 Style Public Profile/MEMBERINFO


BigJohnny
11-05-2008, 10:00 PM
Information
Having just recently installed vBulletin 3.7.3 I happened to notice that users public profiles had been changed around a bit.

I wasn't too pleased with the way that the new information was displayed, so I decided to copy my 3.6 MEMBERINFO info template and change it around to work with 3.7.

The screenshot shows the Total Time Online hack I'm working on, as well as Default Avatar.
I removed the Total Time Online hack for this release because I realize most people won't have that installed.

Default Avatar was left in, and if you choose to use it, simply drop a "noavatar.gif" into your images/misc directory and it will show an avatar if the user hasn't selected one, and if you have them turned on.

The screenshot also shows the avatar having been removed from the mini-stats block, This template modification does NOT affect that status block, and an avatar will still show up there if you don't modify the memberinfo_block_ministats template.

Installation
Overwrite the contents of your MEMBERINFO template with the one below.
NOTE: If you are using an already customized MEMBERINFO template then you might now want to overwrite the template.


$stylevar[htmldoctype]
<html xmlns="http://www.w3.org/1999/xhtml" dir="$stylevar[textdirection]" lang="$stylevar[languagecode]">
<head>
$headinclude

$usercss
$memberinfo_css
<style type="text/css" id="vbulletin_tabctrl_css">
@import url("clientscript/vbulletin_tabctrl.css?v=$vboptions[simpleversion]");
<if condition="$show['rtl']">@import url("clientscript/vbulletin_tabctrl_rtl.css?v=$vboptions[simpleversion]");</if>
</style>

<script type="text/javascript" src="clientscript/vbulletin_tabctrl.js?v=$vboptions[simpleversion]"></script>

<title>$vboptions[bbtitle] - $vbphrase[view_profile]: $userinfo[username]</title>

<if condition="$userinfo['userid'] == $bbuserinfo['userid']">
<script type="text/javascript" src="clientscript/vbulletin_profilefield_edit.js?v=$vboptions[simpleversion]"></script>
</if>
<script type="text/javascript">
<!--
vbphrase['server_failed_respond_try_again'] = "$vbphrase[server_failed_respond_try_again]";
vbphrase['edit_value'] = "$vbphrase[edit_value_js]";

<if condition="$show['post_visitor_message']">
function goto_post_pm()
{
vB_TabCtrls['profile_tabs'].switch_tab('visitor_messaging');
fetch_object('visitor_messaging').scrollIntoView() ;

var textarea = fetch_object('visitor_message_form_textarea');
if (textarea)
{
textarea.focus();
textarea.select();
}
return false;
}
</if>
-->
</script>

</head>
<body>

$header
$navbar


<!-- begin user css -->
<div id="usercss" class="floatcontainer">

<div id="content_container">
<div id="content">

<div id="main_userinfo" class="floatcontainer">

<!-- main info - avatar, profilepic etc. -->
<table class="tborder" cellpadding="$stylevar[cellpadding]" cellspacing="$stylevar[cellspacing]" border="0" width="100%" align="center">
<tr>
<td class="tcat">$vbphrase[view_profile]<span class="normal">: $userinfo[username]</span></td>
</tr>
<!-- link bar -->
<tr>
<td class="tborder content_block" id="link_bar">
<if condition="$prepared['myprofile'] OR $show['contactlinks'] OR $show['userlists'] OR $show['usernotes'] OR can_moderate()">
<ul class="thead block_row block_title list_no_decoration floatcontainer">
<if condition="$prepared['myprofile']">
<if condition="$show['can_customize_profile']">
<li class="thead" id="usercss_switch_link"><a href="profile.php?$session[sessionurl]do=customize">$vbphrase[customize_profile]</a></li>
</if>
<else />
<if condition="$show['usercss_switch']">
<li class="thead" id="usercss_switch_link"><a href="profile.php?$session[sessionurl]do=switchusercss&amp;hash=$bbuserinfo[logouthash]&amp;u=$prepared[userid]">$usercss_switch_phrase</a></li>
</if>
</if>

<if condition="$show['contactlinks']">
<li class="thead" id="minicontact"><a href="#contactinfo">$vbphrase[send_message]</a> <script type="text/javascript">vBmenu.register("minicontact");</script></li>
</if>

<if condition="$show['userlists']">
<li class="thead" id="userlists"><a href="profile.php?$session[sessionurl]do=buddylist&amp;nojs=1">$vbphrase[user_lists]</a> <script type="text/javascript">vBmenu.register("userlists");</script></li>
</if>

<if condition="$show['usernotes']">
<li class="thead"><a href="usernote.php?$session[sessionurl]u=$prepared[userid]">$vbphrase[user_notes] ($prepared[usernotecount])</a></li>
</if>

<if condition="can_moderate()">
<li class="thead"><a href="moderator.php?$session[sessionurl]do=useroptions&amp;u=$userinfo[userid]">$vbphrase[edit_user_profile]</a></li>
</if>
</ul>
</if>

</td>

</tr>
<!-- / link bar -->
<tr>
<td class="alt2">
<table cellpadding="0" cellspacing="0" border="0" width="100%">
<tr>
<td style="border-bottom:1px solid $stylevar[tborder_bgcolor];" valign="top" width="50%" height="50%">
<div class="bigusername">$userinfo[musername] $prepared[onlinestatus]</div>
<if condition="$userinfo['usertitle']">
<div class="smallfont">$userinfo[usertitle]</div>
</if>
</td>
<td style="border-bottom:1px solid $stylevar[tborder_bgcolor];" valign="top" width="50%" height="50%">
<div style="float:$stylevar[right]; padding:0px">
<if condition="$prepared['rank'] OR $prepared['reputationdisplay']">
<div id="reputation_rank">
<if condition="$prepared['rank']">
<div id="rank">$prepared[rank]</div>
</if>
<if condition="$prepared['reputationdisplay']">
<div id="reputation">$prepared[reputationdisplay]</div>
</if>
</div>
</if>
</div>
</td>
<!-- PROFILE PIC -->
<td valign="top" align="$stylevar[right]" rowspan="2">
<if condition="$prepared['profilepicurl']">
<img src="$prepared[profilepicurl]" $prepared[profilepicsize] alt="<phrase 1="$prepared[username]">$vbphrase[xs_picture]</phrase>" border="0" style="border:1px solid $stylevar[tborder_bgcolor]; border-top:none" />
</if>
</td>
<!-- / PROFILE PIC -->
</tr>
<tr valign="top">
<if condition="$prepared['avatarurl']">
<td valign="top"><img src="$prepared[avatarurl]" alt="<phrase 1="$prepared[username]">$vbphrase[xs_avatar]</phrase>" class="alt2" id="user_avatar" /></td>
<!-- Default Avatar -->
<else />
<td valign="top"><img src="$stylevar[imgdir_misc]/noavatar.gif" alt="<phrase 1="$prepared[username]">$vbphrase[xs_avatar]</phrase>" class="alt2" id="user_avatar" /></td>
<!-- / Default Avatar -->
</if>
<!-- current activity -->
<td class="smallfont" valign="bottom" align="$stylevar[right]" >
<if condition="$prepared['lastactivitydate'] OR $prepared['action']">
<if condition="$prepared['lastactivitydate']">
<div id="last_online">
<span class="shade">$vbphrase[last_activity]:</span> $prepared[lastactivitydate]<if condition="!$show['detailedtime']"> <span class="time">$prepared[lastactivitytime]</span></if>
</div>
</if>
<if condition="$prepared['action']">
<span class="shade">$vbphrase[current_activity]:</span> $prepared[action] $prepared[where]
</if>
</if>
</td>
<!-- / current activity -->
</td>
</tr>
</table>
</td>
</tr>
</table>
<!-- / main info - avatar, profilepic etc. -->

<!-- user list menu -->
<ul id="userlists_menu" class="vbmenu_popup list_no_decoration" style="display: none">
<li class="thead first"><phrase 1="$prepared[username]">$vbphrase[user_lists]</phrase></li>
<if condition="$prepared['canbefriend']">
<li class="vbmenu_option">
<a href="profile.php?$session[sessionurl]do=addlist&amp;userlist=friend&amp;u=$prepared[userid]"><if condition="$prepared['requestedfriend']">$vbphrase[confirm_friendship_request]<else />$vbphrase[add_to_friends_list]</if></a>
</li>
</if>
<if condition="$prepared['isfriend']">
<li class="vbmenu_option">
<a href="profile.php?$session[sessionurl]do=removelist&amp;userlist=friend&amp;u=$prepared[userid]">$vbphrase[remove_from_friends_list]</a>
</li>
</if>
<if condition="$show['addbuddylist']">
<li class="vbmenu_option">
<a href="profile.php?$session[sessionurl]do=addlist&amp;userlist=buddy&amp;u=$prepared[userid]">$vbphrase[add_to_contacts]</a>
</li>
</if>
<if condition="$show['removebuddylist']">
<li class="vbmenu_option">
<a href="profile.php?$session[sessionurl]do=removelist&amp;userlist=buddy&amp;u=$prepared[userid]">$vbphrase[remove_from_contacts]</a>
</li>
</if>
<if condition="$show['addignorelist']">
<li class="vbmenu_option">
<a href="profile.php?$session[sessionurl]do=addlist&amp;userlist=ignore&amp;u=$prepared[userid]">$vbphrase[add_to_ignore_list]</a>
</li>
</if>
<if condition="$show['removeignorelist']">
<li class="vbmenu_option">
<a href="profile.php?$session[sessionurl]do=removelist&amp;userlist=ignore&amp;u=$prepared[userid]">$vbphrase[remove_from_ignore_list]</a>
</li>
</if>
</ul>

<if condition="$show['post_visitor_message'] OR $show['pm'] OR $show['email'] OR $prepared['hasimdetails']">
<!-- contact popup menu -->
<ul id="minicontact_menu" class="vbmenu_popup list_no_decoration" style="display:none">
<if condition="$show['post_visitor_message'] OR $show['pm'] OR $show['email']">
<li class="thead first"><phrase 1="$prepared[username]">$vbphrase[send_message_to_x]</phrase></li>
</if>
<if condition="$show['post_visitor_message']"><li class="vbmenu_option"><img src="$stylevar[imgdir_button]/sendtofriend.gif" alt="" class="alt2 inlineimg" /> <a href="visitormessage.php?$session[sessionurl]do=message&amp;u=$prepared[userid]" onclick="return goto_post_pm();"><phrase 1="$prepared[username]">$vbphrase[post_a_visitor_message_for_x]</phrase></a></li></if>
<if condition="$show['pm']">
<li class="vbmenu_option"><img src="$stylevar[imgdir_button]/sendtofriend.gif" alt="" class="alt2 inlineimg" /> <a href="private.php?$session[sessionurl]do=newpm&amp;u=$prepared[userid]" rel="nofollow"><phrase 1="$prepared[username]">$vbphrase[send_private_message_to_x]</phrase></a></li>
</if>
<if condition="$show['email']"><li class="vbmenu_option"><img src="$stylevar[imgdir_button]/sendtofriend.gif" alt="" class="alt2 inlineimg" /> <a href="sendmessage.php?$session[sessionurl]do=mailmember&amp;u=$prepared[userid]" rel="nofollow"><phrase 1="$prepared[username]">$vbphrase[send_message_via_email_to_x]</phrase></a></li></if>
<if condition="$prepared['hasimdetails']">
<li class="thead<if condition="!$show['post_visitor_message'] AND !$show['pm'] AND !$show['email']"> first</if>">$vbphrase[instant_messaging]</li>
<if condition="$prepared['icq']">
<li class="vbmenu_option"><img class="alt2 inlineimg" alt="" src="$stylevar[imgdir_misc]/im_icq.gif" /> <a href="#" dir="ltr" onclick="imwindow('icq', '$prepared[userid]', 500, 450); return false;"><phrase 1="$prepared[username]">$vbphrase[send_icq_message_to_x]</phrase></a></li>
</if>
<if condition="$prepared['aim']">
<li class="vbmenu_option"><img class="alt2 inlineimg" alt="" src="$stylevar[imgdir_misc]/im_aim.gif" /> <a href="#" dir="ltr" onclick="imwindow('aim', '$prepared[userid]', 400, 200); return false;"><phrase 1="$prepared[username]">$vbphrase[send_aim_message_to_x]</phrase></a></li>
</if>
<if condition="$prepared['msn']">
<li class="vbmenu_option"><img class="alt2 inlineimg" alt="" src="$stylevar[imgdir_misc]/im_msn.gif" /> <a href="#" dir="ltr" onclick="imwindow('msn', '$prepared[userid]', 400, 200); return false;"><phrase 1="$prepared[username]">$vbphrase[send_msn_message_to_x]</phrase></a></li>
</if>
<if condition="$prepared['yahoo']">
<li class="vbmenu_option"><img src="$stylevar[imgdir_misc]/im_yahoo.gif" alt="" class="alt2 inlineimg" /> <a href="#" dir="ltr" onclick="imwindow('yahoo', '$prepared[userid]', 400, 200); return false;"><phrase 1="$prepared[username]">$vbphrase[send_yahoo_message_to_x]</phrase></a></li>
</if>
<if condition="$prepared['skype']">
<li class="vbmenu_option"><img src="$stylevar[imgdir_misc]/im_skype.gif" alt="" class="alt2 inlineimg" /> <a href="#" dir="ltr" onclick="imwindow('skype', '$prepared[userid]', 400, 285); return false;"><phrase 1="$prepared[username]">$vbphrase[send_skype_message_to_x]</phrase></a></li>
</if>
</if>
</ul>
<!-- / contact popup menu -->
</if>
</div>

<div id="profile_tabs">
$template_hook[profile_left_first]
$blocks[visitor_messaging]
$blocks[aboutme]
$blocks[stats]
$blocks[friends]
$blocks[infractions]
$blocks[contactinfo]
$template_hook[profile_left_last]
</div>

<script type="text/javascript">
<!--
vBulletin.register_control("vB_TabCtrl", "profile_tabs", "$selected_tab", "&raquo;", "profile.php?u=2&do=loadtab&tabid={1:tabid}");
//-->
</script>

</div>
</div>

<div id="sidebar_container">
<!-- sidebar -->
$template_hook[profile_right_first]
$blocks[stats_mini]
$template_hook[profile_right_mini]
$blocks[friends_mini]
$blocks[albums]
$template_hook[profile_right_album]
$blocks[groups]
$blocks[visitors]



$template_hook[profile_right_last]
<!-- / sidebar -->
</div>

<!-- end usercss -->
</div>

$footer

</body>
</html>


If you don't want to use the Default Avatar mod, remove the following code from the template.

<!-- Default Avatar -->
<else />
<td><img src="$stylevar[imgdir_misc]/noavatar.gif" alt="<phrase 1="$prepared[username]">$vbphrase[xs_avatar]</phrase>" $prepared[avatarsize] class="alt2" id="user_avatar" /></td>
<!-- / Default Avatar -->

BigJohnny
11-10-2008, 11:02 AM
Just wondering if anyone has used this, and if so, have you noticed any problems?

BigJohnny
02-01-2009, 01:50 AM
UPDATE:

Main post and code updated. This mod has been moved out of beta status and the profile pic location has been corrected.

BigJohnny
02-01-2009, 12:43 PM
updated again. minor change.

WoodPusher
02-05-2009, 02:23 AM
Installed and working great. Thanks.

Silver Tiger
06-06-2009, 03:05 AM
Does it change the entire profile page similar to vb 3.6.10?

cause it doesnt work for me :S

BigJohnny
06-06-2009, 11:18 AM
it should look the same as the entire 3.6 line unless there were major changes after 3.6.8 cause that's what this is based off of.

This is an entire overwrite, and there may need to be fixes if there have been any code changes in the template since 3.7.2.
I'm currently running 3.8.1 on my dev board and it's working.

Silver Tiger
06-06-2009, 03:14 PM
It doesn't work for me and I would really like to have this.

BigJohnny
06-06-2009, 05:44 PM
do you have any other profile mods? have you tried disabling plugins and seeing if one of those is causing a conflict?

Silver Tiger
06-06-2009, 07:21 PM
Nothing effecting memberinfo template

BigJohnny
08-12-2010, 01:17 AM
working on 3.8.3

BigJohnny
08-14-2010, 12:05 PM
uploaded a much more appealing picture.