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 11-05-2007, 06:49 AM
Booost This Booost This is offline
 
Join Date: May 2004
Posts: 35
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default Global Sort Order, Override?

Hey guys, looking for a little programming help. I am trying to edit the forumdisplay.php to make all my forums/threads/etc show up alphabetical order, descending order (a,b,c,d,e,.,.,.).

I have located the code, just unsure what changes need to be made? There seems to be 2 different default sort options in the code?

PHP Code:
    // default sorting methods
    
if (empty($sortfield))
    {
        
$sortfield $foruminfo['defaultsortfield']; <-- Edit?
    }
    if (empty(
$vbulletin->GPC['sortorder']))
    {
        
$vbulletin->GPC['sortorder'] = $foruminfo['defaultsortorder'];  <-- Edit?
    }

    
// look at sorting options:
    
if ($vbulletin->GPC['sortorder'] != 'asc')
    {
        
$sqlsortorder 'DESC';
        
$order = array('desc' => 'selected="selected"');
        
$vbulletin->GPC['sortorder'] = 'desc';
    }
    else
    {
        
$sqlsortorder '';
        
$order = array('asc' => 'selected="selected"');
    }

    switch (
$sortfield)
    {
        case 
'title':
            
$sqlsortfield 'thread.title';
            break;
        case 
'lastpost':
            
$sqlsortfield 'lastpost';
            break;
        case 
'replycount':
        case 
'views':
        case 
'postusername':
            
$sqlsortfield $sortfield;
            break;
        case 
'voteavg':
            if (
$foruminfo['allowratings'])
            {
                
$sqlsortfield 'voteavg';
                break;
            }
        case 
'dateline':
            
$sqlsortfield 'thread.dateline';
            break;
        
// else, use last post
        
default:
            
$handled false;
            (
$hook vBulletinHook::fetch_hook('forumdisplay_sort')) ? eval($hook) : false;
            if (!
$handled)
            {
                
$sqlsortfield 'lastpost';  <-- Edit?
                
$sortfield 'lastpost';  <-- Edit?
            } 
I think i need to change all or just one/two of the options highlighted, just unsure what to change them to? Any help would be appreciated.

I did a lot of experimentation buy I only got as far as sorting them in ascending order (backwards, e,d,c,b,a). I am a newb, forgive me.
Reply With Quote
  #2  
Old 11-05-2007, 12:59 PM
Analogpoint's Avatar
Analogpoint Analogpoint is offline
 
Join Date: Feb 2007
Posts: 656
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Just edit your forum and set the default sort field to 'Thread Title'.
Reply With Quote
  #3  
Old 11-05-2007, 05:19 PM
Booost This Booost This is offline
 
Join Date: May 2004
Posts: 35
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Quote:
Originally Posted by Analogpoint View Post
Just edit your forum and set the default sort field to 'Thread Title'.
I know about this but I am not going to go back and change it for a couple hundred forums. I prefer to do it this way. Can you help?
Reply With Quote
  #4  
Old 11-05-2007, 06:26 PM
Analogpoint's Avatar
Analogpoint Analogpoint is offline
 
Join Date: Feb 2007
Posts: 656
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Sure, you could do it by editing the file, or with a plugin, but it's going to be a lot easier to just run the following 2 lines (as separate SQL queries) (vB ACP -> Maintenance -> Execute SQL Query)

[sql]UPDATE forum SET defaultsortfield = 'title'[/sql]

[sql]UPDATE forum SET defaultsortorder = 'asc'[/sql]

Then run "Rebuild Forum Information" in ACP -> Maintenance -> Update Counters.
Reply With Quote
  #5  
Old 11-06-2007, 01:03 AM
Booost This Booost This is offline
 
Join Date: May 2004
Posts: 35
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Quote:
Originally Posted by Analogpoint View Post
Sure, you could do it by editing the file, or with a plugin, but it's going to be a lot easier to just run the following 2 lines (as separate SQL queries) (vB ACP -> Maintenance -> Execute SQL Query)

[sql]UPDATE forum SET defaultsortfield = 'title'[/sql]

[sql]UPDATE forum SET defaultsortorder = 'asc'[/sql]

Then run "Rebuild Forum Information" in ACP -> Maintenance -> Update Counters.
Thanks but is this reversible? I want a solution that is completely reversible if need be. I would prefer to edit the file whereas if I would like to change it all I have to do is upload the original.

To make these queries reversable i would just have to change it to

[sql]UPDATE forum SET defaultsortfield = 'lastpost'[/sql]

[sql]UPDATE forum SET defaultsortorder = 'desc'[/sql]

Correct?
Reply With Quote
  #6  
Old 11-06-2007, 01:34 PM
Analogpoint's Avatar
Analogpoint Analogpoint is offline
 
Join Date: Feb 2007
Posts: 656
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Quote:
Originally Posted by Booost This View Post
To make these queries reversable i would just have to change it to

[sql]UPDATE forum SET defaultsortfield = 'lastpost'[/sql]

[sql]UPDATE forum SET defaultsortorder = 'desc'[/sql]

Correct?
That's correct, that would set them back to the default vB order, where the threads with new posts are on top.
Reply With Quote
  #7  
Old 11-06-2007, 03:11 PM
Booost This Booost This is offline
 
Join Date: May 2004
Posts: 35
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Quote:
Originally Posted by Analogpoint View Post
That's correct, that would set them back to the default vB order, where the threads with new posts are on top.
Thank you very much, I executed the queries and rebuilt the forum info and it seems to have worked, is there any way to override this in one or two forums back to sort by last post? (DESC).

I tried to just set the forum in the forum manager but it didn't work.
Reply With Quote
  #8  
Old 11-06-2007, 03:22 PM
Analogpoint's Avatar
Analogpoint Analogpoint is offline
 
Join Date: Feb 2007
Posts: 656
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Quote:
Originally Posted by Booost This View Post
Thank you very much, I executed the queries and rebuilt the forum info and it seems to have worked, is there any way to override this in one or two forums back to sort by last post? (DESC).

I tried to just set the forum in the forum manager but it didn't work.
It should work, I just tested it. In the Forum Manager, edit the forum in question, and set the 'Default Sort Field' to Last Post Time, and set the 'Default Sort Order' to Descending. Then save the forum.
Reply With Quote
  #9  
Old 06-01-2008, 08:59 AM
cabledr cabledr is offline
 
Join Date: Feb 2008
Posts: 61
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

is there away to do this just in certain topics / threads/ cats
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 04:08 PM.


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.04826 seconds
  • Memory Usage 2,267KB
  • Queries Executed 13 (?)
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
  • (1)bbcode_php
  • (5)bbcode_quote
  • (1)footer
  • (1)forumjump
  • (1)forumrules
  • (1)gobutton
  • (1)header
  • (1)headinclude
  • (1)navbar
  • (3)navbar_link
  • (120)option
  • (9)post_thanks_box
  • (9)post_thanks_button
  • (1)post_thanks_javascript
  • (1)post_thanks_navbar_search
  • (9)post_thanks_postbit_info
  • (9)postbit
  • (9)postbit_onlinestatus
  • (9)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
  • 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