Skip to content

Commit 0eca5f9

Browse files
authored
Merge pull request #28 from lfhawasli/August-bootcamp
Fix scores and results url to work in moodle
2 parents 00a7861 + 25f1862 commit 0eca5f9

File tree

5 files changed

+17
-8
lines changed

5 files changed

+17
-8
lines changed

src/game_example/api/score.php

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,8 @@
1919
$score_lineitem = LTI\LTI_Lineitem::new()
2020
->set_tag('score')
2121
->set_score_maximum(100)
22-
->set_label('Score');
22+
->set_label('Score')
23+
->set_resource_id($launch->get_launch_data()['https://purl.imsglobal.org/spec/lti/claim/resource_link']['id']);
2324
$grades->put_grade($score, $score_lineitem);
2425

2526

@@ -33,7 +34,8 @@
3334
$time_lineitem = LTI\LTI_Lineitem::new()
3435
->set_tag('time')
3536
->set_score_maximum(999)
36-
->set_label('Time Taken');
37+
->set_label('Time Taken')
38+
->set_resource_id('time'.$launch->get_launch_data()['https://purl.imsglobal.org/spec/lti/claim/resource_link']['id']);
3739
$grades->put_grade($time, $time_lineitem);
3840
echo '{"success" : true}';
3941
?>

src/game_example/api/scoreboard.php

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -15,13 +15,15 @@
1515
$score_lineitem = LTI\LTI_Lineitem::new()
1616
->set_tag('score')
1717
->set_score_maximum(100)
18-
->set_label('Score');
18+
->set_label('Score')
19+
->set_resource_id($launch->get_launch_data()['https://purl.imsglobal.org/spec/lti/claim/resource_link']['id']);;
1920
$scores = $ags->get_grades($score_lineitem);
2021

2122
$time_lineitem = LTI\LTI_Lineitem::new()
2223
->set_tag('time')
2324
->set_score_maximum(999)
24-
->set_label('Time Taken');
25+
->set_label('Time Taken')
26+
->set_resource_id('time'.$launch->get_launch_data()['https://purl.imsglobal.org/spec/lti/claim/resource_link']['id']);
2527
$times = $ags->get_grades($time_lineitem);
2628

2729
$members = $launch->get_nrps()->get_members();

src/game_example/db/example_database.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44
use \IMSGlobal\LTI;
55

66
$_SESSION['iss'] = [];
7-
$reg_configs = array_diff(scandir(__DIR__ . '/configs'), array('..', '.'));
7+
$reg_configs = array_diff(scandir(__DIR__ . '/configs'), array('..', '.', '.DS_Store'));
88
foreach ($reg_configs as $key => $reg_config) {
99
$_SESSION['iss'] = array_merge($_SESSION['iss'], json_decode(file_get_contents(__DIR__ . "/configs/$reg_config"), true));
1010
}

src/lti/lti_assignments_grades_service.php

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,9 @@ public function put_grade(LTI_Grade $grade, LTI_Lineitem $lineitem = null) {
3030
$lineitem = $this->find_or_create_lineitem($lineitem);
3131
$score_url = $lineitem->get_id();
3232
}
33-
$score_url .= '/scores';
33+
// Place '/scores' before url params
34+
$pos = strpos($score_url, '?');
35+
$score_url = substr_replace( $score_url, '/scores', $pos, 0 );
3436
return $this->service_connector->make_service_request(
3537
$this->service_data['scope'],
3638
'POST',
@@ -70,10 +72,13 @@ public function find_or_create_lineitem(LTI_Lineitem $new_line_item) {
7072

7173
public function get_grades(LTI_Lineitem $lineitem) {
7274
$lineitem = $this->find_or_create_lineitem($lineitem);
75+
// Place '/results' before url params
76+
$pos = strpos($lineitem->get_id(), '?');
77+
$results_url = substr_replace( $lineitem->get_id(), '/results', $pos, 0 );
7378
$scores = $this->service_connector->make_service_request(
7479
$this->service_data['scope'],
7580
'GET',
76-
$lineitem->get_id() . '/results',
81+
$results_url,
7782
null,
7883
null,
7984
'application/vnd.ims.lis.v2.resultcontainer+json'

src/lti/lti_service_connector.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,7 @@ public function get_access_token($scopes) {
3131
$client_id = $this->registration->get_client_id();
3232
$auth_url = $this->registration->get_auth_token_url();
3333
$jwt_claim = [
34-
"iss" => "TODO_CHANGE_ME",
34+
"iss" => $client_id,
3535
"sub" => $client_id,
3636
"aud" => $auth_url,
3737
"iat" => time() - 5,

0 commit comments

Comments
 (0)