Go Back   vb.org Archive > vBulletin 3 Discussion > vB3 Programming Discussions
FAQ Community Calendar Today's Posts Search

Reply
 
Thread Tools Display Modes
  #11  
Old 02-14-2015, 06:12 PM
Dr.CustUmz's Avatar
Dr.CustUmz Dr.CustUmz is offline
 
Join Date: Aug 2013
Location: USA
Posts: 647
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Quote:
Originally Posted by kh99 View Post
I still can't figure out how that code is working. It looks like there's only 2 options, it either your avatar or it's batman, so I don't see how you're getting the html you posted for the last one. Is the code you're using still what you posted in post #1?

BTW, I think what you want is $lastpavurl = fetch_avatar_url($lastpid), because using $vbulletin->userinfo['userid'] will always be your avatar.
yes still the same code as in post #1 with the edition of the dump echo, also changing that line results in a mysql error and the way i have it (yes i know youre right on userinfo userid displays current user id) but some how the way i have it, it displays the last poster avatar. (code in post #1) i can confirm this by adding an avatar to the test account and it will display proper avatars even after i flush dns hard refresh, so it is pulling the right id, and it does pull the other users avatar, just when the user has no avatar it should also be the default (batman) img.

Code:
Database error in vBulletin 3.8.8:

Invalid SQL:

		SELECT user.avatarid, user.avatarrevision, avatarpath, NOT ISNULL(customavatar.userid) AS hascustom, customavatar.dateline,
			customavatar.width, customavatar.height, customavatar.width_thumb, customavatar.height_thumb
		FROM user AS user
		LEFT JOIN avatar AS avatar ON avatar.avatarid = user.avatarid
		LEFT JOIN customavatar AS customavatar ON customavatar.userid = user.userid
		WHERE user.userid =;

MySQL Error   : You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '' at line 6
Error Number  : 1064
Request Date  : Saturday, February 14th 2015 @ 08:04:33 PM
Error Date    : Saturday, February 14th 2015 @ 08:04:34 PM
Script        : http://dirtrif.com/
Referrer      : http://dirtrif.com/news-announcements/1-dirt-rif-resurrected.html
IP Address    : 68.61.*******
Username      : DrCustUmz
Classname     : vB_Database
MySQL Version : 5.5.40-cll
thats not rly the BIG issue although would be something i would like to work right, i can get around that by forcing avatars at registration. (another addon)
the thing that gets me most is why is it pulling the data (you can see in the dump on my site) for that last forum yet in the last forum box it wont display =/


also i will add an avatar to the test account just so you can see it working correctly (last poster avatar wise) still would like the if no avatar display default img to work though.



ok so after adding the avatar to the test account, the avatar does appear correctly no matter what account / browser im on or even logged off, but i noticed in that echo dump dave had me add, it's not showing the test accounts avatar.....
Reply With Quote
  #12  
Old 02-14-2015, 06:25 PM
kh99 kh99 is offline
 
Join Date: Aug 2009
Location: Maine
Posts: 13,185
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

OK, I think I might see what's happening. The reason you're seeing the test account avatar is because the html has ?u=$lastpid. But I think what you want to do is check $lastpid before calling fetch_avatar_path(), like maybe:

PHP Code:
$lastpname $lastpostinfo[lastposter];
$getlastpname $vbulletin->db->query_first("SELECT userid FROM "TABLE_PREFIX ."user WHERE username = \"$lastpname\"");   
$lastpid $getlastpname['userid'];

require_once(
'./includes/functions_user.php');
if (
$lastpid) {
   
$lastpavurl fetch_avatar_url($lastpid);
}
else {
   
$lastpavurl '';
}

