Angel Fernando Quiroz Campos 7 лет назад
Родитель
Сommit
d75d00d008
2 измененных файлов с 328 добавлено и 180 удалено
  1. 38 15
      main/survey/survey.lib.php
  2. 290 165
      main/survey/surveyUtil.class.php

+ 38 - 15
main/survey/survey.lib.php

@@ -43,6 +43,7 @@ class SurveyManager
                 break;
             }
         }
+
         return $code.$num;
     }
 
@@ -100,6 +101,7 @@ class SurveyManager
                 WHERE c_id = {$course_info['real_id']} $session_condition ";
         $result = Database::query($sql);
         $result = Database::store_result($result, 'ASSOC');
+
         return $result;
     }
 
@@ -128,7 +130,7 @@ class SurveyManager
         // Table definition
         if (!empty($course_code)) {
             $my_course_id = $course_code;
-        } else if (isset($_GET['course'])) {
+        } elseif (isset($_GET['course'])) {
             $my_course_id = Security::remove_XSS($_GET['course']);
         } else {
             $my_course_id = api_get_course_id();
@@ -371,17 +373,20 @@ class SurveyManager
                 );
                 $return['type'] = 'error';
                 $return['id'] = isset($values['survey_id']) ? $values['survey_id'] : 0;
+
                 return $return;
             }
 
-            if (!isset($values['anonymous']) ||
-                (isset($values['anonymous']) && $values['anonymous'] == '')
+            if (!isset($values['anonymous'])
+                || (isset($values['anonymous']) && $values['anonymous'] == '')
             ) {
                 $values['anonymous'] = 0;
             }
 
             $values['shuffle'] = isset($values['shuffle']) ? $values['shuffle'] : null;
-            $values['one_question_per_page'] = isset($values['one_question_per_page']) ? $values['one_question_per_page'] : null;
+            $values['one_question_per_page'] = isset($values['one_question_per_page'])
+                ? $values['one_question_per_page']
+                : null;
             $values['show_form_profile'] = isset($values['show_form_profile']) ? $values['show_form_profile'] : null;
 
             $extraParams = [];
@@ -629,6 +634,7 @@ class SurveyManager
             'SurveyDeleted',
             api_get_user_id()
         );
+
         return true;
     }
 
@@ -696,7 +702,7 @@ class SurveyManager
         $res = Database::query($sql);
         while ($row = Database::fetch_array($res, 'ASSOC')) {
             $params = array(
-                'c_id' =>  $targetCourseId,
+                'c_id' => $targetCourseId,
                 'name' => $row['name'],
                 'description' => $row['description'],
                 'survey_id' => $new_survey_id
@@ -716,17 +722,17 @@ class SurveyManager
         $res = Database::query($sql);
         while ($row = Database::fetch_array($res, 'ASSOC')) {
             $params = array(
-                'c_id' =>  $targetCourseId,
+                'c_id' => $targetCourseId,
                 'survey_id' => $new_survey_id,
                 'survey_question' => $row['survey_question'],
                 'survey_question_comment' => $row['survey_question_comment'],
                 'type' => $row['type'],
                 'display' => $row['display'],
                 'sort' => $row['sort'],
-                'shared_question_id' =>  $row['shared_question_id'],
-                'max_value' =>  $row['max_value'],
-                'survey_group_pri' =>  $row['survey_group_pri'],
-                'survey_group_sec1' =>  $row['survey_group_sec1'],
+                'shared_question_id' => $row['shared_question_id'],
+                'max_value' => $row['max_value'],
+                'survey_group_pri' => $row['survey_group_pri'],
+                'survey_group_sec1' => $row['survey_group_sec1'],
                 'survey_group_sec2' => $row['survey_group_sec2']
             );
             $insertId = Database::insert($table_survey_question, $params);
@@ -743,7 +749,7 @@ class SurveyManager
         $res = Database::query($sql);
         while ($row = Database::fetch_array($res, 'ASSOC')) {
             $params = array(
-                'c_id' =>  $targetCourseId,
+                'c_id' => $targetCourseId,
                 'question_id' => $question_id[$row['question_id']],
                 'survey_id' => $new_survey_id,
                 'option_text' => $row['option_text'],
@@ -1045,6 +1051,7 @@ class SurveyManager
             if ($survey_data['survey_type'] == 1) {
                 if (empty($form_content['choose'])) {
                     $return_message = 'PleaseChooseACondition';
+
                     return $return_message;
                 }
 
@@ -1052,6 +1059,7 @@ class SurveyManager
                     ($form_content['assigned1'] == $form_content['assigned2'])
                 ) {
                     $return_message = 'ChooseDifferentCategories';
+
                     return $return_message;
                 }
             }
@@ -1109,7 +1117,9 @@ class SurveyManager
                         }
                     }
 
-                    $questionComment = isset($form_content['question_comment']) ? $form_content['question_comment'] : '';
+                    $questionComment = isset($form_content['question_comment'])
+                        ? $form_content['question_comment']
+                        : '';
                     $maxScore = isset($form_content['maximum_score']) ? $form_content['maximum_score'] : '';
                     $display = isset($form_content['horizontalvertical']) ? $form_content['horizontalvertical'] : '';
 
@@ -1155,7 +1165,9 @@ class SurveyManager
                     }
 
                     $maxScore = isset($form_content['maximum_score']) ? $form_content['maximum_score'] : null;
-                    $questionComment = isset($form_content['question_comment']) ? $form_content['question_comment'] : null;
+                    $questionComment = isset($form_content['question_comment'])
+                        ? $form_content['question_comment']
+                        : null;
 
                     // Adding the question to the survey_question table
                     $params = [
@@ -1207,6 +1219,7 @@ class SurveyManager
         if (!empty($return_message)) {
             Display::addFlash(Display::return_message(get_lang($return_message)));
         }
+
         return $return_message;
     }
 
@@ -1581,6 +1594,7 @@ class SurveyManager
 		            $course_condition survey_id='".intval($survey_id)."' AND
 		            question_id='".intval($question_id)."'";
         Database::query($sql);
+
         return true;
     }
 
@@ -1608,6 +1622,7 @@ class SurveyManager
         $sql = "DELETE FROM $table_survey_answer 
                 WHERE c_id = $course_id AND survey_id=$survey_id";
         Database::query($sql);
+
         return true;
     }
 
@@ -1634,6 +1649,7 @@ class SurveyManager
         if (Database::num_rows($result)) {
             return true;
         }
+
         return false;
     }
 
@@ -1665,7 +1681,9 @@ class SurveyManager
         }
 
         if ($all_user_info) {
-            $order_clause = api_sort_by_first_name() ? ' ORDER BY user.firstname, user.lastname' : ' ORDER BY user.lastname, user.firstname';
+            $order_clause = api_sort_by_first_name()
+                ? ' ORDER BY user.firstname, user.lastname'
+                : ' ORDER BY user.lastname, user.firstname';
             $sql = "SELECT DISTINCT
 			            answered_user.user as invited_user, 
 			            user.firstname, 
@@ -1704,6 +1722,7 @@ class SurveyManager
         if (extension_loaded('mcrypt')) {
             return true;
         }
+
         return false;
     }
 
@@ -1717,6 +1736,7 @@ class SurveyManager
     public static function generate_survey_hash($survey_id, $course_id, $session_id, $group_id)
     {
         $hash = hash('sha512', api_get_security_key().'_'.$course_id.'_'.$session_id.'_'.$group_id.'_'.$survey_id);
+
         return $hash;
     }
 
@@ -1735,6 +1755,7 @@ class SurveyManager
         if ($survey_generated_hash == $hash) {
             return true;
         }
+
         return false;
     }
 
@@ -1758,7 +1779,9 @@ class SurveyManager
             $session_id,
             $group_id
         );
