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: 10-26-2000 Last Update: Never Installs: 0
 
No support by the author.

This optimization just may help you out more than the forumdisplay did! Check it out...

edit global.php (the one in /forum, not the admin one)

find:

Code:
// ###################### Start makeforumjump #######################
Delete everything between that line and this line:

Code:
// ###################### Start countchar #######################
In it's place put this:

Code:
function makeforumjump()
{
  // this generates the jump to box
  global $DB_site,$forumid,$optionselected,$usecategories, $jumpforumid,$jumpforumtitle, $jumpforumbits,$curforumid;
  global $hideprivateforums,$defaultselected, $forumjump,$bbuserid,$bbusergroupid;

  if ($forumid!="")
  {
     $curforumid=$forumid;
  }   
  else
  {
     if ($threadid!="")
     {
        $getforumid=$DB_site->query_first("SELECT forumid FROM thread WHERE threadid=$threadid");
        $curforumid=$getforumid[forumid];
     }
  }  


  $forums=$DB_site->query("SELECT category.categoryid, category.title AS categorytitle,
                                     forumid, forum.title AS forumtitle
                              FROM category
                              LEFT JOIN forum ON (category.categoryid = forum.categoryid)
                              WHERE category.displayorder<>0 AND forum.displayorder <> 0 AND active=1
                              ORDER BY category.displayorder, forum.displayorder");
  $firstcat = 0;
  while ($forum=$DB_site->fetch_array($forums))
  {
     $currentcat = $forum[categoryid];
     if ($usecategories == 1)
     {
         $optionselected="";        
         if ($firstcat != $currentcat) // Print Category
         {
            $firstcat = $forum[categoryid];
            // This creates our "blank line" in the dropdown
            $jumpforumid="";   
            $jumpforumtitle="";
            eval("\$jumpforumbits .= \"".gettemplate("jumpforumbit")."\";");
            $jumpforumid="cat$forum[categoryid]";
            $jumpforumtitle="Category: $forum[categorytitle]";
            eval("\$jumpforumbits .= \"".gettemplate("jumpforumbit")."\";");
            $jumpforumid="";
            $jumpforumtitle="--------------------";
            eval("\$jumpforumbits .= \"".gettemplate("jumpforumbit")."\";");
         }
     } 

     if ($hideprivateforums==1)    
     {    
        $getperms=getpermissions($bbuserid,$bbusergroupid,$forum[forumid]);    
     }       
     else            
     {    
        $getperms[canview]=1;    
     }    
     if ($getperms[canview]==1)    
     {    
        $jumpforumid=$forum[forumid];    
        $jumpforumtitle="  $forum[forumtitle]";    
        if ($curforumid==$jumpforumid)    
        {    
           $optionselected="selected";    
           $selectedone=1;    
        }    
        eval("\$jumpforumbits .= \"".gettemplate("jumpforumbit")."\";");    
     }    
  }
  if ($selectedone!=1)
  {
     $defaultselected="selected";
  }
  eval("\$forumjump = \"".gettemplate("forumjump")."\";");
}
For the record the current forumjump retrieves a list of categories. Then for each record in that result set it runs a query of the forums that belong to that category. Have 50 categories, you have 51 queries. Now you would have 2. We still need to do something about that "getperms" function as it will run a query each time per forum. How about we retrieve that information along with the bbusername, bbpassword, bbuserid and have it available instead of constantly retrieveing it all the time. Just a thought.

[Edited by Ed Sullivan on 10-27-2000 at 05:45 PM]

Show Your Support

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

Comments
  #2  
Old 10-26-2000, 10:21 PM
Guest
 
Posts: n/a
Default

cool.. the forumdisplay one really helped me out ALOT ... by any chance you know if any of the hacks would of changed it ?
Reply With Quote
  #3  
Old 10-26-2000, 10:21 PM
Guest
 
Posts: n/a
Default

I don't think any hacks would have changed this.

Also don't get upset at me not releasing the calendar hack if I'm spending time optimizing queries

[Edited by rangersfan on 10-26-2000 at 07:26 PM]
Reply With Quote
  #4  
Old 10-26-2000, 10:34 PM
Guest
 
Posts: n/a
Default

Rangersfan well done!
Reply With Quote
  #5  
Old 10-26-2000, 10:42 PM
Guest
 
Posts: n/a
Default

i added it on my test forum i got an error

Quote:
Parse error: parse error, expecting `','' or `';'' in /path/to/global.php on line 550

Fatal error: Call to a member function on a non-object in /path/to/global.php on line 349
Reply With Quote
  #6  
Old 10-26-2000, 10:47 PM
Guest
 
Posts: n/a
Default

You know what? If I edit the post it is fine, but if you look where it says

curfor umid;

The forum has inserted a space from the damned wordwrap bug.

You can dl it here ->

http://www.hedgehogwheels.com/hacks/...timization.txt
Reply With Quote
  #7  
Old 10-26-2000, 11:02 PM
Guest
 
Posts: n/a
Default

Wow this sounds great. I added it to my forums.

I look forward to more optimizations...if it keeps up maybe I won't need to buy Sybase or another databae solution.

Thanks rangersfan. Do you have any other optimizations in mind or planned?
Reply With Quote
  #8  
Old 10-26-2000, 11:03 PM
Guest
 
Posts: n/a
Default

thanks i downloaded the txt one you posted and it works great on my test and live vBs
Reply With Quote
  #9  
Old 10-26-2000, 11:19 PM
Guest
 
Posts: n/a
Default

Another one?

Cramed for time right now, but is this one similar to:
http://www.vbulletin.com/forum/showt...?threadid=2985

Or does it improve a different area. I'm assuming its different, since you had posted in the other thread before, but don't have the time to run through the code atm.

Keep 'em coming!
Reply With Quote
  #10  
Old 10-26-2000, 11:28 PM
Guest
 
Posts: n/a
Default

Oh it achieves the same but mine makes a hell of a lot more sense. I posted alot of questions about errors and such with his hack and he never responded.

In reality, someone on vbulletin.org asked for an optimization of forumjump and I had forgot fodder had made one.

[Edited by rangersfan on 10-26-2000 at 08:30 PM]
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 11:07 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.04148 seconds
  • Memory Usage 2,270KB
  • Queries Executed 23 (?)
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
  • (3)bbcode_code
  • (1)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
  • (2)pagenav_pagelink
  • (10)post_thanks_box
  • (10)post_thanks_button
  • (1)post_thanks_javascript
  • (1)post_thanks_navbar_search
  • (10)post_thanks_postbit_info
  • (9)postbit
  • (10)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