|
@@ -225,7 +225,7 @@ class SurveyUtil
|
|
|
*/
|
|
|
public static function handle_reporting_actions($survey_data, $people_filled)
|
|
|
{
|
|
|
- $action = isset($_GET['action']) ? $_GET['action'] : null;
|
|
|
+ $action = isset($_GET['action']) ? $_GET['action'] : '';
|
|
|
|
|
|
// Getting the number of question
|
|
|
$temp_questions_data = SurveyManager::get_questions($_GET['survey_id']);
|
|
@@ -243,20 +243,22 @@ class SurveyUtil
|
|
|
// Counting the number of questions that are relevant for the reporting
|
|
|
$survey_data['number_of_questions'] = count($questions_data);
|
|
|
|
|
|
- if ($action == 'questionreport') {
|
|
|
- self::display_question_report($survey_data);
|
|
|
- }
|
|
|
- if ($action == 'userreport') {
|
|
|
- self::display_user_report($people_filled, $survey_data);
|
|
|
- }
|
|
|
- if ($action == 'comparativereport') {
|
|
|
- self::display_comparative_report();
|
|
|
- }
|
|
|
- if ($action == 'completereport') {
|
|
|
- self::display_complete_report($survey_data);
|
|
|
- }
|
|
|
- if ($action == 'deleteuserreport') {
|
|
|
- self::delete_user_report($_GET['survey_id'], $_GET['user']);
|
|
|
+ switch ($action) {
|
|
|
+ case 'questionreport':
|
|
|
+ self::display_question_report($survey_data);
|
|
|
+ break;
|
|
|
+ case 'userreport':
|
|
|
+ self::display_user_report($people_filled, $survey_data);
|
|
|
+ break;
|
|
|
+ case 'comparativereport':
|
|
|
+ self::display_comparative_report();
|
|
|
+ break;
|
|
|
+ case 'completereport':
|
|
|
+ self::display_complete_report($survey_data);
|
|
|
+ break;
|
|
|
+ case 'deleteuserreport':
|
|
|
+ self::delete_user_report($_GET['survey_id'], $_GET['user']);
|
|
|
+ break;
|
|
|
}
|
|
|
}
|
|
|
|
|
@@ -373,7 +375,7 @@ class SurveyUtil
|
|
|
|
|
|
echo '<select name="user" onchange="jumpMenu(\'parent\',this,0)">';
|
|
|
echo '<option value="'.api_get_path(WEB_CODE_PATH).'survey/reporting.php?action='
|
|
|
- .Security::remove_XSS($_GET['action']).'&survey_id='.intval($_GET['survey_id']).'">'
|
|
|
+ .Security::remove_XSS($_GET['action']).'&survey_id='.$surveyId.'&'.api_get_cidreq().'">'
|
|
|
.get_lang('SelectUser').'</option>';
|
|
|
|
|
|
foreach ($people_filled as $key => &$person) {
|
|
@@ -389,8 +391,8 @@ class SurveyUtil
|
|
|
$id = $person;
|
|
|
}
|
|
|
echo '<option value="'.api_get_path(WEB_CODE_PATH).'survey/reporting.php?action='
|
|
|
- .Security::remove_XSS($_GET['action']).'&survey_id='.intval($_GET['survey_id']).'&user='
|
|
|
- .Security::remove_XSS($id).'" ';
|
|
|
+ .Security::remove_XSS($_GET['action']).'&survey_id='.$surveyId.'&user='
|
|
|
+ .Security::remove_XSS($id).'&'.api_get_cidreq().'" ';
|
|
|
if (isset($_GET['user']) && $_GET['user'] == $id) {
|
|
|
echo 'selected="selected"';
|
|
|
}
|
|
@@ -425,7 +427,8 @@ class SurveyUtil
|
|
|
survey_question.question_id = survey_question_option.question_id AND
|
|
|
survey_question_option.c_id = $course_id
|
|
|
WHERE
|
|
|
- survey_question.survey_id = '".intval($_GET['survey_id'])."' AND
|
|
|
+ survey_question NOT LIKE '%{{%' AND
|
|
|
+ survey_question.survey_id = '".$surveyId."' AND
|
|
|
survey_question.c_id = $course_id
|
|
|
ORDER BY survey_question.sort, survey_question_option.sort ASC";
|
|
|
$result = Database::query($sql);
|
|
@@ -445,7 +448,7 @@ class SurveyUtil
|
|
|
$sql = "SELECT * FROM $table_survey_answer
|
|
|
WHERE
|
|
|
c_id = $course_id AND
|
|
|
- survey_id = '".intval($_GET['survey_id'])."' AND
|
|
|
+ survey_id = '".$surveyId."' AND
|
|
|
user = '".Database::escape_string($_GET['user'])."'";
|
|
|
$result = Database::query($sql);
|
|
|
while ($row = Database::fetch_array($result, 'ASSOC')) {
|
|
@@ -577,6 +580,7 @@ class SurveyUtil
|
|
|
WHERE
|
|
|
c_id = $course_id AND
|
|
|
survey_id='".$surveyId."' AND
|
|
|
+ survey_question NOT LIKE '%{{%' AND
|
|
|
type <>'pagebreak'
|
|
|
ORDER BY sort ASC
|
|
|
$limitStatement";
|
|
@@ -957,8 +961,9 @@ class SurveyUtil
|
|
|
LEFT JOIN $table_survey_question_option o
|
|
|
ON q.question_id = o.question_id AND q.c_id = o.c_id
|
|
|
WHERE
|
|
|
+ survey_question NOT LIKE '%{{%' AND
|
|
|
q.survey_id = '".$surveyId."' AND
|
|
|
- q.c_id = $course_id
|
|
|
+ q.c_id = $course_id
|
|
|
GROUP BY q.question_id
|
|
|
ORDER BY q.sort ASC";
|
|
|
$result = Database::query($sql);
|
|
@@ -1016,6 +1021,7 @@ class SurveyUtil
|
|
|
LEFT JOIN $table_survey_question_option sqo
|
|
|
ON sq.question_id = sqo.question_id AND sq.c_id = sqo.c_id
|
|
|
WHERE
|
|
|
+ survey_question NOT LIKE '%{{%' AND
|
|
|
sq.survey_id = '".$surveyId."' AND
|
|
|
sq.c_id = $course_id
|
|
|
ORDER BY sq.sort ASC, sqo.sort ASC";
|
|
@@ -1169,7 +1175,9 @@ class SurveyUtil
|
|
|
foreach ($possible_options as $question_id => &$possible_option) {
|
|
|
if ($questions[$question_id]['type'] == 'open' || $questions[$question_id]['type'] == 'comment') {
|
|
|
echo '<td align="center">';
|
|
|
- echo $answers_of_user[$question_id]['0']['option_id'];
|
|
|
+ if (isset($answers_of_user[$question_id]) && isset($answers_of_user[$question_id]['0'])) {
|
|
|
+ echo $answers_of_user[$question_id]['0']['option_id'];
|
|
|
+ }
|
|
|
echo '</td>';
|
|
|
} else {
|
|
|
foreach ($possible_option as $option_id => &$value) {
|
|
@@ -1210,17 +1218,16 @@ class SurveyUtil
|
|
|
*/
|
|
|
public static function export_complete_report($survey_data, $user_id = 0)
|
|
|
{
|
|
|
- // Database table definitions
|
|
|
- $table_survey_question = Database::get_course_table(TABLE_SURVEY_QUESTION);
|
|
|
- $table_survey_question_option = Database::get_course_table(TABLE_SURVEY_QUESTION_OPTION);
|
|
|
- $table_survey_answer = Database::get_course_table(TABLE_SURVEY_ANSWER);
|
|
|
-
|
|
|
$surveyId = isset($_GET['survey_id']) ? (int) $_GET['survey_id'] : 0;
|
|
|
|
|
|
if (empty($surveyId)) {
|
|
|
return false;
|
|
|
}
|
|
|
|
|
|
+ $table_survey_question = Database::get_course_table(TABLE_SURVEY_QUESTION);
|
|
|
+ $table_survey_question_option = Database::get_course_table(TABLE_SURVEY_QUESTION_OPTION);
|
|
|
+ $table_survey_answer = Database::get_course_table(TABLE_SURVEY_ANSWER);
|
|
|
+
|
|
|
// The first column
|
|
|
$return = ';';
|
|
|
|
|
@@ -1245,12 +1252,17 @@ class SurveyUtil
|
|
|
count(options.question_option_id) as number_of_options
|
|
|
FROM $table_survey_question questions
|
|
|
LEFT JOIN $table_survey_question_option options
|
|
|
- ON questions.question_id = options.question_id AND options.c_id = questions.c_id
|
|
|
+ ON
|
|
|
+ questions.question_id = options.question_id AND
|
|
|
+ options.c_id = questions.c_id
|
|
|
WHERE
|
|
|
- questions.survey_id = '".$surveyId."' AND
|
|
|
+ survey_question NOT LIKE '%{{%' AND
|
|
|
+ questions.type <> 'pagebreak' AND
|
|
|
+ questions.survey_id = $surveyId AND
|
|
|
questions.c_id = $course_id
|
|
|
GROUP BY questions.question_id
|
|
|
ORDER BY questions.sort ASC";
|
|
|
+
|
|
|
$result = Database::query($sql);
|
|
|
while ($row = Database::fetch_array($result)) {
|
|
|
// We show the questions if
|
|
@@ -1261,24 +1273,21 @@ class SurveyUtil
|
|
|
is_array($_POST['questions_filter']) &&
|
|
|
in_array($row['question_id'], $_POST['questions_filter']))
|
|
|
) {
|
|
|
- // We do not show comment and pagebreak question types
|
|
|
- if ($row['type'] != 'pagebreak') {
|
|
|
- if ($row['number_of_options'] == 0 && ($row['type'] == 'open' || $row['type'] == 'comment')) {
|
|
|
+ if ($row['number_of_options'] == 0) {
|
|
|
+ $return .= str_replace(
|
|
|
+ "\r\n",
|
|
|
+ ' ',
|
|
|
+ api_html_entity_decode(strip_tags($row['survey_question']), ENT_QUOTES)
|
|
|
+ )
|
|
|
+ .';';
|
|
|
+ } else {
|
|
|
+ for ($ii = 0; $ii < $row['number_of_options']; $ii++) {
|
|
|
$return .= str_replace(
|
|
|
"\r\n",
|
|
|
' ',
|
|
|
api_html_entity_decode(strip_tags($row['survey_question']), ENT_QUOTES)
|
|
|
)
|
|
|
.';';
|
|
|
- } else {
|
|
|
- for ($ii = 0; $ii < $row['number_of_options']; $ii++) {
|
|
|
- $return .= str_replace(
|
|
|
- "\r\n",
|
|
|
- ' ',
|
|
|
- api_html_entity_decode(strip_tags($row['survey_question']), ENT_QUOTES)
|
|
|
- )
|
|
|
- .';';
|
|
|
- }
|
|
|
}
|
|
|
}
|
|
|
}
|
|
@@ -1300,7 +1309,7 @@ class SurveyUtil
|
|
|
}
|
|
|
}
|
|
|
|
|
|
- $sql = "SELECT
|
|
|
+ $sql = "SELECT DISTINCT
|
|
|
survey_question.question_id,
|
|
|
survey_question.survey_id,
|
|
|
survey_question.survey_question,
|
|
@@ -1312,11 +1321,13 @@ class SurveyUtil
|
|
|
survey_question_option.sort as option_sort
|
|
|
FROM $table_survey_question survey_question
|
|
|
LEFT JOIN $table_survey_question_option survey_question_option
|
|
|
- ON
|
|
|
+ ON
|
|
|
survey_question.question_id = survey_question_option.question_id AND
|
|
|
survey_question_option.c_id = survey_question.c_id
|
|
|
- WHERE
|
|
|
- survey_question.survey_id = '".$surveyId."' AND
|
|
|
+ WHERE
|
|
|
+ survey_question NOT LIKE '%{{%' AND
|
|
|
+ survey_question.type <> 'pagebreak' AND
|
|
|
+ survey_question.survey_id = $surveyId AND
|
|
|
survey_question.c_id = $course_id
|
|
|
ORDER BY survey_question.sort ASC, survey_question_option.sort ASC";
|
|
|
$result = Database::query($sql);
|
|
@@ -1331,30 +1342,35 @@ class SurveyUtil
|
|
|
in_array($row['question_id'], $_POST['questions_filter'])
|
|
|
)
|
|
|
) {
|
|
|
- // We do not show comment and pagebreak question types
|
|
|
- if ($row['type'] != 'pagebreak') {
|
|
|
- $row['option_text'] = str_replace(["\r", "\n"], ['', ''], $row['option_text']);
|
|
|
- $return .= api_html_entity_decode(strip_tags($row['option_text']), ENT_QUOTES).';';
|
|
|
- $possible_answers[$row['question_id']][$row['question_option_id']] = $row['question_option_id'];
|
|
|
- $possible_answers_type[$row['question_id']] = $row['type'];
|
|
|
- }
|
|
|
+ $row['option_text'] = str_replace(["\r", "\n"], ['', ''], $row['option_text']);
|
|
|
+ $return .= api_html_entity_decode(strip_tags($row['option_text']), ENT_QUOTES).';';
|
|
|
+ $possible_answers[$row['question_id']][$row['question_option_id']] = $row['question_option_id'];
|
|
|
+ $possible_answers_type[$row['question_id']] = $row['type'];
|
|
|
}
|
|
|
}
|
|
|
+
|
|
|
$return .= "\n";
|
|
|
|
|
|
// Getting all the answers of the users
|
|
|
$old_user = '';
|
|
|
$answers_of_user = [];
|
|
|
$sql = "SELECT * FROM $table_survey_answer
|
|
|
- WHERE c_id = $course_id AND survey_id='".$surveyId."'";
|
|
|
+ WHERE
|
|
|
+ c_id = $course_id AND
|
|
|
+ survey_id='".$surveyId."'
|
|
|
+ ";
|
|
|
if ($user_id != 0) {
|
|
|
$sql .= "AND user='".Database::escape_string($user_id)."' ";
|
|
|
}
|
|
|
- $sql .= "ORDER BY user ASC";
|
|
|
+ $sql .= ' ORDER BY user ASC ';
|
|
|
|
|
|
+ $questionIdList = array_keys($possible_answers_type);
|
|
|
$open_question_iterator = 1;
|
|
|
$result = Database::query($sql);
|
|
|
- while ($row = Database::fetch_array($result)) {
|
|
|
+ while ($row = Database::fetch_array($result, 'ASSOC')) {
|
|
|
+ if (!in_array($row['question_id'], $questionIdList)) {
|
|
|
+ continue;
|
|
|
+ }
|
|
|
if ($old_user != $row['user'] && $old_user != '') {
|
|
|
$return .= self::export_complete_report_row(
|
|
|
$survey_data,
|
|
@@ -1365,6 +1381,7 @@ class SurveyUtil
|
|
|
);
|
|
|
$answers_of_user = [];
|
|
|
}
|
|
|
+
|
|
|
if ($possible_answers_type[$row['question_id']] == 'open' ||
|
|
|
$possible_answers_type[$row['question_id']] == 'comment'
|
|
|
) {
|
|
@@ -1376,6 +1393,7 @@ class SurveyUtil
|
|
|
}
|
|
|
$old_user = $row['user'];
|
|
|
}
|
|
|
+
|
|
|
// This is to display the last user
|
|
|
$return .= self::export_complete_report_row(
|
|
|
$survey_data,
|
|
@@ -1535,8 +1553,12 @@ class SurveyUtil
|
|
|
count(options.question_option_id) as number_of_options
|
|
|
FROM $table_survey_question questions
|
|
|
LEFT JOIN $table_survey_question_option options
|
|
|
- ON questions.question_id = options.question_id AND options.c_id = questions.c_id
|
|
|
+ ON
|
|
|
+ questions.question_id = options.question_id AND
|
|
|
+ options.c_id = questions.c_id
|
|
|
WHERE
|
|
|
+ survey_question NOT LIKE '%{{%' AND
|
|
|
+ questions.type <> 'pagebreak' AND
|
|
|
questions.survey_id = $surveyId AND
|
|
|
questions.c_id = $course_id
|
|
|
GROUP BY questions.question_id
|
|
@@ -1550,9 +1572,20 @@ class SurveyUtil
|
|
|
(isset($_POST['submit_question_filter']) && is_array($_POST['questions_filter']) &&
|
|
|
in_array($row['question_id'], $_POST['questions_filter']))
|
|
|
) {
|
|
|
- // We do not show comment and pagebreak question types
|
|
|
- if ($row['type'] != 'pagebreak') {
|
|
|
- if ($row['number_of_options'] == 0 && ($row['type'] == 'open' || $row['type'] == 'comment')) {
|
|
|
+ if ($row['number_of_options'] == 0 &&
|
|
|
+ ($row['type'] == 'open' || $row['type'] == 'comment')
|
|
|
+ ) {
|
|
|
+ $worksheet->setCellValueByColumnAndRow(
|
|
|
+ $column,
|
|
|
+ $line,
|
|
|
+ api_html_entity_decode(
|
|
|
+ strip_tags($row['survey_question']),
|
|
|
+ ENT_QUOTES
|
|
|
+ )
|
|
|
+ );
|
|
|
+ $column++;
|
|
|
+ } else {
|
|
|
+ for ($ii = 0; $ii < $row['number_of_options']; $ii++) {
|
|
|
$worksheet->setCellValueByColumnAndRow(
|
|
|
$column,
|
|
|
$line,
|
|
@@ -1562,18 +1595,6 @@ class SurveyUtil
|
|
|
)
|
|
|
);
|
|
|
$column++;
|
|
|
- } else {
|
|
|
- for ($ii = 0; $ii < $row['number_of_options']; $ii++) {
|
|
|
- $worksheet->setCellValueByColumnAndRow(
|
|
|
- $column,
|
|
|
- $line,
|
|
|
- api_html_entity_decode(
|
|
|
- strip_tags($row['survey_question']),
|
|
|
- ENT_QUOTES
|
|
|
- )
|
|
|
- );
|
|
|
- $column++;
|
|
|
- }
|
|
|
}
|
|
|
}
|
|
|
}
|
|
@@ -1596,21 +1617,23 @@ class SurveyUtil
|
|
|
|
|
|
// Getting all the questions and options (second line)
|
|
|
$sql = "SELECT
|
|
|
- survey_question.question_id,
|
|
|
- survey_question.survey_id,
|
|
|
- survey_question.survey_question,
|
|
|
- survey_question.display,
|
|
|
- survey_question.sort,
|
|
|
+ survey_question.question_id,
|
|
|
+ survey_question.survey_id,
|
|
|
+ survey_question.survey_question,
|
|
|
+ survey_question.display,
|
|
|
+ survey_question.sort,
|
|
|
survey_question.type,
|
|
|
- survey_question_option.question_option_id,
|
|
|
- survey_question_option.option_text,
|
|
|
+ survey_question_option.question_option_id,
|
|
|
+ survey_question_option.option_text,
|
|
|
survey_question_option.sort as option_sort
|
|
|
FROM $table_survey_question survey_question
|
|
|
LEFT JOIN $table_survey_question_option survey_question_option
|
|
|
- ON
|
|
|
- survey_question.question_id = survey_question_option.question_id AND
|
|
|
+ ON
|
|
|
+ survey_question.question_id = survey_question_option.question_id AND
|
|
|
survey_question_option.c_id = survey_question.c_id
|
|
|
- WHERE
|
|
|
+ WHERE
|
|
|
+ survey_question NOT LIKE '%{{%' AND
|
|
|
+ survey_question.type <> 'pagebreak' AND
|
|
|
survey_question.survey_id = $surveyId AND
|
|
|
survey_question.c_id = $course_id
|
|
|
ORDER BY survey_question.sort ASC, survey_question_option.sort ASC";
|
|
@@ -1625,20 +1648,17 @@ class SurveyUtil
|
|
|
(isset($_POST['questions_filter']) && is_array($_POST['questions_filter']) &&
|
|
|
in_array($row['question_id'], $_POST['questions_filter']))
|
|
|
) {
|
|
|
- // We do not show comment and pagebreak question types
|
|
|
- if ($row['type'] != 'pagebreak') {
|
|
|
- $worksheet->setCellValueByColumnAndRow(
|
|
|
- $column,
|
|
|
- $line,
|
|
|
- api_html_entity_decode(
|
|
|
- strip_tags($row['option_text']),
|
|
|
- ENT_QUOTES
|
|
|
- )
|
|
|
- );
|
|
|
- $possible_answers[$row['question_id']][$row['question_option_id']] = $row['question_option_id'];
|
|
|
- $possible_answers_type[$row['question_id']] = $row['type'];
|
|
|
- $column++;
|
|
|
- }
|
|
|
+ $worksheet->setCellValueByColumnAndRow(
|
|
|
+ $column,
|
|
|
+ $line,
|
|
|
+ api_html_entity_decode(
|
|
|
+ strip_tags($row['option_text']),
|
|
|
+ ENT_QUOTES
|
|
|
+ )
|
|
|
+ );
|
|
|
+ $possible_answers[$row['question_id']][$row['question_option_id']] = $row['question_option_id'];
|
|
|
+ $possible_answers_type[$row['question_id']] = $row['type'];
|
|
|
+ $column++;
|
|
|
}
|
|
|
}
|
|
|
|
|
@@ -1652,7 +1672,7 @@ class SurveyUtil
|
|
|
if ($user_id != 0) {
|
|
|
$sql .= " AND user='".intval($user_id)."' ";
|
|
|
}
|
|
|
- $sql .= " ORDER BY user ASC";
|
|
|
+ $sql .= ' ORDER BY user ASC';
|
|
|
|
|
|
$open_question_iterator = 1;
|
|
|
$result = Database::query($sql);
|
|
@@ -1673,7 +1693,9 @@ class SurveyUtil
|
|
|
$line++;
|
|
|
$column = 0;
|
|
|
}
|
|
|
- if ($possible_answers_type[$row['question_id']] == 'open' || $possible_answers_type[$row['question_id']] == 'comment') {
|
|
|
+ if ($possible_answers_type[$row['question_id']] == 'open' ||
|
|
|
+ $possible_answers_type[$row['question_id']] == 'comment'
|
|
|
+ ) {
|
|
|
$temp_id = 'open'.$open_question_iterator;
|
|
|
$answers_of_user[$row['question_id']][$temp_id] = $row;
|
|
|
$open_question_iterator++;
|
|
@@ -1843,6 +1865,13 @@ class SurveyUtil
|
|
|
$optionsY = ['----'];
|
|
|
$defaults = [];
|
|
|
foreach ($questions as $key => &$question) {
|
|
|
+ // Ignored tagged questions
|
|
|
+ if ($question) {
|
|
|
+ if (strpos($question['question'], '{{') !== false) {
|
|
|
+ $question = null;
|
|
|
+ continue;
|
|
|
+ }
|
|
|
+ }
|
|
|
if (is_array($allowed_question_types)) {
|
|
|
if (in_array($question['type'], $allowed_question_types)) {
|
|
|
if (isset($_GET['xaxis']) && $_GET['xaxis'] == $question['question_id']) {
|
|
@@ -1853,8 +1882,8 @@ class SurveyUtil
|
|
|
$defaults['yaxis'] = $question['question_id'];
|
|
|
}
|
|
|
|
|
|
- $optionsX[$question['question_id']] = api_substr(strip_tags($question['question']), 0, 50);
|
|
|
- $optionsY[$question['question_id']] = api_substr(strip_tags($question['question']), 0, 50);
|
|
|
+ $optionsX[$question['question_id']] = api_substr(strip_tags($question['question']), 0, 90);
|
|
|
+ $optionsY[$question['question_id']] = api_substr(strip_tags($question['question']), 0, 90);
|
|
|
}
|
|
|
}
|
|
|
}
|
|
@@ -2053,9 +2082,9 @@ class SurveyUtil
|
|
|
$table_survey_answer = Database::get_course_table(TABLE_SURVEY_ANSWER);
|
|
|
|
|
|
$sql = "SELECT * FROM $table_survey_answer
|
|
|
- WHERE
|
|
|
- c_id = $course_id AND
|
|
|
- survey_id='".intval($survey_id)."' AND
|
|
|
+ WHERE
|
|
|
+ c_id = $course_id AND
|
|
|
+ survey_id='".intval($survey_id)."' AND
|
|
|
question_id='".intval($question_id)."'
|
|
|
ORDER BY USER ASC";
|
|
|
$result = Database::query($sql);
|
|
@@ -2308,7 +2337,7 @@ class SurveyUtil
|
|
|
) {
|
|
|
$insertId = Database::insert($table, $params);
|
|
|
if ($insertId) {
|
|
|
- $sql = "UPDATE $table
|
|
|
+ $sql = "UPDATE $table
|
|
|
SET survey_invitation_id = $insertId
|
|
|
WHERE iid = $insertId";
|
|
|
Database::query($sql);
|
|
@@ -2848,7 +2877,7 @@ class SurveyUtil
|
|
|
);
|
|
|
|
|
|
$actions[] = Display::url(
|
|
|
- Display::return_icon('multiplicate_survey.png', get_lang('MultiplicateSurvey')),
|
|
|
+ Display::return_icon('multiplicate_survey.png', get_lang('MultiplicateQuestions')),
|
|
|
$codePath.'survey/survey_list.php?'
|
|
|
.http_build_query($params + ['action' => 'multiplicate', 'survey_id' => $survey_id])
|
|
|
);
|
|
@@ -3095,9 +3124,9 @@ class SurveyUtil
|
|
|
ON (survey.author = user.user_id)
|
|
|
WHERE survey.c_id = $course_id
|
|
|
$search_restriction
|
|
|
- $condition_session
|
|
|
+ $condition_session
|
|
|
GROUP BY survey.survey_id
|
|
|
- ORDER BY col$column $direction
|
|
|
+ ORDER BY col$column $direction
|
|
|
LIMIT $from,$number_of_items
|
|
|
";
|
|
|
$res = Database::query($sql);
|
|
@@ -3213,11 +3242,11 @@ class SurveyUtil
|
|
|
$efv = new ExtraFieldValue('survey');
|
|
|
|
|
|
$sql = "
|
|
|
- SELECT
|
|
|
- survey.survey_id AS col0,
|
|
|
- survey.title AS col1,
|
|
|
- survey.code AS col2,
|
|
|
- count(survey_question.question_id) AS col3,
|
|
|
+ SELECT
|
|
|
+ survey.survey_id AS col0,
|
|
|
+ survey.title AS col1,
|
|
|
+ survey.code AS col2,
|
|
|
+ count(survey_question.question_id) AS col3,
|
|
|
"
|
|
|
.(api_is_western_name_order()
|
|
|
? "CONCAT(user.firstname, ' ', user.lastname)"
|
|
@@ -3304,16 +3333,16 @@ class SurveyUtil
|
|
|
$filterDate = $allowSurveyAvailabilityDatetime ? $now->format('Y-m-d H:i') : $now->format('Y-m-d');
|
|
|
|
|
|
$sql = "SELECT *
|
|
|
- FROM $table_survey survey
|
|
|
+ FROM $table_survey survey
|
|
|
INNER JOIN
|
|
|
$table_survey_invitation survey_invitation
|
|
|
ON (
|
|
|
survey.code = survey_invitation.survey_code AND
|
|
|
- survey.c_id = survey_invitation.c_id AND
|
|
|
+ survey.c_id = survey_invitation.c_id AND
|
|
|
survey.session_id = survey_invitation.session_id
|
|
|
)
|
|
|
WHERE
|
|
|
- survey_invitation.user = $user_id AND
|
|
|
+ survey_invitation.user = $user_id AND
|
|
|
survey.avail_from <= '$filterDate' AND
|
|
|
survey.avail_till >= '$filterDate' AND
|
|
|
survey.c_id = $course_id AND
|