예제 #1
0
 /**
  * Set user roles in course
  *
  * This function sets the role for the specified user in the course
  * <br/>Example:
  * <code>
  * $course -> addUsers('jdoe', 'student');              //Added the user 'jdoe' in the lesson, having the role 'student'
  * $course -> setRoles('jdoe', 'professor');                //Updated jdoe's role to be 'professor'
  * </code>
  * Multiple values can be set if arguments are arrays
  *
  * @param mixed $users The user login name
  * @param mixed $roles The user role for this course
  * @since 3.5.0
  * @access public
  */
 public function setRoles($users, $roles)
 {
     $users = EfrontUser::verifyUsersList($users);
     $roles = EfrontUser::verifyRolesList($roles, sizeof($users));
     $courseLessons = $this->getCourseLessons();
     foreach ($users as $key => $value) {
         $fields = array('user_type' => $roles[$key]);
         $where = "users_LOGIN='******' and courses_ID=" . $this->course['id'];
         self::persistCourseUsers($fields, $where, $this->course['id'], $value);
         foreach ($courseLessons as $lessonId => $lesson) {
             $lesson->setRoles($value, $roles[$key]);
         }
     }
 }
 /**
  * Assign courses to user.
  *
  * This function can be used to assign a course to the current user. If $userTypes
  * is specified, then the user is assigned to the course using the specified type.
  * By default, the user asic type is used.
  * <br/>Example:
  * <code>
  * $user = EfrontUserFactory :: factory('jdoe');
  * $user -> addCourses(23);						 //Add a signle course with id 23
  * $user -> addCourses(23, 'professor');			//Add a signle course with id 23 and set the user type to 'professor'
  * $user -> addCourses(array(23,24,25));			//Add multiple courses using an array
  * $user -> addCourses(array(23,24,25), array('professor', 'student', 'professor'));			//Add multiple courses using an array for course ids and another for corresponding user types
  * </code>
  *
  * @param mixed $courseIds Either a single course id, or an array if ids
  * @param mixed $userTypes The corresponding user types for the specified courses
  * @param boolean $activeate Courses will be set as active or not
  * @return mixed The array of course ids or false if the course already exists.
  * @since 3.5.0
  * @access public
  * @todo auto_projects
  */
 public function addCourses($courses, $roles = 'student', $confirmed = true)
 {
     $courses = $this->verifyCoursesList($courses);
     $roles = EfrontUser::verifyRolesList($roles, sizeof($courses));
     if (sizeof($courses) > 0) {
         $courses = eF_getTableData("courses", "*", "id in (" . implode(",", $courses) . ")");
         foreach ($courses as $key => $course) {
             $course = new EfrontCourse($course);
             $course->addUsers($this->user['login'], $roles[$key], $confirmed);
         }
         $this->courses = false;
         //Reset courses information
     }
     return $this->getUserCourses();
 }
예제 #3
0
 /**
  * Set user roles in lesson
  *
  * This function sets the role for the specified user
  * <br/>Example:
  * <code>
  * $lesson -> addUsers('jdoe', 'student');              //Added the user 'jdoe' in the lesson, having the role 'student'
  * $lesson -> setRoles('jdoe', 'professor');                //Updated jdoe's role to be 'professor'
  * </code>
  * Multiple values can be set if arguments are arrays
  *
  * @param mixed $login The user login name
  * @param mixed $role The user role for this lesson
  * @return boolean true if everything is ok
  * @since 3.5.0
  * @access public
  */
 public function setRoles($users, $roles)
 {
     $users = EfrontUser::verifyUsersList($users);
     $roles = EfrontUser::verifyRolesList($roles, sizeof($users));
     foreach ($users as $key => $value) {
         eF_updateTableData("users_to_lessons", array('archive' => 0, 'user_type' => $roles[$key]), "users_LOGIN='******' and lessons_ID=" . $this->lesson['id']);
         //$cacheKey = "user_lesson_status:lesson:".$this -> lesson['id']."user:".$value;
         //EfrontCache::getInstance()->deleteCache($cacheKey);
     }
 }