function updateUserTimings() { global $ilUser, $ilObjDataCache; include_once 'Modules/Course/classes/Timings/class.ilTimingPlaned.php'; // Validate $this->invalid = array(); foreach ($_POST['item'] as $ref_id => $data) { $tmp_planed = new ilTimingPlaned($ref_id, $ilUser->getId()); $tmp_planed->setPlanedStartingTime($this->__toUnix($data['own_start'])); if (isset($data['duration'])) { $data['own_start']['d'] += $data['duration']; $tmp_planed->setPlanedEndingTime($this->__toUnix($data['own_start'], array('h' => 23, 'm' => 55))); } else { $tmp_planed->setPlanedEndingTime($this->__toUnix($data['own_start']), array('h' => 23, 'm' => 55)); } if (!$tmp_planed->validate()) { $this->invalid[$ref_id] = $ilObjDataCache->lookupTitle($ilObjDataCache->lookupObjId($ref_id)); } $all_items[] = $tmp_planed; } if (count($this->invalid)) { $message = $this->lng->txt('crs_timings_update_error'); $message .= "<br />" . $this->lng->txt('crs_materials') . ': '; $message .= implode(',', $this->invalid); ilUtil::sendFailure($message); $this->editUserTimings(); return false; } foreach ($all_items as $new_item_obj) { $new_item_obj->update(); } ilUtil::sendSuccess($this->lng->txt('settings_saved')); $this->editUserTimings(); return true; }