function DoceboConnectorDoceboCoursesUI(&$connector)
 {
     require_once $GLOBALS['where_lms'] . '/lib/lib.manmenu_course.php';
     $this->available_menu = getAllCustom();
     $this->connector = $connector;
 }
Exemple #2
0
function assignMenu()
{
    checkPerm('mod');
    require_once _base_ . '/lib/lib.form.php';
    require_once _lms_ . '/lib/lib.course.php';
    if (isset($_POST['assign'])) {
        $id_course = importVar('id_course', true, 0);
        $id_custom = importVar('selected_menu', true, 0);
        $query_course = "SELECT course_type FROM " . $GLOBALS['prefix_lms'] . "_course WHERE idCourse = '" . $id_course . "'";
        list($course_type) = sql_fetch_row(sql_query($query_course));
        if ($course_type === 'classroom') {
            $url = 'index.php?r=alms/classroom/show&result=';
        } else {
            $url = 'index.php?modname=course&op=course_list&result=';
        }
        require_once $GLOBALS['where_lms'] . '/lib/lib.manmenu.php';
        require_once $GLOBALS['where_lms'] . '/lib/lib.course.php';
        $acl_man =& Docebo::user()->getAclManager();
        $course_man = new Man_Course();
        $levels =& $course_man->getCourseIdstGroupLevel($id_course);
        if (empty($levels) || implode('', $levels) == '') {
            $levels =& DoceboCourse::createCourseLevel($id_course);
        }
        $course_man->removeCourseRole($id_course);
        $course_man->removeCourseMenu($id_course);
        $course_idst =& $course_man->getCourseIdstGroupLevel($id_course);
        $result = cerateCourseMenuFromCustom($id_custom, $id_course, $course_idst);
        if ($_SESSION['idCourse'] == $id_course) {
            $query = "SELECT module.idModule, main.idMain\r\n\t\t\t\t\t\tFROM ( " . $GLOBALS['prefix_lms'] . "_menucourse_main AS main JOIN\r\n\t\t\t\t\t\t" . $GLOBALS['prefix_lms'] . "_menucourse_under AS un ) JOIN\r\n\t\t\t\t\t\t" . $GLOBALS['prefix_lms'] . "_module AS module\r\n\t\t\t\t\t\tWHERE main.idMain = un.idMain AND un.idModule = module.idModule\r\n\t\t\t\t\t\tAND main.idCourse = '" . (int) $_SESSION['idCourse'] . "'\r\n\t\t\t\t\t\tAND un.idCourse = '" . (int) $_SESSION['idCourse'] . "'\r\n\t\t\t\t\t\tORDER BY main.sequence, un.sequence\r\n\t\t\t\t\t\tLIMIT 0,1";
            list($id_module, $id_main) = sql_fetch_row(sql_query($query));
            $_SESSION['current_main_menu'] = $id_main;
            $_SESSION['sel_module_id'] = $id_module;
            //loading related ST
            Docebo::user()->loadUserSectionST('/lms/course/public/');
            Docebo::user()->SaveInSession();
        }
        Util::jump_to($url . ($result ? 'ok_course' : 'fail_course'));
    } else {
        $lang =& DoceboLanguage::CreateInstance('course', 'lms');
        //list($id_course) = each($_POST['assign_menu_course']);
        $id_course = importVar('id_course', true, 0);
        require_once _base_ . '/lib/lib.form.php';
        require_once $GLOBALS['where_lms'] . '/admin/modules/category/category.php';
        require_once $GLOBALS['where_lms'] . '/admin/modules/category/tree.category.php';
        require_once $GLOBALS['where_lms'] . '/lib/lib.manmenu.php';
        require_once $GLOBALS['where_framework'] . '/lib/lib.sessionsave.php';
        $form = new Form();
        $menu_custom = getAllCustom();
        $sel_custom = key($menu_custom);
        reset($menu_custom);
        $query_course = "SELECT course_type FROM " . $GLOBALS['prefix_lms'] . "_course WHERE idCourse = '" . $id_course . "'";
        list($course_type) = sql_fetch_row(sql_query($query_course));
        if ($course_type === 'classroom') {
            $url = 'index.php?r=alms/classroom/show';
        } else {
            $url = 'index.php?modname=course&op=course_list';
        }
        $title_area = array($url => $lang->def('_COURSE'), $lang->def('_ASSIGN_MENU'));
        $GLOBALS['page']->setWorkingZone('content');
        $GLOBALS['page']->add(getTitleArea($title_area, 'course') . '<div class="std_block">' . $form->openForm('course_creation', 'index.php?modname=course&amp;op=assignMenu') . $form->openElementSpace() . $form->getHidden('id_course', 'id_course', $id_course) . $form->getDropdown($lang->def('_COURSE_MENU_TO_ASSIGN'), 'selected_menu', 'selected_menu', $menu_custom, $sel_custom) . $form->closeElementSpace() . $form->openButtonSpace() . $form->getButton('assign', 'assign', $lang->def('_ASSIGN_USERS')) . $form->getButton('course_undo', 'course_undo', $lang->def('_UNDO')) . $form->closeButtonSpace() . $form->closeForm() . '</div>');
    }
}
 public function coursemask($id_course = false)
 {
     $perm_requested = $id_course ? 'mod' : 'add';
     if (!$this->permissions[$perm_requested]) {
         $this->render('invalid', array('message' => $this->_getErrorMessage('no permission'), 'back_url' => 'index.php?r=' . $this->base_link_course . '/show'));
         return;
     }
     YuiLib::load();
     require_once _lms_ . '/lib/lib.levels.php';
     require_once _lms_ . '/admin/models/LabelAlms.php';
     $levels = CourseLevel::getLevels();
     $label_model = new LabelAlms();
     $array_lang = Docebo::langManager()->getAllLangCode();
     $array_lang[] = 'none';
     //status of course -----------------------------------------------------
     $status = 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'));
     //difficult ------------------------------------------------------------
     $difficult_lang = array('veryeasy' => Lang::t('_DIFFICULT_VERYEASY', 'course'), 'easy' => Lang::t('_DIFFICULT_EASY', 'course'), 'medium' => Lang::t('_DIFFICULT_MEDIUM', 'course'), 'difficult' => Lang::t('_DIFFICULT_DIFFICULT', 'course'), 'verydifficult' => Lang::t('_DIFFICULT_VERYDIFFICULT', 'course'));
     //type of course -------------------------------------------------------
     $course_type = array('classroom' => Lang::t('_CLASSROOM', 'course'), 'elearning' => Lang::t('_COURSE_TYPE_ELEARNING', 'course'), 'edition' => Lang::t('_COURSE_TYPE_EDITION', 'course'));
     $show_who_online = array(0 => Lang::t('_DONT_SHOW', 'course'), _SHOW_COUNT => Lang::t('_SHOW_COUNT', 'course'), _SHOW_INSTMSG => Lang::t('_SHOW_INSTMSG', 'course'));
     $hours = array('-1' => '- -', '0' => '00', '01', '02', '03', '04', '05', '06', '07', '08', '09', '10', '11', '12', '13', '14', '15', '16', '17', '18', '19', '20', '21', '22', '23');
     $quarter = array('-1' => '- -', '00' => '00', '15' => '15', '30' => '30', '45' => '45');
     $params = array('id_course' => $id_course, 'levels' => $levels, 'array_lang' => $array_lang, 'label_model' => $label_model, 'status' => $status, 'difficult_lang' => $difficult_lang, 'course_type' => $course_type, 'show_who_online' => $show_who_online, 'hours' => $hours, 'quarter' => $quarter, 'model' => $this->model);
     if ($id_course === false) {
         require_once $GLOBALS['where_lms'] . '/lib/lib.manmenu.php';
         $menu_custom = getAllCustom();
         list($sel_custom) = current($menu_custom);
         reset($menu_custom);
         $params['menu_custom'] = $menu_custom;
         $params['sel_custom'] = $sel_custom;
         $params['name_category'] = $this->model->getCategoryName($this->_getSessionTreeData('id_category', 0));
     }
     $params['course'] = $this->model->getCourseModDetails($id_course);
     //resolve edition flag into type
     if ($params['course']['course_edition'] == 1) {
         $params['course']['course_type'] = 'edition';
     }
     if ($id_course == false) {
         $params['has_editions_or_classrooms'] = false;
     } else {
         $params['has_editions_or_classrooms'] = $this->model->hasEditionsOrClassrooms($id_course);
     }
     if ($params['course']['hour_begin'] != '-1') {
         $hb_sel = (int) substr($params['course']['hour_begin'], 0, 2);
         $qb_sel = substr($params['course']['hour_begin'], 3, 2);
     } else {
         $hb_sel = $qb_sel = '-1';
     }
     if ($params['course']['hour_end'] != '-1') {
         $he_sel = (int) substr($params['course']['hour_end'], 0, 2);
         $qe_sel = substr($params['course']['hour_end'], 3, 2);
     } else {
         $he_sel = $qe_sel = '-1';
     }
     $params['hb_sel'] = $hb_sel;
     $params['qb_sel'] = $qb_sel;
     $params['he_sel'] = $he_sel;
     $params['qe_sel'] = $qe_sel;
     $params['base_link_course'] = $this->base_link_course;
     $params['use_unsubscribe_date_limit'] = (bool) ($params['course']['unsubscribe_date_limit'] != '');
     $params['unsubscribe_date_limit'] = $params['course']['unsubscribe_date_limit'] != '' && $params['course']['unsubscribe_date_limit'] != "0000-00-00 00:00:00" ? Format::date($params['course']['unsubscribe_date_limit'], 'date') : "";
     $this->render('maskcourse', $params);
 }