Advertisement
Guest User

Untitled

a guest
Sep 25th, 2017
62
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.43 KB | None | 0 0
  1. <?php
  2. // Custom filter: Show/Hide past events
  3. $GLOBALS['TL_DCA']['tl_calendar_events']['list']['sorting']['panelLayout'] .= ';past';
  4. $GLOBALS['TL_DCA']['tl_calendar_events']['list']['sorting']['panel_callback']['past'] = ['tl_calendar_events_filterPastEvents', 'add_filter'];
  5.  
  6. $GLOBALS['TL_DCA']['tl_calendar_events']['config']['onload_callback']['past'] = ['tl_calendar_events_filterPastEvents', 'apply_filter'];
  7.  
  8. class tl_calendar_events_filterPastEvents extends Backend
  9. {
  10. public function add_filter(DataContainer $dc)
  11. {
  12. $session = $this->Session->getData();
  13.  
  14. $strBuffer = '<div class="tl_sorting tl_subpanel">';
  15. $strBuffer .= '<strong>Show past events: </strong>';
  16. $strBuffer .= '<select name="pastFilter" id="pastFilter" class="tl_select'.(($session['filter']['pastFilter']) ? ' active' : '').'" onchange="this.form.submit();">';
  17. $strBuffer .= '<option value="0">Show</option><option value="1"'.(($session['filter']['pastFilter']) ? ' selected' : '').'>Hide</option>';
  18. $strBuffer .= '</select>';
  19. $strBuffer .= '</div>';
  20.  
  21. return $strBuffer;
  22. }
  23.  
  24. public function apply_filter()
  25. {
  26. $session = $this->Session->getData();
  27.  
  28. if (\Input::post('FORM_SUBMIT') == 'tl_filters') {
  29. $session['filter']['pastFilter'] = \Input::post('pastFilter');
  30. $this->Session->setData($session);
  31. }
  32.  
  33. if ($session['filter']['pastFilter'] == 1) {
  34. $GLOBALS['TL_DCA']['tl_calendar_events']['list']['sorting']['filter'][] = ['startTime>=?', time()];
  35. }
  36. }
  37. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement