Credit:
DaMysterious from http://damysterious.xs4all.nl/portal_premod/
Minor changes by frold
Demo: http://www.studmed.dk - See the block "Kalender"
CREATE
styles/prosilver/template/portal/block/calendar.html
REPLACE ALL WITH
Code: Select all
<div class="panel">
<div class="inner">
<span class="corners-top"><span></span></span>
<h3><a href="{U_CALENDAR}" title="{L_CALENDAR}">{L_MINI_CAL_CALENDAR}</a></h3>
<table cellspacing="0" width="100%">
<tr>
<td class="row1" style="text-align: left"><!-- IF CALENDAR_PREV_MINI -->{CALENDAR_PREV_MINI}</a><!-- ENDIF --></td>
<td class="row1" style="text-align: center"><span class="genmed">{CALENDAR_HEADER_MINI}</span></td>
<td class="row1" style="text-align: right"><!-- IF CALENDAR_NEXT_MINI -->{CALENDAR_NEXT_MINI}</a><!-- ENDIF --></td>
</tr>
</table>
<table class="table_minical" cellspacing="0" cellpadding="0">
<!--<tr>
<th style="text-align:left;" colspan="7">{L_MINI_CAL_CALENDAR}</td>
</tr>-->
<tr class="row1">
<td style="width: 5%; text-align: center" class="bg4">{SUNDAY_MINI}</td>
<td style="width: 5%; text-align: center" class="bg4">{MONDAY_MINI}</td>
<td style="width: 5%; text-align: center" class="bg4">{TUESDAY_MINI}</td>
<td style="width: 5%; text-align: center" class="bg4">{WEDNESDAY_MINI}</td>
<td style="width: 5%; text-align: center" class="bg4">{THURSDAY_MINI}</td>
<td style="width: 5%; text-align: center" class="bg4">{FRIDAY_MINI}</td>
<td style="width: 5%; text-align: center" class="bg4">{SATURDAY_MINI}</td>
</tr>
<!-- BEGIN mini_calendar_days -->
<!-- IF mini_calendar_days.START_WEEK -->
<tr>
<!-- ENDIF -->
<!-- IF mini_calendar_days.DUMMY_DAY -->
<td valign="top" class="bg3_calMon"> </td>
<!-- ELSE -->
<td valign="top" class="{mini_calendar_days.DAY_CLASS}">
<table cellpadding="0" cellspacing="1" border="0" width="100%">
<tr>
<td class="{mini_calendar_days.HEADER_CLASS}">
<!-- IF mini_calendar_days.ADD_LINK -->
<a href="{mini_calendar_days.ADD_LINK}">{mini_calendar_days.NUMBER}</a>
<!-- ELSE -->
{mini_calendar_days.NUMBER}
<!-- ENDIF -->
<br />
</td>
</tr>
</table></td>
<!-- ENDIF -->
<!-- IF mini_calendar_days.END_WEEK -->
</tr>
<!-- ENDIF -->
<!-- END mini_calendar_days -->
</table>
<br clear="all" />
<table class="table_minical" cellspacing="0" cellpadding="0" width="100%">
<tr class="row1">
<td style="width: 100%; text-align: center" class="bg4">Events</td>
</tr>
</table>
<table class="table_minical" cellspacing="0" cellpadding="0">
<tr>
<td class="row1">
<!-- BEGIN mini_calendar_days -->
<!-- BEGIN events -->
<!-- IF mini_calendar_days.events.S_FIRST_ROW -->
<!-- IF mini_calendar_days.BIRTHDAYS --><hr><!-- ENDIF -->
<!-- ELSE --><hr><!-- ENDIF -->
<a href="{mini_calendar_days.events.DAY_VIEW_URL}"><!-- IF mini_calendar_days.events.COLOR --><span style="color:#{mini_calendar_days.events.COLOR}"><!-- ENDIF -->
[{mini_calendar_days.events.NUMBER}]<!-- IF mini_calendar_days.events.COLOR --></span><!-- ENDIF --></a>
<a href="{mini_calendar_days.events.EVENT_URL}" title="{mini_calendar_days.events.EVENT_SUBJECT}">
<!-- IF mini_calendar_days.events.COLOR --><span style="color:#{mini_calendar_days.events.COLOR}"><!-- ENDIF -->
<!-- IF mini_calendar_days.events.DISPLAY_BOLD --><strong><!-- ENDIF -->
<!-- IF mini_calendar_days.events.IMAGE --><img src="{mini_calendar_days.events.IMAGE}" title="{mini_calendar_days.events.ETYPE_DISPLAY_NAME}" height="20" width="20" /><!-- ENDIF -->
<!-- IF mini_calendar_days.events.ETYPE_DISPLAY_NAME -->{mini_calendar_days.events.ETYPE_DISPLAY_NAME}:<!-- ENDIF -->
{mini_calendar_days.events.EVENT_SUBJECT}
<!-- IF mini_calendar_days.events.DISPLAY_BOLD --></strong><!-- ENDIF -->
<!-- IF mini_calendar_days.events.SHOW_TIME --><br /><!-- IF mini_calendar_days.events.ALL_DAY -->{L_ALL_DAY}<!-- ELSE -->
{L_FROM_TIME}: {mini_calendar_days.events.START_TIME} <br />{L_TO_TIME}: {mini_calendar_days.events.END_TIME}<!-- ENDIF -->
<!-- ENDIF -->
<!-- IF mini_calendar_days.events.COLOR --></span><!-- ENDIF --></a><br />
<!-- END events -->
<!-- END mini_calendar_days -->
</td>
</tr>
</table>
<span class="corners-bottom"><span></span></span>
</div>
</div>
<br style="clear:both" />
language/en/common.php
FIND
Code: Select all
?>
Code: Select all
//Missing lang variables
$lang['MONTH'] = 'Month';
$lang['WEEK'] = 'Week';
$lang['DAY'] = 'Day';
// Event Calendar
$lang = array_merge($lang, array(
'CALENDAR' => 'Calendar',
// minical short day names
'mini_datetime' => array(
'Su' => 'Su',
'Mo' => 'Mo',
'Tu' => 'Tu',
'We' => 'We',
'Th' => 'Th',
'Fr' => 'Fr',
'Sa' => 'Sa',
),
));
portal.php
FIND
Code: Select all
include($phpbb_root_path . 'portal/includes/functions.'.$phpEx);
Code: Select all
include($phpbb_root_path . 'includes/functions_calendar.' . $phpEx);
Code: Select all
if ($portal_config['portal_change_style'])
{
include($phpbb_root_path . 'portal/block/change_style.'.$phpEx);
}
Code: Select all
include($phpbb_root_path . 'portal/block/calendar.'.$phpEx);
styles/prosilver/template/portal/portal_body.html
FIND
Code: Select all
<!-- IF S_DISPLAY_MINICAL -->
<!-- INCLUDE portal/block/mini_calendar.html -->
<!-- ENDIF -->
Code: Select all
<!-- INCLUDE portal/block/calendar.html -->
portal/block/calendar.php
REPLACE ALL WITH
Code: Select all
<?php
/*
*
* @name mini_calendar.php
* @package phpBB3 Portal XL 4.0
* @version $Id: mini_calendar.php,v 1.4 2008/04/07 09:44:35 damysterious Exp $
*
* @copyright (c) 2007 Portal XL 4.0 Group
* @license http://opensource.org/licenses/gpl-license.php GNU Public License
*
*/
if (!defined('IN_PHPBB'))
{
exit;
}
/**
*/
// Generate calendar view or next events if required ...
calendar_display_mini_month();
// Assign specific vars
$template->assign_vars(array(
'U_CALENDAR' => append_sid("{$phpbb_root_path}calendar.$phpEx"),
));
// Set the filename of the template you want to use for this file.
$template->set_filenames(array(
'body' => 'portal/block/calendar.html',
));
?>
includes/functions_calendar.php
FIND
Code: Select all
$mode_sel_code = "";
Code: Select all
/**
* Begin additional Portal XL 4.0 functions
*/
function calendar_display_center_month()
{
global $auth, $db, $user, $config, $template, $date, $available_etype_colors, $available_etype_images, $available_etype_display_names, $month_sel_code, $day_sel_code, $year_sel_code, $mode_sel_code;
global $phpEx, $phpbb_root_path;
init_calendar_data();
init_view_selection_code("month");
//create next and prev links
set_date_prev_next( "month" );
$center_prev_link = append_sid($calling_page, "calM=".$date['prev_month']."&calY=".$date['prev_year']);
$center_next_link = append_sid($calling_page, "calM=".$date['next_month']."&calY=".$date['next_year']);
//find the first day of the week
$first_day_of_week = get_calendar_config_value("first_day_of_week", 0);
get_weekday_names( $first_day_of_week, $sunday, $monday, $tuesday, $wednesday, $thursday, $friday, $saturday );
//get the first day of the month
$date['num'] = "01";
$date['fday'] = get_fday( $date['num'], $date['month_no'], $date['year'], $first_day_of_week );
$number_days = gmdate("t", gmmktime( 0,0,0,$date['month_no'], $date['day'], $date['year']));
//center_calendar_header_txt = $user->lang['MONTH_OF'] . sprintf($user->lang['LOCAL_DATE_FORMAT'], $user->lang['datetime'][$date['month']], $date['day'], $date['year'] );
$center_calendar_header_txt = $user->lang['datetime'][$date['month']] . ' - ' . $date['year'];
$subject_limit = get_calendar_config_value("display_truncated_name", 0);
// Is the user able to view ANY events?
$user_can_view_events = false;
if ( $auth->acl_get('u_calendar_view_events') )
{
$user_can_view_events = true;
/* find the group options here so we do not have to look them up again for each day */
$group_options = get_sql_group_options($user->data['user_id']);
}
$counter = 0;
for ($j = 1; $j < $number_days+1; $j++, $counter++)
{
// if it is the first week
if ($j == 1)
{
// find how many place holders we need before day 1
if ($date['fday'] < 7)
{
$date['fday'] = $date['fday']+1;
for ($i = 1; $i < $date['fday']; $i++, $counter++)
{
// create dummy days (place holders)
if( $i == 1 )
{
$center_calendar_days['START_WEEK'] = true;
}
else
{
$center_calendar_days['START_WEEK'] = false;
}
$center_calendar_days['END_WEEK'] = false;
$center_calendar_days['HEADER_CLASS'] = 'bg3';
$center_calendar_days['DAY_CLASS'] = 'bg2';
$center_calendar_days['NUMBER'] = 0;
$center_calendar_days['DUMMY_DAY'] = true;
$center_calendar_days['ADD_LINK'] = '';
$center_calendar_days['BIRTHDAYS'] = '';
$template->assign_block_vars('center_calendar_days', $center_calendar_days);
}
}
}
// start creating the data for the real days
$center_calendar_days['START_WEEK'] = false;
$center_calendar_days['END_WEEK'] = false;
$center_calendar_days['DUMMY_DAY'] = false;
$center_calendar_days['HEADER_CLASS'] = '';
$center_calendar_days['DAY_CLASS'] = '';
$center_calendar_days['NUMBER'] = 0;
$center_calendar_days['ADD_LINK'] = '';
$center_calendar_days['BIRTHDAYS'] = '';
if($counter % 7 == 0)
{
$center_calendar_days['START_WEEK'] = true;
}
if($counter % 7 == 6 )
{
$center_calendar_days['END_WEEK'] = true;
}
$center_calendar_days['NUMBER'] = $j;
if( $auth->acl_get('u_calendar_create_events') )
{
$center_calendar_days['ADD_LINK'] = append_sid("{$phpbb_root_path}calendarpost.$phpEx", "mode=post&calD=".$j."&calM=".$date['month_no']."&calY=".$date['year']);
}
$center_calendar_days['DAY_VIEW_URL'] = append_sid("{$phpbb_root_path}calendar.$phpEx", "view=day&calD=".$j."&calM=".$date['month_no']."&calY=".$date['year']);
$center_calendar_days['WEEK_VIEW_URL'] = append_sid("{$phpbb_root_path}calendar.$phpEx", "view=week&calD=".$j."&calM=".$date['month_no']."&calY=".$date['year']);
//highlight selected day
if( $j == $date['day'] )
{
$center_calendar_days['DAY_CLASS'] = 'bg4';
}
//highlight current day
$test_start_hi_time = mktime( 0,0,0,$date['month_no'], $j, $date['year']) + date('Z');
$test_end_hi_time = $test_start_hi_time + 86399;
$test_hi_time = time() + $user->timezone + $user->dst;
if( ($test_start_hi_time <= $test_hi_time) &&
($test_end_hi_time >= $test_hi_time))
{
$center_calendar_days['HEADER_CLASS'] = 'highlight';
$center_calendar_days['DAY_CLASS'] = 'highlight';
}
if ( $user_can_view_events && $auth->acl_get('u_viewprofile') )
{
// find birthdays
$center_calendar_days['BIRTHDAYS'] = generate_birthday_list( $j, $date['month_no'], $date['year'] );
}
$template->assign_block_vars('center_calendar_days', $center_calendar_days);
if ( $user_can_view_events )
{
//find any events on this day
$start_temp_date = gmmktime(0,0,0,$date['month_no'], $j, $date['year']) - $user->timezone - $user->dst;
$end_temp_date = $start_temp_date + 86399;
$sql = 'SELECT * FROM ' . CALENDAR_EVENTS_TABLE . '
WHERE ( (event_access_level = 2) OR
(event_access_level = 0 AND poster_id = '.$db->sql_escape($user->data['user_id']).' ) OR
(event_access_level = 1 AND ('.$db->sql_escape($group_options).') ) ) AND
((( event_start_time >= '.$db->sql_escape($start_temp_date).' AND event_start_time <= '.$db->sql_escape($end_temp_date).' ) OR
( event_end_time > '.$db->sql_escape($start_temp_date).' AND event_end_time <= '.$db->sql_escape($end_temp_date).' ) OR
( event_start_time < '.$db->sql_escape($start_temp_date).' AND event_end_time > '.$db->sql_escape($end_temp_date)." )) OR
((event_all_day = 1) AND (event_day LIKE '" . $db->sql_escape(sprintf('%2d-%2d-%4d', $j, $date['month_no'], $date['year'])) . "'))) ORDER BY event_start_time ASC";
$result = $db->sql_query($sql);
while ($row = $db->sql_fetchrow($result))
{
$event_output['COLOR'] = $available_etype_colors[$row['etype_id']];
$event_output['IMAGE'] = $available_etype_images[$row['etype_id']];
$event_output['EVENT_URL'] = append_sid("{$phpbb_root_path}calendar.$phpEx", "view=event&calEid=".$row['event_id']);
// if the event was created by this user
// display it in bold
if( $user->data['user_id'] == $row['poster_id'] )
{
$event_output['DISPLAY_BOLD'] = true;
}
else
{
$event_output['DISPLAY_BOLD'] = false;
}
$event_output['ETYPE_DISPLAY_NAME'] = $available_etype_display_names[$row['etype_id']];
$event_output['EVENT_SUBJECT'] = censor_text($row['event_subject']);
if( $subject_limit > 0 )
{
if(utf8_strlen($event_output['EVENT_SUBJECT']) > $subject_limit)
{
$event_output['EVENT_SUBJECT'] = truncate_string($event_output['EVENT_SUBJECT'], $subject_limit) . '...';
}
}
$template->assign_block_vars('center_calendar_days.events', $event_output);
}
$db->sql_freeresult($result);
}
}
$counter--;
$dummy_end_day_count = 6 - ($counter % 7);
for ($i = 1; $i <= $dummy_end_day_count; $i++)
{
// create dummy days (place holders)
$center_calendar_days['START_WEEK'] = false;
if( $i == $dummy_end_day_count )
{
$center_calendar_days['END_WEEK'] = true;
}
else
{
$center_calendar_days['END_WEEK'] = false;
}
$center_calendar_days['HEADER_CLASS'] = '';
$center_calendar_days['DAY_CLASS'] = '';
$center_calendar_days['NUMBER'] = 0;
$center_calendar_days['DUMMY_DAY'] = true;
$center_calendar_days['ADD_LINK'] = '';
$center_calendar_days['BIRTHDAYS'] = '';
$template->assign_block_vars('center_calendar_days', $center_calendar_days);
}
// A typical usage for sending your variables to your template.
$template->assign_vars(array(
'CALENDAR_HEADER_CENTER' => $center_calendar_header_txt,
'DAY_IMG' => $user->img('button_calendar_day', 'DAY'),
'WEEK_IMG' => $user->img('button_calendar_week', 'WEEK'),
'CALENDAR_PREV_CENTER' => '<a href=\''.$center_prev_link.'\'><<</a>',
'CALENDAR_NEXT_CENTER' => '<a href=\''.$center_next_link.'\'>>></a>',
'CALENDAR_VIEW_OPTIONS' => $mode_sel_code.' '.$month_sel_code.' '.$day_sel_code.' '.$year_sel_code,
'SUNDAY' => $sunday,
'MONDAY' => $monday,
'TUESDAY' => $tuesday,
'WEDNESDAY' => $wednesday,
'THURSDAY' => $thursday,
'FRIDAY' => $friday,
'SATURDAY' => $saturday,
'S_POST_ACTION' => append_sid("{$phpbb_root_path}calendar.$phpEx" ),
));
}
function calendar_display_mini_month()
{
global $auth, $db, $user, $config, $template, $date, $available_etype_colors, $available_etype_images, $available_etype_display_names, $month_sel_code, $day_sel_code, $year_sel_code, $mode_sel_code;
global $phpEx, $phpbb_root_path;
init_calendar_data();
init_view_selection_code("month");
// data of akt. month
$time = getdate(time());
//create next and prev links
set_date_prev_next( "month" );
$calling_page = (!empty($_SERVER['PHP_SELF'])) ? $_SERVER['PHP_SELF'] : $_ENV['PHP_SELF'];
$mini_prev_link = append_sid($calling_page, "calM=".$date['prev_month']."&calY=".$date['prev_year']);
$mini_next_link = append_sid($calling_page, "calM=".$date['next_month']."&calY=".$date['next_year']);
//find the first day of the week
$first_day_of_week = get_calendar_config_value("first_day_of_week", 0);
get_weekday_names_mini( $first_day_of_week, $sunday, $monday, $tuesday, $wednesday, $thursday, $friday, $saturday );
//get the first day of the month
$date['num'] = "01";
$date['fday'] = get_fday( $date['num'], $date['month_no'], $date['year'], $first_day_of_week );
$number_days = gmdate("t", gmmktime( 0,0,0,$date['month_no'], $date['day'], $date['year']));
//$mini_calendar_header_txt = $user->lang['MONTH_OF'] . sprintf($user->lang['LOCAL_DATE_FORMAT'], $user->lang['datetime'][$date['month']], $date['day'], $date['year'] );
$mini_calendar_header_txt = $user->lang['datetime'][$date['month']] . ' - ' . $date['year'];
$subject_limit = get_calendar_config_value("display_truncated_name", 0);
// Is the user able to view ANY events?
$user_can_view_events = false;
if ( $auth->acl_get('u_calendar_view_events') )
{
$user_can_view_events = true;
/* find the group options here so we do not have to look them up again for each day */
$group_options = get_sql_group_options($user->data['user_id']);
}
$counter = 0;
for ($j = 1; $j < $number_days+1; $j++, $counter++)
{
// if it is the first week
if ($j == 1)
{
// find how many place holders we need before day 1
if ($date['fday'] < 7)
{
$date['fday'] = $date['fday']+1;
for ($i = 1; $i < $date['fday']; $i++, $counter++)
{
// create dummy days (place holders)
if( $i == 1 )
{
$mini_calendar_days['START_WEEK'] = true;
}
else
{
$mini_calendar_days['START_WEEK'] = false;
}
$mini_calendar_days['END_WEEK'] = false;
$mini_calendar_days['HEADER_CLASS'] = 'bg3';
$mini_calendar_days['DAY_CLASS'] = 'bg2';
$mini_calendar_days['NUMBER'] = 0;
$mini_calendar_days['DUMMY_DAY'] = true;
$mini_calendar_days['ADD_LINK'] = '';
$mini_calendar_days['BIRTHDAYS'] = '';
$template->assign_block_vars('mini_calendar_days', $mini_calendar_days);
}
}
}
// start creating the data for the real days
$mini_calendar_days['START_WEEK'] = false;
$mini_calendar_days['END_WEEK'] = false;
$mini_calendar_days['DUMMY_DAY'] = false;
$mini_calendar_days['HEADER_CLASS'] = 'bg3';
$mini_calendar_days['DAY_CLASS'] = 'bg2';
$mini_calendar_days['NUMBER'] = 0;
$mini_calendar_days['ADD_LINK'] = '';
$mini_calendar_days['BIRTHDAYS'] = '';
$mini_calendar_days['WRITE_BOLD'] = 100;
if($counter % 7 == 0)
{
$mini_calendar_days['START_WEEK'] = true;
}
if($counter % 7 == 6 )
{
$mini_calendar_days['END_WEEK'] = true;
}
$mini_calendar_days['NUMBER'] = $j;
if( $auth->acl_get('u_calendar_create_events') )
{
$mini_calendar_days['ADD_LINK'] = append_sid("{$phpbb_root_path}calendarpost.$phpEx", "mode=post&calD=".$j."&calM=".$date['month_no']."&calY=".$date['year']);
}
$mini_calendar_days['DAY_VIEW_URL'] = append_sid("{$phpbb_root_path}calendar.$phpEx", "view=day&calD=".$j."&calM=".$date['month_no']."&calY=".$date['year']);
$mini_calendar_days['WEEK_VIEW_URL'] = append_sid("{$phpbb_root_path}calendar.$phpEx", "view=week&calD=".$j."&calM=".$date['month_no']."&calY=".$date['year']);
//highlight selected day
if( $j == $date['day'] && $date["month_no"] == $time["mon"])
{
$mini_calendar_days['DAY_CLASS'] = 'bg4';
}
//highlight current day
$test_start_hi_time = mktime( 0,0,0,$date['month_no'], $j, $date['year']) + date('Z');
$test_end_hi_time = $test_start_hi_time + 86399;
$test_hi_time = time() + $user->timezone + $user->dst;
if( ($test_start_hi_time <= $test_hi_time) &&
($test_end_hi_time >= $test_hi_time))
{
$mini_calendar_days['HEADER_CLASS'] = 'bg3';
$mini_calendar_days['DAY_CLASS'] = 'bg4';
}
/*
if ( $user_can_view_events && $auth->acl_get('u_viewprofile') )
{
// find birthdays
$mini_calendar_days['BIRTHDAYS'] = generate_birthday_list( $j, $date['month_no'], $date['year'] );
}
*/
$arrayOfDays[] = $mini_calendar_days;
}
if ( $user_can_view_events )
{
if($time["mon"] == $date["month_no"]) $day = $date['day']; else $day = 1;
// startDate = first Day of viewed month
$start_temp_date = gmmktime( 0,0,0,$date['month_no'], $day, $date['year']);
$end_temp_date = $start_temp_date + 2678400;
// find all day events that are still taking place
$sort_timestamp_cutoff = $start_temp_date - 86400+1;
// don't list events that are more than 1 year in the future
$sql = 'SELECT * FROM ' . CALENDAR_EVENTS_TABLE . '
WHERE ( (event_access_level = 2) OR
(event_access_level = 0 AND poster_id = '.$db->sql_escape($user->data['user_id']).' ) OR
(event_access_level = 1 AND ('.$db->sql_escape($group_options).') ) ) AND
((( event_start_time >= '.$db->sql_escape($start_temp_date).' AND event_start_time <= '.$db->sql_escape($end_temp_date).' ) OR
( event_end_time > '.$db->sql_escape($start_temp_date).' AND event_end_time <= '.$db->sql_escape($end_temp_date).' ) OR
( event_start_time < '.$db->sql_escape($start_temp_date).' AND event_end_time > '.$db->sql_escape($end_temp_date)." )) OR (sort_timestamp > ".$db->sql_escape($sort_timestamp_cutoff)." AND event_all_day = 1) ) ORDER BY sort_timestamp ASC";
// find next 5 events
$result = $db->sql_query_limit($sql, 5, 0);
// $result = $monthEventResult;
while ($row = $db->sql_fetchrow($result))
{
$dayOfEvent = getdate($row["sort_timestamp"]);
$event_output['COLOR'] = $available_etype_colors[$row['etype_id']];
$event_output['IMAGE'] = $available_etype_images[$row['etype_id']];
$event_output['EVENT_URL'] = append_sid("{$phpbb_root_path}calendar.$phpEx", "view=event&calEid=".$row['event_id']);
$event_output['NUMBER'] = $dayOfEvent["mday"].".".$dayOfEvent["mon"].".";
$event_output['DAY_VIEW_URL'] = append_sid("{$phpbb_root_path}calendar.$phpEx", "view=day&calD=".$dayOfEvent["mday"]."&calM=".$dayOfEvent["mon"]."&calY=".$dayOfEvent["year"]);
$event_output['WEEK_VIEW_URL'] = append_sid("{$phpbb_root_path}calendar.$phpEx", "view=week&calD=".$dayOfEvent["mday"]."&calM=".$dayOfEvent["mon"]."&calY=".$dayOfEvent["year"]);
if($date["month_no"] == $dayOfEvent["mon"]) {
$arrayOfDays[$dayOfEvent["mday"]-1]["WRITE_BOLD"] = "bold";
}
// if the event was created by this user
// display it in bold
if( $user->data['user_id'] == $row['poster_id'] )
{
$event_output['DISPLAY_BOLD'] = true;
}
else
{
$event_output['DISPLAY_BOLD'] = false;
}
$event_output['ETYPE_DISPLAY_NAME'] = $available_etype_display_names[$row['etype_id']];
$event_output['EVENT_SUBJECT'] = censor_text($row['event_subject']);
if( $subject_limit > 0 )
{
if(utf8_strlen($event_output['EVENT_SUBJECT']) > $subject_limit)
{
$event_output['EVENT_SUBJECT'] = truncate_string($event_output['EVENT_SUBJECT'], $subject_limit) . '...';
}
}
$template->assign_block_vars('events', $event_output);
}
$db->sql_freeresult($result);
}
for($a=0;$a<count($arrayOfDays);$a++) {
if(!empty($arrayOfDays[$a]["NUMBER"])) {
$template->assign_block_vars('mini_calendar_days', $arrayOfDays[$a]);
}
}
$counter--;
$dummy_end_day_count = 6 - ($counter % 7);
for ($i = 1; $i <= $dummy_end_day_count; $i++)
{
// create dummy days (place holders)
$mini_calendar_days['START_WEEK'] = false;
if( $i == $dummy_end_day_count )
{
$mini_calendar_days['END_WEEK'] = true;
}
else
{
$mini_calendar_days['END_WEEK'] = false;
}
$mini_calendar_days['HEADER_CLASS'] = '';
$mini_calendar_days['DAY_CLASS'] = '';
$mini_calendar_days['NUMBER'] = 0;
$mini_calendar_days['DUMMY_DAY'] = true;
$mini_calendar_days['ADD_LINK'] = '';
$mini_calendar_days['BIRTHDAYS'] = '';
$template->assign_block_vars('mini_calendar_days', $mini_calendar_days);
}
// A typical usage for sending your variables to your template.
$template->assign_vars(array(
'CALENDAR_HEADER_MINI' => $mini_calendar_header_txt,
'DAY_IMG' => $user->img('button_calendar_day', 'DAY'),
'WEEK_IMG' => $user->img('button_calendar_week', 'WEEK'),
'CALENDAR_PREV_MINI' => '<a href=\''.$mini_prev_link.'\'><img src="' . $phpbb_root_path . 'styles/' . $user->theme['theme_path'] . '/theme/images/portal/mini_cal_icon_left_arrow.png' . '" title="' . $user->lang['View_previous_month'] . '" height="16" width="16" alt="<<" /></a>',
'CALENDAR_NEXT_MINI' => '<a href=\''.$mini_next_link.'\'><img src="' . $phpbb_root_path . 'styles/' . $user->theme['theme_path'] . '/theme/images/portal/mini_cal_icon_right_arrow.png' . '" title="' . $user->lang['View_next_month'] . '" height="16" width="16" alt=">>" /></a>',
'CALENDAR_VIEW_OPTIONS' => $mode_sel_code.' '.$month_sel_code.' '.$day_sel_code.' '.$year_sel_code,
'SUNDAY_MINI' => $sunday,
'MONDAY_MINI' => $monday,
'TUESDAY_MINI' => $tuesday,
'WEDNESDAY_MINI' => $wednesday,
'THURSDAY_MINI' => $thursday,
'FRIDAY_MINI' => $friday,
'SATURDAY_MINI' => $saturday,
'S_POST_ACTION_MINI' => append_sid("{$phpbb_root_path}calendar.$phpEx" ),
));
}
function get_weekday_names_mini( $first_day_of_week, &$sunday, &$monday, &$tuesday, &$wednesday, &$thursday, &$friday, &$saturday )
{
global $user;
switch( $first_day_of_week )
{
case 0:
$sunday = $user->lang['mini_datetime']['Su'];
$monday = $user->lang['mini_datetime']['Mo'];
$tuesday = $user->lang['mini_datetime']['Tu'];
$wednesday = $user->lang['mini_datetime']['We'];
$thursday = $user->lang['mini_datetime']['Th'];
$friday = $user->lang['mini_datetime']['Fr'];
$saturday = $user->lang['mini_datetime']['Sa'];
break;
case 1:
$saturday = $user->lang['mini_datetime']['Su'];
$sunday = $user->lang['mini_datetime']['Mo'];
$monday = $user->lang['mini_datetime']['Tu'];
$tuesday = $user->lang['mini_datetime']['We'];
$wednesday = $user->lang['mini_datetime']['Th'];
$thursday = $user->lang['mini_datetime']['Fr'];
$friday = $user->lang['mini_datetime']['Sa'];
break;
case 2:
$friday = $user->lang['mini_datetime']['Su'];
$saturday = $user->lang['mini_datetime']['Mo'];
$sunday = $user->lang['mini_datetime']['Tu'];
$monday = $user->lang['mini_datetime']['We'];
$tuesday = $user->lang['mini_datetime']['Th'];
$wednesday = $user->lang['mini_datetime']['Fr'];
$thursday = $user->lang['mini_datetime']['Sa'];
break;
case 3:
$thursday = $user->lang['mini_datetime']['Su'];
$friday = $user->lang['mini_datetime']['Mo'];
$saturday = $user->lang['mini_datetime']['Tu'];
$sunday = $user->lang['mini_datetime']['We'];
$monday = $user->lang['mini_datetime']['Th'];
$tuesday = $user->lang['mini_datetime']['Fr'];
$wednesday = $user->lang['mini_datetime']['Sa'];
break;
case 4:
$wednesday = $user->lang['mini_datetime']['Su'];
$thursday = $user->lang['mini_datetime']['Mo'];
$friday = $user->lang['mini_datetime']['Tu'];
$saturday = $user->lang['mini_datetime']['We'];
$sunday = $user->lang['mini_datetime']['Th'];
$monday = $user->lang['mini_datetime']['Fr'];
$tuesday = $user->lang['mini_datetime']['Sa'];
break;
case 5:
$tuesday = $user->lang['mini_datetime']['Su'];
$wednesday = $user->lang['mini_datetime']['Mo'];
$thursday = $user->lang['mini_datetime']['Tu'];
$friday = $user->lang['mini_datetime']['We'];
$saturday = $user->lang['mini_datetime']['Th'];
$sunday = $user->lang['mini_datetime']['Fr'];
$monday = $user->lang['mini_datetime']['Sa'];
break;
case 6:
$monday = $user->lang['mini_datetime']['Su'];
$tuesday = $user->lang['mini_datetime']['Mo'];
$wednesday = $user->lang['mini_datetime']['Tu'];
$thursday = $user->lang['mini_datetime']['We'];
$friday = $user->lang['mini_datetime']['Th'];
$saturday = $user->lang['mini_datetime']['Fr'];
$sunday = $user->lang['mini_datetime']['Sa'];
break;
}
}
/**
* End additional Portal XL 4.0 functions
*/
viewtopic.php?f=21&t=459&start=30#p6323