public function update_event()
 {
     if (!isset($_POST['save'])) {
         Flash::set('error', __('Could not update this event!'));
     } else {
         use_helper('Kses');
         /* Prepare the data */
         $data = $_POST['event'];
         if (isset($data['id'])) {
             $data['id'] = kses(trim($data['id']), array());
         }
         $event = new CalendarEvent();
         if (isset($data['id'])) {
             $event->id = $data['id'];
             $event->created_by_id = $data['created_by_id'];
         }
         $event->title = $data['title'];
         $event->date_from = $data['date_from'];
         $event->date_to = $data['date_to'];
         $event->description = $data['description'];
         /* Check data and, if correct, save to DB */
         if ($event->checkData() && $event->save()) {
             if (isset($data['id'])) {
                 Flash::set('success', __('The event has been updated.'));
             } else {
                 Flash::set('success', __('A new event has been created.'));
             }
             redirect(get_url('plugin/calendar/events'));
         } else {
             Flash::setNow('error', __('There are errors in the form.'));
             $this->display(CALENDAR_VIEWS . '/update', array('event' => $event));
         }
     }
 }
    public function build_view(HTTPRequestCustom $request)
    {
        $authorized_categories = CalendarService::get_authorized_categories(Category::ROOT_CATEGORY);
        $condition = 'WHERE approved = 0
		AND parent_id = 0
		AND id_category IN :authorized_categories
		' . (!CalendarAuthorizationsService::check_authorizations()->moderation() ? ' AND event_content.author_id = :user_id' : '');
        $parameters = array('authorized_categories' => $authorized_categories, 'user_id' => AppContext::get_current_user()->get_id());
        $page = AppContext::get_request()->get_getint('page', 1);
        $pagination = $this->get_pagination($condition, $parameters, $page);
        $result = PersistenceContext::get_querier()->select('SELECT *
		FROM ' . CalendarSetup::$calendar_events_table . ' event
		LEFT JOIN ' . CalendarSetup::$calendar_events_content_table . ' event_content ON event_content.id = event.content_id
		LEFT JOIN ' . DB_TABLE_MEMBER . ' member ON member.user_id = event_content.author_id
		LEFT JOIN ' . DB_TABLE_COMMENTS_TOPIC . ' com ON com.id_in_module = event.id_event AND com.module_id = \'calendar\'
		' . $condition . '
		ORDER BY start_date DESC
		LIMIT :number_items_per_page OFFSET :display_from', array_merge($parameters, array('number_items_per_page' => $pagination->get_number_items_per_page(), 'display_from' => $pagination->get_display_from())));
        $this->events_view->put_all(array('C_PAGINATION' => $pagination->has_several_pages(), 'C_EVENTS' => $result->get_rows_count() > 0, 'C_PENDING_PAGE' => true, 'PAGINATION' => $pagination->display()));
        while ($row = $result->fetch()) {
            $event = new CalendarEvent();
            $event->set_properties($row);
            $this->events_view->assign_block_vars('event', $event->get_array_tpl_vars());
        }
        $result->dispose();
        $this->tpl->put_all(array('EVENTS' => $this->events_view, 'C_PENDING_PAGE' => true));
        return $this->tpl;
    }
Пример #3
0
 /**
  * Run the database seeds.
  *
  * @return void
  */
 public function run()
 {
     Eloquent::unguard();
     DB::table('propel_fellow_wingman')->delete();
     DB::table('propel_student_wingman')->delete();
     Subject::truncate();
     DB::table('propel_city_subject')->delete();
     CalendarEvent::truncate();
     CancelledCalendarEvent::truncate();
     WingmanModule::truncate();
     WingmanTime::truncate();
     VolunteerTime::truncate();
     WingmanJournal::truncate();
     $fellow = Fellow::find(1);
     $wingman1 = Wingman::find(2);
     $wingman2 = Wingman::find(3);
     $fellow->wingman()->attach($wingman1);
     $fellow->wingman()->attach($wingman2);
     $student1 = Student::find(3);
     $student2 = Student::find(4);
     $wingman1->student()->attach($student1);
     $wingman1->student()->attach($student2);
     $cEvent1 = new CalendarEvent();
     $cEvent1->type = 'volunteer_time';
     $cEvent1->student()->associate($student1);
     $cEvent1->status = 'created';
     $cEvent1->save();
     $vTime1 = new VolunteerTime();
     $vTime1->calendarEvent()->associate($cEvent1);
     $volunteer1 = Volunteer::find(4);
     $vTime1->volunteer()->associate($volunteer1);
     $subject1 = new Subject();
     $subject1->name = "English";
     $subject1->save();
     $vTime1->subject()->associate($subject1);
     $vTime1->save();
     $cEvent2 = new CalendarEvent();
     $cEvent2->type = 'wingman_time';
     $cEvent2->student()->associate($student1);
     $cEvent2->status = 'created';
     $cEvent2->save();
     $wTime1 = new WingmanTime();
     $wTime1->calendarEvent()->associate($cEvent2);
     $wTime1->wingman()->associate($wingman1);
     $wModule1 = new WingmanModule();
     $wModule1->name = "Programming";
     $wModule1->save();
     $wTime1->wingmanModule()->associate($wModule1);
     $wTime1->save();
     $city1 = City::find(1);
     $subject1->city()->attach($city1);
     $wJournal1 = new WingmanJournal();
     $wJournal1->type = 'formal';
     $wJournal1->title = "Day at Navy Camp";
     $wJournal1->mom = "It was awesome";
     $wJournal1->student()->associate($student1);
     $wJournal1->wingman()->associate($wingman1);
     $wJournal1->save();
 }
 public function run()
 {
     $faker = Faker::create();
     foreach (range(1, 10) as $index) {
         CalendarEvent::create([]);
     }
 }
Пример #5
0
 public function run()
 {
     $faker = Faker::create();
     foreach (range(1, 10) as $index) {
         CalendarEvent::create(['event_name' => $faker->name, 'event_description' => $faker->realText($maxNbChars = 200), 'event_location' => $faker->streetAddress, 'event_start' => $faker->dateTimeThisYear, 'event_end' => $faker->dateTimeThisMonth, 'img_url' => "nature-q-c-640-480-" . $faker->numberBetween($min = 1, $max = 10) . '.jpg', 'user_id' => $faker->numberBetween($min = 1, $max = 11)]);
     }
 }
 public function run()
 {
     $faker = Faker::create();
     for ($i = 0; $i < 60; $i++) {
         $calendarEvent = new CalendarEvent();
         $calendarEvent->start = "2012-12-02 13:00";
         $calendarEvent->end = "2012-12-02 19:00";
         $calendarEvent->title = $faker->catchPhrase . " " . $faker->catchPhrase;
         $calendarEvent->description = $faker->realText(200, 2);
         $calendarEvent->price = rand(0, 10);
         $calendarEvent->user_id = User::all()->random(1)->id;
         $calendarEvent->location_id = Location::all()->random(1)->id;
         $calendarEvent->img = $faker->imageUrl($width = 640, $height = 480);
         $calendarEvent->save();
     }
 }
 public function run()
 {
     $faker = Faker::create();
     foreach (range(1, 20) as $index) {
         CalendarEvent::create(['event_name' => $faker->bs, 'creator_id' => User::all()->random()->id, 'location_id' => Location::all()->random()->id, 'start_time' => $faker->time, 'end_time' => $faker->time, 'cost' => $faker->numberBetween($min = 25, $max = 500), 'description' => $faker->text($maxNbChars = 200), 'event_image' => $faker->image]);
     }
 }
 public function run()
 {
     $faker = Faker::create();
     for ($i = 0; $i < 25; $i += 1) {
         $event = new CalendarEvent();
         $event->start_time = '2015-09-01 12:00:00';
         $event->end_time = '2015-09-02 12:00:00';
         $event->title = $faker->catchPhrase;
         $event->description = $faker->text(100);
         $event->price = '0';
         $event->user_id = User::all()->random()->id;
         $event->location_id = Location::all()->random()->id;
         $event->game_id = Game::all()->random()->id;
         $event->save();
     }
 }
Пример #9
0
 public function getinformationbyid()
 {
     $ce = new CalendarEvent();
     $ce->load($this->_data['id']);
     $data = array();
     $data['start_time'] = $ce->start_time;
     $data['end_time'] = $ce->end_time;
     $data['all_day'] = $ce->all_day;
     $data['summary'] = $ce->summary;
     $data['description'] = $ce->description;
     $data['location'] = $ce->location;
     $data['url'] = $ce->url;
     $data['status'] = $ce->status;
     $data['private'] = $ce->private;
     echo json_encode($data);
     exit;
 }
Пример #10
0
 public function getCMSFields()
 {
     $fields = parent::getCMSFields();
     $fields->removeByName("Content");
     $fields->addFieldToTab("Root.Main", ReadonlyField::create('UID', 'UID'), 'URLSegment');
     $fields->addFieldsToTab("Root.Main", array(TextField::create('Opposition', 'Opposition'), DropdownField::create('Result', 'Game result', singleton('Match')->dbObject('Result')->enumValues())->setEmptyString('(TBD)')), 'Metadata');
     return $fields;
 }
    private function build_view(HTTPRequestCustom $request)
    {
        $db_querier = PersistenceContext::get_querier();
        $date_lang = LangLoader::get('date-common');
        $events_list = $participants = array();
        $config = CalendarConfig::load();
        $year = $this->year ? $this->year : $request->get_int('calendar_ajax_year', date('Y'));
        $month = $this->month ? $this->month : $request->get_int('calendar_ajax_month', date('n'));
        $day = $this->day ? $this->day : $request->get_int('calendar_ajax_day', 1);
        $array_l_month = array($date_lang['january'], $date_lang['february'], $date_lang['march'], $date_lang['april'], $date_lang['may'], $date_lang['june'], $date_lang['july'], $date_lang['august'], $date_lang['september'], $date_lang['october'], $date_lang['november'], $date_lang['december']);
        $result = $db_querier->select("SELECT *\n\t\tFROM " . CalendarSetup::$calendar_events_table . " event\n\t\tLEFT JOIN " . CalendarSetup::$calendar_events_content_table . " event_content ON event_content.id = event.content_id\n\t\tLEFT JOIN " . DB_TABLE_MEMBER . " member ON member.user_id = event_content.author_id\n\t\tLEFT JOIN " . DB_TABLE_COMMENTS_TOPIC . " com ON com.id_in_module = event.id_event AND com.module_id = 'calendar'\n\t\tWHERE approved = 1\n\t\tAND ((start_date BETWEEN :first_day_hour AND :last_day_hour) OR (end_date BETWEEN :first_day_hour AND :last_day_hour) OR (:first_day_hour BETWEEN start_date AND end_date))\n\t\tORDER BY start_date ASC", array('first_day_hour' => mktime(0, 0, 0, $month, $day, $year), 'last_day_hour' => mktime(23, 59, 59, $month, $day, $year)));
        while ($row = $result->fetch()) {
            $event = new CalendarEvent();
            $event->set_properties($row);
            $events_list[$event->get_id()] = $event;
        }
        $result->dispose();
        $events_number = $result->get_rows_count();
        $this->view->put_all(array('C_COMMENTS_ENABLED' => $config->are_comments_enabled(), 'C_EVENTS' => $events_number > 0, 'DATE' => $day . ' ' . $array_l_month[$month - 1] . ' ' . $year, 'L_EVENTS_NUMBER' => $events_number > 1 ? StringVars::replace_vars($this->lang['calendar.labels.events_number'], array('events_number' => $events_number)) : $this->lang['calendar.labels.one_event']));
        if (!empty($events_list)) {
            $result = $db_querier->select('SELECT event_id, member.user_id, display_name, level, groups
			FROM ' . CalendarSetup::$calendar_users_relation_table . ' participants
			LEFT JOIN ' . DB_TABLE_MEMBER . ' member ON member.user_id = participants.user_id
			WHERE event_id IN :events_list', array('events_list' => array_keys($events_list)));
            while ($row = $result->fetch()) {
                if (!empty($row['display_name'])) {
                    $participant = new CalendarEventParticipant();
                    $participant->set_properties($row);
                    $participants[$row['event_id']][$participant->get_user_id()] = $participant;
                }
            }
            $result->dispose();
            foreach ($events_list as $event) {
                if (isset($participants[$event->get_id()])) {
                    $event->set_participants($participants[$event->get_id()]);
                }
                $this->view->assign_block_vars('event', $event->get_array_tpl_vars());
                $participants_number = count($event->get_participants());
                $i = 0;
                foreach ($event->get_participants() as $participant) {
                    $i++;
                    $this->view->assign_block_vars('event.participant', array_merge($participant->get_array_tpl_vars(), array('C_LAST_PARTICIPANT' => $i == $participants_number)));
                }
            }
        }
    }
Пример #12
0
 public function __construct(CalendarEvent $event)
 {
     $this->event = $event;
     $this->datetimeClass = $event->Parent()->getDateTimeClass();
     $this->eventClass = $event->Parent()->getEventClass();
     $relation = $event->Parent()->getDateToEventRelation();
     if ($datetime = DataList::create($this->datetimeClass)->where("{$relation} = {$event->ID}")->first()) {
         $this->ts = strtotime($datetime->StartDate);
     }
     if ($event->CustomRecursionType == 2) {
         if ($days_of_week = $event->getManyManyComponents('RecurringDaysOfWeek')) {
             foreach ($days_of_week as $day) {
                 $this->allowedDaysOfWeek[] = $day->Value;
             }
         }
     } else {
         if ($event->CustomRecursionType == 3) {
             if ($days_of_month = $event->getManyManyComponents('RecurringDaysOfMonth')) {
                 foreach ($days_of_month as $day) {
                     $this->allowedDaysOfMonth[] = $day->Value;
                 }
             }
         }
     }
     if ($exceptions = $event->getComponents('Exceptions')) {
         foreach ($exceptions as $exception) {
             $this->exceptions[] = $exception->ExceptionDate;
         }
     }
 }
 private function get_repeat_type_label(CalendarEvent $event)
 {
     $label = CalendarEventContent::NEVER;
     switch ($event->get_content()->get_repeat_type()) {
         case CalendarEventContent::DAILY:
             $label = LangLoader::get_message('every_day', 'date-common');
             break;
         case CalendarEventContent::WEEKLY:
             $label = LangLoader::get_message('every_week', 'date-common');
             break;
         case CalendarEventContent::MONTHLY:
             $label = LangLoader::get_message('every_month', 'date-common');
             break;
         case CalendarEventContent::YEARLY:
             $label = LangLoader::get_message('every_year', 'date-common');
             break;
     }
     return $label;
 }
Пример #14
0
 public function showHome()
 {
     $todaysDate = Carbon::now();
     $event = CalendarEvent::where('date', '>', $todaysDate)->get()->random();
     // dd($event);
     $categoryId = $event->category_id;
     $category = Category::where('id', '=', $categoryId)->first();
     $group = Group::with('categories')->where('group_name', '<>', '')->get()->random();
     return View::make('index')->with(array('event' => $event, 'group' => $group, 'category' => $category));
 }
 public function getSettingsFields()
 {
     $fields = parent::getSettingsFields();
     Requirements::javascript('eventmanagement/javascript/cms.js');
     $fields->addFieldsToTab('Root.Registration', array(new CheckboxField('OneRegPerEmail', _t('EventManagement.ONE_REG_PER_EMAIL', 'Limit to one registration per email address?')), new CheckboxField('RequireLoggedIn', _t('EventManagement.REQUIRE_LOGGED_IN', 'Require users to be logged in to register?')), $limit = new NumericField('RegistrationTimeLimit', _t('EventManagement.REG_TIME_LIMIT', 'Registration time limit'))));
     $limit->setDescription(_t('EventManagement.REG_TIME_LIMIT_NOTE', 'The time limit to complete registration, in seconds. Set to 0 to disable place holding.'));
     $fields->addFieldsToTab('Root.Email', array(new EmailField('EventManagerEmail', _t('EventManagement.EMAIL_EVENT_MANAGER', 'Event manager email to receive registration notifications?')), new CheckboxField('RegEmailConfirm', _t('EventManagement.REQ_EMAIL_CONFIRM', 'Require email confirmation to complete free registrations?')), $info = new TextField('EmailConfirmMessage', _t('EventManagement.EMAIL_CONFIRM_INFO', 'Email confirmation information')), $limit = new NumericField('ConfirmTimeLimit', _t('EventManagement.EMAIL_CONFIRM_TIME_LIMIT', 'Email confirmation time limit')), new CheckboxField('UnRegEmailConfirm', _t('EventManagement.REQ_UN_REG_EMAIL_CONFIRM', 'Require email confirmation to un-register?')), new CheckboxField('EmailNotifyChanges', _t('EventManagement.EMAIL_NOTIFY_CHANGES', 'Notify registered users of event changes via email?')), new CheckboxSetField('NotifyChangeFields', _t('EventManagement.NOTIFY_CHANGE_IN', 'Notify of changes in'), singleton('RegistrableDateTime')->fieldLabels(false))));
     $info->setDescription(_t('EventManagement.EMAIL_CONFIRM_INFO_NOTE', 'This message is displayed to users to let them know they need to confirm their registration.'));
     $limit->setDescription(_t('EventManagement.CONFIRM_TIME_LIMIT_NOTE', 'The time limit to conform registration, in seconds. Set to 0 for no limit.'));
     return $fields;
 }
 /**
  * @param $fullCalendarID int the id of the FullCalendar page to return events for
  * @param $singleEventID int the fullCalendarID of a single event
  */
 public function generateEventList($fullCalendarID = null, $singleEventID = null)
 {
     if (!is_null($fullCalendarID)) {
         $events = FullCalendarEvent::get()->filter(array('ParentID' => $fullCalendarID));
     } else {
         $events = FullCalendarEvent::get()->filter(array('ID' => $singleEventID))->first();
     }
     file_put_contents($this->filePath, '');
     // Events
     $calendarEvents = array();
     foreach ($events as $event) {
         $params = array('start' => new DateTime($event->StartDate), 'end' => new DateTime($event->EndDate), 'summary' => $event->Title, 'description' => $event->ShortDescription, 'location' => "");
         $calendarEvent = new CalendarEvent($params);
         array_push($calendarEvents, $calendarEvent->generateString());
     }
     // Calendar
     $calendarParams = array('events' => $calendarEvents, 'title' => 'Calendar', 'author' => 'Calender Generator');
     $calendar = new Calendar($calendarParams);
     file_put_contents($this->filePath, $calendar->generateDownload(), FILE_APPEND);
 }
 public function run()
 {
     $faker = Faker::create();
     for ($i = 1; $i <= 10; $i++) {
         $event = new CalendarEvent();
         $event->title = $faker->catchPhrase;
         $event->description = $faker->realText;
         $event->date = $faker->dateTime;
         $event->price = $faker->numberBetween($min = 1, $max = 100);
         $event->start_time = $faker->time($format = 'H:i:s');
         $event->location = $faker->country;
         $event->address = $faker->streetAddress;
         $event->city = $faker->city;
         $event->state = $faker->state;
         $event->zip = $faker->postcode;
         $event->img = $faker->imageUrl($width = 640, $height = 480);
         // 'http://lorempixel.com/640/480/'
         $event->user_id = User::all()->random(1)->id;
         $event->save();
     }
 }
 public function run()
 {
     $faker = Faker::create();
     /*foreach(range(1, 10) as $index)*/
     for ($i = 0; $i < 50; $i++) {
         $calendar_event = new CalendarEvent();
         // $calendar_event->user_id = 1;
         // $calendar_event->location_id = 1;
         $calendar_event->user_id = User::all()->random()->id;
         $calendar_event->location_id = Location::all()->random()->id;
         // $calendar_event->start_date_time = '2015-09-12';
         // $calendar_event->end_date_time = '2015-09-13';
         $startDate = Carbon::createFromTimeStamp($faker->dateTimeBetween('-30 days', '+30 days')->getTimestamp());
         $calendar_event->start_date_time = $startDate;
         $calendar_event->end_date_time = Carbon::createFromFormat('Y-m-d H:i:s', $startDate)->addHour();
         $calendar_event->title = $faker->title;
         $calendar_event->description = $faker->catchPhrase;
         $calendar_event->price = $faker->randomNumber(2);
         $calendar_event->url = $faker->imageUrl(640, 480, 'city');
         $calendar_event->save();
     }
 }
Пример #19
0
 public function getCalendarTopList($iLimit = 4)
 {
     if (isset($this->aCachedCalendarEvents['limit' . $iLimit]) && $this->aCachedCalendarEvents['limit' . $iLimit] != null) {
         return $this->aCachedCalendarEvents['limit' . $iLimit];
     }
     $nSubsiteID = $this->EditingSubsite;
     $oCalendarEvents = CalendarEvent::get()->where('SubsiteID = ' . $nSubsiteID . ' AND StartDate >= CURDATE()')->limit($iLimit)->sort('StartDate ASC');
     // alle nieuwsitems worden meteen gepublished dus daar hoeven we niet op te filteren
     if (!$oCalendarEvents) {
         return false;
     }
     $this->aCachedCalendarEvents['limit' . $iLimit] = $oCalendarEvents;
     return $this->aCachedCalendarEvents['limit' . $iLimit];
 }
Пример #20
0
 public function add_event(CalendarEvent $event)
 {
     $athleticEvent = new AthleticEvent();
     $athleticEvent->setID($event->getID());
     $athleticEvent->setTitle($event->get_summary());
     $athleticEvent->setDescription($event->get_description());
     $athleticEvent->setLocation($event->get_location());
     $athleticEvent->setStartDate(new DateTime("@" . $event->get_start()));
     $this->addEvent($athleticEvent);
 }
Пример #21
0
 public function save($user_id)
 {
     $attendance_data = Input::get('attended');
     $calender_data = Input::get('calender_entry');
     foreach ($calender_data as $id => $value) {
         $calender_event = CalendarEvent::find($id);
         $calender_event->status = isset($attendance_data[$id]) ? 'attended' : 'approved';
         $calender_event->save();
     }
     if (Request::segment(2) == 'wingman') {
         return Redirect::to(URL::to('/') . "/attendance/wingman/" . $user_id)->with('success', 'Attendence Saved.');
     } else {
         return Redirect::to(URL::to('/') . "/attendance/" . $user_id)->with('success', 'Attendence Saved.');
     }
     return Redirect::to(URL::to('/') . "/attendance/" . $user_id)->with('success', 'Attendence Saved.');
 }
 public function __construct(&$page, $params)
 {
     $this->page =& $page;
     $this->params = $params;
     switch (count($params)) {
         case 0:
             break;
             // main page of calendar behaviour, don't change anything
         // main page of calendar behaviour, don't change anything
         case 1:
             // there's one parameter after slash
             $slug = $params[0];
             /* We try to find a subpage of the calendar page, so the event's page can be customized */
             $page_found = Page::findBySlug($slug, $this->page, true);
             /* A subpage is found, so display it */
             if (is_a($page_found, "Page")) {
                 $this->page = $page_found;
             } elseif (CalendarPlugin::validateDateString($slug, CALENDAR_SQL_DATE_FORMAT)) {
                 $date = new DateTime($slug);
                 $events = CalendarEvent::findEventsByDate($date);
                 $this->page->title = $date->format(CALENDAR_DISPLAY_DATE_FORMAT);
                 $this->beginCapture();
                 CalendarPlugin::showEvents($events);
                 $this->endCapture();
             } elseif (is_numeric($slug) && ($event = CalendarEvent::findById((int) $slug))) {
                 $this->page->title = $event->getTitle();
                 $this->beginCapture();
                 CalendarPlugin::showEvent($event);
                 $this->endCapture();
             } else {
                 $this->pageNotFound();
             }
             break;
         case 2:
             // there're two parameters after slash
             $year = (int) $params[0];
             $month = (int) $params[1];
             $date = new DateTime();
             $date->setDate($year, $month, 1);
             $this->beginCapture();
             CalendarPlugin::showCalendar($this->page->slug, $date);
             $this->endCapture();
             break;
         default:
             $this->pageNotFound();
     }
 }
 public function view()
 {
     /* Get the event from the URL */
     $eventURL = $this->request->param('ID');
     /* Strip the URL so we only have the event database ID remaining */
     $explodeEvent = explode("-ID-", $eventURL);
     $EventID = $explodeEvent[1];
     /* Retreive the Event from the database */
     $Event = CalendarEvent::get_by_id("CalendarEvent", $EventID);
     // If Event does not exist, fail.
     if (!$Event || !$Event->exists()) {
         $this->getResponse()->addHeader('Status', '404');
         $this->httpError(404, 'The requested resource could not be found.');
     }
     /* Render Event with EventView.ss */
     return $this->customise(array('Title' => $Event->Title . " | " . $this->Title, 'StartDateLong' => date("l jS F Y", strtotime($Event->StartDate)), 'StartDateDay' => date("jS", strtotime($Event->StartDate)), 'StartDateMonth' => date("M", strtotime($Event->StartDate)), 'EndDateLong' => date("l jS F Y", strtotime($Event->EndDate)), 'Event' => $Event))->renderWith(array('EventView', 'Page'));
 }
Пример #24
0
function showCalendar($slug, $date = null)
{
    $date_begin = new DateTime($date);
    $date_begin->modify("first day of this month");
    $date_begin->modify("-1 week");
    $date_begin = $date_begin->format('Y-m-d');
    $date_end = new DateTime($date);
    $date_end->modify("last day of this month");
    $date_end->modify("+1 week");
    $date_end = $date_end->format('Y-m-d');
    $events = CalendarEvent::generateAllEventsBetween($date_begin, $date_end);
    $events_map = array();
    foreach ($events as $event) {
        $events_map[$event->value][] = $event->getTitle();
    }
    $calendar = new View(PLUGINS_ROOT . DS . CALENDAR_VIEWS . '/calendar_table', array('base_path' => BASE_URL . $slug, 'date' => $date, 'map' => $events_map));
    $calendar->display();
}
 public function __construct(&$page, $params)
 {
     $this->page =& $page;
     $this->params = $params;
     switch (count($params)) {
         case 0:
             break;
         case 1:
             $slug = $params[0];
             /* We try to find a subpage of the calendar page, so the event's page can be customized */
             $page_found = Page::findBySlug($slug, $this->page, true);
             if (is_a($page_found, "Page")) {
                 $this->page = $page_found;
             } else {
                 /* A subpage is not found, so try to parse a date and then create an event's page */
                 try {
                     $datetime = new DateTime($slug);
                 } catch (Exception $e) {
                     pageNotFound();
                     exit;
                 }
                 $events = CalendarEvent::findEventsByDate($datetime->format('Y-m-d'));
                 $this->page->title = strftime("%x", $datetime->getTimestamp());
                 /* The date should be localized */
                 $this->beginCapture();
                 showEvents($events);
                 $this->endCapture();
             }
             break;
         case 2:
             $year = $params[0];
             $month = $params[1];
             $this->beginCapture();
             $this->showCalendarForMonth($year, $month);
             $this->endCapture();
             break;
         default:
             pageNotFound();
             exit;
     }
 }
Пример #26
0
 /**
  * Shows a month calendar.
  *
  * @param string   $slug  slug of the calendar page, the slug becomes a base for links shown in the calendar
  * @param DateTime $date  calendar shows this $date's month, null means "today"; the day of the month is ignored
  */
 public static function showCalendar($slug, DateTime $date = null)
 {
     if (is_null($date)) {
         $date = new DateTime('now');
     }
     $date_begin = clone $date;
     $date_begin->modify("first day of this month");
     $date_begin->modify("-1 week");
     $date_end = clone $date;
     $date_end->modify("last day of this month");
     $date_end->modify("+1 week");
     // generate events map
     $events = CalendarEvent::generateAllEventsBetween($date_begin, $date_end);
     $events_map = array();
     foreach ($events as $event) {
         $events_map[$event->value][] = $event;
     }
     // display calendar table
     $view = new View(CALENDAR_VIEWS_FRONT . '/calendar', array('base_url' => get_url($slug), 'date' => $date, 'map' => $events_map));
     $view->display();
 }
Пример #27
0
    public function parseIntoObjects($range_id, $data, $ignore)
    {
        $this->time = time();
        if ($this->parse($data, $ignore)) {
            if (is_array($this->components)) {
                foreach ($this->components as $props) {
                    $event = CalendarEvent::findByUid($props['UID'], $range_id);
                    if ($event) {
                        $this->events[] = $this->setProperties($event->event, $props);
                    } else {
                        $event = new CalendarEvent();
                        $this->events[] = $this->setProperties($event->event, $props);
                    }
                }
            }
            return true;
        }
        $message = _('Die Import-Daten konnten nicht verarbeitet werden!');

        return false;
    }
 /**
  * Remove the specified calendarevent from storage.
  *
  * @param  int  $id
  * @return Response
  */
 public function destroy($id)
 {
     $event = CalendarEvent::findOrFail($id);
     $event->delete();
     if (Request::wantsJson()) {
         return Response::json(array('Status' => 'Request Succeeded'));
     } else {
         Session::flash('successMessage', 'This event has been successfully deleted.');
         return Redirect::action('CalendarEventsController@index');
     }
 }
Пример #29
0
 /**
  * Sends a message to the owner of the calendar that this event was deleted
  * by another user.
  *
  * @param CalendarEvent $event The deleted event.
  */
 protected function sendDeleteMessage($event)
 {
     $message = new messaging();
     $event_data = '';
     $subject = strftime(_('Termin am %c gelöscht'), $event->getStart());
     $msg_text = sprintf(_("%s hat folgenden Termin in Ihrem Kalender gelöscht:"), get_fullname());
     $msg_text .= "\n\n";
     $msg_text .= '**' . _('Zeit:') . '**' . strftime(' %c - ', $event->getStart()) . strftime('%c', $event->getEnd()) . "\n";
     $msg_text .= '**' . _("Zusammenfassung:") . '** ' . $event->getTitle() . "\n";
     if ($event_data = $event->getDescription()) {
         $msg_text .= '**' . _("Beschreibung:") . "** {$event_data}\n";
     }
     if ($event_data = $event->toStringCategories()) {
         $msg_text .= '**' . _("Kategorie:") . "** {$event_data}\n";
     }
     if ($event_data = $event->toStringPriority()) {
         $msg_text .= '**' . _("Priorität:") . "** {$event_data}\n";
     }
     if ($event_data = $event->toStringAccessibility()) {
         $msg_text .= '**' . _("Zugriff:") . "** {$event_data}\n";
     }
     if ($event_data = $event->toStringRecurrence()) {
         $msg_text .= '**' . _("Wiederholung:") . "** {$event_data}\n";
     }
     $message->insert_message($msg_text, get_username($event->range_id), '____%system%____', '', '', '', '', $subject);
 }
 public function getEvent()
 {
     $events = CalendarEvent::with('location')->get();
     return Response::json($events);
 }