Browse Source

If exercise is inside LP send the LP-exercise link see BT#12612

jmontoyaa 7 years ago
parent
commit
58673530ff
2 changed files with 8 additions and 12 deletions
  1. 6 3
      main/exercise/exercise_show.php
  2. 2 9
      main/inc/lib/exercise.lib.php

+ 6 - 3
main/exercise/exercise_show.php

@@ -343,7 +343,6 @@ foreach ($questionList as $questionId) {
 $counter = 1;
 $exercise_content = null;
 $category_list = array();
-
 $useAdvancedEditor = true;
 
 if (!empty($maxEditors) && count($questionList) > $maxEditors) {
@@ -938,13 +937,17 @@ if ($isFeedbackAllowed && $origin != 'learnpath' && $origin != 'student_progress
     );
     $emailForm->addHtml('</span>');
 
-    $url = api_get_path(WEB_CODE_PATH).'exercise/result.php?id='.$track_exercise_info['exe_id'].'&'.api_get_cidreq().'&show_headers=1&id_session='.api_get_session_id();
+    if (empty($track_exercise_info['orig_lp_id']) || empty($track_exercise_info['orig_lp_item_id'])) {
+        // Default url
+        $url = api_get_path(WEB_CODE_PATH).'exercise/result.php?id='.$track_exercise_info['exe_id'].'&'.api_get_cidreq().'&show_headers=1&id_session='.api_get_session_id();
+    } else {
+        $url = api_get_path(WEB_CODE_PATH).'lp/lp_controller.php?action=view&item_id='.$track_exercise_info['orig_lp_item_id'].'&lp_id='.$track_exercise_info['orig_lp_id'].'&'.api_get_cidreq().'&id_session='.api_get_session_id();
+    }
 
     $content = ExerciseLib::getEmailNotification(
         $currentUserId,
         api_get_course_info(),
         $track_exercise_info['title'],
-        $track_exercise_info['orig_lp_id'],
         $url
     );
     $emailForm->setDefaults(['notification_content' => $content]);

+ 2 - 9
main/inc/lib/exercise.lib.php

@@ -3935,15 +3935,13 @@ HOTSPOT;
      * @param int $senderId
      * @param array $course_info
      * @param string $test
-     * @param int $lp_id
      * @param string $url
      *
      * @return string
      */
-    public static function getEmailNotification($senderId, $course_info, $test, $lp_id, $url)
+    public static function getEmailNotification($senderId, $course_info, $test, $url)
     {
         $teacher_info = api_get_user_info($senderId);
-
         $from_name = api_get_person_name(
             $teacher_info['firstname'],
             $teacher_info['lastname'],
@@ -3954,12 +3952,7 @@ HOTSPOT;
         $message = '<p>'.get_lang('DearStudentEmailIntroduction').'</p><p>'.get_lang('AttemptVCC');
         $message .= '<h3>'.get_lang('CourseName').'</h3><p>'.Security::remove_XSS($course_info['name']).'';
         $message .= '<h3>'.get_lang('Exercise').'</h3><p>'.Security::remove_XSS($test);
-
-        // Only for exercises not in a LP
-        if ($lp_id == 0) {
-            $message .= '<p>'.get_lang('ClickLinkToViewComment').' <br /><a href="#url#">#url#</a><br />';
-        }
-
+        $message .= '<p>'.get_lang('ClickLinkToViewComment').' <br /><a href="#url#">#url#</a><br />';
         $message .= '<p>'.get_lang('Regards').'</p>';
         $message .= $from_name;
         $message = str_replace("#test#", Security::remove_XSS($test), $message);