135 {
136 $type_id = null;
137 $lrs = null;
139 $query = "SELECT {$this->table_prefix}_settings.lrs_type_id,
140 {$this->table_prefix}_settings.only_moveon,
141 {$this->table_prefix}_settings.achieved,
142 {$this->table_prefix}_settings.answered,
143 {$this->table_prefix}_settings.completed,
144 {$this->table_prefix}_settings.failed,
145 {$this->table_prefix}_settings.initialized,
146 {$this->table_prefix}_settings.passed,
147 {$this->table_prefix}_settings.progressed,
148 {$this->table_prefix}_settings.satisfied,
149 {$this->table_prefix}_settings.c_terminated,
150 {$this->table_prefix}_settings.hide_data,
151 {$this->table_prefix}_settings.c_timestamp,
152 {$this->table_prefix}_settings.duration,
153 {$this->table_prefix}_settings.no_substatements,
154 {$this->table_prefix}_settings.privacy_ident
155 FROM {$this->table_prefix}_settings, {$this->table_prefix}_token
156 WHERE {$this->table_prefix}_settings.obj_id = {$this->table_prefix}_token.obj_id AND {$this->table_prefix}_token.token = " . $db->quote($this->token, 'text');
157
158 $res = $db->query($query);
159 while ($row = $db->fetchObject(
$res)) {
160 $type_id = (
int) $row->lrs_type_id;
162
163 $lrs = new \ilCmiXapiLrsType($type_id);
164 }
165
166 $sarr = [];
167 if ((bool) $row->only_moveon) {
168 if ((bool) $row->achieved) {
169 $sarr[] = "https://w3id.org/xapi/dod-isd/verbs/achieved";
170 }
171 if ((bool) $row->answered) {
172 $sarr[] = "http://adlnet.gov/expapi/verbs/answered";
173 $sarr[] = "https://w3id.org/xapi/dod-isd/verbs/answered";
174 }
175 if ((bool) $row->completed) {
176 $sarr[] = "http://adlnet.gov/expapi/verbs/completed";
177 $sarr[] = "https://w3id.org/xapi/dod-isd/verbs/completed";
178 }
179 if ((bool) $row->failed) {
180 $sarr[] = "http://adlnet.gov/expapi/verbs/failed";
181 }
182 if ((bool) $row->initialized) {
183 $sarr[] = "http://adlnet.gov/expapi/verbs/initialized";
184 $sarr[] = "https://w3id.org/xapi/dod-isd/verbs/initialized";
185 }
186 if ((bool) $row->passed) {
187 $sarr[] = "http://adlnet.gov/expapi/verbs/passed";
188 }
189 if ((bool) $row->progressed) {
190 $sarr[] = "http://adlnet.gov/expapi/verbs/progressed";
191 }
192 if ((bool) $row->satisfied) {
193 $sarr[] = "https://w3id.org/xapi/adl/verbs/satisfied";
194 }
195 if ((bool) $row->c_terminated) {
196 $sarr[] = "http://adlnet.gov/expapi/verbs/terminated";
197 }
198 if (count($sarr) > 0) {
199 $this->specificAllowedStatements = $sarr;
200 $this->
log()->debug($this->
msg(
'getSpecificAllowedStatements: ' . var_export($this->specificAllowedStatements,
true)));
201 }
202 }
203 if ((bool) $row->hide_data) {
204 $rarr = array();
205 if ((bool) $row->c_timestamp) {
206 $rarr['timestamp'] = '1970-01-01T00:00:00.000Z';
207 }
208 if ((bool) $row->duration) {
209 $rarr['result.duration'] = 'PT00.000S';
210 }
211 if (count($rarr) > 0) {
212 $this->replacedValues = $rarr;
213 $this->
log()->debug($this->
msg(
'getReplacedValues: ' . var_export($this->replacedValues,
true)));
214 }
215 }
216 if ((bool) $row->no_substatements) {
217 $this->blockSubStatements = true;
218 $this->
log()->debug($this->
msg(
'getBlockSubStatements: ' . $this->blockSubStatements));
219 }
220 $lrs->setPrivacyIdent((int) $row->privacy_ident);
221 }
222 return $lrs;
223 }
if(!file_exists('../ilias.ini.php'))