Esempio n. 1
0
 /**
  * Adds 'Discussions' tab to profiles and adds CSS & JS files to their head.
  * 
  * @since 2.0.0
  * @package Vanilla
  * 
  * @param object $Sender ProfileController.
  */
 public function ProfileController_AddProfileTabs_Handler(&$Sender)
 {
     if (is_object($Sender->User) && $Sender->User->UserID > 0 && $Sender->User->CountDiscussions > 0) {
         // Add the discussion tab
         $Sender->AddProfileTab(T('Discussions'), 'profile/discussions/' . $Sender->User->UserID . '/' . urlencode($Sender->User->Name));
         // Add the discussion tab's CSS and Javascript
         $Sender->AddCssFile('vanillaprofile.css', 'vanilla');
         $Sender->AddJsFile('jquery.gardenmorepager.js');
         $Sender->AddJsFile('discussions.js');
     }
 }
 /**
  * Handles different views (only monthly overview by now)
  *
  * @param object $Sender VanillaController
  * @param array $Args /Year/Month to show
  */
 public function VanillaController_EventCalendar_Create($Sender, $Args = array())
 {
     $Sender->Permission('Plugins.EventCalendar.View');
     $Sender->ClearCssFiles();
     $Sender->AddCssFile('style.css');
     $Sender->AddCssFile('eventcalendar.css', 'plugins/EventCalendar');
     $Sender->AddJsFile('eventcalendar.js', 'plugins/EventCalendar');
     $Sender->MasterView = 'default';
     $Sender->AddModule('NewDiscussionModule');
     $Sender->AddModule('CategoriesModule');
     $Sender->AddModule('BookmarkedModule');
     // only show current year +/- 1
     $Year = $Args[0];
     $CurrentYear = date('Y');
     if ($Year < $CurrentYear - 1 || $Year > $CurrentYear + 1) {
         $Year = $CurrentYear;
     }
     // sanitize month
     $Month = sprintf("%02s", $Args[1]);
     if ($Month < 1 || $Month > 12) {
         $Month = date('m');
     }
     $MonthFirst = mktime(0, 0, 0, $Month, 1, $Year);
     $DaysInMonth = date('t', $MonthFirst);
     $MonthLast = mktime(0, 0, 0, $Month, $DaysInMonth, $Year);
     $Sender->CanonicalUrl(Url('eventcalendar', TRUE));
     $Sender->SetData('Title', T('Event Calendar'));
     $Sender->SetData('Breadcrumbs', array(array('Name' => T('Event Calendar'), 'Url' => '/eventcalendar')));
     $Sender->SetData('Month', $Month);
     $Sender->SetData('Year', $Year);
     $Sender->SetData('MonthFirst', $MonthFirst);
     $Sender->SetData('MonthLast', $MonthLast);
     $Sender->SetData('PreviousMonth', date('Y', $MonthFirst - 1) . '/' . date('m', $MonthFirst - 1));
     $Sender->SetData('NextMonth', date('Y', $MonthLast + 86400) . '/' . date('m', $MonthLast + 86400));
     $Sender->SetData('DaysInMonth', $DaysInMonth);
     $Sender->SetData('Events', EventCalendarModel::Get("{$Year}-{$Month}-01", "{$Year}-{$Month}-{$DaysInMonth}"));
     $ViewName = 'month';
     $Sender->Render($ViewName, '', 'plugins/EventCalendar');
 }