@@ -52,6 +52,9 @@ public function formulation_and_controls(question_attempt $qa, question_display_
5252
5353 $ question = $ qa ->get_question ();
5454 $ qid = $ question ->id ;
55+ // Answer field.
56+ $ step = $ qa ->get_last_step_with_qt_var ('answer ' );
57+
5558 if (empty ($ USER ->coderunnerquestionids )) {
5659 $ USER ->coderunnerquestionids = array ($ qid ); // Record in case of AJAX request.
5760 } else {
@@ -169,6 +172,19 @@ public function formulation_and_controls(question_attempt $qa, question_display_
169172 array ($ responsefieldid ));
170173 }
171174
175+ if (!empty ($ CFG ->enableplagiarism )) {
176+ require_once ($ CFG ->libdir . '/plagiarismlib.php ' );
177+
178+ $ qtext .= plagiarism_get_links ([
179+ 'context ' => $ options ->context ->id ,
180+ 'component ' => $ qa ->get_question ()->qtype ->plugin_name (),
181+ 'area ' => $ qa ->get_usage_id (),
182+ 'itemid ' => $ qa ->get_slot (),
183+ 'userid ' => $ step ->get_user_id (),
184+ 'content ' => $ qa ->get_response_summary ()
185+ ]);
186+ }
187+
172188 return $ qtext ;
173189 }
174190
@@ -558,13 +574,28 @@ public function correct_response(question_attempt $qa) {
558574 * not be displayed. Used to get the context.
559575 */
560576 public function files_read_only (question_attempt $ qa , question_display_options $ options ) {
577+ global $ CFG ;
561578 $ files = $ qa ->get_last_qt_files ('attachments ' , $ options ->context ->id );
562579 $ output = array ();
563580
581+ $ step = $ qa ->get_last_step_with_qt_var ('attachments ' );
564582 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 ())));
583+ $ out = html_writer::link ($ qa ->get_response_file_url ($ file ),
584+ $ this ->output ->pix_icon (file_file_icon ($ file ), get_mimetype_description ($ file ),
585+ 'moodle ' , array ('class ' => 'icon ' )) . ' ' . s ($ file ->get_filename ()));
586+ if (!empty ($ CFG ->enableplagiarism )) {
587+ require_once ($ CFG ->libdir . '/plagiarismlib.php ' );
588+
589+ $ out .= plagiarism_get_links ([
590+ 'context ' => $ options ->context ->id ,
591+ 'component ' => $ qa ->get_question ()->qtype ->plugin_name (),
592+ 'area ' => $ qa ->get_usage_id (),
593+ 'itemid ' => $ qa ->get_slot (),
594+ 'userid ' => $ step ->get_user_id (),
595+ 'file ' => $ file
596+ ]);
597+ }
598+ $ output [] = html_writer::tag ('p ' , $ out );
568599 }
569600 return implode ($ output );
570601 }
0 commit comments