function addsubscriptionedition() { require_once _lms_ . '/lib/lib.subscribe.php'; require_once _lms_ . '/lib/lib.coursepath.php'; $cpath_man = new CoursePath_Manager(); $subs_man = new CourseSubscribe_Management(); $id_path = Get::req('id_path', DOTY_INT, 0); $user_selected = unserialize(urldecode(Get::req('users', DOTY_MIXED, array()))); $courses = $cpath_man->getAllCourses(array($id_path)); if (isset($_POST['undo']) || !isset($_POST['save'])) { Util::jump_to('index.php?modname=coursepath&op=addsubscription&id_path=' . $id_path); } $re = true; $query_pathlist = "\r\n\tSELECT path_name, subscribe_method\r\n\tFROM " . $GLOBALS['prefix_lms'] . "_coursepath\r\n\tWHERE id_path = '" . $id_path . "'\r\n\tORDER BY path_name "; list($path_name, $subscribe_method) = sql_fetch_row(sql_query($query_pathlist)); if ($subscribe_method != 1 && !checkPerm('moderate', true)) { $waiting = 1; } else { $waiting = 0; } $users_subsc = array(); $course_man = new Man_Course(); $assessment = $course_man->getAllCourses(false, 'assessment', $courses); $classroom = $course_man->getAllCourses(false, 'classroom', $courses); $edition = $course_man->getAllCourses(false, 'edition', $courses); $array_id_date = array(); $array_id_edition = array(); if (!empty($classroom)) { foreach ($classroom as $id_course => $info) { if (Get::req('classroom_' . $id_course, DOTY_INT, 0) != 0) { $array_id_date[Get::req('classroom_' . $id_course, DOTY_INT, 0)] = Get::req('classroom_' . $id_course, DOTY_INT, 0); } } } if (!empty($edition)) { foreach ($edition as $id_course => $info) { if (Get::req('edition_' . $id_course, DOTY_INT, 0) != 0) { $array_id_edition[Get::req('edition_' . $id_course, DOTY_INT, 0)] = Get::req('edition_' . $id_course, DOTY_INT, 0); } } } require_once _lms_ . '/lib/lib.date.php'; $date_man = new DateManager(); require_once _lms_ . '/lib/lib.edition.php'; $edition_man = new EditionManager(); while (list(, $id_user) = each($user_selected)) { $text_query = "\r\n\t\tINSERT INTO " . $GLOBALS['prefix_lms'] . "_coursepath_user\r\n\t\t( id_path, idUser, waiting, subscribed_by ) VALUES\r\n\t\t( '" . $id_path . "', '" . $id_user . "', '" . $waiting . "', '" . getLogUserId() . "' )"; $re_s = sql_query($text_query); if ($re_s == true) { $users_subsc[] = $id_user; } $re &= $re_s; if (!empty($assessment)) { foreach ($assessment as $id_assessment => $assessment_info) { sql_query("INSERT INTO %lms_assessment_user (id_assessment, id_user, type_of) VALUES ('" . $id_assessment . "', '" . $id_user . "', 'user')"); } reset($assessment); } if (!empty($array_id_date)) { foreach ($array_id_date as $id_date) { $date_man->addUserToDate($id_date, $id_user, Docebo::user()->getIdSt()); } reset($array_id_date); } if (!empty($array_id_edition)) { foreach ($array_id_edition as $id_edition) { $edition_man->addUserToEdition($id_edition, $id_user, Docebo::user()->getIdSt()); } reset($array_id_edition); } } // now subscribe user to all the course if ($waiting == 0) { $re &= $subs_man->multipleSubscribe($users_subsc, $courses, 3); } Util::jump_to('index.php?modname=coursepath&op=pathlist&result=' . ($re ? 'ok' : 'err')); }