public function updateUserStatus($id_user, $new_status) { if ($this->id_edition != 0) { require_once _lms_ . '/lib/lib.subscribe.php'; $subscribe_man = new CourseSubscribe_Manager(); if ($new_status == _CUS_END) { require_once _lms_ . '/lib/lib.edition.php'; $edition_man = new EditionManager(); $edition_man->setEditionFinished($this->id_edition, $id_user); } return $subscribe_man->updateUserStatusInCourse($id_user, $this->id_course, $new_status); } elseif ($this->id_date != 0) { require_once _lms_ . '/lib/lib.subscribe.php'; $subscribe_man = new CourseSubscribe_Manager(); if ($new_status == _CUS_END) { require_once _lms_ . '/lib/lib.date.php'; $date_man = new DateManager(); $date_man->setDateFinished($this->id_date, $id_user); } return $subscribe_man->updateUserStatusInCourse($id_user, $this->id_course, $new_status); } else { require_once _lms_ . '/lib/lib.subscribe.php'; $subscribe_man = new CourseSubscribe_Manager(); return $subscribe_man->updateUserStatusInCourse($id_user, $this->id_course, $new_status); } }
public function multimod() { if (!$this->permissions['subscribe_course']) { $output = array('success' => false, 'message' => $this->_getMessage("no permission")); echo $this->json->encode($output); return; } $output = array(); $users = Get::req('users', DOTY_STRING, ''); if ($users == '') { $output['success'] = false; $output['message'] = Lang::t('_NO_USER_SELECTED', 'subscribe'); } else { $set_level = Get::req('multimod_level_set', DOTY_INT, 0); $set_status = Get::req('multimod_status_set', DOTY_INT, 0); $set_date_begin = Get::req('multimod_date_begin_set', DOTY_INT, 0); $set_date_expire = Get::req('multimod_date_expire_set', DOTY_INT, 0); if ($set_level <= 0 && $set_status <= 0 && $set_date_begin <= 0 && $set_date_expire <= 0) { $output['success'] = false; $output['message'] = UIFeedback::info($this->_getMessage('no options selected'), true); } else { $users_list = explode(',', $users); require_once _lms_ . '/lib/lib.subscribe.php'; $sman = new CourseSubscribe_Manager(); $res1 = true; if ($set_level > 0) { $new_level = Get::req('multimod_level', DOTY_INT, -1); if ($new_level > 0) { $res1 = $sman->updateUserLeveInCourse($users_list, $this->id_course, $new_level); } } $res2 = true; if ($set_status > 0) { $new_status = Get::req('multimod_status', DOTY_INT, -999); if (in_array($new_status, array_keys($this->model->getUserStatusList()))) { $res2 = $sman->updateUserStatusInCourse($users_list, $this->id_course, $new_status); } } $res3 = true; if ($set_date_begin > 0) { $new_date_begin = Get::req('multimod_date_begin', DOTY_STRING, ""); $res3 = $sman->updateUserDateBeginValidityInCourse($users_list, $this->id_course, Format::dateDb($new_date_begin, 'date')); } $res4 = true; if ($set_date_expire > 0) { $new_date_expire = Get::req('multimod_date_expire', DOTY_STRING, ""); $res4 = $sman->updateUserDateExpireValidityInCourse($users_list, $this->id_course, Format::dateDb($new_date_expire, 'date')); } $success = $res1 && $res2 && $res3 && $res4; $output['success'] = $success; if (!$success) { $message = ""; if (!$res1) { $message .= 'Unable to change level;'; } //TO DO: make translation if (!$res2) { $message .= 'Unable to change status;'; } //TO DO: make translation if (!$res3) { $message .= 'Unable to change date begin;'; } //TO DO: make translation if (!$res4) { $message .= 'Unable to change date expire;'; } //TO DO: make translation $output['message'] = $message; } } } echo $this->json->encode($output); }