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 Parker Clack Parker Clack is offline
Developer Last Online: Nov 2013 Show Printable Version Email this Page

Version: Unknown Rating:
Released: 12-30-2001 Last Update: Never Installs: 0
 
No support by the author.

In forumdisplay.php you have the alibity to select your daysprune as the forum default, all, etc. What I would like to do is add the option to display those messages since you last logged on as an option.

So you have

Code:
if (!isset($daysprune) or $daysprune==0 or $daysprune==-1) ......
and then

Code:
if ($daysprune!=1000) {
  $checkdate = time() - ($daysprune*86400);
  $datecut='AND lastpost >= '.$checkdate;..........
What I would like to add is for $daysprune to check against a member's last time on and compare it to the time and date now and then only display those posts that meet this criteria.

Is this possible to do or would it be a larger strain on the server?

Parker

Show Your Support

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

Comments
  #2  
Old 12-30-2001, 09:08 PM
bira's Avatar
bira bira is offline
 
Join Date: Nov 2001
Posts: 387
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

actually I think that would be fairly easy - and quite a nice idea, Parker. Give me a few to look at the code, brb
Reply With Quote
  #3  
Old 12-30-2001, 09:17 PM
bira's Avatar
bira bira is offline
 
Join Date: Nov 2001
Posts: 387
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Parker try this (I've not tested it yet):

in forumdisplay.php find (around line 311):

Code:
if ($daysprune!=1000) {
  $checkdate = time() - ($daysprune*86400);
  $datecut='AND lastpost >= '.$checkdate;
}
Replace it with:

Code:
if ($daysprune!=1000) {
	if ($daysprune=='-2') {
		$datecut='AND lastpost >= '.$bbuserinfo[lastvisit];	
	} else {
		$checkdate = time() - ($daysprune*86400);
  		$datecut='AND lastpost >= '.$checkdate;
  	}
}
Add <option value='-2'>Since your last visit</option> to the daysprune select.

That's it.
Reply With Quote
  #4  
Old 12-31-2001, 02:18 AM
Parker Clack Parker Clack is offline
 
Join Date: Oct 2001
Posts: 351
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Bira:

Thanks again. I couldn't do this stuff without you. Now in the modifyoptions template you have

Code:
<select name="prunedays">
<option value="-1" $daysdefaultselected>Use forum default</option>
<option value="1" $days1selected>Show threads from last day</option>
would you then use:

<option value="-2" $days-2selected>Show thread from last visit</option>

so that they can select this option in their control panel options?

Parker
Reply With Quote
  #5  
Old 12-31-2001, 02:22 AM
bira's Avatar
bira bira is offline
 
Join Date: Nov 2001
Posts: 387
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

no, you can't have - there, in PHP that means $days - 2selected (minus).

You'll need a bit more "serious" hacking in there -- create a new $xxxselected variable and do some if's. Same as $defaultselected, just say $lastvisitselected.

It means adding it to functions.php as well, if I remember correctly.

If I need to do all that for you, I might as well write the hack -- just look around at how $defaultselected behaves and create a new variable
Reply With Quote
  #6  
Old 12-31-2001, 02:33 AM
Parker Clack Parker Clack is offline
 
Join Date: Oct 2001
Posts: 351
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Bira:

Ok, thanks I will look around and figure out what is going on.

In the above I should have given you the rest of the code as just putting in the suggestion you gave me gives me a parsing error.

The whole thing is:

$datecut="";
$stickyids="";
$stickycount=0;
if ($daysprune!=1000) {
$checkdate = time() - ($daysprune*86400);
$datecut='AND lastpost >= '.$checkdate;
if ($pagenumber==1) {
$datecut.=' AND sticky=0';
$stickies=$DB_site->query("SELECT threadid,lastpost FROM thread WHERE forumid='$foruminfo[forumid]' AND visible=1 AND sticky=1 $limitothers");
while($thissticky=$DB_site->fetch_array($stickies)) {
//if ($thissticky['lastpost']<$checkdate) {
$stickycount++;
//}
$stickyids.=",$thissticky[threadid]";
}
}
}

How would I implement your coding suggestion into this?

Thanks again,
Parker
Reply With Quote
  #7  
Old 12-31-2001, 02:37 AM
bira's Avatar
bira bira is offline
 
Join Date: Nov 2001
Posts: 387
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Parker I just tested the code I gave you in post #3 and it works perfectly. It's the only code you need to replace in forumdisplay.php (unless you want to add a user-selectable default option, of course).
Reply With Quote
  #8  
Old 12-31-2001, 02:42 AM
bira's Avatar
bira bira is offline
 
Join Date: Nov 2001
Posts: 387
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Parker what version are you on?!?

The vinyl code for 2.2.1 in forumdisplay.php is (lines 307-314):

Code:
// look at thread limiting options
$datecut="";
$stickyids="";
$stickycount=0;
if ($daysprune!=1000) {
  $checkdate = time() - ($daysprune*86400);
  $datecut='AND lastpost >= '.$checkdate;
}

// get number of sticky threads for the first page
// on the first page there will be the sticky threads PLUS the $perpage other normal threads
// not quite a bug, but a deliberate feature!
if ($pagenumber==1) {
	$datecut.=' AND sticky=0';
Adding the lastvisit option would change it to:

Code:
// look at thread limiting options
$datecut="";
$stickyids="";
$stickycount=0;
if ($daysprune!=1000) {
[high]    if ($daysprune=='-2') {
        $datecut='AND lastpost >= '.$bbuserinfo[lastvisit];	
    } else {[/high]
        $checkdate = time() - ($daysprune*86400);
        $datecut='AND lastpost >= '.$checkdate;
    [high]}[/high]
}

// get number of sticky threads for the first page
// on the first page there will be the sticky threads PLUS the $perpage other normal threads
// not quite a bug, but a deliberate feature!
if ($pagenumber==1) {
	$datecut.=' AND sticky=0';
(change hilighted)
Reply With Quote
  #9  
Old 12-31-2001, 02:56 AM
Parker Clack Parker Clack is offline
 
Join Date: Oct 2001
Posts: 351
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Bira:

I am using 2.2.0 and the code is

$datecut="";
$stickyids="";
$stickycount=0;
if ($daysprune!=1000) {
$checkdate = time() - ($daysprune*86400);
$datecut='AND lastpost >= '.$checkdate;
if ($pagenumber==1) {

instead of

$datecut="";
$stickyids="";
$stickycount=0;
if ($daysprune!=1000) {
$checkdate = time() - ($daysprune*86400);
$datecut='AND lastpost >= '.$checkdate;
}
if ($pagenumber==1) {

It must be a code change between the two versions. I will give what you have a try.

Parker
Reply With Quote
  #10  
Old 12-31-2001, 03:01 AM
Parker Clack Parker Clack is offline
 
Join Date: Oct 2001
Posts: 351
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Bira:

I found that the way it is in 2.2.0 has an extra right bracket at the end of the next if statement.

So I had to change

$stickyids.=",$thissticky[threadid]";
}
}
}

to

$stickyids.=",$thissticky[threadid]";
}
}

to get rid of the parse error.

Parker
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:39 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.04060 seconds
  • Memory Usage 2,296KB
  • 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
  • (7)bbcode_code
  • (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
  • (1)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_onlinestatus
  • (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
  • postbit_imicons
  • 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