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

Reply
 
Thread Tools Display Modes
  #1  
Old 03-04-2005, 04:27 AM
altsounds altsounds is offline
 
Join Date: Dec 2004
Posts: 88
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default making buddylist multipage

Hi guys,

I am severely modifying my vbulletin and would love to do one thing. I have used and modified a hack that was on here to show the buddylist of that user on their profile for all to see. Now I am not a coder of any means so I'm sure the code is not the greatest but the problem this whole thing has right now is that if a user has more than 8 buddies the page keeps growing down, messing up my webpage layout.

I have to things that I would like to do with this and need you guys help in coding it. They are:

1. After 8 buddies have been shown a $pagenav will come up with the ability to click next page and see 8 more buddies.

2. Instead of displaying the buddies alphabetically I would love it if it would be displayed randomly thus making it easier to find new buddies and their profiles to look @.

This is the code that I have right now in member.php that displays the buddylist in the profile and I just call $buddyavatar within the MemberInfo Template to show it:

$userinfo = verify_id('user', $userid, 1, 1, 15);

$whichlist = "buddylist";
// (Dis)Likes
$outuserids = array();
$outuserids = explode(' ', trim($userinfo[$whichlist]));
if (trim($userinfo[$whichlist]) != "") {
$outusers = $DB_site->query("SELECT ".TABLE_PREFIX."user.username,".TABLE_PREFIX."user .userid,".TABLE_PREFIX."userte xtfield.".$whichlist." FROM
".TABLE_PREFIX."user,".TABLE_PREFIX."usertextf ield WHERE
".TABLE_PREFIX."user.userid = ".TABLE_PREFIX."usertextfield.userid AND
".TABLE_PREFIX."user.userid IN (".implode(',',$outuserids).")
ORDER BY username");
while ($outuser = $DB_site->fetch_array($outusers)) {
if ($outuser[avatarurl]!= ""){$outuser[avatarurl] = fetch_avatar_url($outuser['userid']);
$buddyavatar .= ""<tr valign=bottom><td class=alt1 width=35%><a href=\"$vboptions[bburl]/member.php?u=$outuser[userid]\"><img src=\"image.php?u=$outuser[userid]image.php?u=$userinfo[userid]&amp;type=profile\" border=0 height=50></a></td><td class=alt2 width=35%><a class=\"smallfont\" href=\"$vboptions[bburl]/member.php?u=$outuser[userid]\"/>$outuser[username]</a></td></tr>$pagenav";

$outuserlist .= "<a class=\"smallfont\" href=\"$vboptions[bburl]/member.php?u=$outuser[userid]\"/>$outuser[username]</a>";

}
else {$outuser[avatarurl] = fetch_avatar_url($outuser['userid']);}
$buddyavatar .= "<tr valign=bottom><td class=alt1 width=35%><a href=\"$vboptions[bburl]/member.php?u=$outuser[userid]\"><img src=\"image.php?u=$outuser[userid]image.php?u=$userinfo[userid]&amp;type=profile\" border=0 height=50></a></td><td class=alt2 width=35%><a class=\"smallfont\" href=\"$vboptions[bburl]/member.php?u=$outuser[userid]\"/>$outuser[username]</a></td></tr>";

$outuserlist .= "<td class=alt2 width=35%><a class=\"smallfont\" href=\"$vboptions[bburl]/member.php?u=$outuser[userid]\"/>$outuser[username]</a></td></tr>";

}
}

Any help you can provide coding these two additions to this already existing code would be magical.

I look forward to your help.

Chris
Reply With Quote
  #2  
Old 03-04-2005, 10:30 AM
sabret00the's Avatar
sabret00the sabret00the is offline
 
Join Date: Jan 2003
Location: London
Posts: 5,268
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

that hack you're using needs optimising i know cos i was gonna use it, but anyway you need to add a limit to the main query with the pagenav data
Reply With Quote
  #3  
Old 03-04-2005, 11:34 AM
altsounds altsounds is offline
 
Join Date: Dec 2004
Posts: 88
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Can you give me some more details please??? I understand what you mean from above, but how does that translate into physical code?? Excuse me I'm a PHP newbie.

Chris
Reply With Quote
  #4  
Old 03-07-2005, 02:07 AM
altsounds altsounds is offline
 
Join Date: Dec 2004
Posts: 88
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Anyone?
Reply With Quote
  #5  
Old 03-07-2005, 10:48 AM
sabret00the's Avatar
sabret00the sabret00the is offline
 
Join Date: Jan 2003
Location: London
Posts: 5,268
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

ok let me find an example of the code you need.

taken straight from some code i'm working on.

you'd need to set your pagenav variables i.e.
PHP Code:
    // ###################### pagenav
    
$page iif($page 1"1"intval($page));
    
$totalposts $grps_showgroup['totalposts'];
    
$currentlocation "viewthread.php?$session[sessionurl]g=$groupid";
    
$perpage intval($vboptions['grpspostsperpage']);
    
$pagenumber $page;
    
$upperlimit = ($page $perpage);
    
$final_calculations = ($upperlimit $perpage); 
then you'd need to make sure that the query realises the code (based on the code of the hack you're using)
PHP Code:
    $inusers $DB_site->query("
                                    SELECT user.username, user.userid, usertextfield." 
$whichlist "
                                    FROM " 
TABLE_PREFIX "user AS user, " TABLE_PREFIX "usertextfield AS usertextfield
                                    WHERE user.userid = usertextfield.userid AND FIND_IN_SET('" 
$userinfo[userid] . "', 
                                    REPLACE(usertextfield." 
$whichlist ", ' ', ',')) > 0
                                    ORDER BY user.username
                                    LIMIT 
$final_calculations$perpage
                                "
); 
Reply With Quote
  #6  
Old 03-08-2005, 04:52 PM
altsounds altsounds is offline
 
Join Date: Dec 2004
Posts: 88
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

I really hate to do this but I am not a PHP coder by any means. Is there anyway you can demostrate your example in the example code that I initially posted??

What you put makes sense but making that work in this script I have no idea how to do it.

Thanks so much for your continued help.
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 09:59 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
  • Page Generation 0.06299 seconds
  • Memory Usage 2,222KB
  • Queries Executed 11 (?)
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
  • (2)bbcode_php
  • (1)footer
  • (1)forumjump
  • (1)forumrules
  • (1)gobutton
  • (1)header
  • (1)headinclude
  • (1)navbar
  • (3)navbar_link
  • (120)option
  • (6)post_thanks_box
  • (6)post_thanks_button
  • (1)post_thanks_javascript
  • (1)post_thanks_navbar_search
  • (6)post_thanks_postbit_info
  • (6)postbit
  • (6)postbit_onlinestatus
  • (6)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
  • postbit_imicons
  • bbcode_parse_start
  • bbcode_parse_complete_precache
  • bbcode_parse_complete
  • postbit_display_complete
  • post_thanks_function_can_thank_this_post_start
  • tag_fetchbit_complete
  • forumrules
  • navbits
  • navbits_complete
  • showthread_complete