/** * @param string $className * * @return EventList */ public function filterByClass($className) { $events = new EventList(); foreach ($this->events as $event) { if ($event instanceof $className) { $events->add($event); } } return $events; }
public function getAppointments($y, $m) { $ret = array(); $i = 0; $month = intval($m); $sTimestamp = gmmktime(0, 0, 0, $m, 1, $y); $eTimestamp = gmmktime(0, 0, 0, $m + 1, 0, $y); $userID = intval(WCF::getUser()->userID); $showPublic = intval(WBBCore::getUser()->monthlyCalendarBox_showPublicAppointments); if (empty($userID)) { $showPublic = 1; } if (WBBCore::getUser()->getPermission('user.calendar.canUseCalendar')) { require_once WCF_DIR . 'lib/util/CalendarUtil.class.php'; require_once WCF_DIR . 'lib/data/calendar/event/EventList.class.php'; $cals = Calendar::getEnabledCalendars(); $events = new EventList($sTimestamp, $eTimestamp, $cals); $events->readEvents(); $myEvents = $events->getEvents(1000); foreach ($myEvents as $event) { if (!$event->eventID) { continue; } $dd = date('j', $event->startTime); if (isset($ret[$dd])) { $ret[$dd] .= ", "; } else { $ret[$dd] = ''; } $ret[$dd] .= StringUtil::encodeHTML($event->subject); $i++; } } else { if (WBBCore::getUser()->getPermission('user.calendar.canEnter')) { $sql = "SELECT cem.subject AS subject, ce.eventTime AS startTime" . "\n FROM wcf" . WCF_N . "_calendar_event ce" . "\n LEFT JOIN wcf" . WCF_N . "_calendar_event_message cem ON (cem.eventID = ce.eventID)" . "\n WHERE ce.eventTime >= " . $sTimestamp . "\n AND ce.eventTime <= " . $eTimestamp; if (!empty($userID) && empty($showPublic)) { $sql .= "\n AND cem.userID = " . $userID; } $result = WBBCore::getDB()->sendQuery($sql); while ($row = WBBCore::getDB()->fetchArray($result)) { $dd = date('j', $row['startTime']); if (isset($ret[$dd])) { $ret[$dd] .= ", "; } else { $ret[$dd] = ''; } $ret[$dd] .= StringUtil::encodeHTML($row['subject']); } } } return $ret; }