Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- <?php
- // Custom filter: Show/Hide past events
- $GLOBALS['TL_DCA']['tl_calendar_events']['list']['sorting']['panelLayout'] .= ';past';
- $GLOBALS['TL_DCA']['tl_calendar_events']['list']['sorting']['panel_callback']['past'] = ['tl_calendar_events_filterPastEvents', 'add_filter'];
- $GLOBALS['TL_DCA']['tl_calendar_events']['config']['onload_callback']['past'] = ['tl_calendar_events_filterPastEvents', 'apply_filter'];
- class tl_calendar_events_filterPastEvents extends Backend
- {
- public function add_filter(DataContainer $dc)
- {
- $session = $this->Session->getData();
- $strBuffer = '<div class="tl_sorting tl_subpanel">';
- $strBuffer .= '<strong>Show past events: </strong>';
- $strBuffer .= '<select name="pastFilter" id="pastFilter" class="tl_select'.(($session['filter']['pastFilter']) ? ' active' : '').'" onchange="this.form.submit();">';
- $strBuffer .= '<option value="0">Show</option><option value="1"'.(($session['filter']['pastFilter']) ? ' selected' : '').'>Hide</option>';
- $strBuffer .= '</select>';
- $strBuffer .= '</div>';
- return $strBuffer;
- }
- public function apply_filter()
- {
- $session = $this->Session->getData();
- if (\Input::post('FORM_SUBMIT') == 'tl_filters') {
- $session['filter']['pastFilter'] = \Input::post('pastFilter');
- $this->Session->setData($session);
- }
- if ($session['filter']['pastFilter'] == 1) {
- $GLOBALS['TL_DCA']['tl_calendar_events']['list']['sorting']['filter'][] = ['startTime>=?', time()];
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement