Version: 1.00, by Velocd
Developer Last Online: Nov 2023
Version: 3.0.0
Rating:
Released: 04-09-2004
Last Update: Never
Installs: 100
No support by the author.
In vBulletin 3 there is an option for members to upload a profile picture. This hack provides more incentive for members to upload their picture, as it integrates a gallery to browse them all. :up:
In addition to browsing profile pictures, there is an option for viewing signatures. This comes in handy, for you don't have to browse through each individual member. Also, a "edit signature" link is provided for moderators, for fast access to editing signatures that aren't in accordance with your rules.
Other Features
Require pictures to be approved in order to be visible. You can exempt specified usergroups from this.
Thumbnails are generated for profile pictures. You must have GD installed and enabled via the AdminCP options page.
For more insight, refer to the attached screenshots, or install it!
Upgrade to 2.0
Redo steps 7-8, 11-12, 19-20, 26, 27, and 34
Revert the template "modifyprofilepic", and do steps 29-32
Run the following queries:
[sql]
ALTER TABLE `customprofilepic` ADD disapproved smallint(5) not null default'0';
ALTER TABLE `customprofilepic` ADD reason varchar(100) not null;
[/sql]
Notes
This hack does not support uploading multiple images per account.
Profile thumbnail sizes are defined by the attachment thumbnail sizes. So modify the attachment thumbnail sizes in your AdminCP options page if you wish to change the profile picture thumbnail sizes. Be sure to run "re-generate thumbnails" via the vB3 Member Album -> Approve Images" page.
Profile picture sizes (not thumbnails) are defined for each usergroup. Modify a usergroup via AdminCP to change the dimensions members under that group are allowed to have for profile pictures.
3rd Party Add-ons
Pseudomizer has posted a migration script that will transfer your files from my old vB2 Member Photo to the correct tables in this vB3 hack. Click here to view.
Pseudomizer also posted a portal-integration allowing you to display a random profile picture on your portal. Click here to view.
Review the thread. I've mentioned many a times I don't plan to build add-ons for this hack.
No multiple images, no commenting system, yadda yadda.
You are free to do so yourself.
hehe u can do the personals... i would be glad to purchase it from you (u can make it commercial! I haven seen any personals yet... to integrate into vb3)
The only disadvantage will be that all comments will be cut off after 40 characters because the new entry field in the user options is limited to 40 characters which was 255 characters before.
Well, the HTML input field "maxlength" attribute does little to actually restrict the data that can be passed.
The comment field in the table customprofilepic is varchar(255), meaning it can hold up to 255 characters. I only set the INPUT maxlength value to 40, as I thought that was suitable for this hack.
Well, the HTML input field "maxlength" attribute does little to actually restrict the data that can be passed.
The comment field in the table customprofilepic is varchar(255), meaning it can hold up to 255 characters. I only set the INPUT maxlength value to 40, as I thought that was suitable for this hack.
Both can be changed.
Correct. My script just cuts off every character after the 40th one. So if someone needs to go beyond the 40 characters he can just uncomment this cut function and he will have all 255 characters available assuming that he changes the input field from 40 to 255.
But no one is interested in this script so far. I am fine with the 40 characters.
If you want, I can place the script as an attachment in the first post, so people will see it more easily.
Defiantly a good incentive for people to upgrade if they currently have the old member gallery.
Hello Velocd,
sorry for the delay but i implemented some small bugfixes into this script and made it more userfriendly with screen outputs.
I have added an installation instruction into the ZIP file how to install it and how to run it. Please note that i highly recommend all users who want to use this script to backup their existing database BEFORE they run this script.
i just have created another add-on for your hack. What it does ? It implements a random picture on your portal ( tested with vbindex 3.0.0 Build 5 ).
What do you have to do ? It's very simple. Here are the instructions:
Open your vbindex.php from your webroot directory and do the following:
vbindex.php:
Find:
PHP Code:
// #############################################################################
// unset vB's default template vars, do this at the end so any standard error
// or redirect calls still have the vars for use in the templates.
unset($header, $footer, $navbar, $headinclude);
Above add:
PHP Code:
// ############## PROCESS RANDOM PIC #######################################
$images = $DB_site->query("
SELECT user.userid, user.username, customprofilepic.profilepicdata
FROM ".TABLE_PREFIX."customprofilepic
LEFT JOIN ".TABLE_PREFIX."user USING (userid)
WHERE visible=1 and user.userid = $randval ");
$rows = $DB_site->num_rows($images);
if (!$rows)
{
// do nothing because i assume that you have at least 1 picture in your database
}
else
{
$image = $DB_site->fetch_array($images);
$output_pic = "<A HREF=\"./forum/member.php?u=$randval\">$image[username]<BR><BR>";
$profilepic = 1;
$output_pic .= "<img src=\"./forum/image.php?u=$randval&type=pthumb\" border=\"0\" width=\"150\"
height=\"150\"/></A>";
}
}
Templates:
Open vbindex_customblock_3:
Find:
PHP Code:
Block $box Content
Replace this with:
PHP Code:
$output_pic
Now enable your custombox_3 in your vboptions in your ACP and all set all done. Have fun !!!
P.S.: If you are using another portal software then you could adopt this script for your use. You just have to find the correct template from your portal software and insert the variable for the output.
Eventually got it going after having a fiddle with my database. It really is quite difficult to deal with! Thanks for this hack - keep uo the excellent work.
i just have created another add-on for your hack. What it does ? It implements a random picture on your portal ( tested with vbindex 3.0.0 Build 5 ).
What do you have to do ? It's very simple. Here are the instructions:
Open your vbindex.php from your webroot directory and do the following:
vbindex.php:
Find:
PHP Code:
// #############################################################################
// unset vB's default template vars, do this at the end so any standard error
// or redirect calls still have the vars for use in the templates.
unset($header, $footer, $navbar, $headinclude);
Above add:
PHP Code:
// ############## PROCESS RANDOM PIC #######################################
$images = $DB_site->query("
SELECT user.userid, user.username, customprofilepic.profilepicdata
FROM ".TABLE_PREFIX."customprofilepic
LEFT JOIN ".TABLE_PREFIX."user USING (userid)
WHERE visible=1 and user.userid = $randval ");
$rows = $DB_site->num_rows($images);
if (!$rows)
{
// do nothing because i assume that you have at least 1 picture in your database
}
else
{
$image = $DB_site->fetch_array($images);
$output_pic = "<A HREF=\"./forum/member.php?u=$randval\">$image[username]<BR><BR>";
$profilepic = 1;
$output_pic .= "<img src=\"./forum/image.php?u=$randval&type=pthumb\" border=\"0\" width=\"150\"
height=\"150\"/></A>";
}
}
Templates:
Open vbindex_customblock_3:
Find:
PHP Code:
Block $box Content
Replace this with:
PHP Code:
$output_pic
Now enable your custombox_3 in your vboptions in your ACP and all set all done. Have fun !!!
P.S.: If you are using another portal software then you could adopt this script for your use. You just have to find the correct template from your portal software and insert the variable for the output.
Cheers,
I tried this on vBadvanced and although it worked great the query count went through the roof on the homepage.
I tried this on vBadvanced and although it worked great the query count went through the roof on the homepage.
Oh oh. Thanks for this hint. This was a quick and dirty implementation for a request. I did not thought about performance because i tested in on my test forum. :disappointed:
But you are right. I will change the PHP code and i will have a look into this how i could reduce it to 1 or 0 queries. :nervous: