function __updateUser($user_id, $obj_id)
 {
     $form = $this->initEditUserForm($user_id, $obj_id);
     if ($form->checkInput()) {
         include_once 'Services/Tracking/classes/class.ilLPMarks.php';
         $marks = new ilLPMarks($obj_id, $user_id);
         $marks->setMark($form->getInput("mark"));
         $marks->setComment($form->getInput("comment"));
         $do_lp = false;
         // status/completed is optional
         $status = $form->getItemByPostVar("completed");
         if (is_object($status)) {
             if ($marks->getCompleted() != $form->getInput("completed")) {
                 $marks->setCompleted($form->getInput("completed"));
                 $do_lp = true;
             }
         }
         $marks->update();
         // #11600
         if ($do_lp) {
             include_once "./Services/Tracking/classes/class.ilLPStatusWrapper.php";
             ilLPStatusWrapper::_updateStatus($obj_id, $user_id);
         }
     }
 }
 function saveProgress()
 {
     global $ilUser;
     include_once 'Services/Tracking/classes/class.ilLPMarks.php';
     $lp_marks = new ilLPMarks($this->gui_object->object->getId(), $ilUser->getId());
     $lp_marks->setCompleted((bool) $_POST['lp_edit']);
     $lp_marks->update();
     require_once 'Services/Tracking/classes/class.ilLPStatusWrapper.php';
     ilLPStatusWrapper::_updateStatus($this->gui_object->object->getId(), $ilUser->getId());
     $this->lng->loadLanguageModule('trac');
     ilUtil::sendSuccess($this->lng->txt('trac_updated_status'), true);
     $this->ctrl->redirect($this, "");
     // #14993
     // $this->showSummary();
 }
 function __updateUser($user_id, $obj_id)
 {
     include_once 'Services/Tracking/classes/class.ilLPMarks.php';
     $marks = new ilLPMarks($obj_id, $user_id);
     $marks->setMark(ilUtil::stripSlashes($_POST['mark']));
     $marks->setComment(ilUtil::stripSlashes($_POST['comment']));
     $marks->setCompleted((bool) $_POST['completed']);
     $marks->update();
     include_once "./Services/Tracking/classes/class.ilLPStatusWrapper.php";
     ilLPStatusWrapper::_updateStatus($obj_id, $user_id);
 }
 /**
  * Test LP marks 
  * @param
  * @return
  */
 public function testLPMarks()
 {
     include_once './Services/Tracking/classes/class.ilLPMarks.php';
     include_once './Services/Tracking/classes/class.ilLPStatusFactory.php';
     $marks = new ilLPMarks(999, 888);
     $marks->setMark('Gut');
     $marks->setComment('Weiter so');
     $marks->setCompleted(true);
     $marks->update();
     $marks = new ilLPMarks(999, 888);
     $mark = $marks->getMark();
     $this->assertEquals($mark, 'Gut');
     $comment = ilLPMarks::_lookupComment(888, 999);
     $this->assertEquals($comment, 'Weiter so');
     $class = ilLPStatusFactory::_getClassById(999, ilLPObjSettings::LP_MODE_MANUAL);
     $completed = $class::_getCompleted(999);
     $this->assertEquals(array(888), $completed);
     ilLPMarks::deleteObject(999);
 }
 function __updateUser($user_id, $obj_id)
 {
     global $ilUser;
     include_once 'Services/Tracking/classes/class.ilLPMarks.php';
     $marks = new ilLPMarks($obj_id, $user_id);
     $marks->setMark(ilUtil::stripSlashes($_POST['mark']));
     $marks->setComment(ilUtil::stripSlashes($_POST['comment']));
     $do_lp = false;
     if ($marks->getCompleted() != (bool) $_POST['completed']) {
         $marks->setCompleted((bool) $_POST['completed']);
         $do_lp = true;
     }
     $marks->update();
     // #11600
     if ($do_lp) {
         include_once "./Services/Tracking/classes/class.ilLPStatusWrapper.php";
         ilLPStatusWrapper::_updateStatus($obj_id, $user_id);
     }
 }
 /**
  * sync course status and lp status 
  *  
  * @param int $a_member_id
  * @param bool $a_has_passed
  */
 protected function updateLPFromStatus($a_member_id, $a_has_passed)
 {
     global $ilUser;
     include_once "Services/Tracking/classes/class.ilObjUserTracking.php";
     if (ilObjUserTracking::_enabledLearningProgress() && $this->object->getStatusDetermination() == ilObjCourse::STATUS_DETERMINATION_LP) {
         include_once './Services/Object/classes/class.ilObjectLP.php';
         $olp = ilObjectLP::getInstance($this->object->getId());
         if ($olp->getCurrentMode() == ilLPObjSettings::LP_MODE_MANUAL_BY_TUTOR) {
             include_once 'Services/Tracking/classes/class.ilLPMarks.php';
             $marks = new ilLPMarks($this->object->getId(), $a_member_id);
             // only if status has changed
             if ($marks->getCompleted() != $a_has_passed) {
                 $marks->setCompleted($a_has_passed);
                 $marks->update();
                 include_once "./Services/Tracking/classes/class.ilLPStatusWrapper.php";
                 ilLPStatusWrapper::_updateStatus($this->object->getId(), $a_member_id, null, false, true);
             }
         }
     }
 }
 /**
  * sync course status and lp status 
  *  
  * @param int $a_member_id
  * @param bool $a_has_passed
  */
 protected function updateLPFromStatus($a_member_id, $a_has_passed)
 {
     include_once "Services/Tracking/classes/class.ilObjUserTracking.php";
     if (ilObjUserTracking::_enabledLearningProgress() && $this->object->getStatusDetermination() == ilObjCourse::STATUS_DETERMINATION_LP) {
         include_once './Services/Tracking/classes/class.ilLPObjSettings.php';
         $lp_settings = new ilLPObjSettings($this->object->getId());
         if ($lp_settings->getMode() == LP_MODE_MANUAL_BY_TUTOR) {
             include_once 'Services/Tracking/classes/class.ilLPMarks.php';
             $marks = new ilLPMarks($this->object->getId(), $a_member_id);
             $marks->setCompleted($a_has_passed);
             $marks->update();
             include_once "./Services/Tracking/classes/class.ilLPStatusWrapper.php";
             ilLPStatusWrapper::_updateStatus($this->object->getId(), $a_member_id, null, false, true);
         }
     }
 }