97ed220eb63153ed472eaae60a124eeb7da850a8
[atutor.git] / mods / scorm_packages / scorm-1.2 / read.php
1 <?php
2 /*
3  * mods/scorm_packages/scorm-1.2/read.php
4  *
5  * This file is part of ATutor, see http://www.atutor.ca
6  * 
7  * Copyright (C) 2005  Matthai Kurian 
8  * 
9  * This program is free software; you can redistribute it and/or
10  * modify it under the terms of the GNU General Public License
11  * as published by the Free Software Foundation; either version 2
12  * of the License, or (at your option) any later version.
13  * 
14  * This program is distributed in the hope that it will be useful,
15  * but WITHOUT ANY WARRANTY; without even the implied warranty of
16  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
17  * GNU General Public License for more details.
18  * 
19  * You should have received a copy of the GNU General Public License
20  * along with this program; if not, write to the Free Software
21  * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.
22  */
23
24 define('AT_INCLUDE_PATH', '../../../include/');
25 require(AT_INCLUDE_PATH.'vitals.inc.php');
26
27
28         header('Content-Type: text/plain; charset=utf-8');
29
30         /*
31          * Get all stored cmi values
32          */
33         $sql = "SELECT lvalue, rvalue
34                 FROM   ".TABLE_PREFIX."cmi
35                 WHERE  member_id = ".$_SESSION['member_id']."
36                 AND    item_id   = ".$_POST['sco_id'];
37         $result = mysql_query($sql, $db);
38         while ($row = mysql_fetch_assoc($result)) {
39                 $cmi[$row['lvalue']]=$row['rvalue'];
40         }
41
42         /*
43          * Insert default values
44          */
45         $defcmi['cmi.core.total_time']    = "0000:00:00.00";
46         $defcmi['cmi.core.lesson_status'] = "not attempted";
47         $defcmi['cmi.core.entry']         = "ab-initio";
48         while (list($l, $r) = each($defcmi)) {
49                 if (!array_key_exists ($l, $cmi)) {
50                         $cmi[$l]=$r;
51                         $sql = "INSERT  INTO ".TABLE_PREFIX."cmi
52                                 VALUES (0,
53                                         $_POST[sco_id],
54                                         $_SESSION[member_id],
55                                         '$l',
56                                         '$defcmi[$l]'
57                                 )";
58                         $result = mysql_query($sql, $db);
59                 }
60         }
61
62
63         /*
64          * Get cmi values which come from manifest
65          */
66         $sql = "SELECT  org_id,
67                         maxtimeallowed,
68                         timelimitaction,
69                         masteryscore,
70                         datafromlms
71                 FROM    ".TABLE_PREFIX."scorm_1_2_item
72                 WHERE   item_id = ".$_POST['sco_id'];
73
74         $result = mysql_query($sql, $db);
75         $row = mysql_fetch_assoc($result);
76
77         $cmi['cmi.launch_data']                    = $row['datafromlms'];
78         $cmi['cmi.student_data.max_time_allowed']  = $row['maxtimeallowed'];
79         $cmi['cmi.student_data.mastery_score']     = $row['masteryscore'];
80         $cmi['cmi.student_data.time_limit_action'] = $row['timelimitaction'];
81
82         $org_id = $row['org_id'];
83                         
84         /*
85          * Get lesson_mode and credit/no credit from organization.
86          * These values are set by the course owner
87          */
88         $sql = "SELECT  credit,
89                         lesson_mode
90                 FROM    ".TABLE_PREFIX."scorm_1_2_org
91                 WHERE   org_id = ".$org_id;
92         $result = mysql_query($sql, $db);
93         $row = mysql_fetch_assoc($result);
94         $cmi['cmi.core.credit']      = $row['credit'];
95         $cmi['cmi.core.lesson_mode'] = $row['lesson_mode'];
96
97         /*
98          * WE DON'T GIVE THE VALUE OF student_id !!!
99          * $cmi['cmi.core.student_id']=$_SESSION['member_id'];
100          */
101
102         while (list($l, $r) = each($cmi)) {
103                 echo $l.'='. urlencode($r)."\n";
104         }
105 ?>
106