ILIAS  release_8 Revision v8.24
AssessmentControl.php
Go to the documentation of this file.
1<?php
2
20
22
31{
35 public static string $SCOPE = 'https://purl.imsglobal.org/spec/lti-ap/scope/control.all';
36
43
49 public function __construct(\ILIAS\LTI\ToolProvider\ResourceLink $resourceLink, string $endpoint)
50 {
52 $this->resourceLink = $resourceLink;
53 $this->scope = self::$SCOPE;
54 $this->mediaType = 'application/vnd.ims.lti-ap.v1.control+json';
55 }
56
64// public function submitAction($assessmentControlAction, $user, $attemptNumber)
65 public function submitAction(\ILIAS\LTI\ToolProvider\AssessmentControlAction $assessmentControlAction, \ILIAS\LTI\ToolProvider\User $user, int $attemptNumber)
66 {
67 $status = false;
68 $json = array(
69 'user' => array('iss' => $this->resourceLink->getPlatform()->platformId, 'sub' => $user->ltiUserId),
70 'resource_link' => array('id' => $this->resourceLink->ltiResourceLinkId),
71 'attempt_number' => $attemptNumber,
72 'action' => $assessmentControlAction->getAction(),
73// 'incident_time' => $assessmentControlAction->getDate()->format('Y-m-d\TH:i:s\Z'), //UK:changed
74 'incident_time' => date(('Y-m-d\TH:i:s\Z'), $assessmentControlAction->getDate()),
75 'incident_severity' => $assessmentControlAction->getSeverity()
76 );
77 if (!empty($assessmentControlAction->extraTime)) {
78 $json['extra_time'] = $assessmentControlAction->extraTime;
79 }
80 if (!empty($assessmentControlAction->code)) {
81 $json['reason_code'] = $assessmentControlAction->code;
82 }
83 if (!empty($assessmentControlAction->message)) {
84 $json['reason_msg'] = $assessmentControlAction->message;
85 }
86 $data = json_encode($json);
87 $http = $this->send('POST', null, $data);
88 if ($http->ok) {
89 $http->ok = !empty($http->responseJson->status);
90 if ($http->ok) {
91 $status = $http->responseJson->status;
92 }
93 }
94
95 return $status;
96 }
97}
Class to represent an assessment control action.
Class to implement the Assessment Control service.
__construct(\ILIAS\LTI\ToolProvider\ResourceLink $resourceLink, string $endpoint)
Class constructor.
submitAction(\ILIAS\LTI\ToolProvider\AssessmentControlAction $assessmentControlAction, \ILIAS\LTI\ToolProvider\User $user, int $attemptNumber)
Submit an assessment control action.
ILIAS LTI ToolProvider ResourceLink $resourceLink
Resource link for this service request.
Class to implement a service.
Definition: Service.php:34
string $endpoint
Service endpoint.
Definition: Service.php:47
HTTPMessage $http
HttpMessage object for last service request.
Definition: Service.php:75
send(string $method, array $parameters=array(), string $body=null)
Send a service request.
Definition: Service.php:130
Class to represent a platform user.
Definition: User.php:31
__construct(Container $dic, ilPlugin $plugin)
@inheritDoc
This file is part of ILIAS, a powerful learning management system published by ILIAS open source e-Le...
This file is part of ILIAS, a powerful learning management system published by ILIAS open source e-Le...
Definition: AccessToken.php:19
Class ChatMainBarProvider \MainMenu\Provider.
This file is part of ILIAS, a powerful learning management system published by ILIAS open source e-Le...