PDA

View Full Version : Mini-Avatars Hack Released


Mystikal
13 Oct 2002, 21:31
I've re-released this hack with a completely re-written database independent version :) Enjoy.

The mini-avatars system will enable users to have their own 16x16 image in front of their username in threads, and in the who's online portion of the website. The hack creates 1 table and alters a few files, with 2 new files created.

I'm working on the the new modifications to the admin panel, but this will get you up and running so far =)

Pancreas Paul
13 Oct 2002, 21:35
May I see some screenshots?

Mystikal
13 Oct 2002, 21:58
here is 1

Mystikal
13 Oct 2002, 21:59
another.

Mystikal
13 Oct 2002, 21:59
the last.

Neo
13 Oct 2002, 23:19
Nice idea. what about user side editing?

(I can see the store hack integration now.. tisk)

Mystikal
13 Oct 2002, 23:43
eh... see it at blizzforums.com :) im too lazy (actually dont have time) to upload the pic... but its intergrated into the usercp.

mewgood
14 Oct 2002, 00:58
so where do you put this code <img src="icon.php?userid=$uservariable[userid]" height="16" width="16">
if I want it like blizzforum?

As well it seems it is not working for me. I have safe mode for php.
I uploaded an avatar, but it doesn't show anything..

Velocd
14 Oct 2002, 01:26
Nice, I like this idea quite a bit actually ;)
*clicks install*

Mystikal
14 Oct 2002, 02:50
mewgood, we have safe mode and it works fine... the stuff is stored in the database, that's how we get around safe mode.

Mystikal
14 Oct 2002, 02:51
edit whatever templates you want and put that code in front of the username :)

i.e.,
if you want it in who's online, just edit the loggedinuser template in forumhome templates and put <img src="icon.php?userid=$uservariable[userid]" height="16" width="16"> in front of $user[username].

mewgood
14 Oct 2002, 06:15
..
when I trying to upload an avatar, it doesn't change in the index.php..
it is the same with the defult image..
Help please.

bejita
14 Oct 2002, 08:20
finally you release it :) soon i'll install to my forum

NuclioN
14 Oct 2002, 09:38
Also no update after uploading an image. Default stays visible.

Mystikal
14 Oct 2002, 17:40
You have to refresh the page.

mewgood
14 Oct 2002, 19:59
I did refresh.....
nth change...

Sketch
14 Oct 2002, 21:45
looks like it will make the boards look cluttered. I'll pass. Nice idea though. :)

Mystikal
14 Oct 2002, 22:24
Hm. I dunno then. Try going to /icon.php?userid=xxxx and see if its there.. or check phpMyAdmin to see if an entry is created with your userid.... It should work, works for me.

Harryli
14 Oct 2002, 23:52
If i call icon.php?userid=xxx I see icons :D maybe we have the wrong icon.php?

Harryli
15 Oct 2002, 00:24
sorry, was in /admin. under /Forum/icon.php I see my mini, but it also does not show up... only the default one

mewgood
15 Oct 2002, 00:58
Try going to /icon.php?userid=xxxx and see if its there
what do you mean?

Mystikal
15 Oct 2002, 01:17
Do you have phpMyAdmin or direct access to the database?

Check to make sure you actually have an entry.. maybe there's a bug but I didn't think so.

Velocd
15 Oct 2002, 01:34
Two questions:

Can you implement a check where it insures the user does not upload an avatar larger than 16 by 16 pixels? Personally I don't want to add the width and height attributes to the image tag, incase somebody uses a larger or smaller icon. This should be possible, if you view the avatar-source code in member.php.

Second, is there any possible way to check if the gif image contains transparency? Probably not, but I'd like all my members to make the backgrounds of their icons transparent, or else the icon looks very tacky.

Velocd
15 Oct 2002, 03:32
Well I figured my first request out pretty easily, you can forget the second since I know it's not possible.

---------------------------------------

For those wanting to check the icon size insuring it's not larger than 16x16 pixels, use this very easy to install add-on:

In member.php, find:


if( !$HTTP_POST_FILES['file1']['size'] || $HTTP_POST_FILES['file1']['size'] < 1 ) {
eval("standarderror(\"".gettemplate("error_invalid_image")."\");");
}


Below it add:
// check valid image
if ($imginfo=@getimagesize($HTTP_POST_FILES['file1']['tmp_name'])) {
if ($imginfo[0]>16 or $imginfo[1]>16) {
eval("standarderror(\"".gettemplate("error_invalid_image")."\");");
}
}