if (
$lastpavurl==''){
    
$lastpav "<img src='http://3.bp.blogspot.com/-mg71OkrgNhY/Uv9zeCV4IsI/AAAAAAAABbc/zqOph-wGgpc/s1600/Batman_avatar-e1263852269689.jpg' />";
}
else{
    
$lastpav "<a href='member.php?u=$lastpid'><img src='image.php?u=$lastpid' alt='$lastpname Profile'></a>";

Reply With Quote
  #13  
Old 02-14-2015, 06:34 PM
Dr.CustUmz's Avatar
Dr.CustUmz Dr.CustUmz is offline
 
Join Date: Aug 2013
Location: USA
Posts: 647
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Quote:
Originally Posted by kh99 View Post
OK, I think I might see what's happening. The reason you're seeing the test account avatar is because the html has ?u=$lastpid. But I think what you want to do is check $lastpid before calling fetch_avatar_path(), like maybe:

PHP Code:
$lastpname $lastpostinfo[lastposter];
$getlastpname $vbulletin->db->query_first("SELECT userid FROM "TABLE_PREFIX ."user WHERE username = \"$lastpname\"");   
$lastpid $getlastpname['userid'];

require_once(
'./includes/functions_user.php');
if (
$lastpid) {
   
$lastpavurl fetch_avatar_url($lastpid);
}
else {
   
$lastpavurl '';
}

if (
$lastpavurl==''){
    
$lastpav "<img src='http://3.bp.blogspot.com/-mg71OkrgNhY/Uv9zeCV4IsI/AAAAAAAABbc/zqOph-wGgpc/s1600/Batman_avatar-e1263852269689.jpg' />";
}
else{
    
$lastpav "<a href='member.php?u=$lastpid'><img src='image.php?u=$lastpid' alt='$lastpname Profile'></a>";

i F**K**G LOVE YOU, YOURE AMAZING AFTER ONLY 4+ HOURS OF MESSING WITH IT BEFORE ASKING FOR HELP, THEN ALL THE TIME IN HELP LOL.
that did it and i havent noticed any errors, you rock Kevin

happy valentines day!

btw i didnt just copy and paste that, i compared it to mine, took in my mistakes and learned from them (damn if statement lol) so thanks and i learned quite a bit tinkering with this what seemed to be simple addition =)

side note* if user doesnt have avatar set, it doesnt display the default image, like i have said i can get around it with forced avatars, but would rather have this working fully.... if its possible lol.

i have looked at some other avatar mods, but what i came up with was the best i could do
Reply With Quote
  #14  
Old 02-14-2015, 07:07 PM
kh99 kh99 is offline
 
Join Date: Aug 2009
Location: Maine
Posts: 13,185
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Quote:
Originally Posted by Dr.CustUmz View Post
side note* if user doesnt have avatar set, it doesnt display the default image, like i have said i can get around it with forced avatars, but would rather have this working fully.... if its possible lol.
Hmm...I don't understand why that is, because it looks like fetch_avatar_url should return an empty string in that case. Maybe you can vardump() some things and see what's happening. What does the html look like if the user has no avatar set?
Reply With Quote
  #15  
Old 02-14-2015, 11:13 PM
Dr.CustUmz's Avatar
Dr.CustUmz Dr.CustUmz is offline
 
Join Date: Aug 2013
Location: USA
Posts: 647
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

ok so i've had some time to rest, and figure out whats actually going on in this script so heres what i found out (this is with the code from post #12)

if guest (obviously no avatar set)


(my account)
with avatar set


Broken images pointing to:
Code:
<img src="http://dirtrif.com/avatars/drbot.gif" alt="DrBot Profile" title="DrBot Profile">
without avatar set
*same as the first image*


(test user and my account has an avatar)
with test account avatar set


without test account avatar set
*same as the first image*

(test user and my account has no avatar)
with test account avatar set


Broken images pointing to:
Code:
<img src="http://dirtrif.com/avatars/drcustumz.gif" alt="DrCustUmz Profile" title="DrCustUmz Profile">
without test account avatar set
*same as the first image*



so in summery, it looks like if the user is logged in, and has an avatar set it works 100%, but if logged in user doesnt set an avatar then they will see batman for everyone.
and if logged in user has an avatar and another user doesnt have an avatar and happens to be the last poster. instead of being the default img, its just a broken img

so even though i thought this was done... it looks like its still has some work to be done. still alot further then anywhere i was with it =)
Attached Images
File Type: png Capture.PNG (77.1 KB, 0 views)
File Type: png Capture1.PNG (102.1 KB, 0 views)
File Type: png Capture2.PNG (76.9 KB, 0 views)
File Type: png Capture3.PNG (108.9 KB, 0 views)
File Type: png Capture4.PNG (81.7 KB, 0 views)
Reply With Quote
  #16  