-        return api_get_path(WEB_CODE_PATH).'survey/link.php?h='.$code.'&i='.$survey_id.'&c='.intval($course_id).'&s='.intval($session_id).'&g='.$group_id;
+
+        return api_get_path(WEB_CODE_PATH).'survey/link.php?h='.$code.'&i='.$survey_id.'&c='.intval($course_id).'&s='
+            .intval($session_id).'&g='.$group_id;
     }
 
     /**

+ 290 - 165
main/survey/surveyUtil.class.php

@@ -1,5 +1,6 @@
 <?php
 /* For licensing terms, see /license.txt */
+
 use Chamilo\CourseBundle\Entity\CSurvey;
 
 /**
@@ -129,6 +130,7 @@ class SurveyUtil
         $sql = "UPDATE $table_survey_answer SET answer_id = $insertId 
                 WHERE iid = $insertId";
         Database::query($sql);
+
         return true;
     }
 
@@ -287,7 +289,8 @@ class SurveyUtil
 
         if ($result !== false) {
             $message = get_lang('SurveyUserAnswersHaveBeenRemovedSuccessfully').'<br />
-					<a href="'.api_get_path(WEB_CODE_PATH).'survey/reporting.php?action=userreport&survey_id='.$survey_id.'">'.
+					<a href="'.api_get_path(WEB_CODE_PATH).'survey/reporting.php?action=userreport&survey_id='
+                .$survey_id.'">'.
                 get_lang('GoBack').'</a>';
             echo Display::return_message($message, 'confirmation', false);
         }
@@ -312,29 +315,37 @@ class SurveyUtil
 
         // Actions bar
         echo '<div class="actions">';
-        echo '<a href="'.api_get_path(WEB_CODE_PATH).'survey/reporting.php?survey_id='.$surveyId.'&'.api_get_cidreq().'">'.
-            Display::return_icon('back.png', get_lang('BackTo').' '.get_lang('ReportingOverview'), '', ICON_SIZE_MEDIUM).'</a>';
+        echo '<a href="'.api_get_path(WEB_CODE_PATH).'survey/reporting.php?survey_id='.$surveyId.'&'.api_get_cidreq()
+            .'">'.
+            Display::return_icon('back.png', get_lang('BackTo').' '.get_lang('ReportingOverview'), '', ICON_SIZE_MEDIUM)
+            .'</a>';
         if (isset($_GET['user'])) {
             if (api_is_allowed_to_edit()) {
                 // The delete link
-                echo '<a href="'.api_get_path(WEB_CODE_PATH).'survey/reporting.php?action=deleteuserreport&survey_id='.$surveyId.'&'.api_get_cidreq().'&user='.Security::remove_XSS($_GET['user']).'" >'.
+                echo '<a href="'.api_get_path(WEB_CODE_PATH).'survey/reporting.php?action=deleteuserreport&survey_id='
+                    .$surveyId.'&'.api_get_cidreq().'&user='.Security::remove_XSS($_GET['user']).'" >'.
                     Display::return_icon('delete.png', get_lang('Delete'), '', ICON_SIZE_MEDIUM).'</a>';
             }
 
             // Export the user report
-            echo '<a href="javascript: void(0);" onclick="document.form1a.submit();">'.
-                Display::return_icon('export_csv.png', get_lang('ExportAsCSV'), '', ICON_SIZE_MEDIUM).'</a> ';
-            echo '<a href="javascript: void(0);" onclick="document.form1b.submit();">'.
-                Display::return_icon('export_excel.png', get_lang('ExportAsXLS'), '', ICON_SIZE_MEDIUM).'</a> ';
-            echo '<form id="form1a" name="form1a" method="post" action="'.api_get_self().'?action='.Security::remove_XSS($_GET['action']).'&survey_id='.$surveyId.'&'.api_get_cidreq().'&user_id='.Security::remove_XSS($_GET['user']).'">';
+            echo '<a href="javascript: void(0);" onclick="document.form1a.submit();">'
+                .Display::return_icon('export_csv.png', get_lang('ExportAsCSV'), '', ICON_SIZE_MEDIUM).'</a> ';
+            echo '<a href="javascript: void(0);" onclick="document.form1b.submit();">'
+                .Display::return_icon('export_excel.png', get_lang('ExportAsXLS'), '', ICON_SIZE_MEDIUM).'</a> ';
+            echo '<form id="form1a" name="form1a" method="post" action="'.api_get_self().'?action='
+                .Security::remove_XSS($_GET['action']).'&survey_id='.$surveyId.'&'.api_get_cidreq().'&user_id='
+                .Security::remove_XSS($_GET['user']).'">';
             echo '<input type="hidden" name="export_report" value="export_report">';
             echo '<input type="hidden" name="export_format" value="csv">';
             echo '</form>';
-            echo '<form id="form1b" name="form1b" method="post" action="'.api_get_self().'?action='.Security::remove_XSS($_GET['action']).'&survey_id='.$surveyId.'&'.api_get_cidreq().'&user_id='.Security::remove_XSS($_GET['user']).'">';
+            echo '<form id="form1b" name="form1b" method="post" action="'.api_get_self().'?action='
+                .Security::remove_XSS($_GET['action']).'&survey_id='.$surveyId.'&'.api_get_cidreq().'&user_id='
+                .Security::remove_XSS($_GET['user']).'">';
             echo '<input type="hidden" name="export_report" value="export_report">';
             echo '<input type="hidden" name="export_format" value="xls">';
             echo '</form>';
-            echo '<form id="form2" name="form2" method="post" action="'.api_get_self().'?action='.Security::remove_XSS($_GET['action']).'&survey_id='.$surveyId.'&'.api_get_cidreq().'">';
+            echo '<form id="form2" name="form2" method="post" action="'.api_get_self().'?action='
+                .Security::remove_XSS($_GET['action']).'&survey_id='.$surveyId.'&'.api_get_cidreq().'">';
         }
         echo '</div>';
 
@@ -348,7 +359,9 @@ class SurveyUtil
         echo get_lang('SelectUserWhoFilledSurvey').'<br />';
 
         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='.Security::remove_XSS($_GET['survey_id']).'">'.get_lang('SelectUser').'</option>';
+        echo '<option value="'.api_get_path(WEB_CODE_PATH).'survey/reporting.php?action='
+            .Security::remove_XSS($_GET['action']).'&survey_id='.Security::remove_XSS($_GET['survey_id']).'">'
+            .get_lang('SelectUser').'</option>';
 
         foreach ($people_filled as $key => & $person) {
             if ($survey_data['anonymous'] == 0) {
@@ -362,7 +375,9 @@ class SurveyUtil
                 $name = get_lang('Anonymous').' '.($key + 1);
                 $id = $person;
             }
-            echo '<option value="'.api_get_path(WEB_CODE_PATH).'survey/reporting.php?action='.Security::remove_XSS($_GET['action']).'&survey_id='.Security::remove_XSS($_GET['survey_id']).'&user='.Security::remove_XSS($id).'" ';
+            echo '<option value="'.api_get_path(WEB_CODE_PATH).'survey/reporting.php?action='
+                .Security::remove_XSS($_GET['action']).'&survey_id='.Security::remove_XSS($_GET['survey_id']).'&user='
+                .Security::remove_XSS($id).'" ';
             if (isset($_GET['user']) && $_GET['user'] == $id) {
                 echo 'selected="selected"';
             }
@@ -439,7 +454,9 @@ class SurveyUtil
                         }
                         break;
                     case 'multipleresponse':
-                        $finalAnswer = isset($answers[$question['question_id']]) ? $answers[$question['question_id']] : '';
+                        $finalAnswer = isset($answers[$question['question_id']])
+                            ? $answers[$question['question_id']]
+                            : '';
                         break;
                     default:
                         $finalAnswer = '';
@@ -467,12 +484,11 @@ class SurveyUtil
     /**
      * This function displays the report by question.
      *
-     * It displays a table with all the options of the question and the number of users who have answered positively on the option.
-     * The number of users who answered positive on a given option is expressed in an absolute number, in a percentage of the total
-     * and graphically using bars
-     * By clicking on the absolute number you get a list with the persons who have answered this.
-     * You can then click on the name of the person and you will then go to the report by user where you see all the
-     * answers of that user.
+     * It displays a table with all the options of the question and the number of users who have answered positively on
+     * the option. The number of users who answered positive on a given option is expressed in an absolute number, in a
+     * percentage of the total and graphically using bars By clicking on the absolute number you get a list with the
+     * persons who have answered this. You can then click on the name of the person and you will then go to the report
+     * by user where you see all the answers of that user.
      *
      * @param    array    All the survey data
      * @return   string    html code that displays the report by question
@@ -514,18 +530,23 @@ class SurveyUtil
             if (!$singlePage) {
                 echo '<div id="question_report_questionnumbers" class="pagination">';
                 if ($currentQuestion != 0) {
-                    echo '<li><a href="'.api_get_path(WEB_CODE_PATH).'survey/reporting.php?action='.$action.'&'.api_get_cidreq().'&survey_id='.$surveyId.'&question='.($offset - 1).'">'.get_lang('PreviousQuestion').'</a></li>';
+                    echo '<li><a href="'.api_get_path(WEB_CODE_PATH).'survey/reporting.php?action='.$action.'&'
+                        .api_get_cidreq().'&survey_id='.$surveyId.'&question='.($offset - 1).'">'
+                        .get_lang('PreviousQuestion').'</a></li>';
                 }
 
                 for ($i = 1; $i <= $survey_data['number_of_questions']; $i++) {
                     if ($offset != $i - 1) {
-                        echo '<li><a href="'.api_get_path(WEB_CODE_PATH).'survey/reporting.php?action='.$action.'&'.api_get_cidreq().'&survey_id='.$surveyId.'&question='.($i - 1).'">'.$i.'</a></li>';
+                        echo '<li><a href="'.api_get_path(WEB_CODE_PATH).'survey/reporting.php?action='.$action.'&'
+                            .api_get_cidreq().'&survey_id='.$surveyId.'&question='.($i - 1).'">'.$i.'</a></li>';
                     } else {
                         echo '<li class="disabled"s><a href="#">'.$i.'</a></li>';
                     }
                 }
                 if ($currentQuestion < ($survey_data['number_of_questions'] - 1)) {
-                    echo '<li><a href="'.api_get_path(WEB_CODE_PATH).'survey/reporting.php?action='.$action.'&'.api_get_cidreq().'&survey_id='.$surveyId.'&question='.($offset + 1).'">'.get_lang('NextQuestion').'</li></a>';
+                    echo '<li><a href="'.api_get_path(WEB_CODE_PATH).'survey/reporting.php?action='.$action.'&'
+                        .api_get_cidreq().'&survey_id='.$surveyId.'&question='.($offset + 1).'">'
+                        .get_lang('NextQuestion').'</li></a>';
                 }
                 echo '</ul>';
                 echo '</div>';
@@ -563,7 +584,7 @@ class SurveyUtil
                         WHERE
                             c_id = $course_id AND
                             survey_id='".intval($_GET['survey_id'])."' AND
-                            question_id = '" . intval($question['question_id'])."'";
+                            question_id = '".intval($question['question_id'])."'";
                 $result = Database::query($sql);
                 while ($row = Database::fetch_array($result, 'ASSOC')) {
                     echo $row['option_id'].'<hr noshade="noshade" size="1" />';
@@ -574,7 +595,7 @@ class SurveyUtil
                         WHERE
                             c_id = $course_id AND
                             survey_id='".intval($_GET['survey_id'])."'
-                            AND question_id = '" . intval($question['question_id'])."'
+                            AND question_id = '".intval($question['question_id'])."'
                         ORDER BY sort ASC";
                 $result = Database::query($sql);
                 while ($row = Database::fetch_array($result, 'ASSOC')) {
@@ -585,7 +606,7 @@ class SurveyUtil
                         WHERE
                             c_id = $course_id AND
                             survey_id='".intval($_GET['survey_id'])."'
-                            AND question_id = '" . intval($question['question_id'])."'
+                            AND question_id = '".intval($question['question_id'])."'
                         GROUP BY option_id, value";
                 $result = Database::query($sql);
                 $number_of_answers = array();
@@ -628,7 +649,9 @@ class SurveyUtil
                         if ($question['type'] == 'percentage' && empty($absolute_number)) {
                             continue;
                         }
-                        $number_of_answers[$option['question_id']] = isset($number_of_answers[$option['question_id']]) ? $number_of_answers[$option['question_id']] : 0;
+                        $number_of_answers[$option['question_id']] = isset($number_of_answers[$option['question_id']])
+                            ? $number_of_answers[$option['question_id']]
+                            : 0;
                         if ($number_of_answers[$option['question_id']] == 0) {
                             $answers_number = 0;
                         } else {
@@ -638,7 +661,9 @@ class SurveyUtil
                         echo '		<td class="center">'.$value['option_text'].'</td>';
                         echo '		<td class="center">';
                         if ($absolute_number != 0) {
-                            echo '<a href="'.api_get_path(WEB_CODE_PATH).'survey/reporting.php?action='.$action.'&survey_id='.$surveyId.'&question='.$offset.'&viewoption='.$value['question_option_id'].'">'.$absolute_number.'</a>';
+                            echo '<a href="'.api_get_path(WEB_CODE_PATH).'survey/reporting.php?action='.$action
+                                .'&survey_id='.$surveyId.'&question='.$offset.'&viewoption='
+                                .$value['question_option_id'].'">'.$absolute_number.'</a>';
                         } else {
                             echo '0';
                         }
@@ -648,7 +673,8 @@ class SurveyUtil
                         echo '		<td class="center">';
                         $size = $answers_number * 2;
                         if ($size > 0) {
-                            echo '<div style="border:1px solid #264269; background-color:#aecaf4; height:10px; width:'.$size.'px">&nbsp;</div>';
+                            echo '<div style="border:1px solid #264269; background-color:#aecaf4; height:10px; width:'
+                                .$size.'px">&nbsp;</div>';
                         } else {
                             echo '<div style="text-align: left;">'.get_lang("NoDataAvailable").'</div>';
                         }
@@ -659,7 +685,11 @@ class SurveyUtil
                 // displaying the table: footer (totals)
                 echo '	<tr>';
                 echo '		<td class="total"><b>'.get_lang('Total').'</b></td>';
-                echo '		<td class="total"><b>'.($number_of_answers[$option['question_id']] == 0 ? '0' : $number_of_answers[$option['question_id']]).'</b></td>';
+                echo '		<td class="total"><b>'
+                    .($number_of_answers[$option['question_id']] == 0
+                        ? '0'
+                        : $number_of_answers[$option['question_id']])
+                    .'</b></td>';
                 echo '		<td class="total">&nbsp;</td>';
                 echo '		<td class="total">&nbsp;</td>';
                 echo '	</tr>';
@@ -669,7 +699,8 @@ class SurveyUtil
         }
         if (isset($_GET['viewoption'])) {
             echo '<div class="answered-people">';
-            echo '<h4>'.get_lang('PeopleWhoAnswered').': '.strip_tags($options[Security::remove_XSS($_GET['viewoption'])]['option_text']).'</h4>';
+            echo '<h4>'.get_lang('PeopleWhoAnswered').': '
+                .strip_tags($options[Security::remove_XSS($_GET['viewoption'])]['option_text']).'</h4>';
 
             if (is_numeric($_GET['value'])) {
                 $sql_restriction = "AND value='".Database::escape_string($_GET['value'])."'";
@@ -684,9 +715,10 @@ class SurveyUtil
             echo '<ul>';
             while ($row = Database::fetch_array($result, 'ASSOC')) {
                 $user_info = api_get_user_info($row['user']);
-                echo '<li><a href="'.api_get_path(WEB_CODE_PATH).'survey/reporting.php?action=userreport&survey_id='.$surveyId.'&user='.$row['user'].'">'.
-                    $user_info['complete_name_with_username'].
-                    '</a></li>';
+                echo '<li><a href="'.api_get_path(WEB_CODE_PATH).'survey/reporting.php?action=userreport&survey_id='
+                    .$surveyId.'&user='.$row['user'].'">'
+                    .$user_info['complete_name_with_username']
+                    .'</a></li>';
             }
             echo '</ul>';
             echo '</div>';
@@ -772,12 +804,15 @@ class SurveyUtil
                 echo '	<tr>';
                 echo '		<td>'.$value['option_text'].'</td>';
                 echo '		<td>'.$i.'</td>';
-                echo '		<td><a href="'.api_get_path(WEB_CODE_PATH).'survey/reporting.php?action='.$action.'&survey_id='.Security::remove_XSS($_GET['survey_id']).'&question='.Security::remove_XSS($offset).'&viewoption='.$value['question_option_id'].'&value='.$i.'">'.$absolute_number.'</a></td>';
+                echo '		<td><a href="'.api_get_path(WEB_CODE_PATH).'survey/reporting.php?action='.$action
+                    .'&survey_id='.Security::remove_XSS($_GET['survey_id']).'&question='.Security::remove_XSS($offset)
+                    .'&viewoption='.$value['question_option_id'].'&value='.$i.'">'.$absolute_number.'</a></td>';
                 echo '		<td>'.round($absolute_number / $number_of_answers * 100, 2).' %</td>';
                 echo '		<td>';
                 $size = ($absolute_number / $number_of_answers * 100 * 2);
                 if ($size > 0) {
-                    echo '			<div style="border:1px solid #264269; background-color:#aecaf4; height:10px; width:'.$size.'px">&nbsp;</div>';
+                    echo '			<div style="border:1px solid #264269; background-color:#aecaf4; height:10px; width:'
+                        .$size.'px">&nbsp;</div>';
                 }
                 echo '		</td>';
                 echo '	</tr>';
@@ -814,25 +849,35 @@ class SurveyUtil
 
         // Actions bar
         echo '<div class="actions">';
-        echo '<a href="'.api_get_path(WEB_CODE_PATH).'survey/reporting.php?survey_id='.Security::remove_XSS($_GET['survey_id']).'">
-		'.Display::return_icon('back.png', get_lang('BackTo').' '.get_lang('ReportingOverview'), '', ICON_SIZE_MEDIUM).'</a>';
-        echo '<a class="survey_export_link" href="javascript: void(0);" onclick="document.form1a.submit();">
-		'.Display::return_icon('export_csv.png', get_lang('ExportAsCSV'), '', ICON_SIZE_MEDIUM).'</a>';
-        echo '<a class="survey_export_link" href="javascript: void(0);" onclick="document.form1b.submit();">
-		'.Display::return_icon('export_excel.png', get_lang('ExportAsXLS'), '', ICON_SIZE_MEDIUM).'</a>';
+        echo '<a href="'.api_get_path(WEB_CODE_PATH).'survey/reporting.php?survey_id='
+            .Security::remove_XSS($_GET['survey_id']).'">'
+            .Display::return_icon(
+                'back.png',
+                get_lang('BackTo').' '.get_lang('ReportingOverview'),
+                [],
+                ICON_SIZE_MEDIUM
+            )
+            .'</a>';
+        echo '<a class="survey_export_link" href="javascript: void(0);" onclick="document.form1a.submit();">'
+            .Display::return_icon('export_csv.png', get_lang('ExportAsCSV'), '', ICON_SIZE_MEDIUM).'</a>';
+        echo '<a class="survey_export_link" href="javascript: void(0);" onclick="document.form1b.submit();">'
+            .Display::return_icon('export_excel.png', get_lang('ExportAsXLS'), '', ICON_SIZE_MEDIUM).'</a>';
         echo '</div>';
 
         // The form
-        echo '<form id="form1a" name="form1a" method="post" action="'.api_get_self().'?action='.$action.'&survey_id='.$surveyId.'&'.api_get_cidreq().'">';
+        echo '<form id="form1a" name="form1a" method="post" action="'.api_get_self().'?action='.$action.'&survey_id='
+            .$surveyId.'&'.api_get_cidreq().'">';
         echo '<input type="hidden" name="export_report" value="export_report">';
         echo '<input type="hidden" name="export_format" value="csv">';
         echo '</form>';
-        echo '<form id="form1b" name="form1b" method="post" action="'.api_get_self().'?action='.$action.'&survey_id='.$surveyId.'&'.api_get_cidreq().'">';
+        echo '<form id="form1b" name="form1b" method="post" action="'.api_get_self().'?action='.$action.'&survey_id='
+            .$surveyId.'&'.api_get_cidreq().'">';
         echo '<input type="hidden" name="export_report" value="export_report">';
         echo '<input type="hidden" name="export_format" value="xls">';
         echo '</form>';
 
-        echo '<form id="form2" name="form2" method="post" action="'.api_get_self().'?action='.$action.'&survey_id='.$surveyId.'&'.api_get_cidreq().'">';
+        echo '<form id="form2" name="form2" method="post" action="'.api_get_self().'?action='.$action.'&survey_id='
+            .$surveyId.'&'.api_get_cidreq().'">';
 
         // The table
         echo '<br /><table class="data_table" border="1">';
@@ -842,9 +887,11 @@ class SurveyUtil
         if ((isset($_POST['submit_question_filter']) && $_POST['submit_question_filter']) ||
             (isset($_POST['export_report']) && $_POST['export_report'])
         ) {
-            echo '<button class="cancel" type="submit" name="reset_question_filter" value="'.get_lang('ResetQuestionFilter').'">'.get_lang('ResetQuestionFilter').'</button>';
+            echo '<button class="cancel" type="submit" name="reset_question_filter" value="'
+                .get_lang('ResetQuestionFilter').'">'.get_lang('ResetQuestionFilter').'</button>';
         }
-        echo '<button class="save" type="submit" name="submit_question_filter" value="'.get_lang('SubmitQuestionFilter').'">'.get_lang('SubmitQuestionFilter').'</button>';
+        echo '<button class="save" type="submit" name="submit_question_filter" value="'.get_lang('SubmitQuestionFilter')
+            .'">'.get_lang('SubmitQuestionFilter').'</button>';
         echo '</th>';
 
         $display_extra_user_fields = false;
@@ -902,7 +949,8 @@ class SurveyUtil
                     }
                     echo '>';
 
-                    echo '<label><input type="checkbox" name="questions_filter[]" value="'.$row['question_id'].'" checked="checked"/> ';
+                    echo '<label><input type="checkbox" name="questions_filter[]" value="'.$row['question_id']
+                        .'" checked="checked"/> ';
                     echo $row['survey_question'];
                     echo '</label>';
                     echo '</th>';
@@ -1057,8 +1105,9 @@ class SurveyUtil
                 } else {
                     $user_displayed = '-';
                 }
-                echo '<th><a href="'.api_get_self().'?action=userreport&survey_id='.Security::remove_XSS($_GET['survey_id']).'&user='.$user.'">'.
-                    $user_displayed.'</a></th>'; // the user column
+                echo '<th><a href="'.api_get_self().'?action=userreport&survey_id='
+                    .Security::remove_XSS($_GET['survey_id']).'&user='.$user.'">'
+                    .$user_displayed.'</a></th>'; // the user column
             } else {
                 echo '<th>'.$user.'</th>'; // the user column
             }
@@ -1170,10 +1219,20 @@ class SurveyUtil
                 // We do not show comment and pagebreak question types
                 if ($row['type'] != 'comment' && $row['type'] != 'pagebreak') {
                     if ($row['number_of_options'] == 0 && $row['type'] == 'open') {
-                        $return .= str_replace("\r\n", '  ', api_html_entity_decode(strip_tags($row['survey_question']), ENT_QUOTES)).';';
+                        $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)).';';
+                            $return .= str_replace(
+                                "\r\n",
+                                '  ',
+                                api_html_entity_decode(strip_tags($row['survey_question']), ENT_QUOTES)
+                            )
+                            .';';
                         }
                     }
                 }
@@ -1187,7 +1246,13 @@ class SurveyUtil
         // Show the fields names for user fields
         if (!empty($extra_user_fields)) {
             foreach ($extra_user_fields as & $field) {
-                $return .= '"'.str_replace("\r\n", '  ', api_html_entity_decode(strip_tags($field[3]), ENT_QUOTES)).'";';
+                $return .= '"'
+                    .str_replace(
+                        "\r\n",
+                        '  ',
+                        api_html_entity_decode(strip_tags($field[3]), ENT_QUOTES)
+                    )
+                    .'";';
             }
         }
 
@@ -1279,11 +1344,11 @@ class SurveyUtil
     /**
      * Add a line to the csv file
      *
-     * @param array    Possible answers
+     * @param array Possible answers
      * @param array User's answers
-     * @param mixed	User ID or user details as string - Used as a string in the result string
-     * @param boolean	Whether to display user fields or not
-     * @return string	One line of the csv file
+     * @param mixed User ID or user details as string - Used as a string in the result string
+     * @param boolean Whether to display user fields or not
+     * @return string One line of the csv file
      * @author Patrick Cool <patrick.cool@UGent.be>, Ghent University
      * @version February 2007
      */
