ctcdesign
03-19-2012, 10:51 PM
We just switched our forum over to vbulletin and love it but I'm having trouble understanding the way mods are put together. I'm not finding much for documentation on the new variable system in vb4 (We have suite)
I'm trying to update a very simple mod that was available for 3.6 that isn't available for 4 and I'm not getting the variables for some reason. When I install this (updated by me):
<?xml version="1.0" encoding="ISO-8859-1"?>
<product productid="posts_in_last_x_hours" active="1">
<title>Posts In Last X Hours</title>
<description>Show the number of posts created in the last X hours.</description>
<version>1.0</version>
<url></url>
<versioncheckurl></versioncheckurl>
<dependencies></dependencies>
<codes></codes>
<templates></templates>
<plugins>
<plugin active="1" executionorder="5">
<title>Get 24 hours post info</title>
<hookname>forumhome_complete</hookname>
<phpcode><![CDATA[if ($vbulletin->options['posts_last_x_hours_enabled'] == 1)
{
$timeframe = $vbulletin->options['posts_last_x_hours_numhours'];
$posts_last_x_hours = $db->query_read("SELECT COUNT(postid) from " . TABLE_PREFIX . "post WHERE " . TABLE_PREFIX . "post.dateline >= UNIX_TIMESTAMP(DATE_SUB(NOW(),INTERVAL " . $timeframe . " HOUR));");
$posts_last_x_hours = construct_phrase($vbphrase['posts_in_last_x_hours'], $posts_last_x_hours, $timeframe);
$templater->register('posts_last_x_hours', $posts_last_x_hours);
}]]></phpcode>
</plugin>
</plugins>
<phrases>
<phrasetype name="GLOBAL" fieldname="global">
<phrase name="posts_in_last_x_hours" date="0" username="" version=""><![CDATA[There have been {1} post in the last {2} hours.]]></phrase>
</phrasetype>
<phrasetype name="vBulletin Settings" fieldname="vbsettings">
<phrase name="setting_posts_last_x_hours_numhours_desc" date="0" username="" version=""><![CDATA[Specify the amount of time in hours you want to count posts.]]></phrase>
<phrase name="setting_posts_last_x_hours_numhours_title" date="0" username="" version=""><![CDATA[Number of Hours]]></phrase>
<phrase name="setting_posts_last_x_hours_enabled_desc" date="0" username="" version=""><![CDATA[Allows you to enable/disable the hack.]]></phrase>
<phrase name="setting_posts_last_x_hours_enabled_title" date="0" username="" version=""><![CDATA[Enabled?]]></phrase>
<phrase name="settinggroup_posts_last_x_hours" date="0" username="" version=""><![CDATA[Posts Last X Hours]]></phrase>
</phrasetype>
</phrases>
<options>
<settinggroup name="posts_last_x_hours" displayorder="1000">
<setting varname="posts_last_x_hours_enabled" displayorder="10">
<datatype>boolean</datatype>
<optioncode>yesno</optioncode>
<defaultvalue>1</defaultvalue>
</setting>
<setting varname="posts_last_x_hours_numhours" displayorder="20">
<datatype>number</datatype>
<defaultvalue>24</defaultvalue>
</setting>
</settinggroup>
</options>
<helptopics></helptopics>
<cronentries></cronentries>
<faqentries></faqentries>
</product>
And place this in my forumhome template:
<vb:if condition="$vboptions['posts_last_x_hours_enabled'] == 1">
{vb:rawphrase posts_in_last_x_hours}
</vb:if>
I get this:
There have been %1$s post in the last %2$s hours
If I use vb:raw rather than vb:rawphrase the line is not inserted at all...I also checked my php logs and there are no errors.
Sorry if it's obvious but I'm a noob at vbulletin :-) Any help would be appreciated, even a nudge towards some documentation I missed.
Charles
I'm trying to update a very simple mod that was available for 3.6 that isn't available for 4 and I'm not getting the variables for some reason. When I install this (updated by me):
<?xml version="1.0" encoding="ISO-8859-1"?>
<product productid="posts_in_last_x_hours" active="1">
<title>Posts In Last X Hours</title>
<description>Show the number of posts created in the last X hours.</description>
<version>1.0</version>
<url></url>
<versioncheckurl></versioncheckurl>
<dependencies></dependencies>
<codes></codes>
<templates></templates>
<plugins>
<plugin active="1" executionorder="5">
<title>Get 24 hours post info</title>
<hookname>forumhome_complete</hookname>
<phpcode><![CDATA[if ($vbulletin->options['posts_last_x_hours_enabled'] == 1)
{
$timeframe = $vbulletin->options['posts_last_x_hours_numhours'];
$posts_last_x_hours = $db->query_read("SELECT COUNT(postid) from " . TABLE_PREFIX . "post WHERE " . TABLE_PREFIX . "post.dateline >= UNIX_TIMESTAMP(DATE_SUB(NOW(),INTERVAL " . $timeframe . " HOUR));");
$posts_last_x_hours = construct_phrase($vbphrase['posts_in_last_x_hours'], $posts_last_x_hours, $timeframe);
$templater->register('posts_last_x_hours', $posts_last_x_hours);
}]]></phpcode>
</plugin>
</plugins>
<phrases>
<phrasetype name="GLOBAL" fieldname="global">
<phrase name="posts_in_last_x_hours" date="0" username="" version=""><![CDATA[There have been {1} post in the last {2} hours.]]></phrase>
</phrasetype>
<phrasetype name="vBulletin Settings" fieldname="vbsettings">
<phrase name="setting_posts_last_x_hours_numhours_desc" date="0" username="" version=""><![CDATA[Specify the amount of time in hours you want to count posts.]]></phrase>
<phrase name="setting_posts_last_x_hours_numhours_title" date="0" username="" version=""><![CDATA[Number of Hours]]></phrase>
<phrase name="setting_posts_last_x_hours_enabled_desc" date="0" username="" version=""><![CDATA[Allows you to enable/disable the hack.]]></phrase>
<phrase name="setting_posts_last_x_hours_enabled_title" date="0" username="" version=""><![CDATA[Enabled?]]></phrase>
<phrase name="settinggroup_posts_last_x_hours" date="0" username="" version=""><![CDATA[Posts Last X Hours]]></phrase>
</phrasetype>
</phrases>
<options>
<settinggroup name="posts_last_x_hours" displayorder="1000">
<setting varname="posts_last_x_hours_enabled" displayorder="10">
<datatype>boolean</datatype>
<optioncode>yesno</optioncode>
<defaultvalue>1</defaultvalue>
</setting>
<setting varname="posts_last_x_hours_numhours" displayorder="20">
<datatype>number</datatype>
<defaultvalue>24</defaultvalue>
</setting>
</settinggroup>
</options>
<helptopics></helptopics>
<cronentries></cronentries>
<faqentries></faqentries>
</product>
And place this in my forumhome template:
<vb:if condition="$vboptions['posts_last_x_hours_enabled'] == 1">
{vb:rawphrase posts_in_last_x_hours}
</vb:if>
I get this:
There have been %1$s post in the last %2$s hours
If I use vb:raw rather than vb:rawphrase the line is not inserted at all...I also checked my php logs and there are no errors.
Sorry if it's obvious but I'm a noob at vbulletin :-) Any help would be appreciated, even a nudge towards some documentation I missed.
Charles