Go Back   vb.org Archive > Community Discussions > Modification Requests/Questions (Unpaid)
  #1  
Old 04-06-2004, 05:43 AM
Sidewindr Sidewindr is offline
 
Join Date: Oct 2002
Location: Australia
Posts: 174
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default Random Child Forum Display Order ?

I modified the code in vb2 to display child forums in a particular forum in a random order.

How can I do this in vb3 ??
Reply With Quote
  #2  
Old 04-10-2004, 03:20 AM
Sidewindr Sidewindr is offline
 
Join Date: Oct 2002
Location: Australia
Posts: 174
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

I did this previously by hacking the forumdisplay.php where the SQL query was done to retrieve the child forums. I cannot really find where in the vB3 code this is.. Can someone PLEASE help me?? *beg*

Code:
// display sub forums
$permissions = $getperms;
//Forum info
//// BEGIN MODIFICATION Random Forum display for Sponsor Forum
if ($forumid == "40") {
  $forums=$DB_site->query('SELECT * FROM forum WHERE active=1 ORDER BY RAND()');
} else {
  $forums=$DB_site->query('SELECT * FROM forum WHERE displayorder<>0 AND active=1 ORDER BY parentid,displayorder,forumid');
}
//// END MODIFICATION Random Forum display for Sponsor Forum
Reply With Quote
  #3  
Old 04-10-2004, 05:52 AM
Sidewindr Sidewindr is offline
 
Join Date: Oct 2002
Location: Australia
Posts: 174
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

I managed to get it working .. with a minor hitch however.

I modified "includes/functions_forumlist.php" as below.
The problem I now have is for all of the childeren of forumid #40 I have to assign them display orders in order for them to become random. If they all have a display order of "1" then they list in order of the DB tables. Is it possible to get this to work without having to put incrementing display orders in for each of the childeren forums??

ORIGINAL CODE
Code:
        // do some sorting (instead of sorting with MySQL and causing a filesort)
        foreach($iforumcache AS $parentid => $devnull)
        {
                ksort($iforumcache["$parentid"]); // sort by display order
        }
        ksort($iforumcache); // sort by parentid (not actually sure if this is necessary)
NEW CODE
Code:
        // do some sorting (instead of sorting with MySQL and causing a filesort)
        foreach($iforumcache AS $parentid => $devnull)
        {
                if ($parentid == 40) {
                        srand ((float)microtime()*1000000);
                        shuffle($iforumcache["$parentid"]);
                } else {
                        ksort($iforumcache["$parentid"]); // sort by display order
                }
        }
        ksort($iforumcache); // sort by parentid (not actually sure if this is necessary)
Reply With Quote
Reply

Thread Tools
Display Modes

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 10:08 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.03791 seconds
  • Memory Usage 2,171KB
  • 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
  • (3)bbcode_code
  • (1)footer
  • (1)forumjump
  • (1)forumrules
  • (1)gobutton
  • (1)header
  • (1)headinclude
  • (1)navbar
  • (3)navbar_link
  • (120)option
  • (3)post_thanks_box
  • (3)post_thanks_button
  • (1)post_thanks_javascript
  • (1)post_thanks_navbar_search
  • (3)post_thanks_postbit_info
  • (3)postbit
  • (3)postbit_onlinestatus
  • (3)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