24 require_once(
"./Modules/ScormAicc/classes/AICC/class.ilObjAICCTracking.php");
 
   25 require_once(
"./Modules/ScormAicc/classes/HACP/class.ilHACPResponse.php");
 
   39                 global $ilias, $HTTP_POST_VARS;
 
   40                 global 
$ilDB, $ilUser;
 
   44                 $mainKeys=array(
"command", 
"version", 
"session_id", 
"aicc_data");
 
   45                 $postVars=array_change_key_case($HTTP_POST_VARS, CASE_LOWER);
 
   46                 foreach($mainKeys as $key) {
 
   47                         $$key=$postVars[$key];
 
   52                 $allowedCommands=array(
"getparam", 
"putparam", 
"exitau");
 
   53                 if (!in_array(
$command, $allowedCommands)) {
 
   72                 $response->sendParam(); 
 
   90                 $this->update=array();
 
   91                 $this->insert=array();
 
   92                 if (is_object($ilUser)) {
 
   93                         $user_id = $ilUser->getId();
 
   94                         foreach (
$data as $key=>$value) 
 
   97                                 $set = $ilDB->queryF(
' 
   98                                 SELECT * FROM scorm_tracking WHERE user_id = %s 
  102                                 array(
'integer',
'integer',
'text',
'integer'),
 
  103                                 array($user_id,$obj_id,$key,$hacp_id));
 
  105                                 if ($rec = $ilDB->fetchAssoc($set))
 
  106                                         $this->update[] = array(
"left" => $key, 
"right" => $value);
 
  108                                         $this->insert[] = array(
"left" => $key, 
"right" => $value);
 
  113                 $this->
store($hacp_id, $obj_id, 0);
 
  126                 $response->sendParam(); 
 
  131                 if (!empty($string)) {
 
  132                         $lines=explode(
"\n", $string);
 
  133                         for($i=0;$i<count($lines);$i++) {
 
  134                                 $line=trim($lines[$i]);
 
  135                                 if (empty($line) || substr($line,0,1)==
";" || substr($line,0,1)==
"#"){
 
  138                                 if (substr($line,0,1)==
"[") {
 
  139                                         $block=substr($line,1,-1);
 
  145                                 if (substr_count($line, 
"=")==0)
 
  146                                         $data[strtolower(
"cmi.".$block)]=$line;
 
  147                                 else if (substr_count($line, 
"=")==1) {
 
  148                                         $line=explode(
"=", $line);
 
  149                                         $data[strtolower(
"cmi.".$block.
".".$line[0])]=$line[1];