diff --git a/main/exercise/exercise_result.php b/main/exercise/exercise_result.php index db82ff7778..bcf1f30424 100755 --- a/main/exercise/exercise_result.php +++ b/main/exercise/exercise_result.php @@ -108,9 +108,9 @@ if (!empty($exercise_stat_info['data_tracking'])) { $question_list = explode(',', $exercise_stat_info['data_tracking']); } -$learnpath_id = $exercise_stat_info['orig_lp_id']; -$learnpath_item_id = $exercise_stat_info['orig_lp_item_id']; -$learnpath_item_view_id = $exercise_stat_info['orig_lp_item_view_id']; +$learnpath_id = isset($exercise_stat_info['orig_lp_id']) ? $exercise_stat_info['orig_lp_id'] : 0; +$learnpath_item_id = isset($exercise_stat_info['orig_lp_item_id']) ? $exercise_stat_info['orig_lp_item_id'] : 0; +$learnpath_item_view_id = isset($exercise_stat_info['orig_lp_item_view_id']) ? $exercise_stat_info['orig_lp_item_view_id'] : 0; if ($origin == 'learnpath') { ?> @@ -125,7 +125,7 @@ if ($origin == 'learnpath') { $i = $total_score = $max_score = 0; $remainingMessage = ''; -//We check if the user attempts before sending to the exercise_result.php +// We check if the user attempts before sending to the exercise_result.php if ($objExercise->selectAttempts() > 0) { $attempt_count = Event::get_attempt_count( api_get_user_id(), diff --git a/main/inc/lib/exercise.lib.php b/main/inc/lib/exercise.lib.php index 2edb1c6ebf..da3df269b7 100644 --- a/main/inc/lib/exercise.lib.php +++ b/main/inc/lib/exercise.lib.php @@ -3555,17 +3555,21 @@ HOTSPOT; } if ($show_results || $show_only_score) { - $user_info = api_get_user_info($exercise_stat_info['exe_user_id']); - //Shows exercise header - echo $objExercise->show_exercise_result_header( - $user_info, - api_convert_and_format_date( - $exercise_stat_info['start_date'], - DATE_TIME_FORMAT_LONG - ), - $exercise_stat_info['duration'], - $exercise_stat_info['user_ip'] - ); + if (isset($exercise_stat_info['exe_user_id'])) { + $user_info = api_get_user_info($exercise_stat_info['exe_user_id']); + if ($user_info) { + // Shows exercise header + echo $objExercise->show_exercise_result_header( + $user_info, + api_convert_and_format_date( + $exercise_stat_info['start_date'], + DATE_TIME_FORMAT_LONG + ), + $exercise_stat_info['duration'], + $exercise_stat_info['user_ip'] + ); + } + } } // Display text when test is finished #4074 and for LP #4227 @@ -3763,27 +3767,28 @@ HOTSPOT; } if ($save_user_result) { - // Tracking of results - $learnpath_id = $exercise_stat_info['orig_lp_id']; - $learnpath_item_id = $exercise_stat_info['orig_lp_item_id']; - $learnpath_item_view_id = $exercise_stat_info['orig_lp_item_view_id']; - - if (api_is_allowed_to_session_edit()) { - Event::update_event_exercise( - $exercise_stat_info['exe_id'], - $objExercise->selectId(), - $total_score, - $total_weight, - api_get_session_id(), - $learnpath_id, - $learnpath_item_id, - $learnpath_item_view_id, - $exercise_stat_info['exe_duration'], - $question_list, - '', - array() - ); + if ($exercise_stat_info) { + $learnpath_id = $exercise_stat_info['orig_lp_id']; + $learnpath_item_id = $exercise_stat_info['orig_lp_item_id']; + $learnpath_item_view_id = $exercise_stat_info['orig_lp_item_view_id']; + + if (api_is_allowed_to_session_edit()) { + Event::update_event_exercise( + $exercise_stat_info['exe_id'], + $objExercise->selectId(), + $total_score, + $total_weight, + api_get_session_id(), + $learnpath_id, + $learnpath_item_id, + $learnpath_item_view_id, + $exercise_stat_info['exe_duration'], + $question_list, + '', + array() + ); + } } // Send notification