Go Back   vb.org Archive > vBulletin Modifications > Archive > vB.org Archives > vBulletin 3.0 > vBulletin 3.0 Full Releases
FAQ Community Calendar Today's Posts Search

Reply
 
Thread Tools
Avatar's opacity according to user's status (online/offline) Details »»
Avatar's opacity according to user's status (online/offline)
Version: 1.00, by VBDev VBDev is offline
Developer Last Online: Dec 2021 Show Printable Version Email this Page

Version: 3.0.0 Rating:
Released: 04-30-2004 Last Update: Never Installs: 97
 
No support by the author.

Avatar's opacity according to user's status (online/offline)

Total hack's description : http://www.vbulletindev.net/forums/h...hack&hackid=72

http://www.vbulletindev.net

Please click if you like this hack


Requested here, some people said it could be found on vBT, but it requires code modification to work, it was requested on our forum too, that's why I created it and release it here

With this small hack, in postbit, if the user is connected, his avatar will be displayed normally, else it will be less visible

New modifications :
- Avaible in memberlist too
- Browser detection (mozilla)


SC (still can't attach them)





Show Your Support

  • This modification may not be copied, reproduced or published elsewhere without author's permission.

Comments
  #52  
Old 05-26-2004, 12:52 AM
bmckain bmckain is offline
 
Join Date: May 2003
Location: US
Posts: 18
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

I installed this twice and it doesn't work, the only thing I can think of is that I am running vB 3.0.1 and this is for Gold. Any reason other than that what the avatars wouldn't reduce opacity on either IE6 or Firefox?
Reply With Quote
  #53  
Old 05-26-2004, 01:05 AM
bmckain bmckain is offline
 
Join Date: May 2003
Location: US
Posts: 18
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Never mind, I realized you have to set the forums to use the legacy settings. Problem solved.
Reply With Quote
  #54  
Old 06-15-2004, 02:00 PM
Karthick Karthick is offline
 
Join Date: Mar 2004
Posts: 52
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

If user chooses to be hidden, it still shows opacity 100%.

Basically pointless until this is fixed.
Reply With Quote
  #55  
Old 06-15-2004, 02:22 PM
Natch's Avatar
Natch Natch is offline
 
Join Date: Nov 2002
Location: Australia
Posts: 851
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Quote:
Originally Posted by Karthick
If user chooses to be hidden, it still shows opacity 100%.

Basically pointless until this is fixed.
For those that can see invisible users, yes ... otherwise no ...

EDIT: // Works ok on mine ? maybe I have some other mods included ?
Reply With Quote
  #56  
Old 06-16-2004, 03:48 AM
Karthick Karthick is offline
 
Join Date: Mar 2004
Posts: 52
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Quote:
Originally Posted by Natch
For those that can see invisible users, yes ... otherwise no ...

EDIT: // Works ok on mine ? maybe I have some other mods included ?
I login as guest, can still see the avatar 100% opacity but the green light is not lit.

This is only mod installed for showthread, and I'm taking it down.
Reply With Quote
  #57  
Old 06-16-2004, 06:18 AM
msimplay's Avatar
msimplay msimplay is offline
 
Join Date: Aug 2002
Location: UK
Posts: 1,059
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Quote:
Originally Posted by Karthick
I login as guest, can still see the avatar 100% opacity but the green light is not lit.

This is only mod installed for showthread, and I'm taking it down.
i've highlighted this problem quite a bit but no one listens to me :disappointed:
Reply With Quote
  #58  
Old 06-16-2004, 06:23 AM
Karthick Karthick is offline
 
Join Date: Mar 2004
Posts: 52
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Quote:
Originally Posted by msimplay
i've highlighted this problem quite a bit but no one listens to me :disappointed:
Most people on my forum think the shading of the avatar doesn't look good anyway.
Reply With Quote
  #59  
Old 07-02-2004, 01:29 AM
turbidblue's Avatar
turbidblue turbidblue is offline
 
Join Date: Apr 2004
Location: Indiana
Posts: 89
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

awesome! looks great on my forum!



thanks!


*hits install!
Reply With Quote
  #60  
Old 07-08-2004, 06:46 PM
chapsrulez chapsrulez is offline
 
Join Date: Mar 2004
Posts: 22
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

installed on vb 3.0.0 and vb 3.0.3 and working great on both.
Reply With Quote
  #61  
Old 07-10-2004, 12:04 PM
buro9 buro9 is offline
 
Join Date: Feb 2002
Location: London, UK
Posts: 585
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

I hope no-one minds, but I wanted to highlight another way of doing this which requires less processing (fractionally) and is a little more elegant.

I should note that I'm not using avatars in the memberlist, so this isn't for that. But this does the showthread and private messaging ones

In includes/functions_bigthree.php there is already a function that finds out someones online status.

Within that file find:
PHP Code:
  if ($setstatusimage)
  {
    eval(
'$user[\'onlinestatus\'] = "' fetch_template('postbit_onlinestatus') . '";');
  } 
BEFORE that, put:
PHP Code:
  // HACK : START : STATUS ACCESS
  
switch ($onlinestatus) {
    case 
0:
      
$user['IsOnline'] = false;
      break;
    case 
1:
      
$user['IsOnline'] = true;
      break;
    case 
2:
      
$user['IsOnline'] = true;
      break;
    default:
      
$user['IsOnline'] = false;
      break;
  }
  
// HACK : END : STATUS ACCESS 
Now the $user object has an additional property in its array:

$user['IsOnline'] indicates that the user is online or not... or rather, should appear online to the current user... it takes into account invisibility and permissions, as the code above this already does all of this.

So we have less processing as none of this needs to be run:
Code:
  //avatar opacity grog6 - vbulletindev.net
    $datecut = TIMENOW - $vboptions['cookietimeout'];
     if (!ereg("MSIE", $_SERVER["HTTP_USER_AGENT"]))
       $style_avatar="style=\"-moz-opacity:0.3\"";
      else $style_avatar= "style=\"filter:alpha(opacity=30)\"";
  if ($post['lastactivity'] > $datecut AND $post['lastvisit'] != $post['lastactivity'])
     if (($permissions['genericpermissions'] & CANSEEHIDDEN) OR $post['userid'] == $bbuserinfo['userid'])
    {
      // user is online and invisible BUT bbuser can see them
                 if (!ereg("MSIE", $_SERVER["HTTP_USER_AGENT"]))
                        $style_avatar="style=\"-moz-opacity:1.0\"";
                       else $style_avatar= "style=\"filter:alpha(opacity=100)\"";
    }
          else
    {
           // user is online and visible
                       if (!ereg("MSIE", $_SERVER["HTTP_USER_AGENT"]))
                        $style_avatar="style=\"-moz-opacity:1.0\"";
                       else $style_avatar= "style=\"filter:alpha(opacity=100)\"";
And it's more elegant as it's a simple switch that uses all of vBulletins own logic, when their logic evolves, the switch will remain the same

Now, all we have to do is find the avatar line in the postbit template and add a conditional to it:
Code:
          <if condition="$post[IsOnline] == true">
					  &nbsp;<br /><a href="member.php?$session[sessionurl]u=$post[userid]"><img src="$avatarurl" alt="<phrase 1="$post[username]">$vbphrase[xs_avatar]</phrase>" border="0" /></a>
          <else />
					  &nbsp;<br /><a href="member.php?$session[sessionurl]u=$post[userid]"><img src="$avatarurl" alt="<phrase 1="$post[username]">$vbphrase[xs_avatar]</phrase>" border="0" style="filter:alpha(opacity=30);-moz-opacity:0.3;opacity: 0.3;" /></a>
          </if>
Notice that if it's online, it doesn't even have the style added... which is a good thing as why apply opacity when it's not required?

Secondly I apply both the IE and Mozilla and Opera opacity switches at the same time. Yes, I said Opera... Opera is currently using the CSS3 recommendation of 'opacity'... which is the best thing to do as that is also what Mozilla will be using in the future.

Styles set like this are ignored if not applicable... so it breaks nothing.

Anyhow... more elegant because of the simplicity of the code modification and the fact that we keep all of the presentation logic in templates rather than in code.

It shouldn't be hard for those who want to use this for the memberlist or memberprofile to add a call to the fetch_online_status() function in functions_bigthree.php and to add a conditional to their template.

But yeah... a different way of doing the same thing. Better? Hard to say... but I think a little more elegant.

Cheers

David K
Reply With Quote
Reply


Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump


All times are GMT. The time now is 02:40 PM.


Powered by vBulletin® Version 3.8.12 by vBS
Copyright ©2000 - 2025, vBulletin Solutions Inc.
X vBulletin 3.8.12 by vBS Debug Information
  • Page Generation 0.04943 seconds
  • Memory Usage 2,335KB
  • Queries Executed 27 (?)
More Information
Template Usage:
  • (1)SHOWTHREAD
  • (1)ad_footer_end
  • (1)ad_footer_start
  • (1)ad_header_end
  • (1)ad_header_logo
  • (1)ad_navbar_below
  • (1)ad_showthread_beforeqr
  • (2)bbcode_code
  • (2)bbcode_php
  • (4)bbcode_quote
  • (1)footer
  • (1)forumjump
  • (1)forumrules
  • (1)gobutton
  • (1)header
  • (1)headinclude
  • (1)modsystem_post
  • (1)navbar
  • (6)navbar_link
  • (120)option
  • (1)pagenav
  • (1)pagenav_curpage
  • (4)pagenav_pagelink
  • (11)post_thanks_box
  • (11)post_thanks_button
  • (1)post_thanks_javascript
  • (1)post_thanks_navbar_search
  • (11)post_thanks_postbit_info
  • (10)postbit
  • (11)postbit_onlinestatus
  • (11)postbit_wrapper
  • (1)spacer_close
  • (1)spacer_open
  • (1)tagbit_wrapper 

Phrase Groups Available:
  • global
  • inlinemod
  • postbit
  • posting
  • reputationlevel
  • showthread
Included Files:
  • ./showthread.php
  • ./global.php
  • ./includes/init.php
  • ./includes/class_core.php
  • ./includes/config.php
  • ./includes/functions.php
  • ./includes/class_hook.php
  • ./includes/modsystem_functions.php
  • ./includes/functions_bigthree.php
  • ./includes/class_postbit.php
  • ./includes/class_bbcode.php
  • ./includes/functions_reputation.php
  • ./includes/functions_post_thanks.php 

Hooks Called:
  • init_startup
  • init_startup_session_setup_start
  • init_startup_session_setup_complete
  • cache_permissions
  • fetch_postinfo_query
  • fetch_postinfo
  • fetch_threadinfo_query
  • fetch_threadinfo
  • fetch_foruminfo
  • style_fetch
  • cache_templates
  • global_start
  • parse_templates
  • global_setup_complete
  • showthread_start
  • showthread_getinfo
  • forumjump
  • showthread_post_start
  • showthread_query_postids
  • showthread_query
  • bbcode_fetch_tags
  • bbcode_create
  • showthread_postbit_create
  • postbit_factory
  • postbit_display_start
  • post_thanks_function_post_thanks_off_start
  • post_thanks_function_post_thanks_off_end
  • post_thanks_function_fetch_thanks_start
  • post_thanks_function_fetch_thanks_end
  • post_thanks_function_thanked_already_start
  • post_thanks_function_thanked_already_end
  • fetch_musername
  • postbit_imicons
  • bbcode_parse_start
  • bbcode_parse_complete_precache
  • bbcode_parse_complete
  • postbit_display_complete
  • post_thanks_function_can_thank_this_post_start
  • pagenav_page
  • pagenav_complete
  • tag_fetchbit_complete
  • forumrules
  • navbits
  • navbits_complete
  • showthread_complete