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

Reply
 
Thread Tools Display Modes
  #1  
Old 11-23-2005, 07:02 AM
CMilne CMilne is offline
 
Join Date: Oct 2004
Location: Melbourne, Australia
Posts: 23
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default Reversing thread display order for selected forums

I am trying to reverse the thread display order for a few of my forums.

Via templates I have made a few of my forums appear as episode guides and it looks completely different. However, I add the episodes in ascending order ( e.g. 1, 2, 3, 4 ) and they display descending ( as per usual ). I need to change this so I can post in ascending order, and it displays in ascending order but for the selected few forums only, so it cant be a global setting, and I also need it so users preferences cant override the display order.

Any and all help much appreciated.
Reply With Quote
  #2  
Old 11-23-2005, 11:12 AM
merk merk is offline
 
Join Date: Nov 2001
Location: Canberra, Australia
Posts: 601
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

use the following code in forumdisplay_sort

PHP Code:
if(in_array($foruminfo['forumid'], array(5,8,9,24,89))
{
$sqlsortorder 'ASC';
$sqlsortfield 'thread.dateline';
$sortfield 'lastpost';
 
$handled true;

Unfortunatly, because there is no "field" or column displayed on forumdisplay, its not possible to use the sortfield of dateline, if there was a column for when the thread was started you could sort by that field and allow users to reverse it. At the moment it is set to lastpost which means the sort arrow will appear in the lastpost column.

It might be possible to set it to be blank (so the arrow doesnt appear), though it might cause unforseen problems.

If you wanted to sort by thread title instead, you could just change thread.dateline to thread.title, and change 'ASC' to 'DESC' if you wanted descending order.

I havent tested this hook, but it should work, and will override user selections.
Reply With Quote
  #3  
Old 11-24-2005, 02:33 AM
CMilne CMilne is offline
 
Join Date: Oct 2004
Location: Melbourne, Australia
Posts: 23
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

I am getting this error;

Parse error: parse error, unexpected '{' in /home/stargate/public_html/forumdisplay.php(676) : eval()'d code on line 2

With this code as a hook under 'forumdisplay_sort'

if(in_array($foruminfo['forumid'], array(70,71,72,73,74,75,76,77,78,79,80))
{
$sqlsortorder = 'ASC';
$sqlsortfield = 'thread.dateline';
$sortfield = 'lastpost';

$handled = true;
}

Changed your code to;

$array = array(70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80);
if(in_array($foruminfo['forumid'], $array)) {
$sqlsortorder = 'ASC';
$sqlsortfield = 'thread.lastpost';
$sortfield = 'lastpost';

$handled = true;
}

and it worked. Thanks heaps!
Reply With Quote
  #4  
Old 11-24-2005, 05:33 AM
merk merk is offline
 
Join Date: Nov 2001
Location: Canberra, Australia
Posts: 601
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Sorry, i was missing an extra ) after the array definition. But your method works just as well
Reply With Quote
  #5  
Old 01-21-2006, 08:01 AM
LBmtb LBmtb is offline
 
Join Date: Jan 2006
Posts: 115
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Quote:
Originally Posted by CMilne
I am getting this error;

Parse error: parse error, unexpected '{' in /home/stargate/public_html/forumdisplay.php(676) : eval()'d code on line 2

With this code as a hook under 'forumdisplay_sort'

if(in_array($foruminfo['forumid'], array(70,71,72,73,74,75,76,77,78,79,80))
{
$sqlsortorder = 'ASC';
$sqlsortfield = 'thread.dateline';
$sortfield = 'lastpost';

$handled = true;
}

Changed your code to;

$array = array(70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80);
if(in_array($foruminfo['forumid'], $array)) {
$sqlsortorder = 'ASC';
$sqlsortfield = 'thread.lastpost';
$sortfield = 'lastpost';

$handled = true;
}

and it worked. Thanks heaps!
Are the numbers "70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80" the forum id's?

So to do this stick
Code:
if(in_array($foruminfo['forumid'], array(70,71,72,73,74,75,76,77,78,79,80))
{
$sqlsortorder = 'ASC';
$sqlsortfield = 'thread.dateline';
$sortfield = 'lastpost';

$handled = true;
}
into forumdisplay.php (changing the numbers to my own forum id's) and then add
Code:
$array = array(70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80);
if(in_array($foruminfo['forumid'], $array)) {
$sqlsortorder = 'ASC';
$sqlsortfield = 'thread.lastpost';
$sortfield = 'lastpost';

$handled = true;
}
into forumdisplay_sort? I'll try it tomorrow.

edit: I don't see any forumdisplay_sort file anywhere.
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 05:51 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.04264 seconds
  • Memory Usage 2,211KB
  • 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
  • (2)bbcode_code
  • (1)bbcode_php
  • (1)bbcode_quote
  • (1)footer
  • (1)forumjump
  • (1)forumrules
  • (1)gobutton
  • (1)header
  • (1)headinclude
  • (1)navbar
  • (3)navbar_link
  • (120)option
  • (5)post_thanks_box
  • (5)post_thanks_button
  • (1)post_thanks_javascript
  • (1)post_thanks_navbar_search
  • (5)post_thanks_postbit_info
  • (5)postbit
  • (5)postbit_onlinestatus
  • (5)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