I was looking for a way to display the calendar events from a specific calendar on certain sub-forums. I looked and looked and tried dozens of "working code" examples, but could NOT get anything to work properly.
I found the previous example code to be very close, but I kept having problems with the date, so I made a couple of modifications to get it to work the way I wanted.
The following example will display the Calendar ID 3 events if the Forum ID is 3. This is done with two modifcations. A modification to the forumdisplay.php code and a modification to the ForumDisplay Template. I also set the number of event days to 45 because I have it set to '0' in the vb options.
forumdisplay.php
PHP Code:
if ($vbulletin->GPC['forumid'] == 3 )
{
if ($vbulletin->GPC['forumid'] == 3 ) {$calendarid = 3 ;}
$host = "your_localhost";
$dbUser = "your_dbuuser";
$dbPass = "your_dbpass";
$mydb = "your_db";
mysql_connect("$host", "$dbUser", "$dbPass") or die(mysql_error());
mysql_select_db("$mydb") or die(mysql_error());
$u = TIMENOW;
$vbulletin->options['showevents']=45;
$futuredate = ($vbulletin->options['showevents'] * 86400)+$u;
$result = mysql_query("SELECT * FROM event where (dateline_from+172800) >= UNIX_TIMESTAMP()
AND dateline_from+86400 < $futuredate
AND calendarid = $calendarid
order by dateline_from ASC LIMIT 10" ) or die(mysql_error());
while($row = mysql_fetch_array( $result )) {
$dateevent = date('m-d-Y', ($row[dateline_from]+86400));
$upcomingevents = "$upcomingevents" . "<a
href='http://www.yourwebsite.com/calendar.php?do=getinfo&e=$row[eventid]&c=$calendarid'>$row[title]</a>: " . "$dateevent" ."<br>";
}
}
I use the same events format as the one used for index.php and have inserted it into the forumdisplay template.
ForumDisplay Template
PHP Code:
<!-- upcoming events -->
<if condition="$vbulletin->GPC['forumid'] == 3">
<table class="tborder" cellpadding="6" cellspacing="1" border="0" width="100%" align="center">
<tbody>
<tr>
<td class="thead" colspan="2">
<a style="float:$stylevar[right]" href="#top" onclick="return toggle_collapse('forumhome_events')"><img id="collapseimg_forumhome_events" src="$stylevar[imgdir_button]/collapse_thead$vbcollapse[collapseimg_forumhome_events].gif" alt="" border="0" /></a>
<if condition="$show['todaysevents']">$vbphrase[todays_events]<else /><phrase 1="$vboptions[showevents]">$vbphrase[upcoming_events_for_the_next_x_days]</phrase></if>
</td>
</tr>
</tbody>
<tbody id="collapseobj_forumhome_events" style="$vbcollapse[collapseobj_forumhome_events]">
<tr>
<td class="alt2"><a href="calendar.php$session[sessionurl_q]"><img src="$stylevar[imgdir_misc]/calendar.gif" alt="$vbphrase[calendar]" border="0" /></a></td>
<td class="alt1" width="100%"><div class="smallfont">$upcomingevents</div></td>
</tr>
</tbody>
</table>
<br>
</if>
<!-- / upcoming events -->
This modification was installed on a board using 3.6.5.