diff --git a/main/lp/learnpath.class.php b/main/lp/learnpath.class.php index c4ded8f93c..affb29d592 100755 --- a/main/lp/learnpath.class.php +++ b/main/lp/learnpath.class.php @@ -7573,6 +7573,10 @@ class learnpath $return .= $this->display_manipulate($item_id, $row['item_type']); $return .= $this->display_thread_form('edit', $item_id, $row); break; + case TOOL_SURVEY: + $return .= $this->display_manipulate($item_id, $row['item_type']); + $return .= $this->displaySurveyForm('edit', $item_id, $row); + break; } return $return; diff --git a/main/survey/fillsurvey.php b/main/survey/fillsurvey.php index e9cc922f76..5b7d4bf3b9 100755 --- a/main/survey/fillsurvey.php +++ b/main/survey/fillsurvey.php @@ -207,7 +207,12 @@ $sql = "SELECT * FROM $table_survey WHERE c_id = $course_id AND code = '".Database::escape_string($survey_invitation['survey_code'])."'"; -$sql .= api_get_session_condition($sessionId, true, true); +if (true === api_get_configuration_value('show_surveys_base_in_sessions')) { + // It lists the surveys base too + $sql .= api_get_session_condition($sessionId, true, true); +} else { + $sql .= api_get_session_condition($sessionId); +} $result = Database::query($sql); if (Database::num_rows($result) > 1) { @@ -773,10 +778,12 @@ if ((isset($_GET['show']) && $_GET['show'] != '') || // Get the user into survey answer table (user or anonymus) $my_user_id = $survey_data['anonymous'] == 1 ? $surveyUserFromSession : api_get_user_id(); + // To show the answers by lp item $lpItemCondition = ''; if ($allowSurveyInLp) { $lpItemCondition = " AND sa.c_lp_item_id = $lpItemId"; } + // To show the answers by session $sessionCondition = ''; if (true === api_get_configuration_value('show_surveys_base_in_sessions')) { $sessionCondition = api_get_session_condition($sessionId, true, false, 'sa.session_id'); @@ -886,10 +893,12 @@ if ((isset($_GET['show']) && $_GET['show'] != '') || // Get current user results $results = []; + // To display de answers by Lp Item $lpItemCondition = ''; if ($allowSurveyInLp) { $lpItemCondition = " AND survey_answer.c_lp_item_id = $lpItemId"; } + // To display the answers by session $sessionCondition = ''; if (true === api_get_configuration_value('show_surveys_base_in_sessions')) { $sessionCondition = api_get_session_condition($sessionId, true, false, 'survey_answer.session_id'); diff --git a/main/survey/survey.lib.php b/main/survey/survey.lib.php index 4f440f857d..bc2f847165 100755 --- a/main/survey/survey.lib.php +++ b/main/survey/survey.lib.php @@ -944,11 +944,12 @@ class SurveyManager if ($allow) { $answeredAt = "answered_at = '".api_get_utc_datetime()."',"; } - + // To select the answers by Lp Item $lpItemCondition = ''; if (true === api_get_configuration_value('allow_survey_tool_in_lp')) { $lpItemCondition = " AND c_lp_item_id = $lpItemId"; } + // To select the answers by session $sessionCondition = ''; if (true === api_get_configuration_value('show_surveys_base_in_sessions')) { $sessionCondition = api_get_session_condition($sessionId); diff --git a/main/survey/surveyUtil.class.php b/main/survey/surveyUtil.class.php index f7e138cf81..1dc2e53e03 100755 --- a/main/survey/surveyUtil.class.php +++ b/main/survey/surveyUtil.class.php @@ -70,10 +70,12 @@ class SurveyUtil // table definition $table = Database::get_course_table(TABLE_SURVEY_ANSWER); + // To select the answers by lp Item $lpItemCondition = ''; if (true === api_get_configuration_value('allow_survey_tool_in_lp')) { $lpItemCondition = " AND c_lp_item_id = $lpItemId"; } + // To select the answers by session $sessionCondition = ''; if (true === api_get_configuration_value('show_surveys_base_in_sessions')) { $sessionCondition = api_get_session_condition($sessionId); @@ -141,11 +143,12 @@ class SurveyUtil if (!empty($otherOption)) { $option_id = $option_id.'@:@'.$otherOption; } - + // To select the answers by Lp Item $lpItemCondition = ''; if (true === api_get_configuration_value('allow_survey_tool_in_lp')) { $lpItemCondition = " , c_lp_item_id = $lpItemId"; } + // To select the answers by session $sessionCondition = ''; if (true === api_get_configuration_value('show_surveys_base_in_sessions')) { $sessionCondition = " , session_id = $sessionId"; @@ -323,6 +326,7 @@ class SurveyUtil if (!empty($survey_id) && !empty($user_id)) { + // To delete or update the answer by session $sessionCondition = ''; if (true === api_get_configuration_value('show_surveys_base_in_sessions')) { $sessionId = api_get_session_id(); @@ -466,7 +470,7 @@ class SurveyUtil $questions[$row['sort']]['options'][$row['question_option_id']] = Security::remove_XSS($row['option_text']); } } - + // To select the answers by session $sessionCondition = ''; if (true === api_get_configuration_value('show_surveys_base_in_sessions')) { $sessionId = api_get_session_id(); @@ -622,6 +626,7 @@ class SurveyUtil $action = isset($_GET['action']) ? Security::remove_XSS($_GET['action']) : ''; $course_id = api_get_course_int_id(); + // To select the answers by session $sessionCondition = ''; if (true === api_get_configuration_value('show_surveys_base_in_sessions')) { $sessionId = api_get_session_id(); @@ -926,6 +931,7 @@ class SurveyUtil $course_id = api_get_course_int_id(); $surveyId = $survey_data['survey_id']; + // To select the answers by session $sessionCondition = ''; if (true === api_get_configuration_value('show_surveys_base_in_sessions')) { $sessionId = api_get_session_id(); @@ -1059,6 +1065,7 @@ class SurveyUtil $surveyId = (int) $survey_data['survey_id']; $course_id = (int) $survey_data['c_id']; + // To select the answers by session $sessionCondition = ''; if (true === api_get_configuration_value('show_surveys_base_in_sessions')) { $sessionId = api_get_session_id(); @@ -1515,6 +1522,7 @@ class SurveyUtil $course = api_get_course_info(); $course_id = $course['real_id']; + // To select the answers by session $sessionCondition = ''; if (true === api_get_configuration_value('show_surveys_base_in_sessions')) { $sessionId = api_get_session_id(); @@ -1899,6 +1907,7 @@ class SurveyUtil $table_survey_question_option = Database::get_course_table(TABLE_SURVEY_QUESTION_OPTION); $table_survey_answer = Database::get_course_table(TABLE_SURVEY_ANSWER); + // To select the answers by session $sessionCondition = ''; if (true === api_get_configuration_value('show_surveys_base_in_sessions')) { $sessionId = api_get_session_id(); @@ -2446,11 +2455,13 @@ class SurveyUtil $course_id = api_get_course_int_id(); $table_survey_answer = Database::get_course_table(TABLE_SURVEY_ANSWER); + // To select the answers by session $sessionCondition = ''; if (true === api_get_configuration_value('show_surveys_base_in_sessions')) { $sessionId = api_get_session_id(); $sessionCondition = api_get_session_condition($sessionId); } + // To select the answers by Lp item $lpItemCondition = ''; if (true === api_get_configuration_value('allow_survey_tool_in_lp')) { $lpItemCondition = " AND c_lp_item_id = $lpItemId"; @@ -3495,7 +3506,7 @@ class SurveyUtil } else { $search_restriction = "WHERE c_id = $course_id"; } - + // To list the surveys base too $sessionCondition = ''; if (true === api_get_configuration_value('show_surveys_base_in_sessions')) { $sessionCondition = api_get_session_condition(api_get_session_id(), true, true); @@ -3561,7 +3572,7 @@ class SurveyUtil $direction = 'asc'; } - // Condition for the session + // To list the surveys base too $sessionCondition = ''; if (true === api_get_configuration_value('show_surveys_base_in_sessions')) { $sessionId = api_get_session_id(); @@ -3813,6 +3824,7 @@ class SurveyUtil $now = api_get_utc_datetime(null, false, true); $filterDate = $allowSurveyAvailabilityDatetime ? $now->format('Y-m-d H:i') : $now->format('Y-m-d'); + // To list the surveys base too $sessionCondition = ''; if (true === api_get_configuration_value('show_surveys_base_in_sessions')) { $sessionCondition = api_get_session_condition($sessionId, true, true, 'survey.session_id'); @@ -4217,6 +4229,7 @@ class SurveyUtil return false; } + // To select the answers by session $sessionId = api_get_session_id(); $sessionCondition = ''; if (true === api_get_configuration_value('show_surveys_base_in_sessions')) {