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;
 }