@@ -1366,7 +1431,7 @@ class SurveyUtil
      * Quite similar to display_complete_report(), returns an HTML string
      * that can be used in a csv file
      * @todo consider merging this function with display_complete_report
-     * @return	string	The contents of a csv file
+     * @return string The contents of a csv file
      * @author Patrick Cool <patrick.cool@UGent.be>, Ghent University
      * @version February 2007
      */
@@ -1590,11 +1655,11 @@ class SurveyUtil
     /**
      * Add a line to the csv file
      *
-     * @param	array	Possible answers
-     * @param	array	User's answers
-     * @param 	mixed	User ID or user details as string - Used as a string in the result string
-     * @param	boolean	Whether to display user fields or not
-     * @return	string	One line of the csv file
+     * @param array Possible answers
+     * @param array User's answers
+     * @param mixed User ID or user details as string - Used as a string in the result string
+     * @param boolean Whether to display user fields or not
+     * @return string One line of the csv file
      */
     public static function export_complete_report_row_xls(
         $survey_data,
@@ -1638,7 +1703,9 @@ class SurveyUtil
             foreach ($possible_options as $question_id => & $possible_option) {
                 if (is_array($possible_option) && count($possible_option) > 0) {
                     foreach ($possible_option as $option_id => & $value) {
-                        $my_answers_of_user = isset($answers_of_user[$question_id]) ? $answers_of_user[$question_id] : [];
+                        $my_answers_of_user = isset($answers_of_user[$question_id])
+                            ? $answers_of_user[$question_id]
+                            : [];
                         $key = array_keys($my_answers_of_user);
                         if (isset($key[0]) && substr($key[0], 0, 4) == 'open') {
                             $return[] = api_html_entity_decode(
@@ -1670,7 +1737,7 @@ class SurveyUtil
      * In the intersection is the number of people who have
      * answered positive on both options.
      *
-     * @return	string	HTML code
+     * @return string HTML code
      *
      * @author Patrick Cool <patrick.cool@UGent.be>, Ghent University
      * @version February 2007
@@ -1694,8 +1761,15 @@ class SurveyUtil
 
         // Actions bar
         echo '<div class="actions">';
-        echo '<a href="'.api_get_path(WEB_CODE_PATH).'survey/reporting.php?survey_id='.$surveyId.'&'.api_get_cidreq().'">'.
-                Display::return_icon('back.png', get_lang('BackTo').' '.get_lang('ReportingOverview'), '', ICON_SIZE_MEDIUM).'</a>';
+        echo '<a href="'.api_get_path(WEB_CODE_PATH).'survey/reporting.php?survey_id='.$surveyId.'&'.api_get_cidreq()
+            .'">'
+            .Display::return_icon(
+                'back.png',
+                get_lang('BackTo').' '.get_lang('ReportingOverview'),
+                [],
+                ICON_SIZE_MEDIUM
+            )
+            .'</a>';
         echo '</div>';
 
         // Displaying an information message that only the questions with predefined answers can be used in a comparative report
@@ -1704,7 +1778,8 @@ class SurveyUtil
         $xAxis = isset($_GET['xaxis']) ? Security::remove_XSS($_GET['xaxis']) : '';
         $yAxis = isset($_GET['yaxis']) ? Security::remove_XSS($_GET['yaxis']) : '';
 
-        $url = api_get_self().'?'.api_get_cidreq().'&action='.Security::remove_XSS($_GET['action']).'&survey_id='.$surveyId.'&xaxis='.$xAxis.'&y='.$yAxis;
+        $url = api_get_self().'?'.api_get_cidreq().'&action='.Security::remove_XSS($_GET['action'])
+            .'&survey_id='.$surveyId.'&xaxis='.$xAxis.'&y='.$yAxis;
 
         $form = new FormValidator('compare', 'get', $url);
         $form->addHidden('action', Security::remove_XSS($_GET['action']));
@@ -1909,9 +1984,9 @@ class SurveyUtil
     /**
      * Get all the answers of a question grouped by user
      *
-     * @param	integer	$survey_id Survey ID
-     * @param	integer	$question_id Question ID
-     * @return 	array	Array containing all answers of all users, grouped by user
+     * @param integer $survey_id Survey ID
+     * @param integer $question_id Question ID
+     * @return array Array containing all answers of all users, grouped by user
      *
      * @author Patrick Cool <patrick.cool@UGent.be>, Ghent University
      * @version February 2007 - Updated March 2008
@@ -1943,11 +2018,11 @@ class SurveyUtil
     /**
      * Count the number of users who answer positively on both options
      *
-     * @param	array	All answers of the x axis
-     * @param	array	All answers of the y axis
-     * @param	integer x axis value (= the option_id of the first question)
-     * @param	integer y axis value (= the option_id of the second question)
-     * @return	integer Number of users who have answered positively to both options
+     * @param array All answers of the x axis
+     * @param array All answers of the y axis
+     * @param integer x axis value (= the option_id of the first question)
+     * @param integer y axis value (= the option_id of the second question)
+     * @return integer Number of users who have answered positively to both options
      *
      * @author Patrick Cool <patrick.cool@UGent.be>, Ghent University
      * @version February 2007
@@ -1992,7 +2067,7 @@ class SurveyUtil
     /**
      * Get all the information about the invitations of a certain survey
      *
-     * @return	array	Lines of invitation [user, code, date, empty element]
+     * @return array Lines of invitation [user, code, date, empty element]
      *
      * @author Patrick Cool <patrick.cool@UGent.be>, Ghent University
      * @version January 2007
@@ -2030,7 +2105,7 @@ class SurveyUtil
     /**
      * Get the total number of survey invitations for a given survey (through $_GET['survey_id'])
      *
-     * @return	integer	Total number of survey invitations
+     * @return integer Total number of survey invitations
      *
      * @todo use survey_id parameter instead of $_GET
      *
@@ -2059,8 +2134,8 @@ class SurveyUtil
     /**
      * Save the invitation mail
      *
-     * @param string 	Text of the e-mail
-     * @param integer	Whether the mail contents are for invite mail (0, default) or reminder mail (1)
+     * @param string Text of the e-mail
+     * @param integer Whether the mail contents are for invite mail (0, default) or reminder mail (1)
      *
      * @author Patrick Cool <patrick.cool@UGent.be>, Ghent University
      * @version January 2007
@@ -2183,7 +2258,9 @@ class SurveyUtil
             }
             $new_user = false; // User not already invited
             // Store the invitation if user_id not in $already_invited['course_users'] OR email is not in $already_invited['additional_users']
-            $addit_users_array = isset($already_invited['additional_users']) && !empty($already_invited['additional_users']) ? explode(';', $already_invited['additional_users']) : array();
+            $addit_users_array = isset($already_invited['additional_users']) && !empty($already_invited['additional_users'])
+                    ? explode(';', $already_invited['additional_users'])
+                    : array();
             $my_alredy_invited = $already_invited['course_users'] == null ? array() : $already_invited['course_users'];
             if ((is_numeric($value) && !in_array($value, $my_alredy_invited)) ||
                 (!is_numeric($value) && !in_array($value, $addit_users_array))
@@ -2242,8 +2319,10 @@ class SurveyUtil
                         WHERE iid = $insertId";
                 Database::query($sql);
             }
+
             return $insertId;
         }
+
         return false;
     }
 
@@ -2279,7 +2358,7 @@ class SurveyUtil
      *
      * @param int invitedUser - the userId (course user) or emailaddress of additional user
      * $param string $invitation_code - the unique invitation code for the URL
-     * @return	void
+     * @return void
      */
     public static function send_invitation_mail(
         $invitedUser,
@@ -2291,8 +2370,10 @@ class SurveyUtil
         $_course = api_get_course_info();
 
         // Replacing the **link** part with a valid link for the user
-        $survey_link = api_get_path(WEB_CODE_PATH).'survey/fillsurvey.php?course='.$_course['code'].'&invitationcode='.$invitation_code;
-        $text_link = '<a href="'.$survey_link.'">'.get_lang('ClickHereToAnswerTheSurvey')."</a><br />\r\n<br />\r\n".get_lang('OrCopyPasteTheFollowingUrl')." <br />\r\n ".$survey_link;
+        $survey_link = api_get_path(WEB_CODE_PATH).'survey/fillsurvey.php?course='.$_course['code'].'&invitationcode='
+            .$invitation_code;
+        $text_link = '<a href="'.$survey_link.'">'.get_lang('ClickHereToAnswerTheSurvey')."</a><br />\r\n<br />\r\n"
+            .get_lang('OrCopyPasteTheFollowingUrl')." <br />\r\n ".$survey_link;
 
         $replace_count = 0;
         $full_invitation_text = api_str_ireplace('**link**', $text_link, $invitation_text, $replace_count);
@@ -2331,7 +2412,7 @@ class SurveyUtil
                 $sender_user_id
             );
         } else {
-            /** @todo check if the address is a valid email	 */
+            /** @todo check if the address is a valid email */
             $recipient_email = $invitedUser;
             @api_mail_html(
                 '',
@@ -2346,10 +2427,11 @@ class SurveyUtil
     }
 
     /**
-     * This function recalculates the number of users who have been invited and updates the survey table with this value.
+     * This function recalculates the number of users who have been invited and updates the survey table with this
+     * value.
      *
-     * @param	string	Survey code
-     * @return	void
+     * @param string Survey code
+     * @return void
      * @author Patrick Cool <patrick.cool@UGent.be>, Ghent University
      * @version January 2007
      */
@@ -2386,9 +2468,9 @@ class SurveyUtil
     /**
      * This function gets all the invited users for a given survey code.
      *
-     * @param	string	Survey code
-     * @param	string	optional - course database
-     * @return 	array	Array containing the course users and additional users (non course users)
+     * @param string Survey code
+     * @param string optional - course database
+     * @return array Array containing the course users and additional users (non course users)
      *
      * @todo consider making $defaults['additional_users'] also an array
      *
@@ -2457,14 +2539,15 @@ class SurveyUtil
         if (!empty($defaults['additional_users'])) {
             $defaults['additional_users'] = implode(';', $defaults['additional_users']);
         }
+
         return $defaults;
     }
 
     /**
      * Get all the invitations
      *
-     * @param	string	Survey code
-     * @return	array	Database rows matching the survey code
+     * @param string Survey code
+     * @return array Database rows matching the survey code
      *
      * @author Patrick Cool <patrick.cool@UGent.be>, Ghent University
      * @version September 2007
@@ -2484,13 +2567,14 @@ class SurveyUtil
         while ($row = Database::fetch_array($result)) {
             $return[$row['user']] = $row;
         }
+
         return $return;
     }
 
     /**
      * This function displays the form for searching a survey
      *
-     * @return	void	(direct output)
+     * @return void (direct output)
      *
      * @author Patrick Cool <patrick.cool@UGent.be>, Ghent University
      * @version January 2007
@@ -2554,7 +2638,7 @@ class SurveyUtil
     /**
      * This function displays the sortable table with all the surveys
      *
-     * @return	void	(direct output)
+     * @return void (direct output)
      *
      * @author Patrick Cool <patrick.cool@UGent.be>, Ghent University
      * @version January 2007
@@ -2712,7 +2796,10 @@ class SurveyUtil
         if (api_is_allowed_to_edit() ||
             api_is_element_in_the_session(TOOL_SURVEY, $survey_id)
         ) {
-            $return .= '<a href="'.api_get_path(WEB_CODE_PATH).'survey/create_new_survey.php?'.api_get_cidreq().'&action=edit&survey_id='.$survey_id.'">'.Display::return_icon('edit.png', get_lang('Edit'), '', ICON_SIZE_SMALL).'</a>';
+            $return .= '<a href="'.api_get_path(WEB_CODE_PATH).'survey/create_new_survey.php?'.api_get_cidreq()
+                .'&action=edit&survey_id='.$survey_id.'">'
+                .Display::return_icon('edit.png', get_lang('Edit'), '', ICON_SIZE_SMALL)
+                .'</a>';
             if (SurveyManager::survey_generation_hash_available()) {
                 $return .= Display::url(
                     Display::return_icon('new_link.png', get_lang('GenerateSurveyAccessLink'), '', ICON_SIZE_SMALL),
@@ -2724,20 +2811,30 @@ class SurveyUtil
                 'survey_list.php?action=copy_survey&survey_id='.$survey_id.'&'.api_get_cidreq()
             );
 
-            $return .= ' <a href="'.api_get_path(WEB_CODE_PATH).'survey/survey_list.php?'.api_get_cidreq().'&action=empty&survey_id='.$survey_id.'" onclick="javascript: if(!confirm(\''.addslashes(api_htmlentities(get_lang("EmptySurvey").'?')).'\')) return false;">'.
-                Display::return_icon('clean.png', get_lang('EmptySurvey'), '', ICON_SIZE_SMALL).'</a>&nbsp;';
-        }
-        $return .= '<a href="'.api_get_path(WEB_CODE_PATH).'survey/preview.php?'.api_get_cidreq().'&survey_id='.$survey_id.'">'.
-            Display::return_icon('preview_view.png', get_lang('Preview'), '', ICON_SIZE_SMALL).'</a>&nbsp;';
-        $return .= '<a href="'.api_get_path(WEB_CODE_PATH).'survey/survey_invite.php?'.api_get_cidreq().'&survey_id='.$survey_id.'">'.
-            Display::return_icon('mail_send.png', get_lang('Publish'), '', ICON_SIZE_SMALL).'</a>&nbsp;';
+            $return .= ' <a href="'.api_get_path(WEB_CODE_PATH).'survey/survey_list.php?'.api_get_cidreq()
+                .'&action=empty&survey_id='.$survey_id.'" onclick="javascript: if(!confirm(\''
+                .addslashes(api_htmlentities(get_lang("EmptySurvey").'?')).'\')) return false;">'
+                .Display::return_icon('clean.png', get_lang('EmptySurvey'), '', ICON_SIZE_SMALL)
+                .'</a>&nbsp;';
+        }
+        $return .= '<a href="'.api_get_path(WEB_CODE_PATH).'survey/preview.php?'.api_get_cidreq().'&survey_id='
+            .$survey_id.'">'
+            .Display::return_icon('preview_view.png', get_lang('Preview'), '', ICON_SIZE_SMALL)
+            .'</a>&nbsp;';
+        $return .= '<a href="'.api_get_path(WEB_CODE_PATH).'survey/survey_invite.php?'.api_get_cidreq().'&survey_id='
+            .$survey_id.'">'
+            .Display::return_icon('mail_send.png', get_lang('Publish'), '', ICON_SIZE_SMALL)
+            .'</a>&nbsp;';
         $return .= $hideReportingButton ? '' : $reportingLink;
 
         if (api_is_allowed_to_edit() ||
             api_is_element_in_the_session(TOOL_SURVEY, $survey_id)
         ) {
-            $return .= '<a href="'.api_get_path(WEB_CODE_PATH).'survey/survey_list.php?'.api_get_cidreq().'&action=delete&survey_id='.$survey_id.'" onclick="javascript: if(!confirm(\''.addslashes(api_htmlentities(get_lang("DeleteSurvey").'?', ENT_QUOTES)).'\')) return false;">'.
-                Display::return_icon('delete.png', get_lang('Delete'), '', ICON_SIZE_SMALL).'</a>&nbsp;';
+            $return .= '<a href="'.api_get_path(WEB_CODE_PATH).'survey/survey_list.php?'.api_get_cidreq()
+                .'&action=delete&survey_id='.$survey_id.'" onclick="javascript: if(!confirm(\''
+                .addslashes(api_htmlentities(get_lang("DeleteSurvey").'?', ENT_QUOTES)).'\')) return false;">'
+                .Display::return_icon('delete.png', get_lang('Delete'), '', ICON_SIZE_SMALL)
+                .'</a>&nbsp;';
         }
 
         return $return;
@@ -2750,17 +2847,24 @@ class SurveyUtil
         //$return .= '<a href="survey_list.php?'.api_get_cidreq().'&action=delete&survey_id='.$survey_id.'" onclick="javascript:if(!confirm(\''.addslashes(api_htmlentities(get_lang("DeleteSurvey").'?', ENT_QUOTES)).'\')) return false;">'.Display::return_icon('delete.gif', get_lang('Delete')).'</a>';
         //$return .= '<a href="create_survey_in_another_language.php?id_survey='.$survey_id.'">'.Display::return_icon('copy.gif', get_lang('Copy')).'</a>';
         //$return .= '<a href="survey.php?survey_id='.$survey_id.'">'.Display::return_icon('add.gif', get_lang('Add')).'</a>';
-        $return = '<a href="'.api_get_path(WEB_CODE_PATH).'survey/preview.php?'.api_get_cidreq().'&survey_id='.$survey_id.'">'.Display::return_icon('preview_view.png', get_lang('Preview'), '', ICON_SIZE_SMALL).'</a>&nbsp;';
-        $return .= '<a href="'.api_get_path(WEB_CODE_PATH).'survey/survey_invite.php?'.api_get_cidreq().'&survey_id='.$survey_id.'">'.Display::return_icon('mail_send.png', get_lang('Publish'), '', ICON_SIZE_SMALL).'</a>&nbsp;';
-        $return .= '<a href="'.api_get_path(WEB_CODE_PATH).'survey/survey_list.php?'.api_get_cidreq().'&action=empty&survey_id='.$survey_id.'" onclick="javascript: if(!confirm(\''.addslashes(api_htmlentities(get_lang("EmptySurvey").'?', ENT_QUOTES)).'\')) return false;">'.Display::return_icon('clean.png', get_lang('EmptySurvey'), '', ICON_SIZE_SMALL).'</a>&nbsp;';
+        $return = '<a href="'.api_get_path(WEB_CODE_PATH).'survey/preview.php?'.api_get_cidreq()
+            .'&survey_id='.$survey_id.'">'
+            .Display::return_icon('preview_view.png', get_lang('Preview'), '', ICON_SIZE_SMALL).'</a>&nbsp;';
+        $return .= '<a href="'.api_get_path(WEB_CODE_PATH).'survey/survey_invite.php?'.api_get_cidreq().'&survey_id='
+            .$survey_id.'">'.Display::return_icon('mail_send.png', get_lang('Publish'), '', ICON_SIZE_SMALL)
+            .'</a>&nbsp;';
+        $return .= '<a href="'.api_get_path(WEB_CODE_PATH).'survey/survey_list.php?'.api_get_cidreq()
+            .'&action=empty&survey_id='.$survey_id.'" onclick="javascript: if(!confirm(\''
+            .addslashes(api_htmlentities(get_lang("EmptySurvey").'?', ENT_QUOTES)).'\')) return false;">'
+            .Display::return_icon('clean.png', get_lang('EmptySurvey'), '', ICON_SIZE_SMALL).'</a>&nbsp;';
 
         return $return;
     }
 
     /**
      * Returns "yes" when given parameter is one, "no" for any other value
-     * @param	integer	Whether anonymous or not
-     * @return	string	"Yes" or "No" in the current language
+     * @param integer Whether anonymous or not
+     * @return string "Yes" or "No" in the current language
      */
     public static function anonymous_filter($anonymous)
     {
@@ -2774,7 +2878,7 @@ class SurveyUtil
     /**
      * This function handles the search restriction for the SQL statements
      *
-     * @return	string	Part of a SQL statement or false on error
+     * @return string Part of a SQL statement or false on error
      *
      * @author Patrick Cool <patrick.cool@UGent.be>, Ghent University
      * @version January 2007
@@ -2793,6 +2897,7 @@ class SurveyUtil
             }
             $my_search_term = ($search_term == null) ? array() : $search_term;
             $search_restriction = implode(' AND ', $my_search_term);
+
             return $search_restriction;
         } else {
             return false;
@@ -2802,7 +2907,7 @@ class SurveyUtil
     /**
      * This function calculates the total number of surveys
      *
-     * @return	integer	Total number of surveys
+     * @return integer Total number of surveys
      *
      * @author Patrick Cool <patrick.cool@UGent.be>, Ghent University
      * @version January 2007
@@ -2832,6 +2937,7 @@ class SurveyUtil
     public static function get_number_of_surveys_for_coach()
     {
         $survey_tree = new SurveyTree();
+
         return count($survey_tree->surveylist);
     }
 
@@ -2879,31 +2985,37 @@ class SurveyUtil
         $condition_session = api_get_session_condition($session_id);
         $course_id = api_get_course_int_id();
 
-        $sql = "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)" : "CONCAT(user.lastname, ' ', user.firstname)")."	AS col4,
-					survey.avail_from AS col5,
-					survey.avail_till AS col6,
-					survey.invited AS col7,
-					survey.anonymous AS col8,
-					survey.survey_id AS col9,
-					survey.session_id AS session_id,
-					survey.answered,
-					survey.invited
-                FROM $table_survey survey
-                LEFT JOIN $table_survey_question survey_question
-                ON (survey.survey_id = survey_question.survey_id AND survey_question.c_id = $course_id)
-                LEFT JOIN $table_user user
-                ON (survey.author = user.user_id)
-                WHERE survey.c_id = $course_id
-                $search_restriction
-                $condition_session 
-                GROUP BY survey.survey_id
-                ORDER BY col$column $direction 
-                LIMIT $from,$number_of_items";
+        $sql = "
+            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)"
+                : "CONCAT(user.lastname, ' ', user.firstname)")
+            ."	AS col4,
+                survey.avail_from AS col5,
+                survey.avail_till AS col6,
+                survey.invited AS col7,
+                survey.anonymous AS col8,
+                survey.survey_id AS col9,
+                survey.session_id AS session_id,
+                survey.answered,
+                survey.invited
+            FROM $table_survey survey
+            LEFT JOIN $table_survey_question survey_question
+            ON (survey.survey_id = survey_question.survey_id AND survey_question.c_id = $course_id)
+            LEFT JOIN $table_user user
+            ON (survey.author = user.user_id)
+            WHERE survey.c_id = $course_id
+            $search_restriction
+            $condition_session 
+            GROUP BY survey.survey_id
+            ORDER BY col$column $direction 
+            LIMIT $from,$number_of_items
+        ";
 
         $res = Database::query($sql);
         $surveys = array();
@@ -2932,11 +3044,13 @@ class SurveyUtil
             $array[7] =
                 Display::url(
                     $survey['answered'],
-                    api_get_path(WEB_CODE_PATH).'survey/survey_invitation.php?view=answered&survey_id='.$survey[0].'&'.api_get_cidreq()
+                    api_get_path(WEB_CODE_PATH).'survey/survey_invitation.php?view=answered&survey_id='.$survey[0].'&'
+                        .api_get_cidreq()
                 ).' / '.
                 Display::url(
                     $survey['invited'],
-                    api_get_path(WEB_CODE_PATH).'survey/survey_invitation.php?view=invited&survey_id='.$survey[0].'&'.api_get_cidreq()
+                    api_get_path(WEB_CODE_PATH).'survey/survey_invitation.php?view=invited&survey_id='.$survey[0].'&'
+                        .api_get_cidreq()
                 );
 
             $array[8] = $survey[8];
@@ -2960,6 +3074,7 @@ class SurveyUtil
 
             $surveys[] = $array;
         }
+
         return $surveys;
     }
 
@@ -2999,22 +3114,28 @@ class SurveyUtil
         $course_id = api_get_course_int_id();
         $efv = new ExtraFieldValue('survey');
 
-        $sql = "SELECT 
+        $sql = "
+            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)" : "CONCAT(user.lastname, ' ', user.firstname)")."	AS col4,
-            survey.avail_from AS col5,
-            survey.avail_till AS col6,
-            CONCAT('<a href=\"survey_invitation.php?view=answered&survey_id=',survey.survey_id,'\">',survey.answered,'</a> / <a href=\"survey_invitation.php?view=invited&survey_id=',survey.survey_id,'\">',survey.invited, '</a>') AS col7,
-            survey.anonymous AS col8,
-            survey.survey_id AS col9
+                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)"
+                : "CONCAT(user.lastname, ' ', user.firstname)")
+            ."	AS col4,
+                survey.avail_from AS col5,
+                survey.avail_till AS col6,
+                CONCAT('<a href=\"survey_invitation.php?view=answered&survey_id=',survey.survey_id,'\">',survey.answered,'</a> / <a href=\"survey_invitation.php?view=invited&survey_id=',survey.survey_id,'\">',survey.invited, '</a>') AS col7,
+                survey.anonymous AS col8,
+                survey.survey_id AS col9
             FROM $table_survey survey
             LEFT JOIN $table_survey_question survey_question
             ON (survey.survey_id = survey_question.survey_id AND survey.c_id = survey_question.c_id),
             $table_user user
-            WHERE survey.author = user.user_id AND survey.c_id = $course_id $list_condition ";
+            WHERE survey.author = user.user_id AND survey.c_id = $course_id $list_condition
+        ";
         $sql .= " GROUP BY survey.survey_id";
         $sql .= " ORDER BY col$column $direction ";
         $sql .= " LIMIT $from,$number_of_items";
@@ -3111,7 +3232,9 @@ class SurveyUtil
                     array(),
                     ICON_SIZE_TINY
                 );
-                echo '<a href="'.api_get_path(WEB_CODE_PATH).'survey/fillsurvey.php?course='.$_course['sysCode'].'&invitationcode='.$row['invitation_code'].'&cidReq='.$_course['sysCode'].'">'.$row['title'].'</a></td>';
+                echo '<a href="'.api_get_path(WEB_CODE_PATH).'survey/fillsurvey.php?course='.$_course['sysCode']
+                    .'&invitationcode='.$row['invitation_code'].'&cidReq='.$_course['sysCode'].'">'.$row['title']
+                    .'</a></td>';
             } else {
                 $isDrhOfCourse = CourseManager::isUserSubscribedInCourseAsDrh(
                     $user_id,
@@ -3299,6 +3422,7 @@ class SurveyUtil
                     break;
             }
         }
+
         return $field_list_array;
     }
 
@@ -3348,11 +3472,11 @@ class SurveyUtil
                 user="'.$user_answer.'" AND 
                 c_id = '.$course_id;
 
-        $result  = Database::query($sql);
+        $result = Database::query($sql);
         $result2 = Database::query($sql2);
         $result3 = Database::query($sql3);
 
-        $row  = Database::fetch_array($result, 'ASSOC');
+        $row = Database::fetch_array($result, 'ASSOC');
         $row2 = Database::fetch_array($result2, 'ASSOC');
         $row3 = Database::fetch_array($result3, 'ASSOC');
 
@@ -3366,10 +3490,10 @@ class SurveyUtil
 
     /**
      * Display survey question chart
-     * @param   array	$chartData
-     * @param   boolean	$hasSerie Tells if the chart has a serie. False by default
-     * @param   string $chartContainerId
-     * @return	string 	(direct output)
+     * @param array $chartData
+     * @param boolean $hasSerie Tells if the chart has a serie. False by default
+     * @param string $chartContainerId
+     * @return string (direct output)
      */
     public static function drawChart(
         $chartData,
@@ -3407,21 +3531,22 @@ class SurveyUtil
             rtrim($htmlChart, ",");
             $htmlChart .= '];
                 var myChart = new dimple.chart(svg, data);
-                myChart.addMeasureAxis("y", "' . get_lang("Votes").'");';
+                myChart.addMeasureAxis("y", "'.get_lang("Votes").'");';
             if (!$hasSerie) {
                 $htmlChart .= 'var xAxisCategory = myChart.addCategoryAxis("x", "'.get_lang("Option").'");
-                    xAxisCategory.addOrderRule(' . json_encode($order).');
-                    myChart.addSeries("' . get_lang("Option").'", dimple.plot.bar);';
+                    xAxisCategory.addOrderRule('.json_encode($order).');
+                    myChart.addSeries("'.get_lang("Option").'", dimple.plot.bar);';
             } else {
                 if (!is_array($chartDataElement['serie'])) {
                     $serie = array_values(array_unique($serie));
-                    $htmlChart .= 'var xAxisCategory = myChart.addCategoryAxis("x", ["'.get_lang("Option").'","'.get_lang("Score").'"]);
-                        xAxisCategory.addOrderRule(' . json_encode($serie).');
-                        xAxisCategory.addGroupOrderRule("' . get_lang("Score").'");
-                        myChart.addSeries("' . get_lang("Option").'", dimple.plot.bar);';
+                    $htmlChart .= 'var xAxisCategory = myChart.addCategoryAxis("x", ["'.get_lang("Option").'","'
+                        .get_lang("Score").'"]);
+                        xAxisCategory.addOrderRule('.json_encode($serie).');
+                        xAxisCategory.addGroupOrderRule("'.get_lang("Score").'");
+                        myChart.addSeries("'.get_lang("Option").'", dimple.plot.bar);';
                 } else {
                     $htmlChart .= 'myChart.addCategoryAxis("x", ["'.get_lang("Option").'","'.get_lang("Score").'"]);
-                        myChart.addSeries("' . get_lang("Serie").'", dimple.plot.bar);';
+                        myChart.addSeries("'.get_lang("Serie").'", dimple.plot.bar);';
                 }
             }
             $htmlChart .= 'myChart.draw();