本文整理汇总了PHP中Docebo::setCourse方法的典型用法代码示例。如果您正苦于以下问题:PHP Docebo::setCourse方法的具体用法?PHP Docebo::setCourse怎么用?PHP Docebo::setCourse使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Docebo
的用法示例。
在下文中一共展示了Docebo::setCourse方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: logIntoCourse
function logIntoCourse($id_course, $gotofirst_page = true)
{
// Reset previous opened track session if any
if (!Docebo::user()->isAnonymous() && isset($_SESSION['idCourse'])) {
require_once _lms_ . '/lib/lib.track_user.php';
TrackUser::setActionTrack(getLogUserId(), $_SESSION['idCourse'], '', '');
}
// Unset possibile previous session setting
if (isset($_SESSION['direct_play'])) {
unset($_SESSION['direct_play']);
}
$re_course = sql_query("\r\n\tSELECT level, status, waiting\r\n\tFROM %lms_courseuser\r\n\tWHERE idCourse = " . (int) $id_course . " AND idUser = " . (int) Docebo::user()->getId() . "");
list($level_c, $status_user, $waiting_user) = sql_fetch_row($re_course);
Docebo::setCourse($id_course);
$course_info = Docebo::course()->getAllInfo();
$course_info['course_status'] = $course_info['status'];
$course_info['user_status'] = $status_user;
$course_info['waiting'] = $waiting_user;
$course_info['level'] = $level_c;
// Can the user enter into the course ?
if (!Man_Course::canEnterCourse($course_info)) {
return false;
}
// Disable tracking for ghost level
$_SESSION['is_ghost'] = $course_info['level'] == 2 ? true : false;
// If it's the first time we need to change the course status
if ($course_info['user_status'] == _CUS_SUBSCRIBED) {
require_once _lms_ . '/lib/lib.stats.php';
saveTrackStatusChange(getLogUserId(), $id_course, _CUS_BEGIN);
}
// Setup some session data
$_SESSION['timeEnter'] = date("Y-m-d H:i:s");
$_SESSION['idCourse'] = $id_course;
$_SESSION['levelCourse'] = $course_info['level'];
//we need to redo this
//$_SESSION['idEdition'] = $id_e;
Docebo::user()->loadUserSectionST('/lms/course/private/' . $course_info['level'] . '/');
Docebo::user()->SaveInSession();
// Initialize the session into the course
TrackUser::createSessionCourseTrack();
$first_page = firstPage();
$_SESSION['current_main_menu'] = $first_page['idMain'];
$_SESSION['sel_module_id'] = $first_page['idModule'];
$jumpurl = 'index.php?modname=' . $first_page['modulename'] . '&op=' . $first_page['op'] . '&id_module_sel=' . $first_page['idModule'];
// course in direct play or assessment
if ($course_info['direct_play'] == 1 || $course_info['course_type'] == 'assessment') {
if ($_SESSION['levelCourse'] >= 4) {
// direct play with a teacher, basically it's not ok
// check if we are managing the LOs from admin: if yes, jump into the test management
if ($course_info['course_type'] == 'assessment' && Get::req('from_admin', DOTY_INT, 0) > 0) {
// enter the assessment course and go to test editing if there is a test with no question in it
$query = "SELECT idOrg, idResource " . " FROM %lms_organization " . " WHERE idCourse = " . (int) $_SESSION['idCourse'] . " AND objectType = 'test' " . " ORDER BY path ASC, title ASC " . " LIMIT 0,1";
$res = sql_query($query);
if ($res && sql_num_rows($res) > 0) {
list($id_org, $id_test) = sql_fetch_row($res);
if ($id_test > 0) {
require_once _lms_ . '/lib/lib.test.php';
$tman = new TestManagement($id_test);
if ($tman->getNumberOfQuestion() <= 0) {
Util::jump_to('index.php?modname=test&op=modtestgui&idTest=' . $id_test . '&back_url=' . urlencode($jumpurl));
}
}
}
}
} else {
// direct play with a student
// i need to play directly the course if it's not completed and is the only object of the course
require_once _lms_ . '/lib/lib.orgchart.php';
$orgman = new OrganizationManagement($_SESSION['idCourse']);
$first_lo =& $orgman->getInfoWhereType(false, $_SESSION['idCourse']);
if (count($first_lo) == 1) {
$_SESSION['direct_play'] = 1;
$obj = array_shift($first_lo);
Util::jump_to('index.php?modname=organization&op=custom_playitem&id_item=' . $obj['id_org'] . '');
} elseif (count($first_lo) >= 2) {
$obj = array_shift($first_lo);
// if we have more than an object we need to play the first one until it's completed
$query = "SELECT status FROM %lms_commontrack WHERE idReference = " . (int) $obj['id_org'] . " AND idUser = " . (int) Docebo::user()->getId();
list($status) = sql_fetch_row(sql_query($query));
if (($status == 'completed' || $status == 'passed') && $gotofirst_page) {
Util::jump_to($jumpurl);
} else {
$_SESSION['direct_play'] = 1;
Util::jump_to('index.php?modname=organization&op=custom_playitem&id_item=' . $obj['id_org'] . '');
}
}
}
}
// if everyhings fail
if ($gotofirst_page) {
Util::jump_to($jumpurl);
} else {
return true;
}
/*
// i need to play directly the course if it's not completed and is the only object of the course
require_once($GLOBALS['where_lms'].'/lib/lib.orgchart.php');
$orgman = new OrganizationManagement($_SESSION['idCourse']);
$first_lo =& $orgman->getInfoWhereType(false, $_SESSION['idCourse']);
//.........这里部分代码省略.........