static function parseData($original_name, $formvalues) { if (!isset($formvalues[$original_name])) { $date = yuicalendarcontrol::parseData($original_name . 'date', $formvalues); $time = datetimecontrol::parseData($original_name . 'time', $formvalues); return $date + $time; } else { return 0; } //return $time; }
static function form($object) { global $user; $form = new form(); if (!isset($object->id)) { $object->title = ''; $object->body = ''; $object->eventdate = null; $object->eventdate->id = 0; $object->eventdate->date = time(); $object->eventstart = time(); $object->eventend = time() + 3600; $object->is_allday = 0; $object->is_featured = 0; $object->is_recurring = 0; } else { $form->meta('id', $object->id); } $form->register('title', gt('Title'), new textcontrol($object->title)); $form->register('body', gt('Body'), new htmleditorcontrol($object->body)); $form->register(null, '', new htmlcontrol('<hr size="1" />')); if ($object->is_recurring == 1) { $form->register(null, '', new htmlcontrol(gt('Warning: If you change the date below, it will only affect this specific events. All other changes can be applied to this and other events.'), false)); } //$form->register('eventdate',gt('Event Date'),new popupdatetimecontrol($object->eventdate->date,'',false)); $form->register('eventdate', gt('Event Date'), new yuicalendarcontrol($object->eventdate->date, '', false)); $cb = new checkboxcontrol($object->is_allday, false); $cb->jsHooks = array('onclick' => 'exponent_forms_disable_datetime(\'eventstart\',this.form,this.checked); exponent_forms_disable_datetime(\'eventend\',this.form,this.checked);'); $form->register('is_allday', gt('All Day Event'), $cb); $form->register('eventstart', gt('Start Time'), new datetimecontrol($object->eventstart, false)); $form->register('eventend', gt('End Time'), new datetimecontrol($object->eventend, false)); if (!isset($object->id)) { // $customctl = file_get_contents(BASE.'framework/modules-1/calendarmodule/form.part'); $custom = new formtemplate('forms/calendar', '_recurring'); $customctl = $custom->render(); //$datectl = new popupdatetimecontrol($object->eventstart+365*86400,'',false); $datectl = new yuicalendarcontrol($object->eventdate->date + 365 * 86400, '', false); $customctl = str_replace('%%UNTILDATEPICKER%%', $datectl->controlToHTML('untildate'), $customctl); $form->register('recur', gt('Recurrence'), new customcontrol($customctl)); } else { if ($object->is_recurring == 1) { // Edit applies to one or more... $template = new template('calendarmodule', '_recur_dates'); global $db; $eventdates = $db->selectObjects('eventdate', 'event_id=' . $object->id); $eventdates = expSorter::sort(array('array' => $eventdates, 'sortby' => 'date', 'order' => 'ASC')); if (isset($object->eventdate)) { $template->assign('checked_date', $object->eventdate); } $template->assign('dates', $eventdates); $form->register(null, '', new htmlcontrol('<hr size="1"/>' . gt('This event is a recurring event, and occurs on the dates below. Select which dates you wish to apply these edits to.'))); $form->register(null, '', new htmlcontrol('<table cellspacing="0" cellpadding="2" width="100%" class="exp-skin-table">' . $template->render() . '</table>')); $form->meta('date_id', $object->eventdate->id); // Will be 0 if we are creating. } } $form->register('featured_header', '', new htmlcontrol('<h3>' . gt('Featured Event Info') . '</h3><hr size="1" />')); $form->register('is_featured', gt('Feature this event'), new checkboxcontrol($object->is_featured, false)); /* Why was this even here? No views have it. 6/23/09 Time to implement it - Maia*/ // $form->register('image_header','',new htmlcontrol('<h3>'.gt('Upload Image File').'</h3><hr size="1" />')); // $form->register('file',gt('Upload Image'),new uploadcontrol()); // $form->register('tag_header','',new htmlcontrol('<h3>'.gt('Tags').'</h3><hr size="1" />')); $form->register('submit', '', new buttongroupcontrol(gt('Save'), '', gt('Cancel'))); return $form; }
$db->updateObject($eventdate, 'eventdate'); } else { $item->approved = 1; $db->updateObject($item, "calendar"); // There should be only one eventdate $eventdate = $db->selectObject('eventdate', 'event_id = ' . $item->id); //$eventdate->date = expDateTime::startOfDayTimestamp(popupdatetimecontrol::parseData("eventdate",$_POST)); $eventdate->date = expDateTime::startOfDayTimestamp(yuicalendarcontrol::parseData("eventdate", $_POST)); $db->updateObject($eventdate, 'eventdate'); } // calendarmodule::spiderContent($item); } else { //$start_recur = expDateTime::startOfDayTimestamp(popupdatetimecontrol::parseData("eventdate",$_POST)); $start_recur = expDateTime::startOfDayTimestamp(yuicalendarcontrol::parseData("eventdate", $_POST)); //$stop_recur = expDateTime::startOfDayTimestamp(popupdatetimecontrol::parseData("untildate",$_POST)); $stop_recur = expDateTime::startOfDayTimestamp(yuicalendarcontrol::parseData("untildate", $_POST)); if ($_POST['recur'] != "recur_none" && isset($_POST['recur'])) { // Do recurrence $freq = $_POST['recur_freq_' . $_POST['recur']]; ###echo $_POST['recur'] . "<br />"; switch ($_POST['recur']) { case "recur_daily": $dates = expDateTime::recurringDailyDates($start_recur, $stop_recur, $freq); break; case "recur_weekly": $dates = expDateTime::recurringWeeklyDates($start_recur, $stop_recur, $freq, isset($_POST['day']) ? array_keys($_POST['day']) : array($dateinfo['wday'])); break; case "recur_monthly": $dates = expDateTime::recurringMonthlyDates($start_recur, $stop_recur, $freq, $_POST['month_type']); break; case "recur_yearly":