Ejemplo n.º 1
0
 public function updateUserLevel($id_user, $new_level)
 {
     require_once _lms_ . '/lib/lib.subscribe.php';
     $subscribe_man = new CourseSubscribe_Manager();
     return $subscribe_man->updateUserLeveInCourse($id_user, $this->id_course, $new_level);
 }
 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);
 }