vb.org Archive

vb.org Archive (https://vborg.vbsupport.ru/index.php)
-   Member Archives (https://vborg.vbsupport.ru/forumdisplay.php?f=202)
-   -   Help with daysprune in forumdisplay.php (https://vborg.vbsupport.ru/showthread.php?t=33653)

Parker Clack 12-30-2001 08:31 PM

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

bira 12-30-2001 09:08 PM

actually I think that would be fairly easy - and quite a nice idea, Parker. Give me a few to look at the code, brb :)

bira 12-30-2001 09:17 PM

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.

Parker Clack 12-31-2001 02:18 AM

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

bira 12-31-2001 02:22 AM

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

Parker Clack 12-31-2001 02:33 AM

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

bira 12-31-2001 02:37 AM

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).

bira 12-31-2001 02:42 AM

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)

Parker Clack 12-31-2001 02:56 AM

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

Parker Clack 12-31-2001 03:01 AM

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


All times are GMT. The time now is 05:42 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.01548 seconds
  • Memory Usage 1,741KB
  • Queries Executed 10 (?)
More Information
Template Usage:
  • (1)ad_footer_end
  • (1)ad_footer_start
  • (1)ad_header_end
  • (1)ad_header_logo
  • (1)ad_navbar_below
  • (7)bbcode_code_printable
  • (1)footer
  • (1)gobutton
  • (1)header
  • (1)headinclude
  • (6)option
  • (1)pagenav
  • (1)pagenav_curpage
  • (1)pagenav_pagelink
  • (1)post_thanks_navbar_search
  • (1)printthread
  • (10)printthreadbit
  • (1)spacer_close
  • (1)spacer_open 

Phrase Groups Available:
  • global
  • postbit
  • showthread
Included Files:
  • ./printthread.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/class_bbcode_alt.php
  • ./includes/class_bbcode.php
  • ./includes/functions_bigthree.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
  • printthread_start
  • pagenav_page
  • pagenav_complete
  • bbcode_fetch_tags
  • bbcode_create
  • bbcode_parse_start
  • bbcode_parse_complete_precache
  • bbcode_parse_complete
  • printthread_post
  • printthread_complete