function calendar_user_day() { $data = xarMod::apiFunc('calendar', 'user', 'getUserDateTimeInfo'); $DayEvents = new Calendar_Day($data['cal_year'], $data['cal_month'], $data['cal_day'], CALENDAR_FIRST_DAY_OF_WEEK); $args = array('day' => &$Day); $day_endts = $DayEvents->getTimestamp() + xarModVars::get('calendar', 'day_end') + 3600; // $events = xarMod::apiFunc('icalendar','user','getevents',$args); // get all the events. need to improve this query $xartable = xarDB::getTables(); $q = new Query('SELECT', $xartable['calendar_event']); // $q->qecho(); if (!$q->run()) { return; } $events = $q->output(); // Do some calculations to complete the entries' info $slots = array(); // Loop through the events $eventcount = count($events); for ($j = 0; $j < $eventcount; $j++) { // make sure events don't go past the end of the day $events[$j]['end_time'] = min($events[$j]['end_time'], $day_endts); $placed = false; $slotcount = count($slots); for ($i = 0; $i < $slotcount; $i++) { if ($events[$j]['start_time'] >= $slots[$i][1]) { foreach ($slots as $slot) { $events[$slot[0]]['neighbors'] = $slotcount; } $thisslot = $i; $slots = array(0 => array($j, $events[$j]['end_time'])); $placed = true; break; } } if (!$placed) { $thisslot = $slotcount; $slots[] = array($j, $events[$j]['end_time']); } $events[$j]['place'] = $thisslot; } foreach ($slots as $slot) { $events[$slot[0]]['neighbors'] = $slotcount; } //foreach($events as $event) {var_dump($event);echo "<br />";} /* $selection = array(); foreach ( $entries as $entry ) { $Hour = new Calendar_Hour(2000,1,1,1); $Hour->setTimeStamp($entry['start_time']); // Create the decorator, passing it the Hour $event = new Event($Hour); // Attach the payload $event->setEntry($entry); // Add the decorator to the selection $selection[] = $event; } */ $DayDecorator = new DayEvent_Decorator($DayEvents); $DayDecorator->build($events); $data['Day'] =& $DayDecorator; $data['cal_sdow'] = CALENDAR_FIRST_DAY_OF_WEEK; return $data; }
if (!$event['event_isrecur']) { $eventsArray[] = $event; } else { $recurEvents = $eventHandler->getRecurEventToDisplay($event, $startDay, $endDay); foreach ($recurEvents as $recurEvent) { $eventsArray[] = $recurEvent; } } } // Formating date $eventHandler->formatEventsDate($eventsArray, $xoopsModuleConfig['event_date_day']); // Assigning events to the template $xoopsTpl->assign('events', $eventsArray); // Retriving categories $cats = $catHandler->objectToArray($catHandler->getAllCat($xoopsUser)); // Assigning categories to the template $xoopsTpl->assign('cats', $cats); // Making navig data $dayCalObj = new Calendar_Day($year, $month, $day); $pDayCalObj = $dayCalObj->prevDay('object'); $nDayCalObj = $dayCalObj->nextDay('object'); $navig = array('prev' => array('uri' => 'year=' . $pDayCalObj->thisYear() . '&month=' . $pDayCalObj->thisMonth() . '&day=' . $pDayCalObj->thisDay(), 'name' => $extcalTimeHandler->getFormatedDate($xoopsModuleConfig['nav_date_day'], $pDayCalObj->getTimestamp())), 'this' => array('uri' => 'year=' . $dayCalObj->thisYear() . '&month=' . $dayCalObj->thisMonth() . '&day=' . $dayCalObj->thisDay(), 'name' => $extcalTimeHandler->getFormatedDate($xoopsModuleConfig['nav_date_day'], $dayCalObj->getTimestamp())), 'next' => array('uri' => 'year=' . $nDayCalObj->thisYear() . '&month=' . $nDayCalObj->thisMonth() . '&day=' . $nDayCalObj->thisDay(), 'name' => $extcalTimeHandler->getFormatedDate($xoopsModuleConfig['nav_date_day'], $nDayCalObj->getTimestamp()))); // Assigning navig data to the template $xoopsTpl->assign('navig', $navig); // Assigning current form navig data to the template $xoopsTpl->assign('selectedCat', $cat); $xoopsTpl->assign('year', $year); $xoopsTpl->assign('month', $month); $xoopsTpl->assign('day', $day); $xoopsTpl->assign('view', "day"); include XOOPS_ROOT_PATH . '/footer.php';