tra('Calendar'),
'documentation' => 'PluginCalendar',
'description' => tra('Display a calendar and its events'),
'prefs' => [ 'feature_calendar', 'wikiplugin_calendar' ],
'iconname' => 'calendar',
'format' => 'html',
'introduced' => 4,
'params' => [
'calIds' => [
'name' => tra('Calendar IDs'),
'description' => tra('Comma-separated list of calendar Ids to restrict the events to specified calendars.')
. " " . tra('Example values:') . '13, 4,7 ' . tra('Not set by default.'),
'since' => '4.0',
'filter' => 'digits',
'separator' => ',',
'default' => '',
'profile_reference' => 'calendar',
],
'viewlist' => [
'required' => false,
'name' => tra('View Type'),
'description' => tra('Determines how events.') . ' ' . tr(
'%0 (default) shows events in a calendar.',
'table'
),
'since' => '4.0',
'filter' => 'word',
'default' => 'table',
'options' => [
['text' => '', 'value' => ''],
['text' => tra('List'), 'value' => 'list'],
['text' => tra('Table'), 'value' => 'table'],
['text' => tra('Both'), 'value' => 'both'],
],
],
'viewmode' => [
'name' => tra('View Time Span'),
'description' => tr('If in calendar (%0) View Type, determines the time span displayed by the
calendar.', 'table') . tra('Default is month'),
'since' => '4.0',
'filter' => 'word',
'default' => 'month',
'options' => [
['text' => '', 'value' => ''],
['text' => tra('Day'), 'value' => 'day'],
['text' => tra('Week'), 'value' => 'week'],
['text' => tra('Month'), 'value' => 'month'],
['text' => tra('Quarter'), 'value' => 'quarter'],
['text' => tra('Semester'), 'value' => 'semester'],
['text' => tra('Year'), 'value' => 'year'],
],
],
'viewnavbar' => [
'required' => false,
'name' => tra('Navigation Bar'),
'description' => tra('Show or hide the navigation bar (not shown by default)'),
'since' => '4.0',
'filter' => 'alpha',
'default' => 'n',
'options' => [
['text' => '', 'value' => ''],
['text' => tra('Yes'), 'value' => 'y'],
['text' => tra('No'), 'value' => 'n']
],
],
],
];
}
function wikiplugin_calendar($data, $params)
{
global $prefs, $tiki_p_admin, $tiki_p_view_calendar;
global $dc, $user;
$smarty = TikiLib::lib('smarty');
$tikilib = TikiLib::lib('tiki');
$calendarlib = TikiLib::lib('calendar');
if (empty($params['calIds'])) {
$params['calIds'] = [1];
}
if (empty($params['viewlist'])) {
$params['viewlist'] = 'table';
}
if (empty($params['viewmode'])) {
$params['viewmode'] = 'month';
}
if (empty($params['viewnavbar'])) {
$params['viewnavbar'] = 'n';
}
$module_reference = [
'moduleId' => null,
'name' => 'calendar_new',
'params' => [ 'calIds' => $params['calIds'],
'viewnavbar' => $params['viewnavbar'],
'viewlist' => $params['viewlist'],
'viewmode' => $params['viewmode'],
'nobox' => 'y' ],
'position' => null,
'ord' => null,
];
$modlib = TikiLib::lib('mod');
$out = '';
if ($params['viewlist'] == 'table' || $params['viewlist'] == 'both') {
$out .= $modlib->execute_module($module_reference);
}
if ($params['viewlist'] == 'list' || $params['viewlist'] == 'both') {
$module_reference['params']['viewlist'] = 'list';
$out .= "