function pathelem() { checkPerm('view'); require_once _base_ . '/lib/lib.table.php'; require_once $GLOBALS['where_lms'] . '/lib/lib.course.php'; require_once $GLOBALS['where_lms'] . '/lib/lib.coursepath.php'; $lang =& DoceboLanguage::createInstance('coursepath', 'lms'); $id_path = importVar('id_path', true, 0); $mod_perm = checkPerm('mod', true); $path_man = new CoursePath_Manager(); $course_man = new Man_Course(); $path = $path_man->getCoursepathInfo($id_path); // retriving id of the courses in this path $slots = $path_man->getPathSlot($id_path); $courses = $path_man->getPathElem($id_path); // retrive all i need about courses name if (isset($courses['course_list'])) { $course_info = $course_man->getAllCourses(false, 'all', $courses['course_list']); } else { $course_info = array(); } $area_title = array('index.php?modname=coursepath&op=pathlist' => $lang->def('_COURSEPATH'), $path['path_name']); $GLOBALS['page']->add(getTitleArea($area_title, 'coursepath') . '<div class="std_block">' . getBackUi('index.php?modname=coursepath&op=pathlist', $lang->def('_BACK')), 'content'); if (isset($_GET['result'])) { switch ($_GET['result']) { case "ok": $GLOBALS['page']->add(getResultUi($lang->def('_OPERATION_SUCCESSFUL')), 'content'); break; case "err": $GLOBALS['page']->add(getErrorUi($lang->def('_OPERATION_FAILURE')), 'content'); break; } } $tb_path = new Table(0, $lang->def('_COURSE_PATH_COURSES_CAPTION'), $lang->def('_COURSE_PATH_COURSES_CAPTION')); $cont_h = array($lang->def('_CODE'), $lang->def('_COURSE_NAME'), $lang->def('_PREREQUISITES')); $type_h = array('coursepath_code', 'coursepath_name', '', 'image'); if ($mod_perm) { $cont_h[] = Get::img('standard/down.png', Lang::t('_DOWN', 'coursepath')); $type_h[] = 'image'; $cont_h[] = Get::img('standard/up.png', Lang::t('_UP', 'coursepath')); $type_h[] = 'image'; $cont_h[] = Get::img('standard/moderate.png', Lang::t('_MOD', 'coursepath')); $type_h[] = 'image'; $cont_h[] = '<img src="' . getPathImage() . 'standard/delete.png" alt="' . $lang->def('_DEL') . '" />'; $type_h[] = 'image'; } $tb_path->setColsStyle($type_h); $tb_path->addHead($cont_h); $slot_number = 0; foreach ($slots as $id_slot => $slot_info) { $tb_path->emptyBody(); $tb_path->emptyFoot(); $i = 0; if (!isset($courses[$id_slot])) { $num_course = 0; } else { $num_course = count($courses[$id_slot]); $all_courses = true; 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_course = false; if (isset($admin_courses['course'][0])) { $all_course = 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); } } while (list($id_item, $prerequisites) = each($courses[$id_slot])) { $cont = array($course_info[$id_item]['code'], $course_info[$id_item]['name']); if ($prerequisites != '') { $cont[] = coursePathSubstPrer($prerequisites, $course_info); } else { $cont[] = ''; } if ($mod_perm) { if (in_array($id_item, $admin_courses['course']) || $all_courses) { if ($i != $num_course - 1) { $cont[] = '<a href="index.php?modname=coursepath&op=downelem&id_path=' . $id_path . '&id_course=' . $id_item . '&id_slot=' . $id_slot . '" ' . 'title="' . $lang->def('_MOVE_DOWN') . ' : ' . $course_info[$id_item]['name'] . '">' . Get::img('standard/down.png', Lang::t('_DOWN', 'coursepath')) . '</a>'; } else { $cont[] = ''; } if ($i != 0) { $cont[] = '<a href="index.php?modname=coursepath&op=upelem&id_path=' . $id_path . '&id_course=' . $id_item . '&id_slot=' . $id_slot . '" ' . 'title="' . $lang->def('_MOVE_UP') . ' : ' . $course_info[$id_item]['name'] . '">' . Get::img('standard/up.png', Lang::t('_UP', 'coursepath')) . '</a>'; } else { $cont[] = ''; } $cont[] = '<a href="index.php?modname=coursepath&op=modprerequisites&id_path=' . $id_path . '&id_course=' . $id_item . '&id_slot=' . $id_slot . '" ' . 'title="' . $lang->def('_MOD') . ' : ' . $course_info[$id_item]['name'] . '">' . Get::img('standard/moderate.png', Lang::t('_MOD', 'coursepath') . ' : ' . $course_info[$id_item]['name']) . '</a>'; $cont[] = '<a href="index.php?modname=coursepath&op=delcoursepath&id_path=' . $id_path . '&id_course=' . $id_item . '&id_slot=' . $id_slot . '" ' . 'title="' . $lang->def('_DEL') . ' : ' . $course_info[$id_item]['name'] . '">' . '<img src="' . getPathImage() . 'standard/delete.png" alt="' . $lang->def('_DEL') . ' : ' . $course_info[$id_item]['name'] . '" /></a>'; } else { $cont[] = ''; $cont[] = ''; $cont[] = ''; $cont[] = ''; } } $tb_path->addBody($cont); $i++; } } // add link if ($mod_perm) { $tb_path->addActionAdd('<a class="ico-wt-sprite subs_import" href="index.php?modname=coursepath&op=importcourse&load=1&id_path=' . $id_path . '&id_slot=' . $id_slot . '" ' . 'title="' . $lang->def('_IMPORT_COURSE') . '">' . '<span>' . $lang->def('_IMPORT_COURSE') . '</span>' . '</a>'); } $GLOBALS['page']->add($tb_path->getTable() . '<br />', 'content'); $slot_number++; } /* $GLOBALS['page']->add( '<a href="index.php?modname=coursepath&op=modslot&id_path='.$id_path.'" ' .'title="'.$lang->def('_NEW_SLOT_TITLE').'">' .'<img src="'.getPathimage().'standard/add.png" alt="'.$lang->def('_ADD').'" />' .$lang->def('_NEW_SLOT') .'</a>' ,'content'); */ $GLOBALS['page']->add(getBackUi('index.php?modname=coursepath&op=pathlist', $lang->def('_BACK')) . '</div>', 'content'); }