And there we go :p There is no need to set width and height attributes to the image tag. You can also check for it not to be lower than a certain amount, by modifying the if statement with a lesser than (<) clause.

mewgood
15 Oct 2002, 06:47
yes I have phpmyadmin
what do I check?

mewgood
15 Oct 2002, 06:56
Ok when I go to phpmyadmin after i click the edit button it turns an error..
first ss

mewgood
15 Oct 2002, 06:57
here is the error

Ninth Dimension
15 Oct 2002, 09:17
It's funny, but I was thinking on doing something like this myself a few weeks ago, but yours looks much better than anything I could have developed, so good job to you :)

Harryli
15 Oct 2002, 09:41
I have the same error in phpmyadmin. Looks lige a CR behind 89a

Mystikal
15 Oct 2002, 17:46
Originally posted by Velocd
Well I figured my first request out pretty easily, you can forget the second since I know it's not possible.

---------------------------------------

For those wanting to check the icon size insuring it's not larger than 16x16 pixels, use this very easy to install add-on:

In member.php, find:


if( !$HTTP_POST_FILES['file1']['size'] || $HTTP_POST_FILES['file1']['size'] < 1 ) {
eval("standarderror(\"".gettemplate("error_invalid_image")."\");");
}


Below it add:
// check valid image
if ($imginfo=@getimagesize($HTTP_POST_FILES['file1']['tmp_name'])) {
if ($imginfo[0]>16 or $imginfo[1]>16) {
eval("standarderror(\"".gettemplate("error_invalid_image")."\");");
}
}


And there we go :p There is no need to set width and height attributes to the image tag. You can also check for it not to be lower than a certain amount, by modifying the if statement with a lesser than (<) clause.

This mod will -not- function on certain servers. This is why I chose -not- to include this. The reason why the getimagesize() function does not work is uknown to most people, and when I tried it.. worked on 1 server, failed on the other (both had the graphic libraries installed that were required).

Mystikal
15 Oct 2002, 17:47
Harry, dont' try and select something from the usericons when using data='whatever', it won't work unless you use the LIKE % command which I don't even think can be done on binary columns (it might be able to be, I forget.. too lazy to check).

Mystikal
15 Oct 2002, 17:48
Oh crap.. mewgood, install a later version of phpMyAdmin.. could be your problem...

Mystikal
15 Oct 2002, 17:51
http://www.wcgalaxy.com/vbb/icon.php?userid=1

Shows up fine for me.. looks like its installed fine.

Harryli
15 Oct 2002, 20:40
Yes, my mini is also showing up correct if I use ..icon.php?userid=1 but if I change the forumhome_loggedinuser template from

<a href="member.php?s=$session[sessionhash]&action=getinfo&userid=$userid">$username</a>$invisibleuser

to

<img src="icon.php?userid=$uservariable[userid]" height="16" width="16"><a href="member.php?s=$session[sessionhash]&action=getinfo&userid=$userid">$username</a>$invisibleuser

only the default one shows up :(

Mystikal
15 Oct 2002, 22:28
well that's because $uservariable isn't set to anything.

I should have specified...

$uservariable = whatever variable contains the user info.. it differs from page to page, and you can use the <IMG> stuff anywhere.

mewgood
16 Oct 2002, 00:23
so
I need to install a later version of phpmyadmin
what version is yours?|

Mystikal
16 Oct 2002, 01:07
I have 2.3.0-RC2. No you don't have to..

go to your who's online template and change icon.php?userid=$uservariable to userid=$userid. That should fix your problem.

You gotta make sure that your actually passing it a userid value ya know? Make sure and double check that with any other templtase its put in.

mewgood
17 Oct 2002, 01:16
cool
it works now:D

Mystikal
17 Oct 2002, 19:49
Yup :P Told ya that was all :=)

Mystikal
17 Oct 2002, 19:50
BTW, mewgood, you should really alter the default image it doesn't look right with your vbulletin =\. I didn't make it transparent because it didn't need to be for my board.

Kars10
17 Oct 2002, 20:27
Thankx Mystikal!!
Install was pretty easy...works like a charm!!
/me klicks install!! :D

Kars10
17 Oct 2002, 20:28
One Thing.... did you think about a store-integration with the avatar-hack?? This could be very cool!! ;)

NuclioN
17 Oct 2002, 22:01
Hm, i can't get the mini avatar visible. I have it in the postbit next to the username and altough the default stays visible it will not update the new image. :(

Strange thing is that it's working correct in the loggedinuser for the who's online display. (???) Another code for the postbit?

mewgood
18 Oct 2002, 01:39
how to change?
help please.

