![]() |
look over my code please avatars not displaying correctly
1 Attachment(s)
so i managed to get the userids so now im converting them to their avatar.
this code is partially working and i have been toying with it for hours with no success. this is the closest i've come in making this work. *side note* im not too good with php* heres the code i came up with after hours of digging (i know... hours, yeah pathetic) :o oh and this is on forumbit_display Code:
$lastpname = $lastpostinfo[lastposter]; https://vborg.vbsupport.ru/attachmen...1&d=1423924124 so the batman (default image) is posted where 1. there are no threads and 2. when a user doesn't have an avatar as you can see in the SS (or live on my site, in my sig) the image is not appearing in the user with no avatar, nor the last forum with no post. viewing the source i see Code:
<img src="http://dirtrif.com/avatars/drbot.gif" alt="DrBot" s="" profile="" title="DrBot"> Code:
<img src="http://dirtrif.com/" alt="" s="" profile=""> so im lost and thought id ask for help =) and happy valentines day everyone |
Here's the code that displays the avatar in the postbit:
PHP Code:
You could use that by calling $userinfo = fetch_userinfo($lastpid, FETCH_USERINFO_AVATAR), then using $userinfo in place of $this->post in the above code. One difference is that it looks like the above code allows for no avatar at all instead of giving everyone the default. Also it allows for the "viewing" user having selected the option to not see avatars. Edit: Also use $vbulletin in place of $this->registry. |
Also, for reference, here's the corresponding code from the postbit template:
Code:
<if condition="$show['avatar']"><td class="alt2"><a href="member.php?$session[sessionurl]u=$post[userid]"><img src="$post[avatarurl]" $post[avwidth] $post[avheight] alt="<phrase 1="$post[username]">$vbphrase[xs_avatar]</phrase>" border="0" /></a></td></if> |
thanks kevin, it's something. even though you lost me lol. so i took that snippit and replaced all the $this->registry 's with $vbulletin and the $this->post 's with $userinfo
I appended that code to my existing code, and like i suspected got errors. so i try'd taking out my original if condition and changed the template piece to $userinfo ? rather than $lastpav still errors, unexpected if something, my brains farting so hard right now lol. im just lost, looking over the code i mean it looks fairly simple, just alot of if elses but if its not vb template php ( $templatecode ) <if>this <else /> that</if> its close to giberish to me although something i REALLY REALLY want to learn and this seemed like a fairly easy outcome i was looking for to help get me started "learning" lol. so im assuming i can take quite a few of those if conditions out of that snippit, and maybe rename some variables so my template <if> would be to my liking, but yeah brain farts and no sleep go so well together. im gunna wrap this up with im lost, i appreciate the help though =) and maybe just maybe this will result in a cool little plugin. so have a good valentines day y'all and im passing out <3 and heres the full funked up code, that i totally ruined Code:
$lastpname = $lastpostinfo[lastposter]; |
Quote:
|
In your script you do:
PHP Code:
PHP Code:
|
i tried the empty if that resulted in all of the avatars being batman.
the end result is rly simple... well i would think it will show the last posters avatar (check) if user has no avatar it will show default avatar (half check) if no threads in forum it shows default avatar (half checked) maybe i can avoid the issue of the if user has no avatar show default by requiring a avatar at reg (theres already a mod for that) but still that doesnt solve why it doesnt display the batman pic in the very last forum =/ |
The easiest way to find out why it's not working is to debug: dump your variables and see what it contains. Now it's a guessing game.
For example, above the if statement, add: PHP Code:
|
Quote:
the result of running the dump (to big for a screenshot) Legend for dump: batman (means full default img) me (means my avatar) and the results: NULL string(126) "batman" NULL NULL string(126) "batman" string(78) "me" string(78) "me" string(126) "batman" so it looks to be correctly getting the information, and even though it gets that last batman img its not were it supposed to be as seen in the 1st post image. as for the user with no avatar (i believe is the 2nd NULL) im guessing i need an if condition for if user has avatar which i thought i was doing with: Code:
fetch_avatar_url($vbulletin->userinfo['userid']); --------------- Added [DATE]1423937537[/DATE] at [TIME]1423937537[/TIME] --------------- also i left the dump echo on my site you wont miss it (sry for the big img overlay which rly isnt hard to disable in chrome) but you can see the results starting at the top of the page http://dirtrif.com this is with the original code from the first 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. |
Quote:
Code:
Database error in vBulletin 3.8.8: 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..... |
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:
|
Quote:
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 |
Quote:
|
1 Attachment(s)
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) https://vborg.vbsupport.ru/attachmen...1&d=1423962384 (my account) with avatar set https://vborg.vbsupport.ru/attachmen...1&d=1423962398 Broken images pointing to: Code:
<img src="http://dirtrif.com/avatars/drbot.gif" alt="DrBot Profile" title="DrBot Profile"> *same as the first image* (test user and my account has an avatar) with test account avatar set https://vborg.vbsupport.ru/attachmen...1&d=1423962398 without test account avatar set *same as the first image* (test user and my account has no avatar) with test account avatar set https://vborg.vbsupport.ru/attachmen...1&d=1423962398 Broken images pointing to: Code:
<img src="http://dirtrif.com/avatars/drcustumz.gif" alt="DrCustUmz Profile" title="DrCustUmz Profile"> *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 =) |
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:
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 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. https://s3.amazonaws.com/f.cl.ly/ite...02.11%20AM.png --------------- 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: http://cl.ly/image/342s3m181z0Q/Imag...43.03%20AM.png 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']); --------------- 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'); Code:
var_dump($getlastpname); --------------- 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'); 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. |
Don't use that mod you posted above until you figure out yours first - else you won't have learned anything imho :p.
+1 to kh99 and +1 to Dave for helping! |
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 =/ |
All times are GMT. The time now is 06:46 PM. |
Powered by vBulletin® Version 3.8.12 by vBS
Copyright ©2000 - 2025, vBulletin Solutions Inc.
X vBulletin 3.8.12 by vBS Debug Information | |
---|---|
|
|
![]() |
|
Template Usage:
Phrase Groups Available:
|
Included Files:
Hooks Called:
|