The Arcive of Official vBulletin Modifications Site.It is not a VB3 engine, just a parsed copy! |
|
Details »» | |||||||||||||||||||||||||
This hack allows the user to specify an image from anywhere on the internet to appear under their user name. It was initially requested here.
This is my first public hack that serves a purpose, so be gentle. It's a little rough around the edges, possibly my good friends Mike or freddie could take a look and see if I forgot anything. Here is an example: http://www.bronx-bombers.com/vb114/s...php?threadid=2 Here is the code: First, run the following SQL query to create a new field in the user table: ALTER TABLE user ADD imgurl VARCHAR (100) not null Next, open showthread.php: Find: Code:
$temps=$DB_site->query("SELECT title,template FROM template WHERE title='error_invalidid' OR title='error_nopermission' OR title='$foruminfo[rulestemplate]' OR title='forumrules' OR title='error_forumclosed' OR title='showthread_numpages' OR title='postbit_useremail' OR title='icq' OR title='aim' OR title='yahoo' OR title='postbit_homepage' OR title='postbit_profile' OR title='$usetemplatebit' OR title='firstunread' OR title='showthread_nextnewestthread' OR title='showthread_nextoldestthread' OR title='$foruminfo[headertemplate]' OR title='$foruminfo[footertemplate]' OR title='$usetemplate'"); while ($temp=$DB_site->fetch_array($temps)) { $templatecache["$temp[title]"]=$temp[template]; } Code:
$temps=$DB_site->query("SELECT title,template FROM template WHERE title='error_invalidid' OR title='error_nopermission' OR title='$foruminfo[rulestemplate]' OR title='forumrules' OR title='error_forumclosed' OR title='showthread_numpages' OR title='postbit_useremail' OR title='icq' OR title='aim' OR title='yahoo' OR title='custom_img' OR title='postbit_homepage' OR title='postbit_profile' OR title='$usetemplatebit' OR title='firstunread' OR title='showthread_nextnewestthread' OR title='showthread_nextoldestthread' OR title='$foruminfo[headertemplate]' OR title='$foruminfo[footertemplate]' OR title='$usetemplate'"); while ($temp=$DB_site->fetch_array($temps)) { $templatecache["$temp[title]"]=$temp[template]; } Find: Code:
$posts=$DB_site->query("SELECT post.dateline as dateline,post.postid as postid,post.pagetext as pagetext, post.allowsmilie as allowsmilie,post.signature AS showsignature,post.title as title, post.ipaddress as ipaddress,post.iconid as iconid,post.username as fakename, post.userid as userid, user.userid as userid,user.email as email,user.username as username, user.usertitle as usertitle,user.signature as signature,user.showemail as showemail, user.homepage as homepage,user.icq as icq,user.aim as aim,user.yahoo as yahoo, user.joindate as joindate,user.posts as posts FROM post LEFT JOIN user ON (user.userid = post.userid) WHERE post.threadid=$threadid AND visible=1 ORDER BY dateline $postorder LIMIT $limitlower,$perpage"); Code:
$posts=$DB_site->query("SELECT post.dateline as dateline,post.postid as postid,post.pagetext as pagetext, post.allowsmilie as allowsmilie,post.signature AS showsignature,post.title as title, post.ipaddress as ipaddress,post.iconid as iconid,post.username as fakename, post.userid as userid, user.userid as userid,user.email as email,user.username as username, user.usertitle as usertitle,user.signature as signature,user.showemail as showemail, user.homepage as homepage,user.icq as icq,user.aim as aim,user.yahoo as yahoo,user.imgurl as imgurl, user.joindate as joindate,user.posts as posts FROM post LEFT JOIN user ON (user.userid = post.userid) WHERE post.threadid=$threadid AND visible=1 ORDER BY dateline $postorder LIMIT $limitlower,$perpage"); Find: Code:
if ($userinfo[icq]!="") { $icqnumber=$userinfo[icq]; eval("\$icq = \"".gettemplate("icq")."\";"); } else { $icqnumber=""; $icq=""; } Code:
if ($userinfo[imgurl]!="") { $custom_img=$userinfo[imgurl]; eval("\$imgurl = \"".gettemplate("custom_img")."\";"); } else { $custom_img=""; $imgurl=""; } Save and close showthread.php. Open member.php In the "Modify Profile" function, find: Code:
$timezoneoffset=$userinfo[timezoneoffset]; Code:
$imgurl=htmlspecialchars($userinfo[imgurl]); In the "Update Profile" Section, Find: Code:
$DB_site->query("UPDATE user SET password='".addslashes($password)."',email='".addslashes($email)."', parentemail='".addslashes($parentemail)."',coppauser=$coppauser,homepage='".addslashes($homepage)." ', icq='".addslashes($icq)."',aim='".addslashes($aim)."',yahoo='".addslashes($yahoo)."', biography='".addslashes($biography)."',signature='".addslashes($signature)."',adminemail=$adminemai l, showemail=$showemail,invisible=$invisible,cookieuser=$cookieuser,daysprune=$prunedays, timezoneoffset=$timezoneoffset,emailnotification=$emailnotification WHERE userid=$userid"); Code:
$DB_site->query("UPDATE user SET password='".addslashes($password)."',email='".addslashes($email)."', parentemail='".addslashes($parentemail)."',coppauser=$coppauser,homepage='".addslashes($homepage)." ', icq='".addslashes($icq)."',aim='".addslashes($aim)."',yahoo='".addslashes($yahoo)."', biography='".addslashes($biography)."',signature='".addslashes($signature)."',adminemail=$adminemai l,imgurl='".addslashes($imgurl)."', showemail=$showemail,invisible=$invisible,cookieuser=$cookieuser,daysprune=$prunedays, timezoneoffset=$timezoneoffset,emailnotification=$emailnotification WHERE userid=$userid"); Open the "modifyprofile" template, and put the following code in there somewhere: Code:
<tr bgcolor="#DEDEDE"> <td><B><FONT face="verdana, arial, helvetica" size="2" >Custom Image URL:</font></B></td> <td><INPUT TYPE="TEXT" NAME="imgurl" VALUE="$imgurl" SIZE=30 MAXLENGTH=100></td> </tr> Open the "postbit" template, and add this wherever you want to put the image, specifying the proper height and width: Code:
<img src="$custom_img" height="xx" width="xx"> I just noticed that for users that don't specify an image, you get an red x - I'll try to fix that now. Other than that, I can't provide a lot of support, because I forgot half of what I did . -jim Show Your Support
|
Comments |
#2
|
|||
|
|||
How about setting a default image for everybody then all they have to do is change it. that way you wouldn't get a red x
|
#3
|
|||
|
|||
I could do that, but I want to have it so it only appears if there is a URL specified, like the way the homepage link is setup.
-jim |
#4
|
|||
|
|||
Quote:
BTW tnx for this great hack JimF!!!! :thumbup: |
#5
|
|||
|
|||
Quote:
Also, instead of the image I got a broken image URL linked to my board url (like "http://www.mydomain.com/forums/"). |
#6
|
|||
|
|||
Also
I noticed that the URL image cannot be saved on the profile: everytime I go back to my profile, the "Custom Image URL" field is empty. Maybe does it depend on the missing MySQL table field? |
#7
|
|||
|
|||
Is this on your site, or on my demo site?
You need to create the row in MySQL or it won't work. -jim |
#8
|
|||
|
|||
Quote:
|
#9
|
|||
|
|||
OK, le't say I made clear that the DB is still working properly. I've only a strange phpMyAdmin problem which is not reporting all tables...
Anyway, I can remember that when I inserted your MySQL command I got a confirm message that everything went fine. Now, the only thing is the fact that instead of the image I get that broken img linked to my board index... |
#10
|
|||
|
|||
There is always my Avatar hack which sets a default of no image, instructions for using it w 1.1.4 are at the end of the thread
http://www.vbulletin.com/forum/showt...?threadid=2127 |
|
|
X vBulletin 3.8.12 by vBS Debug Information | |
---|---|
|
|
More Information | |
Template Usage:
Phrase Groups Available:
|
Included Files:
Hooks Called:
|