Mystikal
18 Oct 2002, 02:42
how to change what? the default? uhm... just edit in a graphics program and reupload it? I'm not sure what you're asking.

Nuclion, for the postbit it would be icon.php?userid=$post[userid]

NuclioN
18 Oct 2002, 02:56
Tnx Mystikal :)

mewgood
18 Oct 2002, 06:13
I tried on photoshop
but it make it even worst.

Kars10
18 Oct 2002, 15:32
Now i have the first Problem here!
When i try to change the Mini-avatar it donīt work.
I looked in the DB and see that the old avatar is still there after uploading a new one.
If i go to admin-panel and delete my avatar, than i can upload a other avatar. ... Any Idea?
Please excuse my bad english.. ;)

Mystikal
18 Oct 2002, 19:41
When you update it, it should still be there. However, in order to see the update, you need to refresh the page and it should show up.

traekwon
27 Oct 2002, 06:22
Originally posted by Mystikal
edit whatever templates you want and put that code in front of the username :)

i.e.,
if you want it in who's online, just edit the loggedinuser template in forumhome templates and put <img src="icon.php?userid=$uservariable[userid]" height="16" width="16"> in front of $user[username].



To get it to work I had to use:

<img src="icon.php?userid=getinfo&userid=$userid" height="16" width="16">

Thanks for the great hack!

Mystikal
27 Oct 2002, 12:35
whoa... that's weird... what version of vbulletin are you using?

edwardandtubbs1
05 Nov 2002, 01:38
what template do I change to add the avatar to next to the users names in the forums?

also I am new to this so can you tell me what part of code I am looking for.

edwardandtubbs1
05 Nov 2002, 02:18
also I have this problem

my userid is 1 so anyone with a 1 at the start of they userid has my miniavatar. Also a member uploaded a miniavatar userid 27 and it jst shows the default avatar, just my database doesnt like the querys ERROR: Unclosed quote @ 94
STR: '
SQL: DELETE FROM `usericons` WHERE `userid` = '1' AND `filename` = 'indifference.gif' AND `data` = 'GIF89a2 LIMIT 1

Error

SQL-query :

DELETE FROM `usericons` WHERE `userid` = '1' AND `filename` = 'indifference.gif' AND `data` = 'GIF89a2 LIMIT 1

MySQL said:


You have an error in your SQL syntax near ''GIF89a2 LIMIT 1' at line 1

Can I have the querys it install please

Zombie
05 Nov 2002, 07:38
For "Active Users" on the forum home you would use:
<img src="icon.php?userid=$userid" height="16" width="16">

For the "Who's Online" page you would use
<img src="icon.php?userid=$userinfo[userid]" height="16" width="16">

For your postbit you would use:
<img src="icon.php?userid=$post[userid]" height="16" width="16">

Hope that helps!

Nice little hack btw :)

auz1111
08 Nov 2002, 02:00
Great hack! I got it to work after a little tinkering. Make sure to tell installers to change:

<img src="../icon.php?userid=$uservariable[userid]" height="16" width="16"align="absmiddle" border="0">

to:

<img src="../icon.php?userid=$userid[userid]" height="16" width="16"align="absmiddle" border="0">

I kept getting the default icon until changing this. Thanks!

Chris M
23 Nov 2002, 13:13
Nice idea:)

Satan

ChrisLohman
02 Jan 2003, 20:12
Wow, I must have completely missed something with this hack as I can't make it work at all on 2.2.9. The install instructions left me very unclear on what to do in some instances.

So...care to help me figure out how to make this work? :nervous:

I went through the miniavatar_install.txt several times and double checked everything.

First: I don't see any edit miniavatar link in my user control panel; nor do I understand in these install instructions where that's supposed to happen. Is that part of the member.php stuff? If so, can you be more specific as to where to add this to member.php? I tried adding at the end (just before the closing php tag) and in the middle, but it made no difference.

Second: I tried entering my control panal, edition options, and then in my address bar I changed the action to miniavatar. This pulled a miniavatar upload page. I created a 16x16 flat image in photoshop that is 1kb in size. When I attempt to upload it it say the following: "the mini-avatar you attempted to upload is too large. Please limit sizes to 2 KB. The image you tried to upload was 0 KB"

Third:

forumhome_loggedinuser

add forumhome_loggedinuser at the very beginnign, which by default should be in front of the persons name.


All I can say after reading that is, Huh? I assume I'm editing the forumhome_loggedinuser template: what does "add forumhome_loggedinuser" translate to code wise? Did you mean to say add the <img src="icon.php?userid=$post[userid]" width="16" height="16"> into the forumhome_loggedinuser template some where?

Fourth: I see people talking about SQL errors. Did I miss some step where something was updated in SQL? I don't see any instructions to alter SQL in any way.

Fifth: The default_mini_avatar.gif is not being used. It's not replacing the ../icon.php... code with the actual image source. You can see this on my forumhome at http://www.sonsofvalor.com/community

I've installed many, many hacks from vb.org and this one looks awesome; but I'm just stumped. I can't code in PhP (thus I can't read your code to figure out what is happening) but I've been able to handle every other hack I've come across. Obviously others have made it work so my brain must just be turned off today or something.

Obviously you don't have to help so anything would be greatly appreciated.

Mystikal
02 Jan 2003, 21:17
I'm working on it.. there is something wrong with the code.. but it should be updated...

ChrisLohman
02 Jan 2003, 23:38
oh, ok thx

Christy
04 Jan 2003, 20:46
Thanks, nice job!

Savant
13 Jan 2003, 04:59
I had the same issues as ChrisLohman, gave it my best, really cool sounding hack. If anyone rewrites the instructions for us simple minded folk, I'll give it another shot :)

Christy
13 Jan 2003, 05:24
Ok, I redid the instructions so it should be a little better, I fixed some of the code stuff that was saying that the image you uploaded was too large even though it was actually smaller.

I take no credit for this, im just helping ppl to get this awesome hack installed. The instructions attached are exactly how and what I used to get mine working.

There are no SQL stuff to run as it has nothing to do with your DB.

Enjoy and let me know how it goes.

Mystikal
13 Jan 2003, 16:08
I'm sorry that I haven't had time to work on this as of late guys.. been pretty busy with school =(

Dark Jim
22 Jan 2003, 23:14
Cool hack but could you or someone else make this exactly like avatars (icon list, custom icon, custom icons in the database, post count requirement)?

Edit: Never mind, I made it myself including a store integration. Will post it here some time.

reismarktq2
16 Jun 2003, 18:56
Love the idea for this hack, but I'd prefer it if someone could code a version of it where the user wouldn't add a custom mini-avatar but would rather select one from a list pre-determined and provided by the admins... can anyone do that?

X-Fan
21 Sep 2003, 09:45
Is there any way to change this so that only admins can add mini-avatars?

FFXIOnline
21 Dec 2003, 15:22
Is there any way to change this so that only admins can add mini-avatars?
Yes, all you have to do is avoid making the member.php modification entirely, and don't add in any new templates. You'd just simply upload images to the mini/ directory that have the name of the userid of the user who you want to have that icon.

Now I'm having some troubles with my installation...
I changed it around a bit because I would like to have instead of individual users having an icon, I'd like to have an entire GROUP have the icon. This would work inside the posts because of the $post array being available (and usergroupid being a value inside that array), however - on the front page, for the little "who's online" display, it doesn't work. Obviously the $post array isn't available there so I gave $bbuserinfo a shot - well, $bbuserinfo does have the value I'm looking for, but it only gets the usergroupid variable ONCE (in my case, it's always 6, which refers to Administrator). I'm wondering if anyone knows where either the usergroupid is stored for the current user being displayed in the who's online list (on the forum home page) or where the query is for it so I can add in another query to get the usergroupid for those users.

Thanks!

snyx
30 Nov 2005, 22:03
Yes, all you have to do is avoid making the member.php modification entirely, and don't add in any new templates. You'd just simply upload images to the mini/ directory that have the name of the userid of the user who you want to have that icon.

Now I'm having some troubles with my installation...
I changed it around a bit because I would like to have instead of individual users having an icon, I'd like to have an entire GROUP have the icon. This would work inside the posts because of the $post array being available (and usergroupid being a value inside that array), however - on the front page, for the little "who's online" display, it doesn't work. Obviously the $post array isn't available there so I gave $bbuserinfo a shot - well, $bbuserinfo does have the value I'm looking for, but it only gets the usergroupid variable ONCE (in my case, it's always 6, which refers to Administrator). I'm wondering if anyone knows where either the usergroupid is stored for the current user being displayed in the who's online list (on the forum home page) or where the query is for it so I can add in another query to get the usergroupid for those users.

Thanks!

whats say a 3.5 port?

DevinM
01 Jan 2007, 01:25
perhaps for 3.6?

Shazz
01 Jan 2007, 01:27
a beta released in 2002
And he hasen't been on since 03
Really no reason to up it =\

DevinM
02 Jan 2007, 00:58
I know just useful for what I am trying to do.