public function __construct() { $this->db = DbConn::getInstance(); $this->users_filter = false; $this->courses_filter = false; $this->user_level = Docebo::user()->getUserLevelId(); if ($this->user_level != ADMIN_GROUP_GODADMIN) { require_once _base_ . '/lib/lib.preference.php'; $adminManager = new AdminPreference(); $this->users_filter = $adminManager->getAdminUsers(Docebo::user()->getIdST()); $all_courses = false; $array_courses = array(); $admin_courses = $adminManager->getAdminCourse(Docebo::user()->getIdST()); foreach ($admin_courses['course'] as $key => $id_course) { if ($key > 0) { $array_courses[$key] = $id_course; } } if (isset($admin_courses['course'][0])) { $all_courses = true; } elseif (isset($admin_courses['course'][-1])) { require_once _lms_ . '/lib/lib.catalogue.php'; $cat_man = new Catalogue_Manager(); $user_catalogue = $cat_man->getUserAllCatalogueId(Docebo::user()->getIdSt()); if (count($user_catalogue) > 0) { $courses = array(); foreach ($user_catalogue as $id_cat) { $catalogue_course =& $cat_man->getCatalogueCourse($id_cat, true); if (empty($courses)) { $courses = $catalogue_course; } else { $courses = array_merge($courses, $catalogue_course); } } foreach ($courses as $id_course) { if ($id_course != 0) { $array_courses[$id_course] = $id_course; } } } elseif (Get::sett('on_catalogue_empty', 'off') == 'on') { $all_courses = true; } } else { if (!empty($admin_courses['coursepath'])) { require_once _lms_ . '/lib/lib.coursepath.php'; $path_man = new CoursePath_Manager(); $coursepath_course =& $path_man->getAllCourses($admin_courses['coursepath']); $array_courses = array_merge($array_courses, $coursepath_course); } if (!empty($admin_courses['catalogue'])) { require_once _lms_ . '/lib/lib.catalogue.php'; $cat_man = new Catalogue_Manager(); foreach ($admin_courses['catalogue'] as $id_cat) { $catalogue_course =& $cat_man->getCatalogueCourse($id_cat, true); $array_courses = array_merge($array_courses, $catalogue_course); } } } if (!$all_courses) { $this->courses_filter = array_values($array_courses); } //if "$all_courses" is true, than leave "$this->courses_filter" as false } }
function getCatalogueCourse($id_cat, $for_admin = false) { require_once _lms_ . '/lib/lib.coursepath.php'; $path_man = new CoursePath_Manager(); $query = "SELECT idEntry, type_of_entry" . " FROM %lms_catalogue_entry" . " WHERE idCatalogue = '" . $id_cat . "'"; $result = sql_query($query); $res = array(); while (list($id_entry, $type) = sql_fetch_row($result)) { if ($type == 'course') { $res[$id_entry] = $id_entry; } elseif ($for_admin) { $coursepath_course =& $path_man->getAllCourses(array($id_entry)); foreach ($coursepath_course as $id_course) { $res[$id_course] = $id_course; } } } return $res; }
function loadCourseSelector($noprint = false, $with_assesment = false) { require_once _base_ . '/lib/lib.table.php'; require_once _base_ . '/lib/lib.form.php'; $lang =& DoceboLanguage::createInstance('course', 'lms'); $output = ''; $output .= $this->treeview->load(); // Filter $this->filter['course_flat'] = isset($_POST['c_flatview']); //$this->filter['course_code'] = ( isset($_POST['c_filter_code']) ? $_POST['c_filter_code'] : '' ); $this->filter['course_name'] = isset($_POST['c_filter_name']) ? $_POST['c_filter_name'] : ''; if ($this->show_filter === true) { $output .= '<div class="quick_search_form">' . '<div class="common_options">' . Form::getInputCheckbox('c_flatview', 'c_flatview', '1', Get::req('c_flatview', DOTY_INT, '0') == '1' ? true : false, ' onclick="submit();" ') . ' <label class="label_normal" for="c_flatview">' . Lang::t('_DIRECTORY_FILTER_FLATMODE', 'admin_directory') . '</label>' . ' ' . '</div>' . '<div>' . Form::getInputTextfield("search_t", "c_filter_name", "c_filter_name", Get::req('c_filter_name', DOTY_ALPHANUM, ''), '', 255, '') . Form::getButton("c_filter_set", "c_filter_set", Lang::t('_SEARCH', 'standard'), "search_b") . '</div>' . '</div>'; } // End Filter $tb = new Table(Get::sett('visu_course'), $lang->def('_COURSE_LIST'), $lang->def('_COURSE_LIST_SUMMARY')); $tb->initNavBar('ini', 'button'); $ini = $tb->getSelectedElement(); $category_selected = $this->treeview->getSelectedFolderId(); if ($this->filter['course_flat']) { $id_categories = $this->treeDB->getDescendantsId($this->treeDB->getFolderById($category_selected)); $id_categories[] = $category_selected; } $select = "\r\n\t\tSELECT c.idCourse, c.code, c.name, c.description, c.status, c.difficult,\r\n\t\t\tc.subscribe_method, c.permCloseLo, c.show_rules, c.max_num_subscribe "; $query_course = "\r\n\t\tFROM " . $GLOBALS['prefix_lms'] . "_course AS c\r\n\t\tWHERE " . ($with_assesment ? '1' : "c.course_type <> 'assessment'") . " AND c.idCategory IN ( " . (!$this->filter['course_flat'] ? $category_selected : implode(",", $id_categories)) . " )"; if (Docebo::user()->getUserLevelId() != ADMIN_GROUP_GODADMIN) { $all_courses = false; require_once _base_ . '/lib/lib.preference.php'; $adminManager = new AdminPreference(); $admin_courses = $adminManager->getAdminCourse(Docebo::user()->getIdST()); $all_courses = false; if (isset($admin_courses['course'][0])) { $all_courses = true; } elseif (isset($admin_courses['course'][-1])) { require_once _lms_ . '/lib/lib.catalogue.php'; $cat_man = new Catalogue_Manager(); $user_catalogue = $cat_man->getUserAllCatalogueId(Docebo::user()->getIdSt()); if (count($user_catalogue) > 0) { $courses = array(0); foreach ($user_catalogue as $id_cat) { $catalogue_course =& $cat_man->getCatalogueCourse($id_cat, true); $courses = array_merge($courses, $catalogue_course); } foreach ($courses as $id_course) { if ($id_course != 0) { $admin_courses['course'][$id_course] = $id_course; } } } elseif (Get::sett('on_catalogue_empty', 'off') == 'on') { $all_courses = true; } } else { $array_courses = array(); $array_courses = array_merge($array_courses, $admin_courses['course']); if (!empty($admin_courses['coursepath'])) { require_once _lms_ . '/lib/lib.coursepath.php'; $path_man = new CoursePath_Manager(); $coursepath_course =& $path_man->getAllCourses($admin_courses['coursepath']); $array_courses = array_merge($array_courses, $coursepath_course); } if (!empty($admin_courses['catalogue'])) { require_once _lms_ . '/lib/lib.catalogue.php'; $cat_man = new Catalogue_Manager(); foreach ($admin_courses['catalogue'] as $id_cat) { $catalogue_course =& $cat_man->getCatalogueCourse($id_cat, true); $array_courses = array_merge($array_courses, $catalogue_course); } } $admin_courses['course'] = array_merge($admin_courses['course'], $array_courses); } if (!$all_courses) { if (empty($admin_courses['course'])) { $query_course .= " AND 0 "; } else { $query_course .= " AND c.idCourse IN (" . implode(',', $admin_courses['course']) . ") "; } } } /* if($this->filter['course_code'] != '') { $query_course .= " AND c.code LIKE '%".$this->filter['course_code']."%'"; }*/ if ($this->filter['course_name'] != '') { $query_course .= " AND ( c.code LIKE '%" . $this->filter['course_name'] . "%' OR c.name LIKE '%" . $this->filter['course_name'] . "%' ) "; } list($tot_course) = sql_fetch_row(sql_query("SELECT COUNT(*) " . $query_course)); $query_course .= " ORDER BY c.name\r\n\t\t\t\t\t\t\tLIMIT " . $ini . "," . (int) Get::sett('visuItem', 25); $re_course = sql_query($select . $query_course); $type_h = array('image', '', '', ''); $cont_h = array('<span class="access-only">' . $lang->def('_COURSE_SELECTION') . '</span>', $lang->def('_CODE'), $lang->def('_COURSE_NAME'), $lang->def('_STATUS')); $tb->setColsStyle($type_h); $tb->addHead($cont_h); $status_array = array(CST_PREPARATION => Lang::t('_CST_PREPARATION', 'course'), CST_AVAILABLE => Lang::t('_CST_AVAILABLE', 'course'), CST_EFFECTIVE => Lang::t('_CST_CONFIRMED', 'course'), CST_CONCLUDED => Lang::t('_CST_CONCLUDED', 'course'), CST_CANCELLED => Lang::t('_CST_CANCELLED', 'course')); while (list($id_course, $code, $name, $desc, $status, $difficult, $auto_sub, $end_mode, $show_rules, $max_user_sub) = sql_fetch_row($re_course)) { $tb_content = array(Form::getInputCheckbox('new_course_selected_' . $id_course, 'new_course_selected[' . $id_course . ']', $id_course, isset($this->current_selection[$id_course]), ''), '<label for="new_course_selected_' . $id_course . '">' . $code . '</label>', '<label for="new_course_selected_' . $id_course . '">' . $name . '</label>'); $tb_content[] = $status_array[$status]; $tb->addBody($tb_content); if (isset($this->current_selection[$id_course])) { unset($this->current_selection[$id_course]); } } $output .= $tb->getTable() . $tb->getNavBar($ini, $tot_course) . $this->stateSelection(); //, 'content'); if ($noprint) { return $output; } else { cout($output); } }
function &getUserAllCourses($id_user) { require_once $GLOBALS['where_lms'] . '/lib/lib.catalogue.php'; require_once $GLOBALS['where_lms'] . '/lib/lib.coursepath.php'; $courses = $this->getUserCourses($id_user); $coursepath = $this->getUserPathCourses($id_user); $catalogues = $this->getUserCatalogues($id_user); $man_cataloge = new AdminCatalogue(); $course_from_catalogue = $man_cataloge->getAllCourses($catalogues); $coursepath_from_catalogue = $man_cataloge->getAllCoursePaths($catalogues); $coursepath = array_merge($coursepath, $coursepath_from_catalogue); $man_coursepath = new CoursePath_Manager(); $course_from_coursepath = $man_coursepath->getAllCourses($coursepath); $courses = array_merge($courses, $course_from_catalogue, $course_from_coursepath); return $courses; }
public function loadCourse($start_index, $results, $sort, $dir, $filter = false) { $userlevelid = Docebo::user()->getUserLevelId(); if ($userlevelid != ADMIN_GROUP_GODADMIN) { require_once _base_ . '/lib/lib.preference.php'; $adminManager = new AdminPreference(); $acl_man =& Docebo::user()->getAclManager(); $admin_courses = $adminManager->getAdminCourse(Docebo::user()->getIdST()); $admin_tree = $adminManager->getAdminTree(Docebo::user()->getIdST()); $admin_users = $acl_man->getAllUsersFromIdst($admin_tree); } $query = "SELECT c.*, COUNT(cu.idUser) as subscriptions, SUM(cu.waiting) as pending" . " FROM %lms_course AS c" . " LEFT JOIN %lms_courseuser AS cu ON c.idCourse = cu.idCourse" . ($userlevelid != ADMIN_GROUP_GODADMIN ? !empty($admin_users) ? " AND cu.idUser IN (" . implode(',', $admin_users) . ")" : " AND cu.idUser IN (0)" : '') . " WHERE c.course_type <> 'assessment'"; if ($filter) { if (isset($filter['id_category'])) { if (isset($filter['descendants']) && $filter['descendants']) { $query .= " AND c.idCategory IN (" . implode(',', $this->getCategoryDescendants($filter['id_category'])) . ")"; } else { $query .= " AND c.idCategory = " . (int) $filter['id_category']; } } if (isset($filter['text']) && $filter['text'] !== '') { $query .= " AND( c.name LIKE '%" . $filter['text'] . "%'" . " OR c.code LIKE '%" . $filter['text'] . "%')"; } if (isset($filter['waiting']) && $filter['waiting']) { $query_course = "SELECT idCourse" . " FROM %lms_courseuser" . " WHERE waiting = 1"; $result = sql_query($query_course); $id_course_filter = array(0 => 0); while (list($id_course_tmp) = sql_fetch_row($result)) { $id_course_filter[$id_course_tmp] = $id_course_tmp; } $query .= " AND c.idCourse IN (" . implode(',', $id_course_filter) . ")"; } if (isset($filter['classroom']) && $filter['classroom']) { $query .= " AND course_type = 'classroom'"; } } if ($userlevelid != ADMIN_GROUP_GODADMIN) { $all_courses = false; if (isset($admin_courses['course'][0])) { $all_courses = true; } elseif (isset($admin_courses['course'][-1])) { require_once _lms_ . '/lib/lib.catalogue.php'; $cat_man = new Catalogue_Manager(); $user_catalogue = $cat_man->getUserAllCatalogueId(Docebo::user()->getIdSt()); if (count($user_catalogue) > 0) { $courses = array(0); foreach ($user_catalogue as $id_cat) { $catalogue_course =& $cat_man->getCatalogueCourse($id_cat, true); $courses = array_merge($courses, $catalogue_course); } foreach ($courses as $id_course) { if ($id_course != 0) { $admin_courses['course'][$id_course] = $id_course; } } } elseif (Get::sett('on_catalogue_empty', 'off') == 'on') { $all_courses = true; } } else { $array_courses = array(); $array_courses = array_merge($array_courses, $admin_courses['course']); if (!empty($admin_courses['coursepath'])) { require_once _lms_ . '/lib/lib.coursepath.php'; $path_man = new CoursePath_Manager(); $coursepath_course =& $path_man->getAllCourses($admin_courses['coursepath']); $array_courses = array_merge($array_courses, $coursepath_course); } if (!empty($admin_courses['catalogue'])) { require_once _lms_ . '/lib/lib.catalogue.php'; $cat_man = new Catalogue_Manager(); foreach ($admin_courses['catalogue'] as $id_cat) { $catalogue_course =& $cat_man->getCatalogueCourse($id_cat, true); $array_courses = array_merge($array_courses, $catalogue_course); } } $admin_courses['course'] = array_merge($admin_courses['course'], $array_courses); } if (!$all_courses) { if (empty($admin_courses['course'])) { $query .= " AND 0 "; } else { $query .= " AND c.idCourse IN (" . implode(',', $admin_courses['course']) . ") "; } } } $query .= " GROUP BY c.idCourse" . " ORDER BY " . $sort . " " . $dir; if ((int) $results > 0) { $query .= " LIMIT " . (int) $start_index . ", " . (int) $results; } return sql_query($query); }
public function resetCoursepathValidityDates($id_path, $id_user) { if ($id_path <= 0 || $id_user <= 0) { return false; } require_once _lms_ . '/lib/lib.coursepath.php'; $cman = new CoursePath_Manager(); $courses = $cman->getAllCourses(array($id_path)); if (empty($courses)) { return true; } $query = "UPDATE %lms_courseuser SET date_begin_validity = NULL, date_expire_validity = NULL " . " WHERE idCourse IN (" . implode(",", $courses) . ") AND idUser="******""; $res = sql_query($query); return $res ? true : false; }
public function sel_users_coursepath_actionTask() { $id_path = Get::Req('id_path', DOTY_INT, 0); if ($id_path <= 0) { //... return; } $selection = Get::req('userselector_input', DOTY_MIXED, true); $new_selection = $selection['coursepath_subscriptions']; $old_selection = $this->model->getCoursePathSubscriptionsList($id_path); $new_selection = explode(",", $new_selection); $new_selection = $this->acl_man->getAllUsersFromSelection($new_selection); $_common = array_intersect($new_selection, $old_selection); $_to_add = array_diff($new_selection, $_common); $_to_del = array_diff($old_selection, $_common); $res = true; if (!$res) { $result = 'err_subscribe'; } else { $result = 'ok_subcribe'; } require_once _lms_ . '/lib/lib.coursepath.php'; $path_man = new CoursePath_Manager(); //1 - get list of the courses of the coursepath $base_url = 'index.php?r=' . $this->link . '/show_coursepath&id_path=' . (int) $id_path; $courses = $path_man->getAllCourses(array($id_path)); if (empty($courses)) { Util::jump_to($base_url); } //2 - check if there are any editions or classrooms require_once $GLOBALS['where_lms'] . '/lib/lib.course.php'; $course_man = new Man_Course(); $classroom = $course_man->getAllCourses(false, 'classroom', $courses); $edition = $course_man->getAllCourses(false, 'edition', $courses); //3 - if yes, then make a second step in order to choose editions and classrooms if (!empty($classroom) || !empty($edition)) { $classroom_list = array(); if (!empty($classroom)) { require_once _lms_ . '/lib/lib.date.php'; $date_man = new DateManager(); foreach ($classroom as $id_course => $info) { $classrooms = $date_man->getCourseDate($id_course, true); $classrooms_for_dropdown = array(); $classrooms_for_dropdown[0] = Lang::t('_NO_CLASSROOM_SUBSCRIPTION', 'coursepath'); foreach ($classrooms as $classroom_info) { $classrooms_for_dropdown[$classroom_info['id_date']] = $classroom_info['code'] . ' - ' . $classroom_info['name'] . ' - ' . Format::date($classroom_info['date_begin'], 'date') . ' - ' . Format::date($classroom_info['date_end'], 'date'); } $classroom_list[] = array('id_course' => $id_course, 'label' => $info['name'], 'list' => $classrooms_for_dropdown); //cout(Form::getDropdown(Lang::t('_EDITION_SELECTION', 'coursepath').' : '.$info['code'].' - '.$info['name'], 'classroom_'.$id_course, 'classroom_'.$id_course, $edition_for_dropdown)); } } $edition_list = array(); if (!empty($edition)) { require_once _lms_ . '/lib/lib.edition.php'; $edition_man = new EditionManager(); foreach ($edition as $id_course => $info) { $editions = $edition_man->getEditionsInfoByCourses($id_course); $editions_for_dropdown = array(); $editions_for_dropdown[0] = Lang::t('_NONE', 'coursepath'); foreach ($editions[$id_course] as $edition_info) { $editions_for_dropdown[$edition_info['id_edition']] = $edition_info['code'] . ' - ' . $edition_info['name'] . ' - ' . Format::date($edition_info['date_begin'], 'date') . ' - ' . Format::date($edition_info['date_end'], 'date'); } $edition_list[] = array('id_course' => $id_course, 'label' => $info['name'], 'list' => $edition_for_dropdown); //cout(Form::getDropdown(Lang::t('_EDITION_SELECTION', 'coursepath').' : '.$info['code'].' - '.$info['name'], 'edition_'.$id_course, 'edition_'.$id_course, $edition_for_dropdown)); } } $this->render('choose_editions_coursepath', array('id_path' => $id_path, 'courses_list' => $courses, 'editions_list' => $edition_list, 'classrooms_list' => $classroom_list, 'users_to_add' => $_to_add, 'users_to_del' => $_to_del, 'path_name' => $this->model->getCoursepathNameForSubscription($id_path))); } else { $path_man->subscribeUserToCoursePath($id_path, $_to_add); require_once _lms_ . '/lib/lib.course.php'; foreach ($courses as $id_course) { $docebo_course = new DoceboCourse($id_course); $level_idst =& $docebo_course->getCourseLevel($id_course); if (count($level_idst) == 0 || $level_idst[1] == '') { $level_idst =& $docebo_course->createCourseLevel($id_course); } foreach ($_to_add as $id_user) { $level = 3; //student $waiting = false; //$this->acl_man->addToGroup($level_idst[$level], $id_user); $this->_addToCourseGroup($level_idst[$level], $id_user); $this->model->id_course = $id_course; $this->model->subscribeUser($id_user, $level, $waiting); } } Util::jump_to('index.php?r=' . $this->link . '/show_coursepath&id_path=' . (int) $id_path . '&res=' . $result); } }
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')); }
public function subscribeToCoursePath() { $id_path = Get::req('id_path', DOTY_INT, 0); $id_user = Docebo::user()->getIdSt(); $query_pathlist = "\n\t\tSELECT path_name, subscribe_method\n\t\tFROM " . $GLOBALS['prefix_lms'] . "_coursepath\n\t\tWHERE id_path = '" . $id_path . "'\n\t\tORDER BY path_name "; list($path_name, $subscribe_method) = sql_fetch_row(sql_query($query_pathlist)); if ($subscribe_method == 1) { $waiting = 1; } else { $waiting = 0; } $text_query = "\n\t\t\tINSERT INTO " . $GLOBALS['prefix_lms'] . "_coursepath_user\n\t\t\t( id_path, idUser, waiting, subscribed_by ) VALUES\n\t\t\t( '" . $id_path . "', '" . $id_user . "', '" . $waiting . "', '" . getLogUserId() . "' )"; $re_s = sql_query($text_query); ///////////////////////// if ($waiting == 0) { 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)); $users_subsc = array($id_user); $re &= $subs_man->multipleSubscribe($users_subsc, $courses, 3); } /* qui non posso intervenire, si devono scegliere gli assesment e le edizioni... da admin ci sono form $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); 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); } */ $res['success'] = true; if ($waiting == 1) { $res['new_status'] = '<p class="cannot_subscribe">' . Lang::t('_WAITING', 'catalogue') . '</p>'; } else { $res['new_status'] = '<p class="cannot_subscribe">' . Lang::t('_USER_STATUS_SUBS', 'catalogue') . '</p>'; } $res['message'] = $res['message'] = UIFeedback::info(Lang::t('_SUBSCRIPTION_CORRECT', 'catalogue'), true); echo $this->json->encode($res); }