Log in

View Full Version : Date based conditional items in templates


MrEyes
02-15-2008, 06:33 PM
Hello,

In showthread template I would like to add a message to all threads that are older than X days, can anybody point me in the right direction for this?

Opserty
02-15-2008, 10:08 PM
You'd need something like this in a template (e.g. showthread)

<if condition="$thread['dateline'] < (TIMENOW - (28 * 24 * 60 * 60))">
YOUR MESSAGE HERE
</if>

The bit in red is how long ago the cutoff date is (in seconds). So 60x60x24x28 is approx. a month (or 28 days), I hope. :erm:

You may need to try $threadinfo if $thread does not work.

MrEyes
02-16-2008, 01:24 PM
Unfortunately, when trying that I get the following error:

The following template conditional expression contains function calls:

<if condition="$thread['dateline'] < (TIMENOW - (28 * 24 * 60 * 60))">

With a few exceptions, function calls are not permitted in template conditional expressions. Please go back and re-write this expression.

The following functions are allowed in template conditional expressions:
in_array() is_array() is_numeric() isset() empty() defined() array() can_moderate() can_moderate_calendar() exec_switch_bg() is_browser() is_member_of()

--------------- Added 1203175879 at 1203175879 ---------------

After a little fiddling the following works:

<if condition="$thread['dateline'] < TIMENOW - 2419200">
<p>test - this should only display in threads older than a month</p>
</if>

The VB parser obviously doesnt like the (x * y * z) part