public function subscribeUserToDate($id_user, $id_course, $id_date, $level, $waiting, $date_begin_validity = false, $date_expire_validity = false) { require_once _lms_ . '/lib/lib.subscribe.php'; //check for overbooking $is_overbooking = FALSE; $cinfo = $this->getDateInfo($id_date); if ($cinfo['max_par'] > 0 && $cinfo['max_par'] <= $cinfo['user_subscribed']) { //max number of participants has been already reached if ($cinfo['overbooking'] > 0) { $is_overbooking = TRUE; //if course allows overbooking, then put the user in list } else { return FALSE; //otherwise go back and don't subscribe the user } } $subscribe_man = new CourseSubscribe_Manager(); if (!$subscribe_man->controlSubscription($id_user, $id_course)) { $subscribe_man->subscribeUserToCourse($id_user, $id_course, $level, $waiting, $date_begin_validity, $date_expire_validity); } else { $subscribe_man->updateForNewDateSubscribe($id_user, $id_course, $waiting); } return $this->addUserToDate($id_date, $id_user, Docebo::user()->getIdst(), $is_overbooking); }
public function subscribeUserToEdition($id_user, $id_course, $id_edition, $level, $waiting, $date_begin_validity = false, $date_expire_validity = false) { require_once _lms_ . '/lib/lib.subscribe.php'; $subscribe_man = new CourseSubscribe_Manager(); if (!$subscribe_man->controlSubscription($id_user, $id_course)) { $subscribe_man->subscribeUserToCourse($id_user, $id_course, $level, $waiting, $date_begin_validity = false, $date_expire_validity = false); } else { $subscribe_man->updateForNewDateSubscribe($id_user, $id_course, $waiting); } return $this->addUserToEdition($id_edition, $id_user, getLogUserId()); }
public function isUserSubscribed($id_user, $id_course = false) { if ($id_course == false) { $id_course = $this->id_course; } $subscribe_man = new CourseSubscribe_Manager(); return $subscribe_man->controlSubscription($id_user, $id_course); }