Old 02-14-2015, 11:35 PM
Dr.CustUmz's Avatar
Dr.CustUmz Dr.CustUmz is offline
 
Join Date: Aug 2013
Location: USA
Posts: 647
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

i made that default img a smaller img (for easier testing) enabled the debug above the if condition and made a test account for anyone to see whats going on, oh and removed the big under construction overlay cause yall probally thought that was annoying lol (the point of it)

i have printed
Code:
<td class="forum bordl">
				
					<a class="forumh_cat" href="forumdisplay.php?$session[sessionurl]f=$forum[forumid]"><b>$forum[title]</b></a>
				<br />	$lastpav -lastpav
<br />
$lastpavurl - lastpavur
<br />
$lastpid - lastpid
<br />
$getlastpname - lastpname
<br />
				</td>
in my forumbit lvl2 post

and have made a test account for anyone wanting to tinker with this to get a hands on (ahh i see whats going on kinda feel)
Code:
username: test
password: 123
http://dirtrif.com

feel free to post give him an avatar or w/e to see what hapens.

--------------- Added [DATE]1424001841[/DATE] at [TIME]1424001841[/TIME] ---------------

sry for the trip posts, but i havent touched this code since yesterday, the code still stands as it did in post #12 and i cant believe i didnt notice it sooner but in forum categorie's it returns an error. and yes im sure its this plugin.


--------------- Added [DATE]1424004452[/DATE] at [TIME]1424004452[/TIME] ---------------

another bump*

i was looking over the code used in postbit and looking over the tables in the DB
heres one thing i noticed:

if the user has set their avatar, it creates a row for them in the table customavatar.

so what i need is an if condition saying if lastpid is in customavatar table then show avatar, else show default.

i started messing around with this, with no luck no matter what variation i tried. looking at the function_user file and i came up with
Code:
fetch_avatar_url($vbulletin->customavatar['lastpid']);
i think im on to something (i hope lol) i know such a noob lol, but i dont want to give up on this. Im going to keep toying with this but just thought id share in the mean time =)

--------------- Added [DATE]1424004661[/DATE] at [TIME]1424004661[/TIME] ---------------

heres how my code (kind of working) stands to this point
Code:
require_once('./includes/functions_user.php'); 
$lastpname = $lastpostinfo[lastposter]; 
$getlastpname = $vbulletin->db->query_first("SELECT userid FROM ". TABLE_PREFIX ."user WHERE username = \"$lastpname\"");    
$lastpid = $getlastpname['userid']; 



var_dump($getlastpname);  
echo '<br>'; 

