@@ -52,6 +52,9 @@ public function formulation_and_controls(question_attempt $qa, question_display_
52
52
53
53
$ question = $ qa ->get_question ();
54
54
$ qid = $ question ->id ;
55
+ // Answer field.
56
+ $ step = $ qa ->get_last_step_with_qt_var ('answer ' );
57
+
55
58
if (empty ($ USER ->coderunnerquestionids )) {
56
59
$ USER ->coderunnerquestionids = array ($ qid ); // Record in case of AJAX request.
57
60
} else {
@@ -126,6 +129,19 @@ public function formulation_and_controls(question_attempt $qa, question_display_
126
129
$ currentanswer = "\n" . $ currentanswer ;
127
130
}
128
131
132
+ if (!empty ($ options ->readonly ) && !empty ($ CFG ->enableplagiarism )) {
133
+ require_once ($ CFG ->libdir . '/plagiarismlib.php ' );
134
+
135
+ $ currentanswer .= plagiarism_get_links ([
136
+ 'context ' => $ options ->context ->id ,
137
+ 'component ' => $ qa ->get_question ()->qtype ->plugin_name (),
138
+ 'area ' => $ qa ->get_usage_id (),
139
+ 'itemid ' => $ qa ->get_slot (),
140
+ 'userid ' => $ step ->get_user_id (),
141
+ 'content ' => $ qa ->get_response_summary ()
142
+ ]);
143
+ }
144
+
129
145
$ rows = isset ($ question ->answerboxlines ) ? $ question ->answerboxlines : constants::DEFAULT_NUM_ROWS ;
130
146
$ taattributes = $ this ->answerbox_attributes ($ responsefieldname , $ rows ,
131
147
$ question , $ currentlanguage , $ options ->readonly );
@@ -558,13 +574,27 @@ public function correct_response(question_attempt $qa) {
558
574
* not be displayed. Used to get the context.
559
575
*/
560
576
public function files_read_only (question_attempt $ qa , question_display_options $ options ) {
577
+ global $ CFG ;
561
578
$ files = $ qa ->get_last_qt_files ('attachments ' , $ options ->context ->id );
562
579
$ output = array ();
563
-
580
+ $ step = $ qa -> get_last_step_with_qt_var ( ' attachments ' );
564
581
foreach ($ files as $ file ) {
565
- $ output [] = html_writer::tag ('p ' , html_writer::link ($ qa ->get_response_file_url ($ file ),
566
- $ this ->output ->pix_icon (file_file_icon ($ file ), get_mimetype_description ($ file ),
567
- 'moodle ' , array ('class ' => 'icon ' )) . ' ' . s ($ file ->get_filename ())));
582
+ $ out = html_writer::link ($ qa ->get_response_file_url ($ file ),
583
+ $ this ->output ->pix_icon (file_file_icon ($ file ), get_mimetype_description ($ file ),
584
+ 'moodle ' , array ('class ' => 'icon ' )) . ' ' . s ($ file ->get_filename ()));
585
+ if (!empty ($ CFG ->enableplagiarism )) {
586
+ require_once ($ CFG ->libdir . '/plagiarismlib.php ' );
587
+
588
+ $ out .= plagiarism_get_links ([
589
+ 'context ' => $ options ->context ->id ,
590
+ 'component ' => $ qa ->get_question ()->qtype ->plugin_name (),
591
+ 'area ' => $ qa ->get_usage_id (),
592
+ 'itemid ' => $ qa ->get_slot (),
593
+ 'userid ' => $ step ->get_user_id (),
594
+ 'file ' => $ file
595
+ ]);
596
+ }
597
+ $ output [] = html_writer::tag ('p ' , $ out );
568
598
}
569
599
return implode ($ output );
570
600
}
0 commit comments