Exemplo n.º 1
0
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;
}
Exemplo n.º 2
0
    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() . '&amp;month=' . $pDayCalObj->thisMonth() . '&amp;day=' . $pDayCalObj->thisDay(), 'name' => $extcalTimeHandler->getFormatedDate($xoopsModuleConfig['nav_date_day'], $pDayCalObj->getTimestamp())), 'this' => array('uri' => 'year=' . $dayCalObj->thisYear() . '&amp;month=' . $dayCalObj->thisMonth() . '&amp;day=' . $dayCalObj->thisDay(), 'name' => $extcalTimeHandler->getFormatedDate($xoopsModuleConfig['nav_date_day'], $dayCalObj->getTimestamp())), 'next' => array('uri' => 'year=' . $nDayCalObj->thisYear() . '&amp;month=' . $nDayCalObj->thisMonth() . '&amp;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';