if ($lastpid) { 
   $lastpavurl = fetch_avatar_url($vbulletin->userinfo['userid']); 
} 
else { 
   $lastpavurl = ''; 
} 
if ($lastpavurl==''){ 
    $lastpav = "<img src='http://images.fanpop.com/images/image_uploads/Batman-avatar-batman-233977_100_100.jpg' />"; 
} 
else{ 
    $lastpav = "<a href='member.php?u=$lastpid'><img src='image.php?u=$lastpid' alt='$lastpname Profile'></a>"; 
}
the
Code:
var_dump($getlastpname);  
echo '<br>';
is only their for debugging (which I really dont quite get yet =/ but i do see result in it lol

--------------- Added [DATE]1424006931[/DATE] at [TIME]1424006931[/TIME] ---------------

another update i came up with this garbage (which doesnt work at all) but maybe just maybe it will help someone in helping me lol
Code:
require_once('./includes/functions_user.php');
$lastpname = $lastpostinfo[lastposter]; 
$getlastpname = $vbulletin->db->query_first("SELECT userid FROM ". TABLE_PREFIX ."user WHERE username = \"$lastpname\"");    
$lastpid = $getlastpname['userid'];  

$avatarinfo = $vbulletin->db->query_first_slave("SELECT user.avatarid FROM " . TABLE_PREFIX . "user AS user
		LEFT JOIN " . TABLE_PREFIX . "avatar AS avatar ON avatar.avatarid = user.avatarid
		LEFT JOIN " . TABLE_PREFIX . "customavatar AS customavatar ON customavatar.userid = user.userid
		WHERE user.userid = \"$lastpid\"");
	
var_dump($avatarinfo);  
echo '<br>'; 	
		
		if (!empty($avatarinfo))
		{
			$lastpavurl = fetch_avatar_url($vbulletin->userinfo['userid']); 
		}
		else
		{
			$lastpavurl = '';
		}

if ($lastpavurl==''){ 
    $lastpav = "<img src='http://images.fanpop.com/images/image_uploads/Batman-avatar-batman-233977_100_100.jpg' />"; 
} 
else{ 
    $lastpav = "<a href='member.php?u=$lastpid'><img src='image.php?u=$lastpid' alt='$lastpname Profile'></a>"; 
}
so what im TRYING to get it to do is check if there is a table row for the lastpid under customavatar table, if not then it will display the default image else use the image.

am i thinking about this the right way? is that a good start? wasnt there a plugin that already did this lmao.

--------------- Added [DATE]1424007806[/DATE] at [TIME]1424007806[/TIME] ---------------

well shit -_-
https://vborg.vbsupport.ru/showthread.php?t=269031
and html/css is what im pro with, so adapting it would be no issue

BUT BUT BUT!
i would still like to get this functional (its end result would be the same) but the method completly different, and this is more of a learning curve for me, so it is something i would like to finish since i (we) started just to be able to say it was completed.
Reply With Quote
  #17  
Old 02-19-2015, 03:34 AM
TheLastSuperman's Avatar
TheLastSuperman TheLastSuperman is offline
Senior Member
 
Join Date: Sep 2008
Location: North Carolina
Posts: 5,844
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Don't use that mod you posted above until you figure out yours first - else you won't have learned anything imho .

+1 to kh99 and +1 to Dave for helping!
Reply With Quote
3 благодарности(ей) от:
blind-eddie, Dr.CustUmz, Max Taxable
  #18  
Old 02-21-2015, 09:25 PM
Dr.CustUmz's Avatar
Dr.CustUmz Dr.CustUmz is offline
 
Join Date: Aug 2013
Location: USA
Posts: 647
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

kind of past that point lol, but its not on my live site =)

I would LOVE to get this working (even took a look at the guts of the mod i mentioned) but I'm still lost =/
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 07:53 AM.


Powered by vBulletin® Version 3.8.12 by vBS
Copyright ©2000 - 2024, vBulletin Solutions Inc.
X vBulletin 3.8.12 by vBS Debug Information
  • Page Generation 0.08926 seconds
  • Memory Usage 2,312KB
  • Queries Executed 14 (?)
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
  • (1)ad_showthread_firstpost
  • (1)ad_showthread_firstpost_sig
  • (1)ad_showthread_firstpost_start
  • (9)bbcode_code
  • (2)bbcode_php
  • (3)bbcode_quote
  • (1)footer
  • (1)forumjump
  • (1)forumrules
  • (1)gobutton
  • (1)header
  • (1)headinclude
  • (1)navbar
  • (3)navbar_link
  • (120)option
  • (1)pagenav
  • (1)pagenav_curpage
  • (1)pagenav_pagelink
  • (8)post_thanks_box
  • (3)post_thanks_box_bit
  • (8)post_thanks_button
  • (1)post_thanks_javascript
  • (1)post_thanks_navbar_search
  • (1)post_thanks_postbit
  • (8)post_thanks_postbit_info
  • (8)postbit
  • (5)postbit_attachment
  • (8)postbit_onlinestatus
  • (8)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
  • fetch_musername
  • post_thanks_function_fetch_thanks_end
  • post_thanks_function_thanked_already_start
  • post_thanks_function_thanked_already_end
  • postbit_imicons
  • bbcode_parse_start
  • bbcode_parse_complete_precache
  • bbcode_parse_complete
  • postbit_display_complete
  • post_thanks_function_can_thank_this_post_start
  • postbit_attachment
  • post_thanks_function_fetch_thanks_bit_start
  • post_thanks_function_show_thanks_date_start
  • post_thanks_function_show_thanks_date_end
  • post_thanks_function_fetch_thanks_bit_end
  • post_thanks_function_fetch_post_thanks_template_start
  • post_thanks_function_fetch_post_thanks_template_end
  • pagenav_page
  • pagenav_complete
  • tag_fetchbit_complete
  • forumrules
  • navbits
  • navbits_complete
  • showthread_complete