Пример #1
0
<?php

/* Copyright (c) 1998-2009 ILIAS open source, Extended GPL, see docs/LICENSE */
/**
 * for storing Data also without session
 * @author Uwe Kohnle <*****@*****.**>
 * @version $Id$
 */
include_once "Services/Context/classes/class.ilContext.php";
ilContext::init(ilContext::CONTEXT_SCORM);
require_once "Services/Init/classes/class.ilInitialisation.php";
ilInitialisation::initILIAS();
include_once 'Modules/Scorm2004/classes/class.ilSCORM2004StoreData.php';
if ((string) $_GET['do'] == "unload") {
    include_once 'Modules/Scorm2004/classes/class.ilSCORM2004StoreData.php';
    ilSCORM2004StoreData::scormPlayerUnload(null, (int) $_GET['package_id']);
} else {
    global $ilLog, $ilDB, $ilUser;
    $packageId = (int) $_GET['package_id'];
    $lm_set = $ilDB->queryF('SELECT default_lesson_mode, interactions, objectives, comments FROM sahs_lm WHERE id = %s', array('integer'), array($packageId));
    while ($lm_rec = $ilDB->fetchAssoc($lm_set)) {
        $defaultLessonMode = $lm_rec["default_lesson_mode"];
        $interactions = ilUtil::yn2tf($lm_rec["interactions"]);
        $objectives = ilUtil::yn2tf($lm_rec["objectives"]);
        $comments = ilUtil::yn2tf($lm_rec["comments"]);
    }
    $data = file_get_contents('php://input');
    $ilUser->setId($data->p);
    //until now only 2004
    include_once 'Modules/Scorm2004/classes/class.ilSCORM2004StoreData.php';
    ilSCORM2004StoreData::persistCMIData(null, $packageId, $defaultLessonMode, $comments, $interactions, $objectives, $data);
Пример #2
0
 /**
  * ilias initialisation
  * @param string $context this is used for circumvent redirects to the login page if called e.g. by soap
  */
 function initILIAS($context = "web")
 {
     global $ilDB, $ilUser, $ilLog, $ilErr, $ilClientIniFile, $ilIliasIniFile, $ilSetting, $ilias, $https, $ilObjDataCache, $ilLog, $objDefinition, $lng, $ilCtrl, $ilBrowser, $ilHelp, $ilTabs, $ilMainMenu, $rbacsystem, $ilNavigationHistory;
     // remove unsafe characters
     $this->removeUnsafeCharacters();
     // error reporting
     // remove notices from error reporting
     if (version_compare(PHP_VERSION, '5.3.0', '>=')) {
         error_reporting(ini_get("error_reporting") & ~E_NOTICE & ~E_DEPRECATED);
     } else {
         error_reporting(ini_get('error_reporting') & ~E_NOTICE);
     }
     $ilUser = new ilObjUserMin();
     $GLOBALS['ilUser'] =& $ilUser;
     // include common code files
     $this->requireCommonIncludes();
     global $ilBench;
     // $ilIliasIniFile initialisation
     $this->initIliasIniFile();
     // CLIENT_ID determination
     $this->determineClient();
     // $ilAppEventHandler initialisation
     //$this->initEventHandling();
     // $ilClientIniFile initialisation
     if (!$this->initClientIniFile()) {
         die("no client");
     }
     // $ilDB initialisation
     $this->initDatabase();
     $this->initLog();
     // settings
     $ilSetting = new ilSetting();
     $GLOBALS['ilSetting'] =& $ilSetting;
     // init tree
     require_once "./Services/Tree/classes/class.ilTree.php";
     $tree = new ilTree(ROOT_FOLDER_ID);
     $GLOBALS['tree'] =& $tree;
     if ((string) $_GET['do'] == "unload") {
         include_once './Modules/Scorm2004/classes/class.ilSCORM2004StoreData.php';
         ilSCORM2004StoreData::scormPlayerUnload(null, (int) $_GET['package_id']);
     } else {
         $this->persistCMIData();
     }
 }
Пример #3
0
 /**
  * execute command
  */
 function &executeCommand()
 {
     global $ilAccess, $ilLog, $ilUser, $lng, $ilias;
     $next_class = $this->ctrl->getNextClass($this);
     $cmd = $this->ctrl->getCmd();
     if (!$ilAccess->checkAccess("read", "", $_GET["ref_id"])) {
         $ilias->raiseError($lng->txt("permission_denied"), $ilias->error_obj->WARNING);
     }
     //$ilLog->write("SCORM2004 Player cmd: ".$cmd);
     switch ($cmd) {
         case 'getRTEjs':
             $this->getRTEjs();
             break;
         case 'cp':
             $this->getCPData();
             break;
         case 'adlact':
             $this->getADLActData();
             break;
         case 'suspend':
             $this->suspendADLActData();
             break;
         case 'getSuspend':
             $this->getSuspendData();
             break;
         case 'gobjective':
             //				$this->writeGObjective();
             break;
         case 'getGobjective':
             $this->readGObjective();
             break;
         case 'getSharedData':
             $this->readSharedData($_GET['node_id']);
             break;
         case 'setSharedData':
             $this->writeSharedData($_GET['node_id']);
             break;
         case 'cmi':
             if ($_SERVER['REQUEST_METHOD'] == 'POST') {
                 include_once './Modules/Scorm2004/classes/class.ilSCORM2004StoreData.php';
                 ilSCORM2004StoreData::persistCMIData($this->userId, $this->packageId, $this->slm->getDefaultLessonMode(), $this->slm->getComments(), $this->slm->getInteractions(), $this->slm->getObjectives());
                 //error_log("Saved CMI Data");
             } else {
                 $this->fetchCMIData();
             }
             break;
         case 'specialPage':
             $this->specialPage();
             break;
         case 'debugGUI':
             $this->debugGUI();
             break;
         case 'postLogEntry':
             $this->postLogEntry();
             break;
         case 'liveLogContent':
             $this->liveLogContent();
             break;
         case 'downloadLog':
             $this->downloadLog();
             break;
         case 'openLog':
             $this->openLog();
             break;
         case 'pingSession':
             $this->pingSession();
             break;
         case 'scormPlayerUnload':
             include_once './Modules/Scorm2004/classes/class.ilSCORM2004StoreData.php';
             ilSCORM2004StoreData::scormPlayerUnload($this->userId, $this->packageId);
             break;
             // case 'getConfigForPlayer':
             // $this->getConfigForPlayer();
             // break;
         // case 'getConfigForPlayer':
         // $this->getConfigForPlayer();
         // break;
         default:
             $this->getPlayer();
             break;
     }
 }
Пример #4
0
 * for storing Data also without session
 * @author Uwe Kohnle <*****@*****.**>
 * @version $Id$
 */
include_once "Services/Context/classes/class.ilContext.php";
ilContext::init(ilContext::CONTEXT_SCORM);
require_once "Services/Init/classes/class.ilInitialisation.php";
ilInitialisation::initILIAS();
include_once 'Modules/Scorm2004/classes/class.ilSCORM2004StoreData.php';
//conditions for storing data
global $ilDB;
$packageId = (int) $_GET['package_id'];
$lm_set = $ilDB->queryF('SELECT default_lesson_mode, interactions, objectives, time_from_lms, comments FROM sahs_lm WHERE id = %s', array('integer'), array($packageId));
while ($lm_rec = $ilDB->fetchAssoc($lm_set)) {
    $defaultLessonMode = $lm_rec["default_lesson_mode"];
    $interactions = ilUtil::yn2tf($lm_rec["interactions"]);
    $objectives = ilUtil::yn2tf($lm_rec["objectives"]);
    $time_from_lms = ilUtil::yn2tf($lm_rec["time_from_lms"]);
    $comments = ilUtil::yn2tf($lm_rec["comments"]);
}
if ((string) $_GET['do'] == "unload") {
    include_once 'Modules/Scorm2004/classes/class.ilSCORM2004StoreData.php';
    ilSCORM2004StoreData::scormPlayerUnload(null, $packageId, $time_from_lms);
} else {
    global $ilUser;
    $data = file_get_contents('php://input');
    $ilUser->setId($data->p);
    //until now only 2004
    include_once 'Modules/Scorm2004/classes/class.ilSCORM2004StoreData.php';
    ilSCORM2004StoreData::persistCMIData(null, $packageId, $defaultLessonMode, $comments, $interactions, $objectives, $time_from_lms, $data);
}