The Arcive of Official vBulletin Modifications Site.It is not a VB3 engine, just a parsed copy! |
|
Comments |
#2
|
||||
|
||||
actually I think that would be fairly easy - and quite a nice idea, Parker. Give me a few to look at the code, brb
|
#3
|
||||
|
||||
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; } Code:
if ($daysprune!=1000) { if ($daysprune=='-2') { $datecut='AND lastpost >= '.$bbuserinfo[lastvisit]; } else { $checkdate = time() - ($daysprune*86400); $datecut='AND lastpost >= '.$checkdate; } } That's it. |
#4
|
|||
|
|||
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> <option value="-2" $days-2selected>Show thread from last visit</option> so that they can select this option in their control panel options? Parker |
#5
|
||||
|
||||
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 |
#6
|
|||
|
|||
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 |
#7
|
||||
|
||||
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).
|
#8
|
||||
|
||||
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'; 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'; |
#9
|
|||
|
|||
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 |
#10
|
|||
|
|||
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 |
|
|
X vBulletin 3.8.12 by vBS Debug Information | |
---|---|
|
|
More Information | |
Template Usage:
Phrase Groups Available:
|
Included Files:
Hooks Called:
|