function beforeLoad()
 {
     switch ($GLOBALS['op']) {
         case "mycourses":
         case "unregistercourse":
             if (isset($_SESSION['idCourse'])) {
                 TrackUser::closeSessionCourseTrack();
                 unset($_SESSION['idCourse']);
                 unset($_SESSION['idEdition']);
             }
             if (isset($_SESSION['cp_assessment_effect'])) {
                 unset($_SESSION['cp_assessment_effect']);
             }
     }
 }
Exemple #2
0
function play($idResource, $idParams, $back_url)
{
    //if(!checkPerm('view', true, 'organization') && !checkPerm('view', true, 'storage')) die("You can't access");
    //echo ("idResource = ".$idResource."; idParams = ".$idParams."; back_url = ".$back_url);
    list($file) = sql_fetch_row(sql_query("SELECT path" . " FROM " . $GLOBALS['prefix_lms'] . "_materials_lesson" . " WHERE idLesson = '" . $idResource . "'"));
    //recognize mime type
    $expFileName = explode('.', $file);
    $totPart = count($expFileName) - 1;
    require_once $GLOBALS['where_lms'] . '/lib/lib.param.php';
    $idReference = getLOParam($idParams, 'idReference');
    // NOTE: Track only if $idReference is present
    if ($idReference !== FALSE) {
        require_once $GLOBALS['where_lms'] . '/class.module/track.item.php';
        list($exist, $idTrack) = Track_Item::getIdTrack($idReference, getLogUserId(), $idResource, TRUE);
        if ($exist) {
            $ti = new Track_Item($idTrack);
            $ti->setDate(date('Y-m-d H:i:s'));
            $ti->status = 'completed';
            $ti->update();
        } else {
            $ti = new Track_Item(false);
            $ti->createTrack($idReference, $idTrack, getLogUserId(), date('Y-m-d H:i:s'), 'completed', 'item');
        }
    }
    if ($_SESSION['direct_play'] == 1) {
        if (isset($_SESSION['idCourse'])) {
            TrackUser::closeSessionCourseTrack();
            unset($_SESSION['idCourse']);
            unset($_SESSION['idEdition']);
        }
        if (isset($_SESSION['test_assessment'])) {
            unset($_SESSION['test_assessment']);
        }
        if (isset($_SESSION['cp_assessment_effect'])) {
            unset($_SESSION['cp_assessment_effect']);
        }
        $_SESSION['current_main_menu'] = '1';
        $_SESSION['sel_module_id'] = '1';
        $_SESSION['is_ghost'] = false;
    }
    //send file
    sendFile('/appLms/' . Get::sett('pathlesson'), $file, $expFileName[$totPart]);
}
                require_once $GLOBALS['where_lms'] . '/lib/lib.course.php';
                logIntoCourse($id_c, false);
            } elseif (!isset($_SESSION['idCourse'])) {
                require_once $GLOBALS['where_lms'] . '/lib/lib.course.php';
                logIntoCourse($id_c, false);
            }
            if (isset($_SESSION['cp_assessment_effect'])) {
                unset($_SESSION['cp_assessment_effect']);
            }
            break;
        case "resetselmodule":
            unset($_SESSION['sel_module_id']);
            break;
        case "unregistercourse":
            if (isset($_SESSION['idCourse'])) {
                TrackUser::closeSessionCourseTrack();
                unset($_SESSION['idCourse']);
                unset($_SESSION['idEdition']);
            }
            if (isset($_SESSION['cp_assessment_effect'])) {
                unset($_SESSION['cp_assessment_effect']);
            }
            break;
        case "changelang":
            Lang::set(Get::req('new_lang', DOTY_MIXED));
            $_SESSION['changed_lang'] = true;
            break;
    }
}
// istance the course description class
if (isset($_SESSION['idCourse']) && !isset($GLOBALS['course_descriptor'])) {