Go Back   vb.org Archive > vBulletin Modifications > Archive > vB.org Archives > General > Member Archives
FAQ Community Calendar Today's Posts Search

Reply
 
Thread Tools
Details »»

Version: , by (Guest)
Developer Last Online: Jan 1970 Show Printable Version Email this Page

Version: Unknown Rating:
Released: 12-06-2000 Last Update: Never Installs: 0
 
No support by the author.

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];
}
Replace With:

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");
And Replace With:
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="";
    }
And After It, Add This:

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];
After it, add:

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");
And replace with:

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");
Go ahead and update those files, now we have to edit templates:

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>
Save That.

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">
That's it, you're all done.


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

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

Comments
  #22  
Old 12-08-2000, 01:11 PM
Guest
 
Posts: n/a
Default

You either set it to allow the user to UL an image OR you set it to allow them to type in an URL, not both at the same time. It is all a moot point as John has put Avatars in v2.0.
Reply With Quote
  #23  
Old 12-08-2000, 01:26 PM
Guest
 
Posts: n/a
Default

You're misunderstanding me. I'm not refusing the Avatar hack just 'cause I thought it doesn't have the img URL or 'cause it's too heavy for my db (even if my hoster db su*). I'm refusing it as I'm not a PHP profi and dunno which parts to cut/use/delete/etc.
Anyway, the hack by JimF is just OK for me. I've only to wait as I dunno how to crop the noimage code from the Avatar hack...
Reply With Quote
  #24  
Old 12-08-2000, 01:36 PM
Guest
 
Posts: n/a
Default

Quote:
Originally posted by freddie
Perhaps you guys can't read but my hack allows you to make the user specify a link for a picture OR allow them to upload a picture OR select a picture from the server. I do really think I covered it all. Perhaps I need to put all my hacks back in my sig as I see requests for stuff I have already done 3 months ago.
How'd you guess? How did I ever fool those SAT proctors??

I think what you should have said was "Perhaps you guys didn't read past page 27 of the Avatar hack thread". Freddie, take a deep breath. Count to 10. We all feel better now, don't we?

Why didn't you mention your hack in the thread requesting this? You can read, right? If you had, I wouldn't have had to spend an afternoon working on a hack that I'll never use.

-jim

[Edited by JimF on 12-08-2000 at 11:53 AM]
Reply With Quote
  #25  
Old 12-08-2000, 06:08 PM
Guest
 
Posts: n/a
Default

Um because by the time I saw that thread you had already done it. I don't always come here every day as I am in a down period waiting for 2.0 to be released so I am not hacking 1.1.4 anymore.
Reply With Quote
  #26  
Old 12-09-2000, 12:41 AM
Guest
 
Posts: n/a
Default

Okay, cuz JimF was so kind to post the code
to have a picture under the username, without
having to install the bloated Avatar hack,
I wanted to do something back

With JimF's hack, when a user doesn't select
a picture, there's a red cross. I've fixed it


Open showthread.php

Find:

Code:
    $useremail="";
and place this under it:

Code:
    $custom_img="";
Find:

Code:
    if ($userinfo[imgurl]!="") {
      $custom_img=$userinfo[imgurl];
      eval("\$imgurl = \"".gettemplate("custom_img")."\";");
    } else {
      $custom_img="";
      $imgurl="";
    }
and replace it with:

Code:
    if ($userinfo[imgurl]!="") {
      $custom_img=($userinfo[imgurl]);
      $custom_img="<img src=\"$custom_img\" height=\"60\" width=\"60\" border=\"1\">";
      eval("\$imgurl = \"".gettemplate("custom_img")."\";");
    } else {
      $custom_img="";
      $imgurl="";
    }
Replace the 60's with the numbers you desire,
and if you don't want a border just remove the
border=\"1\" bit.

Save and Close showthread.php.

Open the postbit template

Find:

Code:
<img src="$custom_img" height="xx" width="xx">
the "xx" is what you filled in,
just search for a part of this line,
but do REPLACE THE WHOLE LINE!!

and replace it with:

Code:
$custom_img
Done

No ugly red crosses, not even with guest users

Feel free to comment, cuz this is the first time i've coded in php

Greetz.

[edit]
I've tested it on my board, and it works fine there, but i KNOW there MUST be some programming flaws in there, so if you see one, please post the fix... Thnx..
[/edit]


[Edited by X-PhoeniX on 12-11-2000 at 05:21 PM]
Reply With Quote
  #27  
Old 12-09-2000, 07:01 AM
Guest
 
Posts: n/a
Default

Tnx man!
I didn't want to disturb JimF too and was waiting for a fix.
I'm gonna test it right now and if there're bugs I'll report it into 5 mins...
Reply With Quote
  #28  
Old 12-09-2000, 01:23 PM
Guest
 
Posts: n/a
Default

Quote:
Originally posted by Cr4z33
I'm gonna test it right now and if there're bugs I'll report it into 5 mins...
so, no bugs?
Reply With Quote
  #29  
Old 12-09-2000, 01:39 PM
Guest
 
Posts: n/a
Default

[QUOTE]Originally posted by X-PhoeniX
Quote:
so, no bugs?
I could not test it atm. The table "forumpermission" is corrupted and I'm still waiting for a reply by the support...
BTW do you know the syntax to use on phpMyAdmin to fix it? I only know that I've to use isamchk as the corrupted file is "forumpermission.ISM"...
Reply With Quote
  #30  
Old 12-09-2000, 02:10 PM
Guest
 
Posts: n/a
Default

[QUOTE]Originally posted by Cr4z33
Quote:
Originally posted by X-PhoeniX
Quote:
so, no bugs?
I could not test it atm. The table "forumpermission" is corrupted and I'm still waiting for a reply by the support...
BTW do you know the syntax to use on phpMyAdmin to fix it? I only know that I've to use isamchk as the corrupted file is "forumpermission.ISM"...
too bad..

(BTW: does anyone have the fix for this irritating quote bug, as you can see? when i quote someone who has quoted someone who has quoted someone etc.. there are like 3 quotes... they suck... but back to the point )

euh.. nope, sorry... never dealed with a corrupted db be4.. can't help ya m8..
Reply With Quote
  #31  
Old 12-09-2000, 02:16 PM
Guest
 
Posts: n/a
Default

Quote:
Originally posted by X-PhoeniX
too bad..

(BTW: does anyone have the fix for this irritating quote bug, as you can see? when i quote someone who has quoted someone who has quoted someone etc.. there are like 3 quotes... they suck... but back to the point )

euh.. nope, sorry... never dealed with a corrupted db be4.. can't help ya m8..

Np, as soon as I fix the problem I'll let ya know.
Could someone tell me if I can safely delete and recreate the table "forumpermission" without troubles on the board? Note that's the test board so I'm the only user there.
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 04:18 AM.


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.04995 seconds
  • Memory Usage 2,313KB
  • Queries Executed 25 (?)
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
  • (18)bbcode_code
  • (6)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_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_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
  • 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