@@ -173,7 +173,7 @@  | 
                                                    ||
| 173 | 173 | |
| 174 | 174 | /**  | 
                                                        
| 175 | 175 | * @param array $file  | 
                                                        
| 176 | - * @return bool|string  | 
                                                        |
| 176 | + * @return string|false  | 
                                                        |
| 177 | 177 | */  | 
                                                        
| 178 | 178 | public static function import_uploaded_file($file)  | 
                                                        
| 179 | 179 |      { | 
                                                        
@@ -23,9 +23,9 @@ discard block  | 
                                                    ||
| 23 | 23 |              while (($file = readdir($handle)) !== false) { | 
                                                        
| 24 | 24 | if ($file != "." && $file != ".." &&  | 
                                                        
| 25 | 25 | strpos($file, 'CourseArchiver_') === 0 &&  | 
                                                        
| 26 | - is_dir($dir . '/' . $file)  | 
                                                        |
| 26 | + is_dir($dir.'/'.$file)  | 
                                                        |
| 27 | 27 |                  ) { | 
                                                        
| 28 | - rmdirr($dir . '/' . $file);  | 
                                                        |
| 28 | + rmdirr($dir.'/'.$file);  | 
                                                        |
| 29 | 29 | }  | 
                                                        
| 30 | 30 | }  | 
                                                        
| 31 | 31 | closedir($handle);  | 
                                                        
@@ -43,48 +43,48 @@ discard block  | 
                                                    ||
| 43 | 43 | CourseArchiver::clean_backup_dir();  | 
                                                        
| 44 | 44 | |
| 45 | 45 | // Create a temp directory  | 
                                                        
| 46 | - $tmp_dir_name = 'CourseArchiver_' . api_get_unique_id();  | 
                                                        |
| 47 | - $backup_dir = api_get_path(SYS_ARCHIVE_PATH) . $tmp_dir_name . '/';  | 
                                                        |
| 46 | + $tmp_dir_name = 'CourseArchiver_'.api_get_unique_id();  | 
                                                        |
| 47 | + $backup_dir = api_get_path(SYS_ARCHIVE_PATH).$tmp_dir_name.'/';  | 
                                                        |
| 48 | 48 | |
| 49 | 49 | // All course-information will be stored in course_info.dat  | 
                                                        
| 50 | - $course_info_file = $backup_dir . 'course_info.dat';  | 
                                                        |
| 50 | + $course_info_file = $backup_dir.'course_info.dat';  | 
                                                        |
| 51 | 51 | $zip_dir = api_get_path(SYS_ARCHIVE_PATH);  | 
                                                        
| 52 | 52 | $user = api_get_user_info();  | 
                                                        
| 53 | 53 | $date = new DateTime(api_get_local_time());  | 
                                                        
| 54 | -        $zip_file = $user['user_id'] . '_' . $course->code . '_' . $date->format('Ymd-His') . '.zip'; | 
                                                        |
| 54 | +        $zip_file = $user['user_id'].'_'.$course->code.'_'.$date->format('Ymd-His').'.zip'; | 
                                                        |
| 55 | 55 | $php_errormsg = '';  | 
                                                        
| 56 | 56 | $res = @mkdir($backup_dir, $perm_dirs);  | 
                                                        
| 57 | 57 |          if ($res === false) { | 
                                                        
| 58 | 58 | //TODO set and handle an error message telling the user to review the permissions on the archive directory  | 
                                                        
| 59 | -            error_log(__FILE__ . ' line ' . __LINE__ . ': ' . (ini_get('track_errors') != false ? $php_errormsg : 'error not recorded because track_errors is off in your php.ini') . ' - This error, occuring because your archive directory will not let this script write data into it, will prevent courses backups to be created', 0); | 
                                                        |
| 59 | +            error_log(__FILE__.' line '.__LINE__.': '.(ini_get('track_errors') != false ? $php_errormsg : 'error not recorded because track_errors is off in your php.ini').' - This error, occuring because your archive directory will not let this script write data into it, will prevent courses backups to be created', 0); | 
                                                        |
| 60 | 60 | }  | 
                                                        
| 61 | 61 | // Write the course-object to the file  | 
                                                        
| 62 | 62 | $fp = @fopen($course_info_file, 'w');  | 
                                                        
| 63 | 63 |          if ($fp === false) { | 
                                                        
| 64 | -            error_log(__FILE__ . ' line ' . __LINE__ . ': ' . (ini_get('track_errors') != false ? $php_errormsg : 'error not recorded because track_errors is off in your php.ini'), 0); | 
                                                        |
| 64 | +            error_log(__FILE__.' line '.__LINE__.': '.(ini_get('track_errors') != false ? $php_errormsg : 'error not recorded because track_errors is off in your php.ini'), 0); | 
                                                        |
| 65 | 65 | }  | 
                                                        
| 66 | 66 | |
| 67 | 67 | $res = @fwrite($fp, base64_encode(serialize($course)));  | 
                                                        
| 68 | 68 |          if ($res === false) { | 
                                                        
| 69 | -            error_log(__FILE__ . ' line ' . __LINE__ . ': ' . (ini_get('track_errors') != false ? $php_errormsg : 'error not recorded because track_errors is off in your php.ini'), 0); | 
                                                        |
| 69 | +            error_log(__FILE__.' line '.__LINE__.': '.(ini_get('track_errors') != false ? $php_errormsg : 'error not recorded because track_errors is off in your php.ini'), 0); | 
                                                        |
| 70 | 70 | }  | 
                                                        
| 71 | 71 | |
| 72 | 72 | $res = @fclose($fp);  | 
                                                        
| 73 | 73 |          if ($res === false) { | 
                                                        
| 74 | -            error_log(__FILE__ . ' line ' . __LINE__ . ': ' . (ini_get('track_errors') != false ? $php_errormsg : 'error not recorded because track_errors is off in your php.ini'), 0); | 
                                                        |
| 74 | +            error_log(__FILE__.' line '.__LINE__.': '.(ini_get('track_errors') != false ? $php_errormsg : 'error not recorded because track_errors is off in your php.ini'), 0); | 
                                                        |
| 75 | 75 | }  | 
                                                        
| 76 | 76 | |
| 77 | 77 | // Copy all documents to the temp-dir  | 
                                                        
| 78 | 78 |          if (isset($course->resources[RESOURCE_DOCUMENT]) && is_array($course->resources[RESOURCE_DOCUMENT])) { | 
                                                        
| 79 | 79 |              foreach ($course->resources[RESOURCE_DOCUMENT] as $document) { | 
                                                        
| 80 | 80 |                  if ($document->file_type == DOCUMENT) { | 
                                                        
| 81 | - $doc_dir = $backup_dir . $document->path;  | 
                                                        |
| 81 | + $doc_dir = $backup_dir.$document->path;  | 
                                                        |
| 82 | 82 | @mkdir(dirname($doc_dir), $perm_dirs, true);  | 
                                                        
| 83 | -                    if (file_exists($course->path . $document->path)) { | 
                                                        |
| 84 | - copy($course->path . $document->path, $doc_dir);  | 
                                                        |
| 83 | +                    if (file_exists($course->path.$document->path)) { | 
                                                        |
| 84 | + copy($course->path.$document->path, $doc_dir);  | 
                                                        |
| 85 | 85 | }  | 
                                                        
| 86 | 86 |                  } else { | 
                                                        
| 87 | - @mkdir($backup_dir . $document->path, $perm_dirs, true);  | 
                                                        |
| 87 | + @mkdir($backup_dir.$document->path, $perm_dirs, true);  | 
                                                        |
| 88 | 88 | }  | 
                                                        
| 89 | 89 | }  | 
                                                        
| 90 | 90 | }  | 
                                                        
@@ -92,49 +92,49 @@ discard block  | 
                                                    ||
| 92 | 92 | // Copy all scorm documents to the temp-dir  | 
                                                        
| 93 | 93 |          if (isset($course->resources[RESOURCE_SCORM]) && is_array($course->resources[RESOURCE_SCORM])) { | 
                                                        
| 94 | 94 |              foreach ($course->resources[RESOURCE_SCORM] as $document) { | 
                                                        
| 95 | - $doc_dir = dirname($backup_dir . $document->path);  | 
                                                        |
| 95 | + $doc_dir = dirname($backup_dir.$document->path);  | 
                                                        |
| 96 | 96 | @mkdir($doc_dir, $perm_dirs, true);  | 
                                                        
| 97 | - copyDirTo($course->path . $document->path, $doc_dir, false);  | 
                                                        |
| 97 | + copyDirTo($course->path.$document->path, $doc_dir, false);  | 
                                                        |
| 98 | 98 | }  | 
                                                        
| 99 | 99 | }  | 
                                                        
| 100 | 100 | |
| 101 | 101 | // Copy calendar attachments.  | 
                                                        
| 102 | 102 | |
| 103 | 103 |          if (isset($course->resources[RESOURCE_EVENT]) && is_array($course->resources[RESOURCE_EVENT])) { | 
                                                        
| 104 | - $doc_dir = dirname($backup_dir . '/upload/calendar/');  | 
                                                        |
| 104 | + $doc_dir = dirname($backup_dir.'/upload/calendar/');  | 
                                                        |
| 105 | 105 | @mkdir($doc_dir, $perm_dirs, true);  | 
                                                        
| 106 | - copyDirTo($course->path . 'upload/calendar/', $doc_dir, false);  | 
                                                        |
| 106 | + copyDirTo($course->path.'upload/calendar/', $doc_dir, false);  | 
                                                        |
| 107 | 107 | }  | 
                                                        
| 108 | 108 | |
| 109 | 109 | // Copy Learning path author image.  | 
                                                        
| 110 | 110 |          if (isset($course->resources[RESOURCE_LEARNPATH]) && is_array($course->resources[RESOURCE_LEARNPATH])) { | 
                                                        
| 111 | - $doc_dir = dirname($backup_dir . '/upload/learning_path/');  | 
                                                        |
| 111 | + $doc_dir = dirname($backup_dir.'/upload/learning_path/');  | 
                                                        |
| 112 | 112 | @mkdir($doc_dir, $perm_dirs, true);  | 
                                                        
| 113 | - copyDirTo($course->path . 'upload/learning_path/', $doc_dir, false);  | 
                                                        |
| 113 | + copyDirTo($course->path.'upload/learning_path/', $doc_dir, false);  | 
                                                        |
| 114 | 114 | }  | 
                                                        
| 115 | 115 | |
| 116 | 116 | // Copy announcements attachments.  | 
                                                        
| 117 | 117 |          if (isset($course->resources[RESOURCE_ANNOUNCEMENT]) && is_array($course->resources[RESOURCE_ANNOUNCEMENT])) { | 
                                                        
| 118 | - $doc_dir = dirname($backup_dir . '/upload/announcements/');  | 
                                                        |
| 118 | + $doc_dir = dirname($backup_dir.'/upload/announcements/');  | 
                                                        |
| 119 | 119 | @mkdir($doc_dir, $perm_dirs, true);  | 
                                                        
| 120 | - copyDirTo($course->path . 'upload/announcements/', $doc_dir, false);  | 
                                                        |
| 120 | + copyDirTo($course->path.'upload/announcements/', $doc_dir, false);  | 
                                                        |
| 121 | 121 | }  | 
                                                        
| 122 | 122 | |
| 123 | 123 | // Copy work folders (only folders)  | 
                                                        
| 124 | 124 |          if (isset($course->resources[RESOURCE_WORK]) && is_array($course->resources[RESOURCE_WORK])) { | 
                                                        
| 125 | - $doc_dir = dirname($backup_dir . '/upload/work/');  | 
                                                        |
| 125 | + $doc_dir = dirname($backup_dir.'/upload/work/');  | 
                                                        |
| 126 | 126 | @mkdir($doc_dir, $perm_dirs, true);  | 
                                                        
| 127 | 127 | // @todo: adjust to only create subdirs, but not copy files  | 
                                                        
| 128 | - copyDirTo($course->path . 'upload/work/', $doc_dir, false);  | 
                                                        |
| 128 | + copyDirTo($course->path.'upload/work/', $doc_dir, false);  | 
                                                        |
| 129 | 129 | }  | 
                                                        
| 130 | 130 | |
| 131 | 131 | // Zip the course-contents  | 
                                                        
| 132 | - $zip = new PclZip($zip_dir . $zip_file);  | 
                                                        |
| 133 | - $zip->create($zip_dir . $tmp_dir_name, PCLZIP_OPT_REMOVE_PATH, $zip_dir . $tmp_dir_name . '/');  | 
                                                        |
| 132 | + $zip = new PclZip($zip_dir.$zip_file);  | 
                                                        |
| 133 | + $zip->create($zip_dir.$tmp_dir_name, PCLZIP_OPT_REMOVE_PATH, $zip_dir.$tmp_dir_name.'/');  | 
                                                        |
| 134 | 134 | //$zip->deleteByIndex(0);  | 
                                                        
| 135 | 135 | // Remove the temp-dir.  | 
                                                        
| 136 | 136 | rmdirr($backup_dir);  | 
                                                        
| 137 | - return '' . $zip_file;  | 
                                                        |
| 137 | + return ''.$zip_file;  | 
                                                        |
| 138 | 138 | }  | 
                                                        
| 139 | 139 | |
| 140 | 140 | /**  | 
                                                        
@@ -145,7 +145,7 @@ discard block  | 
                                                    ||
| 145 | 145 |      { | 
                                                        
| 146 | 146 | global $dateTimeFormatLong;  | 
                                                        
| 147 | 147 | $backup_files = array();  | 
                                                        
| 148 | - $dirname = api_get_path(SYS_ARCHIVE_PATH) . '';  | 
                                                        |
| 148 | + $dirname = api_get_path(SYS_ARCHIVE_PATH).'';  | 
                                                        |
| 149 | 149 |          if ($dir = opendir($dirname)) { | 
                                                        
| 150 | 150 |              while (($file = readdir($dir)) !== false) { | 
                                                        
| 151 | 151 |                  $file_parts = explode('_', $file); | 
                                                        
@@ -156,7 +156,7 @@ discard block  | 
                                                    ||
| 156 | 156 | $date = $file_parts[0];  | 
                                                        
| 157 | 157 | $ext = isset($file_parts[1]) ? $file_parts[1] : null;  | 
                                                        
| 158 | 158 |                      if ($ext == 'zip' && ($user_id != null && $owner_id == $user_id || $user_id == null)) { | 
                                                        
| 159 | - $date = substr($date, 0, 4) . '-' . substr($date, 4, 2) . '-' . substr($date, 6, 2) . ' ' . substr($date, 9, 2) . ':' . substr($date, 11, 2) . ':' . substr($date, 13, 2);  | 
                                                        |
| 159 | + $date = substr($date, 0, 4).'-'.substr($date, 4, 2).'-'.substr($date, 6, 2).' '.substr($date, 9, 2).':'.substr($date, 11, 2).':'.substr($date, 13, 2);  | 
                                                        |
| 160 | 160 | $backup_files[] = array(  | 
                                                        
| 161 | 161 | 'file' => $file,  | 
                                                        
| 162 | 162 | 'date' => $date,  | 
                                                        
@@ -177,7 +177,7 @@ discard block  | 
                                                    ||
| 177 | 177 | */  | 
                                                        
| 178 | 178 | public static function import_uploaded_file($file)  | 
                                                        
| 179 | 179 |      { | 
                                                        
| 180 | -        $new_filename = uniqid('') . '.zip'; | 
                                                        |
| 180 | +        $new_filename = uniqid('').'.zip'; | 
                                                        |
| 181 | 181 | $new_dir = api_get_path(SYS_ARCHIVE_PATH);  | 
                                                        
| 182 | 182 |          if (is_dir($new_dir) && is_writable($new_dir)) { | 
                                                        
| 183 | 183 | move_uploaded_file($file, api_get_path(SYS_ARCHIVE_PATH).$new_filename);  | 
                                                        
@@ -200,17 +200,17 @@ discard block  | 
                                                    ||
| 200 | 200 |      { | 
                                                        
| 201 | 201 | CourseArchiver::clean_backup_dir();  | 
                                                        
| 202 | 202 | // Create a temp directory  | 
                                                        
| 203 | -        $tmp_dir_name = 'CourseArchiver_' . uniqid(''); | 
                                                        |
| 204 | - $unzip_dir = api_get_path(SYS_ARCHIVE_PATH) . '' . $tmp_dir_name;  | 
                                                        |
| 203 | +        $tmp_dir_name = 'CourseArchiver_'.uniqid(''); | 
                                                        |
| 204 | + $unzip_dir = api_get_path(SYS_ARCHIVE_PATH).''.$tmp_dir_name;  | 
                                                        |
| 205 | 205 | @mkdir($unzip_dir, api_get_permissions_for_new_directories(), true);  | 
                                                        
| 206 | - @copy(api_get_path(SYS_ARCHIVE_PATH) . '' . $filename, $unzip_dir . '/backup.zip');  | 
                                                        |
| 206 | + @copy(api_get_path(SYS_ARCHIVE_PATH).''.$filename, $unzip_dir.'/backup.zip');  | 
                                                        |
| 207 | 207 | // unzip the archive  | 
                                                        
| 208 | - $zip = new PclZip($unzip_dir . '/backup.zip');  | 
                                                        |
| 208 | + $zip = new PclZip($unzip_dir.'/backup.zip');  | 
                                                        |
| 209 | 209 | @chdir($unzip_dir);  | 
                                                        
| 210 | 210 | $zip->extract(PCLZIP_OPT_TEMP_FILE_ON);  | 
                                                        
| 211 | 211 | // remove the archive-file  | 
                                                        
| 212 | 212 |          if ($delete) { | 
                                                        
| 213 | - @unlink(api_get_path(SYS_ARCHIVE_PATH) . '' . $filename);  | 
                                                        |
| 213 | + @unlink(api_get_path(SYS_ARCHIVE_PATH).''.$filename);  | 
                                                        |
| 214 | 214 | }  | 
                                                        
| 215 | 215 | // read the course  | 
                                                        
| 216 | 216 |          if (!is_file('course_info.dat')) { | 
                                                        
@@ -95,7 +95,7 @@  | 
                                                    ||
| 95 | 95 | |
| 96 | 96 | /**  | 
                                                        
| 97 | 97 | * Get the progress of this learnpath. Only the last attempt are taken into account.  | 
                                                        
| 98 | - * @param $stud_id student id (default: all students who have results - then the average is returned)  | 
                                                        |
| 98 | + * @param integer $stud_id student id (default: all students who have results - then the average is returned)  | 
                                                        |
| 99 | 99 | * @return array (score, max) if student is given  | 
                                                        
| 100 | 100 | * array (sum of scores, number of scores) otherwise  | 
                                                        
| 101 | 101 | * or null if no scores available  | 
                                                        
@@ -43,9 +43,9 @@ discard block  | 
                                                    ||
| 43 | 43 | |
| 44 | 44 | $result = Database::query($sql);  | 
                                                        
| 45 | 45 | |
| 46 | - $cats=array();  | 
                                                        |
| 47 | -		while ($data=Database::fetch_array($result)) { | 
                                                        |
| 48 | - $cats[] = array ($data['id'], $data['name']);  | 
                                                        |
| 46 | + $cats = array();  | 
                                                        |
| 47 | +		while ($data = Database::fetch_array($result)) { | 
                                                        |
| 48 | + $cats[] = array($data['id'], $data['name']);  | 
                                                        |
| 49 | 49 | }  | 
                                                        
| 50 | 50 | |
| 51 | 51 | return $cats;  | 
                                                        
@@ -72,8 +72,8 @@ discard block  | 
                                                    ||
| 72 | 72 | $result = Database::query($sql);  | 
                                                        
| 73 | 73 | |
| 74 | 74 | $cats = array();  | 
                                                        
| 75 | -		while ($data=Database::fetch_array($result)) { | 
                                                        |
| 76 | - $cats[] = array ($data['id'], $data['name']);  | 
                                                        |
| 75 | +		while ($data = Database::fetch_array($result)) { | 
                                                        |
| 76 | + $cats[] = array($data['id'], $data['name']);  | 
                                                        |
| 77 | 77 | }  | 
                                                        
| 78 | 78 | |
| 79 | 79 | return $cats;  | 
                                                        
@@ -89,7 +89,7 @@ discard block  | 
                                                    ||
| 89 | 89 | $sql = "SELECT count(id) AS number FROM $tbl_stats  | 
                                                        
| 90 | 90 | WHERE c_id = ".$this->course_id." AND lp_id = ".$this->get_ref_id();  | 
                                                        
| 91 | 91 | $result = Database::query($sql);  | 
                                                        
| 92 | - $number = Database::fetch_array($result,'NUM');  | 
                                                        |
| 92 | + $number = Database::fetch_array($result, 'NUM');  | 
                                                        |
| 93 | 93 | return ($number[0] != 0);  | 
                                                        
| 94 | 94 | }  | 
                                                        
| 95 | 95 | |
@@ -121,12 +121,12 @@ discard block  | 
                                                    ||
| 121 | 121 | // for 1 student  | 
                                                        
| 122 | 122 |  		if (isset($stud_id)) { | 
                                                        
| 123 | 123 |  			if ($data = Database::fetch_array($scores)) { | 
                                                        
| 124 | - return array ($data['progress'], 100);  | 
                                                        |
| 124 | + return array($data['progress'], 100);  | 
                                                        |
| 125 | 125 | } else  | 
                                                        
| 126 | 126 | return null;  | 
                                                        
| 127 | 127 |  		} else { | 
                                                        
| 128 | 128 | // all students -> get average  | 
                                                        
| 129 | - $students = array(); // user list, needed to make sure we only  | 
                                                        |
| 129 | + $students = array(); // user list, needed to make sure we only  | 
                                                        |
| 130 | 130 | // take first attempts into account  | 
                                                        
| 131 | 131 | $rescount = 0;  | 
                                                        
| 132 | 132 | $sum = 0;  | 
                                                        
@@ -154,7 +154,7 @@ discard block  | 
                                                    ||
| 154 | 154 | return array($bestResult, 100);  | 
                                                        
| 155 | 155 | break;  | 
                                                        
| 156 | 156 | case 'average':  | 
                                                        
| 157 | - return array($sumResult/$rescount, 100);  | 
                                                        |
| 157 | + return array($sumResult / $rescount, 100);  | 
                                                        |
| 158 | 158 | break;  | 
                                                        
| 159 | 159 | case 'ranking':  | 
                                                        
| 160 | 160 | return AbstractLink::getCurrentUserRanking($stud_id, $students);  | 
                                                        
@@ -207,7 +207,7 @@ discard block  | 
                                                    ||
| 207 | 207 | $sql = 'SELECT count(id) FROM '.$this->get_learnpath_table().'  | 
                                                        
| 208 | 208 | WHERE c_id = '.$this->course_id.' AND id = '.$this->get_ref_id().' ';  | 
                                                        
| 209 | 209 | $result = Database::query($sql);  | 
                                                        
| 210 | - $number = Database::fetch_row($result,'NUM');  | 
                                                        |
| 210 | + $number = Database::fetch_row($result, 'NUM');  | 
                                                        |
| 211 | 211 | return ($number[0] != 0);  | 
                                                        
| 212 | 212 | }  | 
                                                        
| 213 | 213 | |
@@ -29,8 +29,9 @@ discard block  | 
                                                    ||
| 29 | 29 | public function get_not_created_links()  | 
                                                        
| 30 | 30 |  	{ | 
                                                        
| 31 | 31 | return false;  | 
                                                        
| 32 | - if (empty($this->course_code))  | 
                                                        |
| 33 | -			die('Error in get_not_created_links() : course code not set'); | 
                                                        |
| 32 | +		if (empty($this->course_code)) { | 
                                                        |
| 33 | +					die('Error in get_not_created_links() : course code not set'); | 
                                                        |
| 34 | + }  | 
                                                        |
| 34 | 35 | |
| 35 | 36 | $tbl_grade_links = Database :: get_main_table(TABLE_MAIN_GRADEBOOK_LINK);  | 
                                                        
| 36 | 37 | |
@@ -57,8 +58,9 @@ discard block  | 
                                                    ||
| 57 | 58 | */  | 
                                                        
| 58 | 59 | public function get_all_links()  | 
                                                        
| 59 | 60 |  	{ | 
                                                        
| 60 | - if (empty($this->course_code))  | 
                                                        |
| 61 | -			die('Error in get_not_created_links() : course code not set'); | 
                                                        |
| 61 | +		if (empty($this->course_code)) { | 
                                                        |
| 62 | +					die('Error in get_not_created_links() : course code not set'); | 
                                                        |
| 63 | + }  | 
                                                        |
| 62 | 64 | |
| 63 | 65 | $session_id = api_get_session_id();  | 
                                                        
| 64 | 66 |  		if (empty($session_id)) { | 
                                                        
@@ -111,8 +113,9 @@ discard block  | 
                                                    ||
| 111 | 113 | lp_id = ".$this->get_ref_id()." AND  | 
                                                        
| 112 | 114 | session_id = $session_id ";  | 
                                                        
| 113 | 115 | |
| 114 | - if (isset($stud_id))  | 
                                                        |
| 115 | - $sql .= ' AND user_id = '.intval($stud_id);  | 
                                                        |
| 116 | +		if (isset($stud_id)) { | 
                                                        |
| 117 | + $sql .= ' AND user_id = '.intval($stud_id);  | 
                                                        |
| 118 | + }  | 
                                                        |
| 116 | 119 | |
| 117 | 120 | // order by id, that way the student's first attempt is accessed first  | 
                                                        
| 118 | 121 | $sql .= ' ORDER BY view_count DESC';  | 
                                                        
@@ -122,8 +125,9 @@ discard block  | 
                                                    ||
| 122 | 125 |  		if (isset($stud_id)) { | 
                                                        
| 123 | 126 |  			if ($data = Database::fetch_array($scores)) { | 
                                                        
| 124 | 127 | return array ($data['progress'], 100);  | 
                                                        
| 125 | - } else  | 
                                                        |
| 126 | - return null;  | 
                                                        |
| 128 | +			} else { | 
                                                        |
| 129 | + return null;  | 
                                                        |
| 130 | + }  | 
                                                        |
| 127 | 131 |  		} else { | 
                                                        
| 128 | 132 | // all students -> get average  | 
                                                        
| 129 | 133 | $students = array(); // user list, needed to make sure we only  | 
                                                        
@@ -9,260 +9,260 @@  | 
                                                    ||
| 9 | 9 | */  | 
                                                        
| 10 | 10 | class LearnpathLink extends AbstractLink  | 
                                                        
| 11 | 11 |  { | 
                                                        
| 12 | - private $course_info = null;  | 
                                                        |
| 13 | - private $learnpath_table = null;  | 
                                                        |
| 14 | - private $learnpath_data = null;  | 
                                                        |
| 15 | -  | 
                                                        |
| 16 | - /**  | 
                                                        |
| 17 | - * Constructor  | 
                                                        |
| 18 | - */  | 
                                                        |
| 19 | - public function __construct()  | 
                                                        |
| 20 | -	{ | 
                                                        |
| 21 | - parent::__construct();  | 
                                                        |
| 22 | - $this->set_type(LINK_LEARNPATH);  | 
                                                        |
| 23 | - }  | 
                                                        |
| 24 | -  | 
                                                        |
| 25 | - /**  | 
                                                        |
| 26 | - * Generate an array of learnpaths that a teacher hasn't created a link for.  | 
                                                        |
| 27 | - * @return array 2-dimensional array - every element contains 2 subelements (id, name)  | 
                                                        |
| 28 | - */  | 
                                                        |
| 29 | - public function get_not_created_links()  | 
                                                        |
| 30 | -	{ | 
                                                        |
| 31 | - return false;  | 
                                                        |
| 32 | - if (empty($this->course_code))  | 
                                                        |
| 33 | -			die('Error in get_not_created_links() : course code not set'); | 
                                                        |
| 34 | -  | 
                                                        |
| 35 | - $tbl_grade_links = Database :: get_main_table(TABLE_MAIN_GRADEBOOK_LINK);  | 
                                                        |
| 36 | -  | 
                                                        |
| 37 | - $sql = 'SELECT id, name from '.$this->get_learnpath_table().' lp  | 
                                                        |
| 12 | + private $course_info = null;  | 
                                                        |
| 13 | + private $learnpath_table = null;  | 
                                                        |
| 14 | + private $learnpath_data = null;  | 
                                                        |
| 15 | +  | 
                                                        |
| 16 | + /**  | 
                                                        |
| 17 | + * Constructor  | 
                                                        |
| 18 | + */  | 
                                                        |
| 19 | + public function __construct()  | 
                                                        |
| 20 | +    { | 
                                                        |
| 21 | + parent::__construct();  | 
                                                        |
| 22 | + $this->set_type(LINK_LEARNPATH);  | 
                                                        |
| 23 | + }  | 
                                                        |
| 24 | +  | 
                                                        |
| 25 | + /**  | 
                                                        |
| 26 | + * Generate an array of learnpaths that a teacher hasn't created a link for.  | 
                                                        |
| 27 | + * @return array 2-dimensional array - every element contains 2 subelements (id, name)  | 
                                                        |
| 28 | + */  | 
                                                        |
| 29 | + public function get_not_created_links()  | 
                                                        |
| 30 | +    { | 
                                                        |
| 31 | + return false;  | 
                                                        |
| 32 | + if (empty($this->course_code))  | 
                                                        |
| 33 | +            die('Error in get_not_created_links() : course code not set'); | 
                                                        |
| 34 | +  | 
                                                        |
| 35 | + $tbl_grade_links = Database :: get_main_table(TABLE_MAIN_GRADEBOOK_LINK);  | 
                                                        |
| 36 | +  | 
                                                        |
| 37 | + $sql = 'SELECT id, name from '.$this->get_learnpath_table().' lp  | 
                                                        |
| 38 | 38 | WHERE c_id = '.$this->course_id.' AND id NOT IN '  | 
                                                        
| 39 | - .' (SELECT ref_id FROM '.$tbl_grade_links  | 
                                                        |
| 40 | - .' WHERE type = '.LINK_LEARNPATH  | 
                                                        |
| 41 | - ." AND course_code = '".$this->get_course_code()."'"  | 
                                                        |
| 42 | - .') AND lp.session_id='.api_get_session_id().'';  | 
                                                        |
| 43 | -  | 
                                                        |
| 44 | - $result = Database::query($sql);  | 
                                                        |
| 45 | -  | 
                                                        |
| 46 | - $cats=array();  | 
                                                        |
| 47 | -		while ($data=Database::fetch_array($result)) { | 
                                                        |
| 48 | - $cats[] = array ($data['id'], $data['name']);  | 
                                                        |
| 49 | - }  | 
                                                        |
| 50 | -  | 
                                                        |
| 51 | - return $cats;  | 
                                                        |
| 52 | - }  | 
                                                        |
| 53 | -  | 
                                                        |
| 54 | - /**  | 
                                                        |
| 55 | - * Generate an array of all learnpaths available.  | 
                                                        |
| 56 | - * @return array 2-dimensional array - every element contains 2 subelements (id, name)  | 
                                                        |
| 57 | - */  | 
                                                        |
| 58 | - public function get_all_links()  | 
                                                        |
| 59 | -	{ | 
                                                        |
| 60 | - if (empty($this->course_code))  | 
                                                        |
| 61 | -			die('Error in get_not_created_links() : course code not set'); | 
                                                        |
| 62 | -  | 
                                                        |
| 63 | - $session_id = api_get_session_id();  | 
                                                        |
| 64 | -		if (empty($session_id)) { | 
                                                        |
| 65 | - $session_condition = api_get_session_condition(0, true);  | 
                                                        |
| 66 | -		} else { | 
                                                        |
| 67 | - $session_condition = api_get_session_condition($session_id, true, true);  | 
                                                        |
| 68 | - }  | 
                                                        |
| 69 | -  | 
                                                        |
| 70 | - $sql = 'SELECT id, name FROM '.$this->get_learnpath_table().'  | 
                                                        |
| 39 | + .' (SELECT ref_id FROM '.$tbl_grade_links  | 
                                                        |
| 40 | + .' WHERE type = '.LINK_LEARNPATH  | 
                                                        |
| 41 | + ." AND course_code = '".$this->get_course_code()."'"  | 
                                                        |
| 42 | + .') AND lp.session_id='.api_get_session_id().'';  | 
                                                        |
| 43 | +  | 
                                                        |
| 44 | + $result = Database::query($sql);  | 
                                                        |
| 45 | +  | 
                                                        |
| 46 | + $cats=array();  | 
                                                        |
| 47 | +        while ($data=Database::fetch_array($result)) { | 
                                                        |
| 48 | + $cats[] = array ($data['id'], $data['name']);  | 
                                                        |
| 49 | + }  | 
                                                        |
| 50 | +  | 
                                                        |
| 51 | + return $cats;  | 
                                                        |
| 52 | + }  | 
                                                        |
| 53 | +  | 
                                                        |
| 54 | + /**  | 
                                                        |
| 55 | + * Generate an array of all learnpaths available.  | 
                                                        |
| 56 | + * @return array 2-dimensional array - every element contains 2 subelements (id, name)  | 
                                                        |
| 57 | + */  | 
                                                        |
| 58 | + public function get_all_links()  | 
                                                        |
| 59 | +    { | 
                                                        |
| 60 | + if (empty($this->course_code))  | 
                                                        |
| 61 | +            die('Error in get_not_created_links() : course code not set'); | 
                                                        |
| 62 | +  | 
                                                        |
| 63 | + $session_id = api_get_session_id();  | 
                                                        |
| 64 | +        if (empty($session_id)) { | 
                                                        |
| 65 | + $session_condition = api_get_session_condition(0, true);  | 
                                                        |
| 66 | +        } else { | 
                                                        |
| 67 | + $session_condition = api_get_session_condition($session_id, true, true);  | 
                                                        |
| 68 | + }  | 
                                                        |
| 69 | +  | 
                                                        |
| 70 | + $sql = 'SELECT id, name FROM '.$this->get_learnpath_table().'  | 
                                                        |
| 71 | 71 | WHERE c_id = '.$this->course_id.' '.$session_condition.' ';  | 
                                                        
| 72 | - $result = Database::query($sql);  | 
                                                        |
| 72 | + $result = Database::query($sql);  | 
                                                        |
| 73 | 73 | |
| 74 | - $cats = array();  | 
                                                        |
| 75 | -		while ($data=Database::fetch_array($result)) { | 
                                                        |
| 76 | - $cats[] = array ($data['id'], $data['name']);  | 
                                                        |
| 77 | - }  | 
                                                        |
| 74 | + $cats = array();  | 
                                                        |
| 75 | +        while ($data=Database::fetch_array($result)) { | 
                                                        |
| 76 | + $cats[] = array ($data['id'], $data['name']);  | 
                                                        |
| 77 | + }  | 
                                                        |
| 78 | 78 | |
| 79 | - return $cats;  | 
                                                        |
| 80 | - }  | 
                                                        |
| 79 | + return $cats;  | 
                                                        |
| 80 | + }  | 
                                                        |
| 81 | 81 | |
| 82 | 82 | |
| 83 | - /**  | 
                                                        |
| 84 | - * Has anyone used this learnpath yet ?  | 
                                                        |
| 85 | - */  | 
                                                        |
| 86 | - public function has_results()  | 
                                                        |
| 87 | -	{ | 
                                                        |
| 88 | - $tbl_stats = Database::get_course_table(TABLE_LP_VIEW);  | 
                                                        |
| 89 | - $sql = "SELECT count(id) AS number FROM $tbl_stats  | 
                                                        |
| 83 | + /**  | 
                                                        |
| 84 | + * Has anyone used this learnpath yet ?  | 
                                                        |
| 85 | + */  | 
                                                        |
| 86 | + public function has_results()  | 
                                                        |
| 87 | +    { | 
                                                        |
| 88 | + $tbl_stats = Database::get_course_table(TABLE_LP_VIEW);  | 
                                                        |
| 89 | + $sql = "SELECT count(id) AS number FROM $tbl_stats  | 
                                                        |
| 90 | 90 | WHERE c_id = ".$this->course_id." AND lp_id = ".$this->get_ref_id();  | 
                                                        
| 91 | - $result = Database::query($sql);  | 
                                                        |
| 92 | - $number = Database::fetch_array($result,'NUM');  | 
                                                        |
| 93 | - return ($number[0] != 0);  | 
                                                        |
| 94 | - }  | 
                                                        |
| 95 | -  | 
                                                        |
| 96 | - /**  | 
                                                        |
| 97 | - * Get the progress of this learnpath. Only the last attempt are taken into account.  | 
                                                        |
| 98 | - * @param $stud_id student id (default: all students who have results - then the average is returned)  | 
                                                        |
| 99 | - * @return array (score, max) if student is given  | 
                                                        |
| 100 | - * array (sum of scores, number of scores) otherwise  | 
                                                        |
| 101 | - * or null if no scores available  | 
                                                        |
| 102 | - */  | 
                                                        |
| 103 | - public function calc_score($stud_id = null, $type = null)  | 
                                                        |
| 104 | -	{ | 
                                                        |
| 105 | - $tbl_stats = Database::get_course_table(TABLE_LP_VIEW);  | 
                                                        |
| 106 | - $session_id = api_get_session_id();  | 
                                                        |
| 107 | -  | 
                                                        |
| 108 | - $sql = "SELECT * FROM $tbl_stats  | 
                                                        |
| 91 | + $result = Database::query($sql);  | 
                                                        |
| 92 | + $number = Database::fetch_array($result,'NUM');  | 
                                                        |
| 93 | + return ($number[0] != 0);  | 
                                                        |
| 94 | + }  | 
                                                        |
| 95 | +  | 
                                                        |
| 96 | + /**  | 
                                                        |
| 97 | + * Get the progress of this learnpath. Only the last attempt are taken into account.  | 
                                                        |
| 98 | + * @param $stud_id student id (default: all students who have results - then the average is returned)  | 
                                                        |
| 99 | + * @return array (score, max) if student is given  | 
                                                        |
| 100 | + * array (sum of scores, number of scores) otherwise  | 
                                                        |
| 101 | + * or null if no scores available  | 
                                                        |
| 102 | + */  | 
                                                        |
| 103 | + public function calc_score($stud_id = null, $type = null)  | 
                                                        |
| 104 | +    { | 
                                                        |
| 105 | + $tbl_stats = Database::get_course_table(TABLE_LP_VIEW);  | 
                                                        |
| 106 | + $session_id = api_get_session_id();  | 
                                                        |
| 107 | +  | 
                                                        |
| 108 | + $sql = "SELECT * FROM $tbl_stats  | 
                                                        |
| 109 | 109 | WHERE  | 
                                                        
| 110 | 110 | c_id = ".$this->course_id." AND  | 
                                                        
| 111 | 111 | lp_id = ".$this->get_ref_id()." AND  | 
                                                        
| 112 | 112 | session_id = $session_id ";  | 
                                                        
| 113 | 113 | |
| 114 | - if (isset($stud_id))  | 
                                                        |
| 115 | - $sql .= ' AND user_id = '.intval($stud_id);  | 
                                                        |
| 116 | -  | 
                                                        |
| 117 | - // order by id, that way the student's first attempt is accessed first  | 
                                                        |
| 118 | - $sql .= ' ORDER BY view_count DESC';  | 
                                                        |
| 119 | -  | 
                                                        |
| 120 | - $scores = Database::query($sql);  | 
                                                        |
| 121 | - // for 1 student  | 
                                                        |
| 122 | -		if (isset($stud_id)) { | 
                                                        |
| 123 | -			if ($data = Database::fetch_assoc($scores)) { | 
                                                        |
| 124 | - return array ($data['progress'], 100);  | 
                                                        |
| 125 | - } else  | 
                                                        |
| 126 | - return null;  | 
                                                        |
| 127 | -		} else { | 
                                                        |
| 128 | - // all students -> get average  | 
                                                        |
| 129 | - $students = array(); // user list, needed to make sure we only  | 
                                                        |
| 130 | - // take first attempts into account  | 
                                                        |
| 131 | - $rescount = 0;  | 
                                                        |
| 132 | - $sum = 0;  | 
                                                        |
| 133 | - $bestResult = 0;  | 
                                                        |
| 134 | - $sumResult = 0;  | 
                                                        |
| 135 | -			while ($data = Database::fetch_array($scores)) { | 
                                                        |
| 136 | -				if (!(array_key_exists($data['user_id'], $students))) { | 
                                                        |
| 137 | - $students[$data['user_id']] = $data['progress'];  | 
                                                        |
| 138 | - $rescount++;  | 
                                                        |
| 139 | - $sum += $data['progress'] / 100;  | 
                                                        |
| 140 | - $sumResult += $data['progress'];  | 
                                                        |
| 141 | -  | 
                                                        |
| 142 | -					if ($data['progress'] > $bestResult) { | 
                                                        |
| 143 | - $bestResult = $data['progress'];  | 
                                                        |
| 144 | - }  | 
                                                        |
| 145 | - }  | 
                                                        |
| 146 | - }  | 
                                                        |
| 147 | -  | 
                                                        |
| 148 | -			if ($rescount == 0) { | 
                                                        |
| 149 | - return null;  | 
                                                        |
| 150 | -			} else { | 
                                                        |
| 151 | -  | 
                                                        |
| 152 | -				switch ($type) { | 
                                                        |
| 153 | - case 'best':  | 
                                                        |
| 154 | - return array($bestResult, 100);  | 
                                                        |
| 155 | - break;  | 
                                                        |
| 156 | - case 'average':  | 
                                                        |
| 157 | - return array($sumResult/$rescount, 100);  | 
                                                        |
| 158 | - break;  | 
                                                        |
| 159 | - case 'ranking':  | 
                                                        |
| 160 | - return AbstractLink::getCurrentUserRanking($stud_id, $students);  | 
                                                        |
| 161 | - break;  | 
                                                        |
| 162 | - default:  | 
                                                        |
| 163 | - return array($sum, $rescount);  | 
                                                        |
| 164 | - break;  | 
                                                        |
| 165 | - }  | 
                                                        |
| 166 | - }  | 
                                                        |
| 167 | - }  | 
                                                        |
| 168 | - }  | 
                                                        |
| 169 | -  | 
                                                        |
| 170 | - /**  | 
                                                        |
| 171 | - * Get URL where to go to if the user clicks on the link.  | 
                                                        |
| 172 | - */  | 
                                                        |
| 173 | - public function get_link()  | 
                                                        |
| 174 | -	{ | 
                                                        |
| 175 | - $url = api_get_path(WEB_PATH).'main/newscorm/lp_controller.php?cidReq='.$this->get_course_code().'&gradebook=view';  | 
                                                        |
| 176 | - $session_id = api_get_session_id();  | 
                                                        |
| 177 | -		if (!api_is_allowed_to_edit() || $this->calc_score(api_get_user_id()) == null) { | 
                                                        |
| 178 | - $url .= '&action=view&session_id='.$session_id.'&lp_id='.$this->get_ref_id();  | 
                                                        |
| 179 | -		} else { | 
                                                        |
| 180 | - $url .= '&action=build&session_id='.$session_id.'&lp_id='.$this->get_ref_id();  | 
                                                        |
| 181 | - }  | 
                                                        |
| 182 | - return $url;  | 
                                                        |
| 183 | - }  | 
                                                        |
| 184 | -  | 
                                                        |
| 185 | - /**  | 
                                                        |
| 186 | - * Get name to display: same as learnpath title  | 
                                                        |
| 187 | - */  | 
                                                        |
| 188 | - public function get_name()  | 
                                                        |
| 189 | -	{ | 
                                                        |
| 190 | - $data = $this->get_learnpath_data();  | 
                                                        |
| 191 | - return $data['name'];  | 
                                                        |
| 192 | - }  | 
                                                        |
| 193 | -  | 
                                                        |
| 194 | - /**  | 
                                                        |
| 195 | - * Get description to display: same as learnpath description  | 
                                                        |
| 196 | - */  | 
                                                        |
| 197 | - public function get_description()  | 
                                                        |
| 198 | -	{ | 
                                                        |
| 199 | - $data = $this->get_learnpath_data();  | 
                                                        |
| 200 | - return $data['description'];  | 
                                                        |
| 201 | - }  | 
                                                        |
| 202 | -  | 
                                                        |
| 203 | - /**  | 
                                                        |
| 204 | - * Check if this still links to a learnpath  | 
                                                        |
| 205 | - */  | 
                                                        |
| 206 | -	public function is_valid_link() { | 
                                                        |
| 207 | - $sql = 'SELECT count(id) FROM '.$this->get_learnpath_table().'  | 
                                                        |
| 114 | + if (isset($stud_id))  | 
                                                        |
| 115 | + $sql .= ' AND user_id = '.intval($stud_id);  | 
                                                        |
| 116 | +  | 
                                                        |
| 117 | + // order by id, that way the student's first attempt is accessed first  | 
                                                        |
| 118 | + $sql .= ' ORDER BY view_count DESC';  | 
                                                        |
| 119 | +  | 
                                                        |
| 120 | + $scores = Database::query($sql);  | 
                                                        |
| 121 | + // for 1 student  | 
                                                        |
| 122 | +        if (isset($stud_id)) { | 
                                                        |
| 123 | +            if ($data = Database::fetch_assoc($scores)) { | 
                                                        |
| 124 | + return array ($data['progress'], 100);  | 
                                                        |
| 125 | + } else  | 
                                                        |
| 126 | + return null;  | 
                                                        |
| 127 | +        } else { | 
                                                        |
| 128 | + // all students -> get average  | 
                                                        |
| 129 | + $students = array(); // user list, needed to make sure we only  | 
                                                        |
| 130 | + // take first attempts into account  | 
                                                        |
| 131 | + $rescount = 0;  | 
                                                        |
| 132 | + $sum = 0;  | 
                                                        |
| 133 | + $bestResult = 0;  | 
                                                        |
| 134 | + $sumResult = 0;  | 
                                                        |
| 135 | +            while ($data = Database::fetch_array($scores)) { | 
                                                        |
| 136 | +                if (!(array_key_exists($data['user_id'], $students))) { | 
                                                        |
| 137 | + $students[$data['user_id']] = $data['progress'];  | 
                                                        |
| 138 | + $rescount++;  | 
                                                        |
| 139 | + $sum += $data['progress'] / 100;  | 
                                                        |
| 140 | + $sumResult += $data['progress'];  | 
                                                        |
| 141 | +  | 
                                                        |
| 142 | +                    if ($data['progress'] > $bestResult) { | 
                                                        |
| 143 | + $bestResult = $data['progress'];  | 
                                                        |
| 144 | + }  | 
                                                        |
| 145 | + }  | 
                                                        |
| 146 | + }  | 
                                                        |
| 147 | +  | 
                                                        |
| 148 | +            if ($rescount == 0) { | 
                                                        |
| 149 | + return null;  | 
                                                        |
| 150 | +            } else { | 
                                                        |
| 151 | +  | 
                                                        |
| 152 | +                switch ($type) { | 
                                                        |
| 153 | + case 'best':  | 
                                                        |
| 154 | + return array($bestResult, 100);  | 
                                                        |
| 155 | + break;  | 
                                                        |
| 156 | + case 'average':  | 
                                                        |
| 157 | + return array($sumResult/$rescount, 100);  | 
                                                        |
| 158 | + break;  | 
                                                        |
| 159 | + case 'ranking':  | 
                                                        |
| 160 | + return AbstractLink::getCurrentUserRanking($stud_id, $students);  | 
                                                        |
| 161 | + break;  | 
                                                        |
| 162 | + default:  | 
                                                        |
| 163 | + return array($sum, $rescount);  | 
                                                        |
| 164 | + break;  | 
                                                        |
| 165 | + }  | 
                                                        |
| 166 | + }  | 
                                                        |
| 167 | + }  | 
                                                        |
| 168 | + }  | 
                                                        |
| 169 | +  | 
                                                        |
| 170 | + /**  | 
                                                        |
| 171 | + * Get URL where to go to if the user clicks on the link.  | 
                                                        |
| 172 | + */  | 
                                                        |
| 173 | + public function get_link()  | 
                                                        |
| 174 | +    { | 
                                                        |
| 175 | + $url = api_get_path(WEB_PATH).'main/newscorm/lp_controller.php?cidReq='.$this->get_course_code().'&gradebook=view';  | 
                                                        |
| 176 | + $session_id = api_get_session_id();  | 
                                                        |
| 177 | +        if (!api_is_allowed_to_edit() || $this->calc_score(api_get_user_id()) == null) { | 
                                                        |
| 178 | + $url .= '&action=view&session_id='.$session_id.'&lp_id='.$this->get_ref_id();  | 
                                                        |
| 179 | +        } else { | 
                                                        |
| 180 | + $url .= '&action=build&session_id='.$session_id.'&lp_id='.$this->get_ref_id();  | 
                                                        |
| 181 | + }  | 
                                                        |
| 182 | + return $url;  | 
                                                        |
| 183 | + }  | 
                                                        |
| 184 | +  | 
                                                        |
| 185 | + /**  | 
                                                        |
| 186 | + * Get name to display: same as learnpath title  | 
                                                        |
| 187 | + */  | 
                                                        |
| 188 | + public function get_name()  | 
                                                        |
| 189 | +    { | 
                                                        |
| 190 | + $data = $this->get_learnpath_data();  | 
                                                        |
| 191 | + return $data['name'];  | 
                                                        |
| 192 | + }  | 
                                                        |
| 193 | +  | 
                                                        |
| 194 | + /**  | 
                                                        |
| 195 | + * Get description to display: same as learnpath description  | 
                                                        |
| 196 | + */  | 
                                                        |
| 197 | + public function get_description()  | 
                                                        |
| 198 | +    { | 
                                                        |
| 199 | + $data = $this->get_learnpath_data();  | 
                                                        |
| 200 | + return $data['description'];  | 
                                                        |
| 201 | + }  | 
                                                        |
| 202 | +  | 
                                                        |
| 203 | + /**  | 
                                                        |
| 204 | + * Check if this still links to a learnpath  | 
                                                        |
| 205 | + */  | 
                                                        |
| 206 | +    public function is_valid_link() { | 
                                                        |
| 207 | + $sql = 'SELECT count(id) FROM '.$this->get_learnpath_table().'  | 
                                                        |
| 208 | 208 | WHERE c_id = '.$this->course_id.' AND id = '.$this->get_ref_id().' ';  | 
                                                        
| 209 | - $result = Database::query($sql);  | 
                                                        |
| 210 | - $number = Database::fetch_row($result,'NUM');  | 
                                                        |
| 211 | - return ($number[0] != 0);  | 
                                                        |
| 212 | - }  | 
                                                        |
| 213 | -  | 
                                                        |
| 214 | - public function get_type_name()  | 
                                                        |
| 215 | -	{ | 
                                                        |
| 216 | -		return get_lang('LearningPaths'); | 
                                                        |
| 217 | - }  | 
                                                        |
| 218 | -  | 
                                                        |
| 219 | - public function needs_name_and_description()  | 
                                                        |
| 220 | -	{ | 
                                                        |
| 221 | - return false;  | 
                                                        |
| 222 | - }  | 
                                                        |
| 223 | -  | 
                                                        |
| 224 | - public function needs_max()  | 
                                                        |
| 225 | -	{ | 
                                                        |
| 226 | - return false;  | 
                                                        |
| 227 | - }  | 
                                                        |
| 228 | -  | 
                                                        |
| 229 | - public function needs_results()  | 
                                                        |
| 230 | -	{ | 
                                                        |
| 231 | - return false;  | 
                                                        |
| 232 | - }  | 
                                                        |
| 233 | -  | 
                                                        |
| 234 | - public function is_allowed_to_change_name()  | 
                                                        |
| 235 | -	{ | 
                                                        |
| 236 | - return false;  | 
                                                        |
| 237 | - }  | 
                                                        |
| 238 | -  | 
                                                        |
| 239 | - // INTERNAL FUNCTIONS  | 
                                                        |
| 240 | -  | 
                                                        |
| 241 | - /**  | 
                                                        |
| 242 | - * Lazy load function to get the database table of the learnpath  | 
                                                        |
| 243 | - */  | 
                                                        |
| 244 | - private function get_learnpath_table()  | 
                                                        |
| 245 | -	{ | 
                                                        |
| 246 | - $this->learnpath_table = Database :: get_course_table(TABLE_LP_MAIN);  | 
                                                        |
| 247 | - return $this->learnpath_table;  | 
                                                        |
| 248 | - }  | 
                                                        |
| 249 | -  | 
                                                        |
| 250 | - /**  | 
                                                        |
| 251 | - * Lazy load function to get the database contents of this learnpath  | 
                                                        |
| 252 | - */  | 
                                                        |
| 253 | - private function get_learnpath_data()  | 
                                                        |
| 254 | -	{ | 
                                                        |
| 255 | -		if (!isset($this->learnpath_data)) { | 
                                                        |
| 256 | - $sql = 'SELECT * FROM '.$this->get_learnpath_table().'  | 
                                                        |
| 209 | + $result = Database::query($sql);  | 
                                                        |
| 210 | + $number = Database::fetch_row($result,'NUM');  | 
                                                        |
| 211 | + return ($number[0] != 0);  | 
                                                        |
| 212 | + }  | 
                                                        |
| 213 | +  | 
                                                        |
| 214 | + public function get_type_name()  | 
                                                        |
| 215 | +    { | 
                                                        |
| 216 | +        return get_lang('LearningPaths'); | 
                                                        |
| 217 | + }  | 
                                                        |
| 218 | +  | 
                                                        |
| 219 | + public function needs_name_and_description()  | 
                                                        |
| 220 | +    { | 
                                                        |
| 221 | + return false;  | 
                                                        |
| 222 | + }  | 
                                                        |
| 223 | +  | 
                                                        |
| 224 | + public function needs_max()  | 
                                                        |
| 225 | +    { | 
                                                        |
| 226 | + return false;  | 
                                                        |
| 227 | + }  | 
                                                        |
| 228 | +  | 
                                                        |
| 229 | + public function needs_results()  | 
                                                        |
| 230 | +    { | 
                                                        |
| 231 | + return false;  | 
                                                        |
| 232 | + }  | 
                                                        |
| 233 | +  | 
                                                        |
| 234 | + public function is_allowed_to_change_name()  | 
                                                        |
| 235 | +    { | 
                                                        |
| 236 | + return false;  | 
                                                        |
| 237 | + }  | 
                                                        |
| 238 | +  | 
                                                        |
| 239 | + // INTERNAL FUNCTIONS  | 
                                                        |
| 240 | +  | 
                                                        |
| 241 | + /**  | 
                                                        |
| 242 | + * Lazy load function to get the database table of the learnpath  | 
                                                        |
| 243 | + */  | 
                                                        |
| 244 | + private function get_learnpath_table()  | 
                                                        |
| 245 | +    { | 
                                                        |
| 246 | + $this->learnpath_table = Database :: get_course_table(TABLE_LP_MAIN);  | 
                                                        |
| 247 | + return $this->learnpath_table;  | 
                                                        |
| 248 | + }  | 
                                                        |
| 249 | +  | 
                                                        |
| 250 | + /**  | 
                                                        |
| 251 | + * Lazy load function to get the database contents of this learnpath  | 
                                                        |
| 252 | + */  | 
                                                        |
| 253 | + private function get_learnpath_data()  | 
                                                        |
| 254 | +    { | 
                                                        |
| 255 | +        if (!isset($this->learnpath_data)) { | 
                                                        |
| 256 | + $sql = 'SELECT * FROM '.$this->get_learnpath_table().'  | 
                                                        |
| 257 | 257 | WHERE c_id = '.$this->course_id.' AND id = '.$this->get_ref_id().' ';  | 
                                                        
| 258 | - $result = Database::query($sql);  | 
                                                        |
| 259 | - $this->learnpath_data = Database::fetch_array($result);  | 
                                                        |
| 260 | - }  | 
                                                        |
| 261 | - return $this->learnpath_data;  | 
                                                        |
| 262 | - }  | 
                                                        |
| 263 | -  | 
                                                        |
| 264 | - public function get_icon_name()  | 
                                                        |
| 265 | -	{ | 
                                                        |
| 266 | - return 'learnpath';  | 
                                                        |
| 267 | - }  | 
                                                        |
| 258 | + $result = Database::query($sql);  | 
                                                        |
| 259 | + $this->learnpath_data = Database::fetch_array($result);  | 
                                                        |
| 260 | + }  | 
                                                        |
| 261 | + return $this->learnpath_data;  | 
                                                        |
| 262 | + }  | 
                                                        |
| 263 | +  | 
                                                        |
| 264 | + public function get_icon_name()  | 
                                                        |
| 265 | +    { | 
                                                        |
| 266 | + return 'learnpath';  | 
                                                        |
| 267 | + }  | 
                                                        |
| 268 | 268 | }  | 
                                                        
@@ -32,6 +32,8 @@ discard block  | 
                                                    ||
| 32 | 32 | * @param array $evals  | 
                                                        
| 33 | 33 | * @param array $links  | 
                                                        
| 34 | 34 | * @param null $addparams  | 
                                                        
| 35 | + * @param boolean $showTeacherView  | 
                                                        |
| 36 | + * @param integer $userId  | 
                                                        |
| 35 | 37 | */  | 
                                                        
| 36 | 38 | public function __construct(  | 
                                                        
| 37 | 39 | $currentcat,  | 
                                                        
@@ -895,7 +897,7 @@ discard block  | 
                                                    ||
| 895 | 897 | |
| 896 | 898 | /**  | 
                                                        
| 897 | 899 | * @param $item  | 
                                                        
| 898 | - * @return mixed  | 
                                                        |
| 900 | + * @return string|null  | 
                                                        |
| 899 | 901 | */  | 
                                                        
| 900 | 902 | private function build_course_code($item)  | 
                                                        
| 901 | 903 |      { | 
                                                        
@@ -71,7 +71,7 @@ discard block  | 
                                                    ||
| 71 | 71 | $this->set_additional_parameters($addparams);  | 
                                                        
| 72 | 72 | }  | 
                                                        
| 73 | 73 | |
| 74 | - $column= 0;  | 
                                                        |
| 74 | + $column = 0;  | 
                                                        |
| 75 | 75 |          if ($this->teacherView) { | 
                                                        
| 76 | 76 |              if ($this->exportToPdf == false) { | 
                                                        
| 77 | 77 | $this->set_header($column++, '', '', 'width="25px"');  | 
                                                        
@@ -283,13 +283,13 @@ discard block  | 
                                                    ||
| 283 | 283 | $main_categories[$item->get_id()]['name'] = $item->get_name();  | 
                                                        
| 284 | 284 |              } else { | 
                                                        
| 285 | 285 | $name = $this->build_name_link($item, $type);  | 
                                                        
| 286 | - $row[] = $invisibility_span_open.$name. $invisibility_span_close;  | 
                                                        |
| 286 | + $row[] = $invisibility_span_open.$name.$invisibility_span_close;  | 
                                                        |
| 287 | 287 | $main_categories[$item->get_id()]['name'] = $name;  | 
                                                        
| 288 | 288 | }  | 
                                                        
| 289 | 289 | |
| 290 | 290 | $this->dataForGraph['categories'][] = $item->get_name();  | 
                                                        
| 291 | 291 | |
| 292 | - $main_categories[$item->get_id()]['weight']= $item->get_weight();  | 
                                                        |
| 292 | + $main_categories[$item->get_id()]['weight'] = $item->get_weight();  | 
                                                        |
| 293 | 293 | $total_categories_weight += $item->get_weight();  | 
                                                        
| 294 | 294 | |
| 295 | 295 | // Description.  | 
                                                        
@@ -309,9 +309,9 @@ discard block  | 
                                                    ||
| 309 | 309 | );  | 
                                                        
| 310 | 310 | |
| 311 | 311 |              if ($this->teacherView) { | 
                                                        
| 312 | -                $row[] = $invisibility_span_open .Display::tag('p', $weight, array('class' => 'score')).$invisibility_span_close; | 
                                                        |
| 312 | +                $row[] = $invisibility_span_open.Display::tag('p', $weight, array('class' => 'score')).$invisibility_span_close; | 
                                                        |
| 313 | 313 |              } else { | 
                                                        
| 314 | - $row[] = $invisibility_span_open .$weight.$invisibility_span_close;  | 
                                                        |
| 314 | + $row[] = $invisibility_span_open.$weight.$invisibility_span_close;  | 
                                                        |
| 315 | 315 | }  | 
                                                        
| 316 | 316 | |
| 317 | 317 | $category_weight = $item->get_weight();  | 
                                                        
@@ -337,7 +337,7 @@ discard block  | 
                                                    ||
| 337 | 337 | |
| 338 | 338 |                  if (!empty($score[1])) { | 
                                                        
| 339 | 339 | $completeScore = $scoredisplay->display_score($score, SCORE_DIV_PERCENT);  | 
                                                        
| 340 | - $score = $score[0]/$score[1]*$item->get_weight();  | 
                                                        |
| 340 | + $score = $score[0] / $score[1] * $item->get_weight();  | 
                                                        |
| 341 | 341 | $score = $scoredisplay->display_score(array($score, null), SCORE_SIMPLE);  | 
                                                        
| 342 | 342 | $scoreToDisplay = Display::tip($score, $completeScore);  | 
                                                        
| 343 | 343 |                  } else { | 
                                                        
@@ -373,7 +373,7 @@ discard block  | 
                                                    ||
| 373 | 373 | $totalResultAverageValue = strip_tags($scoredisplay->display_score($totalResult, SCORE_AVERAGE));  | 
                                                        
| 374 | 374 |                      $this->dataForGraph['my_result'][] = (float) str_replace('%', '', $totalResultAverageValue); | 
                                                        
| 375 | 375 | $totalAverageValue = strip_tags($scoredisplay->display_score($totalAverage, SCORE_AVERAGE));  | 
                                                        
| 376 | -                    $this->dataForGraph['average'][] =  (float) str_replace('%', '', $totalAverageValue); | 
                                                        |
| 376 | +                    $this->dataForGraph['average'][] = (float) str_replace('%', '', $totalAverageValue); | 
                                                        |
| 377 | 377 | // Ranking  | 
                                                        
| 378 | 378 | $row[] = $ranking;  | 
                                                        
| 379 | 379 | // Best  | 
                                                        
@@ -456,7 +456,7 @@ discard block  | 
                                                    ||
| 456 | 456 |                          $row[] = $this->build_type_column($item, array('style' => 'padding-left:5px')); | 
                                                        
| 457 | 457 | |
| 458 | 458 | // Name.  | 
                                                        
| 459 | - $row[] = $invisibility_span_open."    ".$this->build_name_link($item, $type) . $invisibility_span_close;  | 
                                                        |
| 459 | + $row[] = $invisibility_span_open."    ".$this->build_name_link($item, $type).$invisibility_span_close;  | 
                                                        |
| 460 | 460 | |
| 461 | 461 | // Description.  | 
                                                        
| 462 | 462 |                          if ($this->exportToPdf == false) { | 
                                                        
@@ -494,7 +494,7 @@ discard block  | 
                                                    ||
| 494 | 494 | // Students get the results and certificates columns  | 
                                                        
| 495 | 495 | $eval_n_links = array_merge($alleval, $alllink);  | 
                                                        
| 496 | 496 | |
| 497 | -                            if (count($eval_n_links)> 0) { | 
                                                        |
| 497 | +                            if (count($eval_n_links) > 0) { | 
                                                        |
| 498 | 498 | $value_data = isset($data[4]) ? $data[4] : null;  | 
                                                        
| 499 | 499 | |
| 500 | 500 |                                  if (!is_null($value_data)) { | 
                                                        
@@ -593,7 +593,7 @@ discard block  | 
                                                    ||
| 593 | 593 | $row = array(  | 
                                                        
| 594 | 594 | null,  | 
                                                        
| 595 | 595 | null,  | 
                                                        
| 596 | -                    '<strong>' . get_lang('Total') . '</strong>', | 
                                                        |
| 596 | +                    '<strong>'.get_lang('Total').'</strong>', | 
                                                        |
| 597 | 597 | null,  | 
                                                        
| 598 | 598 | $total  | 
                                                        
| 599 | 599 | );  | 
                                                        
@@ -663,7 +663,7 @@ discard block  | 
                                                    ||
| 663 | 663 |                  if ($this->exportToPdf) { | 
                                                        
| 664 | 664 | $row = array(  | 
                                                        
| 665 | 665 | null,  | 
                                                        
| 666 | -                        '<h3>' . get_lang('Total') . '</h3>', | 
                                                        |
| 666 | +                        '<h3>'.get_lang('Total').'</h3>', | 
                                                        |
| 667 | 667 | $main_weight,  | 
                                                        
| 668 | 668 | $totalResult,  | 
                                                        
| 669 | 669 | $totalRanking,  | 
                                                        
@@ -673,7 +673,7 @@ discard block  | 
                                                    ||
| 673 | 673 |                  } else { | 
                                                        
| 674 | 674 | $row = array(  | 
                                                        
| 675 | 675 | null,  | 
                                                        
| 676 | -                        '<h3>' . get_lang('Total') . '</h3>', | 
                                                        |
| 676 | +                        '<h3>'.get_lang('Total').'</h3>', | 
                                                        |
| 677 | 677 | null,  | 
                                                        
| 678 | 678 | $main_weight,  | 
                                                        
| 679 | 679 | $totalResult,  | 
                                                        
@@ -688,7 +688,7 @@ discard block  | 
                                                    ||
| 688 | 688 | }  | 
                                                        
| 689 | 689 | |
| 690 | 690 | // Warning messages  | 
                                                        
| 691 | - $view = isset($_GET['view']) ? $_GET['view']: null;  | 
                                                        |
| 691 | + $view = isset($_GET['view']) ? $_GET['view'] : null;  | 
                                                        |
| 692 | 692 | |
| 693 | 693 |          if ($this->teacherView) { | 
                                                        
| 694 | 694 | if (isset($_GET['selectcat']) &&  | 
                                                        
@@ -701,14 +701,14 @@ discard block  | 
                                                    ||
| 701 | 701 | $weight_category = intval($this->build_weight($category[0]));  | 
                                                        
| 702 | 702 | |
| 703 | 703 | $course_code = $this->build_course_code($category[0]);  | 
                                                        
| 704 | - $weight_total_links = round($weight_total_links);  | 
                                                        |
| 704 | + $weight_total_links = round($weight_total_links);  | 
                                                        |
| 705 | 705 | |
| 706 | 706 | if ($weight_total_links > $weight_category ||  | 
                                                        
| 707 | 707 | $weight_total_links < $weight_category ||  | 
                                                        
| 708 | 708 | $weight_total_links > $weight_category  | 
                                                        
| 709 | 709 |                  ) { | 
                                                        
| 710 | 710 |                      $warning_message = sprintf(get_lang('TotalWeightMustBeX'), $weight_category); | 
                                                        
| 711 | - $modify_icons = '<a href="gradebook_edit_cat.php?editcat='.$id_cat.'&cidReq='.$course_code.'&id_session='.api_get_session_id().'">'.  | 
                                                        |
| 711 | + $modify_icons = '<a href="gradebook_edit_cat.php?editcat='.$id_cat.'&cidReq='.$course_code.'&id_session='.api_get_session_id().'">'.  | 
                                                        |
| 712 | 712 |                          Display::return_icon('edit.png', $warning_message, array(), ICON_SIZE_SMALL).'</a>'; | 
                                                        
| 713 | 713 | $warning_message .= $modify_icons;  | 
                                                        
| 714 | 714 | Display::display_warning_message($warning_message, false);  | 
                                                        
@@ -721,7 +721,7 @@ discard block  | 
                                                    ||
| 721 | 721 | );  | 
                                                        
| 722 | 722 | |
| 723 | 723 |                  if (!empty($content_html)) { | 
                                                        
| 724 | -                    $new_content = explode('</head>',$content_html['content']); | 
                                                        |
| 724 | +                    $new_content = explode('</head>', $content_html['content']); | 
                                                        |
| 725 | 725 | }  | 
                                                        
| 726 | 726 | |
| 727 | 727 |                  if (empty($new_content[0])) { | 
                                                        
@@ -755,7 +755,7 @@ discard block  | 
                                                    ||
| 755 | 755 | is_array($course_codes)  | 
                                                        
| 756 | 756 |                  ) { | 
                                                        
| 757 | 757 | $warning_message = '';  | 
                                                        
| 758 | -                    for ($x = 0; $x<count($weight_categories);$x++) { | 
                                                        |
| 758 | +                    for ($x = 0; $x < count($weight_categories); $x++) { | 
                                                        |
| 759 | 759 | $weight_category = intval($weight_categories[$x]);  | 
                                                        
| 760 | 760 | $certificate_min_score = intval($certificate_min_scores[$x]);  | 
                                                        
| 761 | 761 | $course_code = $course_codes[$x];  | 
                                                        
@@ -763,12 +763,12 @@ discard block  | 
                                                    ||
| 763 | 763 | if (empty($certificate_min_score) ||  | 
                                                        
| 764 | 764 | ($certificate_min_score > $weight_category)  | 
                                                        
| 765 | 765 |                          ) { | 
                                                        
| 766 | -                            $warning_message .= $course_code .' - '.get_lang('CertificateMinimunScoreIsRequiredAndMustNotBeMoreThan').' '.$weight_category.'<br />'; | 
                                                        |
| 766 | +                            $warning_message .= $course_code.' - '.get_lang('CertificateMinimunScoreIsRequiredAndMustNotBeMoreThan').' '.$weight_category.'<br />'; | 
                                                        |
| 767 | 767 | }  | 
                                                        
| 768 | 768 | }  | 
                                                        
| 769 | 769 | |
| 770 | 770 |                      if (!empty($warning_message)) { | 
                                                        
| 771 | - Display::display_warning_message($warning_message,false);  | 
                                                        |
| 771 | + Display::display_warning_message($warning_message, false);  | 
                                                        |
| 772 | 772 | }  | 
                                                        
| 773 | 773 | }  | 
                                                        
| 774 | 774 | }  | 
                                                        
@@ -812,15 +812,15 @@ discard block  | 
                                                    ||
| 812 | 812 | $pChart->Antialias = FALSE;  | 
                                                        
| 813 | 813 | |
| 814 | 814 | /* Add a border to the picture */  | 
                                                        
| 815 | -            $pChart->drawRectangle(0,0,$xSize-10,$ySize-10,array("R"=>0,"G"=>0,"B"=>0)); | 
                                                        |
| 815 | +            $pChart->drawRectangle(0, 0, $xSize - 10, $ySize - 10, array("R"=>0, "G"=>0, "B"=>0)); | 
                                                        |
| 816 | 816 | |
| 817 | -            $pChart->drawText(10,16,get_lang('Results'),array("FontSize"=>11,"Align"=>TEXT_ALIGN_BOTTOMLEFT)); | 
                                                        |
| 817 | +            $pChart->drawText(10, 16, get_lang('Results'), array("FontSize"=>11, "Align"=>TEXT_ALIGN_BOTTOMLEFT)); | 
                                                        |
| 818 | 818 | |
| 819 | - $pChart->setGraphArea(50, 30, $xSize-50, $ySize-50);  | 
                                                        |
| 819 | + $pChart->setGraphArea(50, 30, $xSize - 50, $ySize - 50);  | 
                                                        |
| 820 | 820 | |
| 821 | 821 | $pChart->setFontProperties(  | 
                                                        
| 822 | 822 | array(  | 
                                                        
| 823 | - 'FontName' => api_get_path(SYS_FONTS_PATH) . 'opensans/OpenSans-Regular.ttf',  | 
                                                        |
| 823 | + 'FontName' => api_get_path(SYS_FONTS_PATH).'opensans/OpenSans-Regular.ttf',  | 
                                                        |
| 824 | 824 | 'FontSize' => 10,  | 
                                                        
| 825 | 825 | )  | 
                                                        
| 826 | 826 | );  | 
                                                        
@@ -840,7 +840,7 @@ discard block  | 
                                                    ||
| 840 | 840 | |
| 841 | 841 | /* Draw the line chart */  | 
                                                        
| 842 | 842 | $pChart->drawLineChart();  | 
                                                        
| 843 | -            $pChart->drawPlotChart(array("DisplayValues"=>TRUE,"PlotBorder"=>TRUE,"BorderSize"=>2,"Surrounding"=>-60,"BorderAlpha"=>80)); | 
                                                        |
| 843 | +            $pChart->drawPlotChart(array("DisplayValues"=>TRUE, "PlotBorder"=>TRUE, "BorderSize"=>2, "Surrounding"=>-60, "BorderAlpha"=>80)); | 
                                                        |
| 844 | 844 | |
| 845 | 845 | /* Write the chart legend */  | 
                                                        
| 846 | 846 | $pChart->drawLegend(  | 
                                                        
@@ -860,13 +860,13 @@ discard block  | 
                                                    ||
| 860 | 860 | $chartHash = $myCache->getHash($dataSet);  | 
                                                        
| 861 | 861 | |
| 862 | 862 | $myCache->writeToCache($chartHash, $pChart);  | 
                                                        
| 863 | - $imgSysPath = api_get_path(SYS_ARCHIVE_PATH) . $chartHash;  | 
                                                        |
| 863 | + $imgSysPath = api_get_path(SYS_ARCHIVE_PATH).$chartHash;  | 
                                                        |
| 864 | 864 | $myCache->saveFromCache($chartHash, $imgSysPath);  | 
                                                        
| 865 | - $imgWebPath = api_get_path(WEB_ARCHIVE_PATH) . $chartHash;  | 
                                                        |
| 865 | + $imgWebPath = api_get_path(WEB_ARCHIVE_PATH).$chartHash;  | 
                                                        |
| 866 | 866 | |
| 867 | 867 |              if (file_exists($imgSysPath)) { | 
                                                        
| 868 | 868 | $result = '<div id="contentArea" style="text-align: center;" >';  | 
                                                        
| 869 | - $result .= '<img src="' . $imgWebPath.'" >';  | 
                                                        |
| 869 | + $result .= '<img src="'.$imgWebPath.'" >';  | 
                                                        |
| 870 | 870 | $result .= '</div>';  | 
                                                        
| 871 | 871 | return $result;  | 
                                                        
| 872 | 872 | }  | 
                                                        
@@ -911,13 +911,13 @@ discard block  | 
                                                    ||
| 911 | 911 |          switch ($item->get_item_type()) { | 
                                                        
| 912 | 912 | // category  | 
                                                        
| 913 | 913 | case 'C' :  | 
                                                        
| 914 | - return 'CATE' . $item->get_id();  | 
                                                        |
| 914 | + return 'CATE'.$item->get_id();  | 
                                                        |
| 915 | 915 | // evaluation  | 
                                                        
| 916 | 916 | case 'E' :  | 
                                                        
| 917 | - return 'EVAL' . $item->get_id();  | 
                                                        |
| 917 | + return 'EVAL'.$item->get_id();  | 
                                                        |
| 918 | 918 | // link  | 
                                                        
| 919 | 919 | case 'L' :  | 
                                                        
| 920 | - return 'LINK' . $item->get_id();  | 
                                                        |
| 920 | + return 'LINK'.$item->get_id();  | 
                                                        |
| 921 | 921 | }  | 
                                                        
| 922 | 922 | }  | 
                                                        
| 923 | 923 | |
@@ -945,20 +945,20 @@ discard block  | 
                                                    ||
| 945 | 945 |          switch ($item->get_item_type()) { | 
                                                        
| 946 | 946 | // category  | 
                                                        
| 947 | 947 | case 'C' :  | 
                                                        
| 948 | - $prms_uri='?selectcat=' . $item->get_id() . '&view='.$view;  | 
                                                        |
| 948 | + $prms_uri = '?selectcat='.$item->get_id().'&view='.$view;  | 
                                                        |
| 949 | 949 | |
| 950 | 950 |                  if (isset($_GET['isStudentView'])) { | 
                                                        
| 951 | -                    if ( isset($is_student) || ( isset($_SESSION['studentview']) && $_SESSION['studentview']=='studentview') ) { | 
                                                        |
| 952 | - $prms_uri=$prms_uri.'&isStudentView='.Security::remove_XSS($_GET['isStudentView']);  | 
                                                        |
| 951 | +                    if (isset($is_student) || (isset($_SESSION['studentview']) && $_SESSION['studentview'] == 'studentview')) { | 
                                                        |
| 952 | + $prms_uri = $prms_uri.'&isStudentView='.Security::remove_XSS($_GET['isStudentView']);  | 
                                                        |
| 953 | 953 | }  | 
                                                        
| 954 | 954 | }  | 
                                                        
| 955 | 955 | |
| 956 | 956 | $cat = new Category();  | 
                                                        
| 957 | - $show_message=$cat->show_message_resource_delete($item->get_course_code());  | 
                                                        |
| 957 | + $show_message = $cat->show_message_resource_delete($item->get_course_code());  | 
                                                        |
| 958 | 958 | return ' <a href="'.Security::remove_XSS($_SESSION['gradebook_dest']).$prms_uri.'">'  | 
                                                        
| 959 | 959 | . $item->get_name()  | 
                                                        
| 960 | 960 | . '</a>'  | 
                                                        
| 961 | - . ($item->is_course() ? '  [' . $item->get_course_code() . ']'.$show_message : '');  | 
                                                        |
| 961 | + . ($item->is_course() ? '  ['.$item->get_course_code().']'.$show_message : '');  | 
                                                        |
| 962 | 962 | // evaluation  | 
                                                        
| 963 | 963 | case 'E' :  | 
                                                        
| 964 | 964 | $cat = new Category();  | 
                                                        
@@ -966,10 +966,10 @@ discard block  | 
                                                    ||
| 966 | 966 | $show_message = $cat->show_message_resource_delete($course_id);  | 
                                                        
| 967 | 967 | |
| 968 | 968 | // course/platform admin can go to the view_results page  | 
                                                        
| 969 | -                if (api_is_allowed_to_edit() && $show_message===false) { | 
                                                        |
| 969 | +                if (api_is_allowed_to_edit() && $show_message === false) { | 
                                                        |
| 970 | 970 |                      if ($item->get_type() == 'presence') { | 
                                                        
| 971 | 971 | return ' '  | 
                                                        
| 972 | - . '<a href="gradebook_view_result.php?cidReq='.$course_id.'&selecteval=' . $item->get_id() . '">'  | 
                                                        |
| 972 | + . '<a href="gradebook_view_result.php?cidReq='.$course_id.'&selecteval='.$item->get_id().'">'  | 
                                                        |
| 973 | 973 | . $item->get_name()  | 
                                                        
| 974 | 974 | . '</a>';  | 
                                                        
| 975 | 975 |                      } else { | 
                                                        
@@ -978,20 +978,20 @@ discard block  | 
                                                    ||
| 978 | 978 | $extra = '';  | 
                                                        
| 979 | 979 | }  | 
                                                        
| 980 | 980 | return ' '  | 
                                                        
| 981 | - . '<a href="gradebook_view_result.php?' . api_get_cidreq() . '&selecteval=' . $item->get_id() . '">'  | 
                                                        |
| 981 | + . '<a href="gradebook_view_result.php?'.api_get_cidreq().'&selecteval='.$item->get_id().'">'  | 
                                                        |
| 982 | 982 | . $item->get_name()  | 
                                                        
| 983 | 983 | . '</a> '.$extra;  | 
                                                        
| 984 | 984 | }  | 
                                                        
| 985 | -                } elseif (ScoreDisplay :: instance()->is_custom() && $show_message===false) { | 
                                                        |
| 985 | +                } elseif (ScoreDisplay :: instance()->is_custom() && $show_message === false) { | 
                                                        |
| 986 | 986 | // students can go to the statistics page (if custom display enabled)  | 
                                                        
| 987 | 987 | return ' '  | 
                                                        
| 988 | - . '<a href="gradebook_statistics.php?' . api_get_cidreq() . '&selecteval=' . $item->get_id() . '">'  | 
                                                        |
| 988 | + . '<a href="gradebook_statistics.php?'.api_get_cidreq().'&selecteval='.$item->get_id().'">'  | 
                                                        |
| 989 | 989 | . $item->get_name()  | 
                                                        
| 990 | 990 | . '</a>';  | 
                                                        
| 991 | 991 | |
| 992 | 992 |                  } elseif ($show_message === false && !api_is_allowed_to_edit() && !ScoreDisplay :: instance()->is_custom()) { | 
                                                        
| 993 | 993 | return ' '  | 
                                                        
| 994 | - . '<a href="gradebook_statistics.php?' . api_get_cidreq() . '&selecteval=' . $item->get_id() . '">'  | 
                                                        |
| 994 | + . '<a href="gradebook_statistics.php?'.api_get_cidreq().'&selecteval='.$item->get_id().'">'  | 
                                                        |
| 995 | 995 | . $item->get_name()  | 
                                                        
| 996 | 996 | . '</a>';  | 
                                                        
| 997 | 997 |                  } else { | 
                                                        
@@ -1006,7 +1006,7 @@ discard block  | 
                                                    ||
| 1006 | 1006 | $url = $item->get_link();  | 
                                                        
| 1007 | 1007 | |
| 1008 | 1008 |                  if (isset($url) && $show_message === false) { | 
                                                        
| 1009 | - $text = ' <a href="' . $item->get_link() . '">'  | 
                                                        |
| 1009 | + $text = ' <a href="'.$item->get_link().'">'  | 
                                                        |
| 1010 | 1010 | . $item->get_name()  | 
                                                        
| 1011 | 1011 | . '</a>';  | 
                                                        
| 1012 | 1012 |                  } else { | 
                                                        
@@ -256,10 +256,11 @@  | 
                                                    ||
| 256 | 256 | }  | 
                                                        
| 257 | 257 | |
| 258 | 258 | // Categories.  | 
                                                        
| 259 | - if (!empty($data_array))  | 
                                                        |
| 260 | -        foreach ($data_array as $data) { | 
                                                        |
| 259 | +        if (!empty($data_array)) { | 
                                                        |
| 260 | +                foreach ($data_array as $data) { | 
                                                        |
| 261 | 261 | // list of items inside the gradebook (exercises, lps, forums, etc)  | 
                                                        
| 262 | 262 | $row = array();  | 
                                                        
| 263 | + }  | 
                                                        |
| 263 | 264 | /** @var AbstractLink $item */  | 
                                                        
| 264 | 265 | $item = $mainCategory = $data[0];  | 
                                                        
| 265 | 266 | |
@@ -72,6 +72,7 @@ discard block  | 
                                                    ||
| 72 | 72 | |
| 73 | 73 | /**  | 
                                                        
| 74 | 74 | * Get actual array data  | 
                                                        
| 75 | + * @param integer $count  | 
                                                        |
| 75 | 76 | * @return array 2-dimensional array - each array contains the elements:  | 
                                                        
| 76 | 77 | * 0: eval/link object  | 
                                                        
| 77 | 78 | * 1: item name  | 
                                                        
@@ -285,7 +286,7 @@ discard block  | 
                                                    ||
| 285 | 286 | |
| 286 | 287 | /**  | 
                                                        
| 287 | 288 | * @param $item  | 
                                                        
| 288 | - * @param $ignore_score_color  | 
                                                        |
| 289 | + * @param boolean $ignore_score_color  | 
                                                        |
| 289 | 290 | * @return string  | 
                                                        
| 290 | 291 | */  | 
                                                        
| 291 | 292 | private function build_average_column($item, $ignore_score_color)  | 
                                                        
@@ -306,7 +307,7 @@ discard block  | 
                                                    ||
| 306 | 307 | |
| 307 | 308 | /**  | 
                                                        
| 308 | 309 | * @param $item  | 
                                                        
| 309 | - * @param $ignore_score_color  | 
                                                        |
| 310 | + * @param boolean $ignore_score_color  | 
                                                        |
| 310 | 311 | * @return string  | 
                                                        
| 311 | 312 | */  | 
                                                        
| 312 | 313 | private function build_result_column($item, $ignore_score_color)  | 
                                                        
@@ -323,7 +324,7 @@ discard block  | 
                                                    ||
| 323 | 324 | |
| 324 | 325 | /**  | 
                                                        
| 325 | 326 | * @param $item  | 
                                                        
| 326 | - * @param $ignore_score_color  | 
                                                        |
| 327 | + * @param boolean $ignore_score_color  | 
                                                        |
| 327 | 328 | * @return string  | 
                                                        
| 328 | 329 | */  | 
                                                        
| 329 | 330 | private function build_mask_column($item, $ignore_score_color)  | 
                                                        
@@ -339,7 +340,7 @@ discard block  | 
                                                    ||
| 339 | 340 | |
| 340 | 341 | /**  | 
                                                        
| 341 | 342 | * @param $coursecode  | 
                                                        
| 342 | - * @return mixed  | 
                                                        |
| 343 | + * @return string  | 
                                                        |
| 343 | 344 | */  | 
                                                        
| 344 | 345 | private function get_course_name_from_code_cached($coursecode)  | 
                                                        
| 345 | 346 |  	{ | 
                                                        
@@ -10,28 +10,28 @@ discard block  | 
                                                    ||
| 10 | 10 | */  | 
                                                        
| 11 | 11 | class UserDataGenerator  | 
                                                        
| 12 | 12 |  { | 
                                                        
| 13 | - // Sorting types constants  | 
                                                        |
| 14 | - const UDG_SORT_TYPE = 1;  | 
                                                        |
| 15 | - const UDG_SORT_NAME = 2;  | 
                                                        |
| 16 | - const UDG_SORT_COURSE = 4;  | 
                                                        |
| 17 | - const UDG_SORT_CATEGORY = 8;  | 
                                                        |
| 18 | - const UDG_SORT_AVERAGE = 16;  | 
                                                        |
| 19 | - const UDG_SORT_SCORE = 32;  | 
                                                        |
| 20 | - const UDG_SORT_MASK = 64;  | 
                                                        |
| 21 | -  | 
                                                        |
| 22 | - const UDG_SORT_ASC = 128;  | 
                                                        |
| 23 | - const UDG_SORT_DESC = 256;  | 
                                                        |
| 24 | -  | 
                                                        |
| 25 | - private $items;  | 
                                                        |
| 26 | - private $userid;  | 
                                                        |
| 27 | -  | 
                                                        |
| 28 | - private $coursecodecache;  | 
                                                        |
| 29 | - private $categorycache;  | 
                                                        |
| 30 | - private $scorecache;  | 
                                                        |
| 31 | - private $avgcache;  | 
                                                        |
| 32 | -  | 
                                                        |
| 33 | - public function UserDataGenerator($userid, $evals = array(), $links = array())  | 
                                                        |
| 34 | -	{ | 
                                                        |
| 13 | + // Sorting types constants  | 
                                                        |
| 14 | + const UDG_SORT_TYPE = 1;  | 
                                                        |
| 15 | + const UDG_SORT_NAME = 2;  | 
                                                        |
| 16 | + const UDG_SORT_COURSE = 4;  | 
                                                        |
| 17 | + const UDG_SORT_CATEGORY = 8;  | 
                                                        |
| 18 | + const UDG_SORT_AVERAGE = 16;  | 
                                                        |
| 19 | + const UDG_SORT_SCORE = 32;  | 
                                                        |
| 20 | + const UDG_SORT_MASK = 64;  | 
                                                        |
| 21 | +  | 
                                                        |
| 22 | + const UDG_SORT_ASC = 128;  | 
                                                        |
| 23 | + const UDG_SORT_DESC = 256;  | 
                                                        |
| 24 | +  | 
                                                        |
| 25 | + private $items;  | 
                                                        |
| 26 | + private $userid;  | 
                                                        |
| 27 | +  | 
                                                        |
| 28 | + private $coursecodecache;  | 
                                                        |
| 29 | + private $categorycache;  | 
                                                        |
| 30 | + private $scorecache;  | 
                                                        |
| 31 | + private $avgcache;  | 
                                                        |
| 32 | +  | 
                                                        |
| 33 | + public function UserDataGenerator($userid, $evals = array(), $links = array())  | 
                                                        |
| 34 | +    { | 
                                                        |
| 35 | 35 | $this->userid = $userid;  | 
                                                        
| 36 | 36 | $evals_filtered = array();  | 
                                                        
| 37 | 37 | $result = array();  | 
                                                        
@@ -62,330 +62,330 @@ discard block  | 
                                                    ||
| 62 | 62 | $this->avgcache = null;  | 
                                                        
| 63 | 63 | }  | 
                                                        
| 64 | 64 | |
| 65 | - /**  | 
                                                        |
| 66 | - * Get total number of items (rows)  | 
                                                        |
| 67 | - */  | 
                                                        |
| 68 | - public function get_total_items_count()  | 
                                                        |
| 69 | -	{ | 
                                                        |
| 70 | - return count($this->items);  | 
                                                        |
| 71 | - }  | 
                                                        |
| 72 | -  | 
                                                        |
| 73 | - /**  | 
                                                        |
| 74 | - * Get actual array data  | 
                                                        |
| 75 | - * @return array 2-dimensional array - each array contains the elements:  | 
                                                        |
| 76 | - * 0: eval/link object  | 
                                                        |
| 77 | - * 1: item name  | 
                                                        |
| 78 | - * 2: course name  | 
                                                        |
| 79 | - * 3: category name  | 
                                                        |
| 80 | - * 4: average score  | 
                                                        |
| 81 | - * 5: student's score  | 
                                                        |
| 82 | - * 6: student's score as custom display (only if custom scoring enabled)  | 
                                                        |
| 83 | - */  | 
                                                        |
| 84 | - public function get_data($sorting = 0, $start = 0, $count = null, $ignore_score_color = false)  | 
                                                        |
| 85 | -	{ | 
                                                        |
| 86 | - // do some checks on count, redefine if invalid value  | 
                                                        |
| 87 | -		if (!isset($count)) { | 
                                                        |
| 88 | - $count = count ($this->items) - $start;  | 
                                                        |
| 89 | - }  | 
                                                        |
| 90 | -		if ($count < 0) { | 
                                                        |
| 91 | - $count = 0;  | 
                                                        |
| 92 | - }  | 
                                                        |
| 93 | - $allitems = $this->items;  | 
                                                        |
| 94 | -  | 
                                                        |
| 95 | - // sort users array  | 
                                                        |
| 96 | -		if ($sorting & self :: UDG_SORT_TYPE) { | 
                                                        |
| 97 | -			usort($allitems, array('UserDataGenerator', 'sort_by_type')); | 
                                                        |
| 98 | -		}elseif ($sorting & self :: UDG_SORT_NAME) { | 
                                                        |
| 99 | -			usort($allitems, array('UserDataGenerator', 'sort_by_name')); | 
                                                        |
| 100 | -		} elseif ($sorting & self :: UDG_SORT_COURSE) { | 
                                                        |
| 101 | -			usort($allitems, array('UserDataGenerator', 'sort_by_course')); | 
                                                        |
| 102 | -		} elseif ($sorting & self :: UDG_SORT_CATEGORY) { | 
                                                        |
| 103 | -			usort($allitems, array('UserDataGenerator', 'sort_by_category')); | 
                                                        |
| 104 | -		} elseif ($sorting & self :: UDG_SORT_AVERAGE) { | 
                                                        |
| 105 | - // if user sorts on average scores, first calculate them and cache them  | 
                                                        |
| 106 | -			foreach ($allitems as $item) { | 
                                                        |
| 107 | - $this->avgcache[$item->get_item_type() . $item->get_id()]= $item->calc_score();  | 
                                                        |
| 108 | - }  | 
                                                        |
| 109 | -			usort($allitems, array('UserDataGenerator', 'sort_by_average')); | 
                                                        |
| 110 | -		} elseif ($sorting & self :: UDG_SORT_SCORE) { | 
                                                        |
| 111 | - // if user sorts on student's scores, first calculate them and cache them  | 
                                                        |
| 112 | -			foreach ($allitems as $item) { | 
                                                        |
| 113 | - $this->scorecache[$item->get_item_type() . $item->get_id()]  | 
                                                        |
| 114 | - = $item->calc_score($this->userid);  | 
                                                        |
| 115 | - }  | 
                                                        |
| 116 | -			usort($allitems, array('UserDataGenerator', 'sort_by_score')); | 
                                                        |
| 117 | -		} elseif ($sorting & self :: UDG_SORT_MASK) { | 
                                                        |
| 118 | - // if user sorts on student's masks, first calculate scores and cache them  | 
                                                        |
| 119 | -			foreach ($allitems as $item) { | 
                                                        |
| 120 | - $this->scorecache[$item->get_item_type() . $item->get_id()]  | 
                                                        |
| 121 | - = $item->calc_score($this->userid);  | 
                                                        |
| 122 | - }  | 
                                                        |
| 123 | -			usort($allitems, array('UserDataGenerator', 'sort_by_mask')); | 
                                                        |
| 124 | - }  | 
                                                        |
| 125 | -  | 
                                                        |
| 126 | -		if ($sorting & self :: UDG_SORT_DESC) { | 
                                                        |
| 127 | - $allitems = array_reverse($allitems);  | 
                                                        |
| 128 | - }  | 
                                                        |
| 129 | - // select the items we have to display  | 
                                                        |
| 130 | - $visibleitems = array_slice($allitems, $start, $count);  | 
                                                        |
| 131 | -  | 
                                                        |
| 132 | - // fill score cache if not done yet  | 
                                                        |
| 133 | -		if (!isset ($this->scorecache)) { | 
                                                        |
| 134 | -			foreach ($visibleitems as $item) { | 
                                                        |
| 135 | - $this->scorecache[$item->get_item_type() . $item->get_id()]  | 
                                                        |
| 136 | - = $item->calc_score($this->userid);  | 
                                                        |
| 137 | - }  | 
                                                        |
| 138 | -  | 
                                                        |
| 139 | - }  | 
                                                        |
| 140 | - // generate the data to display  | 
                                                        |
| 141 | - $scoredisplay = ScoreDisplay :: instance();  | 
                                                        |
| 142 | - $data = array();  | 
                                                        |
| 143 | -		foreach ($visibleitems as $item) { | 
                                                        |
| 144 | - $row = array ();  | 
                                                        |
| 145 | - $row[] = $item;  | 
                                                        |
| 146 | - $row[] = $item->get_name();  | 
                                                        |
| 147 | - $row[] = $this->build_course_name($item);  | 
                                                        |
| 148 | - $row[] = $this->build_category_name($item);  | 
                                                        |
| 149 | - $row[] = $this->build_average_column($item, $ignore_score_color);  | 
                                                        |
| 150 | - $row[] = $this->build_result_column($item, $ignore_score_color);  | 
                                                        |
| 151 | - if ($scoredisplay->is_custom())  | 
                                                        |
| 152 | - $row[] = $this->build_mask_column($item, $ignore_score_color);  | 
                                                        |
| 153 | - $data[] = $row;  | 
                                                        |
| 154 | - }  | 
                                                        |
| 155 | - return $data;  | 
                                                        |
| 156 | - }  | 
                                                        |
| 157 | -  | 
                                                        |
| 158 | - /**  | 
                                                        |
| 159 | - * @param $item1  | 
                                                        |
| 160 | - * @param $item2  | 
                                                        |
| 161 | - * @return int  | 
                                                        |
| 162 | - */  | 
                                                        |
| 163 | - function sort_by_type($item1, $item2)  | 
                                                        |
| 164 | -	{ | 
                                                        |
| 165 | -		if ($item1->get_item_type() == $item2->get_item_type()) { | 
                                                        |
| 166 | - return $this->sort_by_name($item1,$item2);  | 
                                                        |
| 167 | -		} else { | 
                                                        |
| 168 | - return ($item1->get_item_type() < $item2->get_item_type() ? -1 : 1);  | 
                                                        |
| 169 | - }  | 
                                                        |
| 170 | - }  | 
                                                        |
| 171 | -  | 
                                                        |
| 172 | - /**  | 
                                                        |
| 173 | - * @param $item1  | 
                                                        |
| 174 | - * @param $item2  | 
                                                        |
| 175 | - * @return int  | 
                                                        |
| 176 | - */  | 
                                                        |
| 177 | - function sort_by_course($item1, $item2)  | 
                                                        |
| 178 | -	{ | 
                                                        |
| 179 | - $name1 = api_strtolower($this->get_course_name_from_code_cached($item1->get_course_code()));  | 
                                                        |
| 180 | - $name2 = api_strtolower($this->get_course_name_from_code_cached($item2->get_course_code()));  | 
                                                        |
| 181 | - return api_strnatcmp($name1, $name2);  | 
                                                        |
| 182 | - }  | 
                                                        |
| 183 | -  | 
                                                        |
| 184 | - /**  | 
                                                        |
| 185 | - * @param $item1  | 
                                                        |
| 186 | - * @param $item2  | 
                                                        |
| 187 | - * @return int  | 
                                                        |
| 188 | - */  | 
                                                        |
| 189 | - function sort_by_category($item1, $item2)  | 
                                                        |
| 190 | -	{ | 
                                                        |
| 191 | - $cat1 = $this->get_category_cached($item1->get_category_id());  | 
                                                        |
| 192 | - $cat2 = $this->get_category_cached($item2->get_category_id());  | 
                                                        |
| 193 | - $name1 = api_strtolower($this->get_category_name_to_display($cat1));  | 
                                                        |
| 194 | - $name2 = api_strtolower($this->get_category_name_to_display($cat2));  | 
                                                        |
| 195 | -  | 
                                                        |
| 196 | - return api_strnatcmp($name1, $name2);  | 
                                                        |
| 197 | - }  | 
                                                        |
| 198 | -  | 
                                                        |
| 199 | - /**  | 
                                                        |
| 200 | - * @param $item1  | 
                                                        |
| 201 | - * @param $item2  | 
                                                        |
| 202 | - * @return int  | 
                                                        |
| 203 | - */  | 
                                                        |
| 204 | - function sort_by_name($item1, $item2)  | 
                                                        |
| 205 | -	{ | 
                                                        |
| 206 | - return api_strnatcmp($item1->get_name(),$item2->get_name());  | 
                                                        |
| 207 | - }  | 
                                                        |
| 208 | -  | 
                                                        |
| 209 | - /**  | 
                                                        |
| 210 | - * @param $item1  | 
                                                        |
| 211 | - * @param $item2  | 
                                                        |
| 212 | - * @return int  | 
                                                        |
| 213 | - */  | 
                                                        |
| 214 | - function sort_by_average($item1, $item2)  | 
                                                        |
| 215 | -	{ | 
                                                        |
| 216 | - $score1 = $this->avgcache[$item1->get_item_type() . $item1->get_id()];  | 
                                                        |
| 217 | - $score2 = $this->avgcache[$item2->get_item_type() . $item2->get_id()];  | 
                                                        |
| 218 | -  | 
                                                        |
| 219 | - return $this->compare_scores($score1, $score2);  | 
                                                        |
| 220 | - }  | 
                                                        |
| 221 | -  | 
                                                        |
| 222 | - /**  | 
                                                        |
| 223 | - * @param $item1  | 
                                                        |
| 224 | - * @param $item2  | 
                                                        |
| 225 | - * @return int  | 
                                                        |
| 226 | - */  | 
                                                        |
| 227 | - function sort_by_score($item1, $item2)  | 
                                                        |
| 228 | -	{ | 
                                                        |
| 229 | - $score1 = $this->scorecache[$item1->get_item_type() . $item1->get_id()];  | 
                                                        |
| 230 | - $score2 = $this->scorecache[$item2->get_item_type() . $item2->get_id()];  | 
                                                        |
| 231 | -  | 
                                                        |
| 232 | - return $this->compare_scores($score1, $score2);  | 
                                                        |
| 233 | - }  | 
                                                        |
| 234 | -  | 
                                                        |
| 235 | - /**  | 
                                                        |
| 236 | - * @param $item1  | 
                                                        |
| 237 | - * @param $item2  | 
                                                        |
| 238 | - * @return int  | 
                                                        |
| 239 | - */  | 
                                                        |
| 240 | - function sort_by_mask($item1, $item2)  | 
                                                        |
| 241 | -	{ | 
                                                        |
| 242 | - $score1 = $this->scorecache[$item1->get_item_type() . $item1->get_id()];  | 
                                                        |
| 243 | - $score2 = $this->scorecache[$item2->get_item_type() . $item2->get_id()];  | 
                                                        |
| 244 | -  | 
                                                        |
| 245 | - return ScoreDisplay :: compare_scores_by_custom_display($score1, $score2);  | 
                                                        |
| 246 | - }  | 
                                                        |
| 247 | -  | 
                                                        |
| 248 | - /**  | 
                                                        |
| 249 | - * @param $score1  | 
                                                        |
| 250 | - * @param $score2  | 
                                                        |
| 251 | - * @return int  | 
                                                        |
| 252 | - */  | 
                                                        |
| 253 | - function compare_scores($score1, $score2)  | 
                                                        |
| 254 | -	{ | 
                                                        |
| 255 | -		if (!isset($score1)) { | 
                                                        |
| 256 | - return (isset($score2) ? 1 : 0);  | 
                                                        |
| 257 | -		} elseif (!isset($score2)) { | 
                                                        |
| 258 | - return -1;  | 
                                                        |
| 259 | -		} elseif (($score1[0]/$score1[1]) == ($score2[0]/$score2[1])) { | 
                                                        |
| 260 | - return 0;  | 
                                                        |
| 261 | -		} else { | 
                                                        |
| 262 | - return (($score1[0]/$score1[1]) < ($score2[0]/$score2[1]) ? -1 : 1);  | 
                                                        |
| 263 | - }  | 
                                                        |
| 264 | - }  | 
                                                        |
| 265 | -  | 
                                                        |
| 266 | - /**  | 
                                                        |
| 267 | - * @param $item  | 
                                                        |
| 268 | - * @return mixed  | 
                                                        |
| 269 | - */  | 
                                                        |
| 270 | - private function build_course_name($item)  | 
                                                        |
| 271 | -	{ | 
                                                        |
| 272 | - return $this->get_course_name_from_code_cached($item->get_course_code());  | 
                                                        |
| 273 | - }  | 
                                                        |
| 274 | -  | 
                                                        |
| 275 | - /**  | 
                                                        |
| 276 | - * @param $item  | 
                                                        |
| 277 | - * @return string  | 
                                                        |
| 278 | - */  | 
                                                        |
| 279 | - private function build_category_name($item)  | 
                                                        |
| 280 | -	{ | 
                                                        |
| 281 | - $cat = $this->get_category_cached($item->get_category_id());  | 
                                                        |
| 282 | -  | 
                                                        |
| 283 | - return $this->get_category_name_to_display($cat);  | 
                                                        |
| 284 | - }  | 
                                                        |
| 285 | -  | 
                                                        |
| 286 | - /**  | 
                                                        |
| 287 | - * @param $item  | 
                                                        |
| 288 | - * @param $ignore_score_color  | 
                                                        |
| 289 | - * @return string  | 
                                                        |
| 290 | - */  | 
                                                        |
| 291 | - private function build_average_column($item, $ignore_score_color)  | 
                                                        |
| 292 | -	{ | 
                                                        |
| 293 | -		if (isset($this->avgcache)) { | 
                                                        |
| 294 | - $avgscore = $this->avgcache[$item->get_item_type() . $item->get_id()];  | 
                                                        |
| 295 | -		} else { | 
                                                        |
| 296 | - $avgscore = $item->calc_score();  | 
                                                        |
| 297 | - }  | 
                                                        |
| 298 | -  | 
                                                        |
| 299 | - $scoredisplay = ScoreDisplay :: instance();  | 
                                                        |
| 300 | - $displaytype = SCORE_AVERAGE;  | 
                                                        |
| 301 | - /*if ($ignore_score_color)  | 
                                                        |
| 65 | + /**  | 
                                                        |
| 66 | + * Get total number of items (rows)  | 
                                                        |
| 67 | + */  | 
                                                        |
| 68 | + public function get_total_items_count()  | 
                                                        |
| 69 | +    { | 
                                                        |
| 70 | + return count($this->items);  | 
                                                        |
| 71 | + }  | 
                                                        |
| 72 | +  | 
                                                        |
| 73 | + /**  | 
                                                        |
| 74 | + * Get actual array data  | 
                                                        |
| 75 | + * @return array 2-dimensional array - each array contains the elements:  | 
                                                        |
| 76 | + * 0: eval/link object  | 
                                                        |
| 77 | + * 1: item name  | 
                                                        |
| 78 | + * 2: course name  | 
                                                        |
| 79 | + * 3: category name  | 
                                                        |
| 80 | + * 4: average score  | 
                                                        |
| 81 | + * 5: student's score  | 
                                                        |
| 82 | + * 6: student's score as custom display (only if custom scoring enabled)  | 
                                                        |
| 83 | + */  | 
                                                        |
| 84 | + public function get_data($sorting = 0, $start = 0, $count = null, $ignore_score_color = false)  | 
                                                        |
| 85 | +    { | 
                                                        |
| 86 | + // do some checks on count, redefine if invalid value  | 
                                                        |
| 87 | +        if (!isset($count)) { | 
                                                        |
| 88 | + $count = count ($this->items) - $start;  | 
                                                        |
| 89 | + }  | 
                                                        |
| 90 | +        if ($count < 0) { | 
                                                        |
| 91 | + $count = 0;  | 
                                                        |
| 92 | + }  | 
                                                        |
| 93 | + $allitems = $this->items;  | 
                                                        |
| 94 | +  | 
                                                        |
| 95 | + // sort users array  | 
                                                        |
| 96 | +        if ($sorting & self :: UDG_SORT_TYPE) { | 
                                                        |
| 97 | +            usort($allitems, array('UserDataGenerator', 'sort_by_type')); | 
                                                        |
| 98 | +        }elseif ($sorting & self :: UDG_SORT_NAME) { | 
                                                        |
| 99 | +            usort($allitems, array('UserDataGenerator', 'sort_by_name')); | 
                                                        |
| 100 | +        } elseif ($sorting & self :: UDG_SORT_COURSE) { | 
                                                        |
| 101 | +            usort($allitems, array('UserDataGenerator', 'sort_by_course')); | 
                                                        |
| 102 | +        } elseif ($sorting & self :: UDG_SORT_CATEGORY) { | 
                                                        |
| 103 | +            usort($allitems, array('UserDataGenerator', 'sort_by_category')); | 
                                                        |
| 104 | +        } elseif ($sorting & self :: UDG_SORT_AVERAGE) { | 
                                                        |
| 105 | + // if user sorts on average scores, first calculate them and cache them  | 
                                                        |
| 106 | +            foreach ($allitems as $item) { | 
                                                        |
| 107 | + $this->avgcache[$item->get_item_type() . $item->get_id()]= $item->calc_score();  | 
                                                        |
| 108 | + }  | 
                                                        |
| 109 | +            usort($allitems, array('UserDataGenerator', 'sort_by_average')); | 
                                                        |
| 110 | +        } elseif ($sorting & self :: UDG_SORT_SCORE) { | 
                                                        |
| 111 | + // if user sorts on student's scores, first calculate them and cache them  | 
                                                        |
| 112 | +            foreach ($allitems as $item) { | 
                                                        |
| 113 | + $this->scorecache[$item->get_item_type() . $item->get_id()]  | 
                                                        |
| 114 | + = $item->calc_score($this->userid);  | 
                                                        |
| 115 | + }  | 
                                                        |
| 116 | +            usort($allitems, array('UserDataGenerator', 'sort_by_score')); | 
                                                        |
| 117 | +        } elseif ($sorting & self :: UDG_SORT_MASK) { | 
                                                        |
| 118 | + // if user sorts on student's masks, first calculate scores and cache them  | 
                                                        |
| 119 | +            foreach ($allitems as $item) { | 
                                                        |
| 120 | + $this->scorecache[$item->get_item_type() . $item->get_id()]  | 
                                                        |
| 121 | + = $item->calc_score($this->userid);  | 
                                                        |
| 122 | + }  | 
                                                        |
| 123 | +            usort($allitems, array('UserDataGenerator', 'sort_by_mask')); | 
                                                        |
| 124 | + }  | 
                                                        |
| 125 | +  | 
                                                        |
| 126 | +        if ($sorting & self :: UDG_SORT_DESC) { | 
                                                        |
| 127 | + $allitems = array_reverse($allitems);  | 
                                                        |
| 128 | + }  | 
                                                        |
| 129 | + // select the items we have to display  | 
                                                        |
| 130 | + $visibleitems = array_slice($allitems, $start, $count);  | 
                                                        |
| 131 | +  | 
                                                        |
| 132 | + // fill score cache if not done yet  | 
                                                        |
| 133 | +        if (!isset ($this->scorecache)) { | 
                                                        |
| 134 | +            foreach ($visibleitems as $item) { | 
                                                        |
| 135 | + $this->scorecache[$item->get_item_type() . $item->get_id()]  | 
                                                        |
| 136 | + = $item->calc_score($this->userid);  | 
                                                        |
| 137 | + }  | 
                                                        |
| 138 | +  | 
                                                        |
| 139 | + }  | 
                                                        |
| 140 | + // generate the data to display  | 
                                                        |
| 141 | + $scoredisplay = ScoreDisplay :: instance();  | 
                                                        |
| 142 | + $data = array();  | 
                                                        |
| 143 | +        foreach ($visibleitems as $item) { | 
                                                        |
| 144 | + $row = array ();  | 
                                                        |
| 145 | + $row[] = $item;  | 
                                                        |
| 146 | + $row[] = $item->get_name();  | 
                                                        |
| 147 | + $row[] = $this->build_course_name($item);  | 
                                                        |
| 148 | + $row[] = $this->build_category_name($item);  | 
                                                        |
| 149 | + $row[] = $this->build_average_column($item, $ignore_score_color);  | 
                                                        |
| 150 | + $row[] = $this->build_result_column($item, $ignore_score_color);  | 
                                                        |
| 151 | + if ($scoredisplay->is_custom())  | 
                                                        |
| 152 | + $row[] = $this->build_mask_column($item, $ignore_score_color);  | 
                                                        |
| 153 | + $data[] = $row;  | 
                                                        |
| 154 | + }  | 
                                                        |
| 155 | + return $data;  | 
                                                        |
| 156 | + }  | 
                                                        |
| 157 | +  | 
                                                        |
| 158 | + /**  | 
                                                        |
| 159 | + * @param $item1  | 
                                                        |
| 160 | + * @param $item2  | 
                                                        |
| 161 | + * @return int  | 
                                                        |
| 162 | + */  | 
                                                        |
| 163 | + function sort_by_type($item1, $item2)  | 
                                                        |
| 164 | +    { | 
                                                        |
| 165 | +        if ($item1->get_item_type() == $item2->get_item_type()) { | 
                                                        |
| 166 | + return $this->sort_by_name($item1,$item2);  | 
                                                        |
| 167 | +        } else { | 
                                                        |
| 168 | + return ($item1->get_item_type() < $item2->get_item_type() ? -1 : 1);  | 
                                                        |
| 169 | + }  | 
                                                        |
| 170 | + }  | 
                                                        |
| 171 | +  | 
                                                        |
| 172 | + /**  | 
                                                        |
| 173 | + * @param $item1  | 
                                                        |
| 174 | + * @param $item2  | 
                                                        |
| 175 | + * @return int  | 
                                                        |
| 176 | + */  | 
                                                        |
| 177 | + function sort_by_course($item1, $item2)  | 
                                                        |
| 178 | +    { | 
                                                        |
| 179 | + $name1 = api_strtolower($this->get_course_name_from_code_cached($item1->get_course_code()));  | 
                                                        |
| 180 | + $name2 = api_strtolower($this->get_course_name_from_code_cached($item2->get_course_code()));  | 
                                                        |
| 181 | + return api_strnatcmp($name1, $name2);  | 
                                                        |
| 182 | + }  | 
                                                        |
| 183 | +  | 
                                                        |
| 184 | + /**  | 
                                                        |
| 185 | + * @param $item1  | 
                                                        |
| 186 | + * @param $item2  | 
                                                        |
| 187 | + * @return int  | 
                                                        |
| 188 | + */  | 
                                                        |
| 189 | + function sort_by_category($item1, $item2)  | 
                                                        |
| 190 | +    { | 
                                                        |
| 191 | + $cat1 = $this->get_category_cached($item1->get_category_id());  | 
                                                        |
| 192 | + $cat2 = $this->get_category_cached($item2->get_category_id());  | 
                                                        |
| 193 | + $name1 = api_strtolower($this->get_category_name_to_display($cat1));  | 
                                                        |
| 194 | + $name2 = api_strtolower($this->get_category_name_to_display($cat2));  | 
                                                        |
| 195 | +  | 
                                                        |
| 196 | + return api_strnatcmp($name1, $name2);  | 
                                                        |
| 197 | + }  | 
                                                        |
| 198 | +  | 
                                                        |
| 199 | + /**  | 
                                                        |
| 200 | + * @param $item1  | 
                                                        |
| 201 | + * @param $item2  | 
                                                        |
| 202 | + * @return int  | 
                                                        |
| 203 | + */  | 
                                                        |
| 204 | + function sort_by_name($item1, $item2)  | 
                                                        |
| 205 | +    { | 
                                                        |
| 206 | + return api_strnatcmp($item1->get_name(),$item2->get_name());  | 
                                                        |
| 207 | + }  | 
                                                        |
| 208 | +  | 
                                                        |
| 209 | + /**  | 
                                                        |
| 210 | + * @param $item1  | 
                                                        |
| 211 | + * @param $item2  | 
                                                        |
| 212 | + * @return int  | 
                                                        |
| 213 | + */  | 
                                                        |
| 214 | + function sort_by_average($item1, $item2)  | 
                                                        |
| 215 | +    { | 
                                                        |
| 216 | + $score1 = $this->avgcache[$item1->get_item_type() . $item1->get_id()];  | 
                                                        |
| 217 | + $score2 = $this->avgcache[$item2->get_item_type() . $item2->get_id()];  | 
                                                        |
| 218 | +  | 
                                                        |
| 219 | + return $this->compare_scores($score1, $score2);  | 
                                                        |
| 220 | + }  | 
                                                        |
| 221 | +  | 
                                                        |
| 222 | + /**  | 
                                                        |
| 223 | + * @param $item1  | 
                                                        |
| 224 | + * @param $item2  | 
                                                        |
| 225 | + * @return int  | 
                                                        |
| 226 | + */  | 
                                                        |
| 227 | + function sort_by_score($item1, $item2)  | 
                                                        |
| 228 | +    { | 
                                                        |
| 229 | + $score1 = $this->scorecache[$item1->get_item_type() . $item1->get_id()];  | 
                                                        |
| 230 | + $score2 = $this->scorecache[$item2->get_item_type() . $item2->get_id()];  | 
                                                        |
| 231 | +  | 
                                                        |
| 232 | + return $this->compare_scores($score1, $score2);  | 
                                                        |
| 233 | + }  | 
                                                        |
| 234 | +  | 
                                                        |
| 235 | + /**  | 
                                                        |
| 236 | + * @param $item1  | 
                                                        |
| 237 | + * @param $item2  | 
                                                        |
| 238 | + * @return int  | 
                                                        |
| 239 | + */  | 
                                                        |
| 240 | + function sort_by_mask($item1, $item2)  | 
                                                        |
| 241 | +    { | 
                                                        |
| 242 | + $score1 = $this->scorecache[$item1->get_item_type() . $item1->get_id()];  | 
                                                        |
| 243 | + $score2 = $this->scorecache[$item2->get_item_type() . $item2->get_id()];  | 
                                                        |
| 244 | +  | 
                                                        |
| 245 | + return ScoreDisplay :: compare_scores_by_custom_display($score1, $score2);  | 
                                                        |
| 246 | + }  | 
                                                        |
| 247 | +  | 
                                                        |
| 248 | + /**  | 
                                                        |
| 249 | + * @param $score1  | 
                                                        |
| 250 | + * @param $score2  | 
                                                        |
| 251 | + * @return int  | 
                                                        |
| 252 | + */  | 
                                                        |
| 253 | + function compare_scores($score1, $score2)  | 
                                                        |
| 254 | +    { | 
                                                        |
| 255 | +        if (!isset($score1)) { | 
                                                        |
| 256 | + return (isset($score2) ? 1 : 0);  | 
                                                        |
| 257 | +        } elseif (!isset($score2)) { | 
                                                        |
| 258 | + return -1;  | 
                                                        |
| 259 | +        } elseif (($score1[0]/$score1[1]) == ($score2[0]/$score2[1])) { | 
                                                        |
| 260 | + return 0;  | 
                                                        |
| 261 | +        } else { | 
                                                        |
| 262 | + return (($score1[0]/$score1[1]) < ($score2[0]/$score2[1]) ? -1 : 1);  | 
                                                        |
| 263 | + }  | 
                                                        |
| 264 | + }  | 
                                                        |
| 265 | +  | 
                                                        |
| 266 | + /**  | 
                                                        |
| 267 | + * @param $item  | 
                                                        |
| 268 | + * @return mixed  | 
                                                        |
| 269 | + */  | 
                                                        |
| 270 | + private function build_course_name($item)  | 
                                                        |
| 271 | +    { | 
                                                        |
| 272 | + return $this->get_course_name_from_code_cached($item->get_course_code());  | 
                                                        |
| 273 | + }  | 
                                                        |
| 274 | +  | 
                                                        |
| 275 | + /**  | 
                                                        |
| 276 | + * @param $item  | 
                                                        |
| 277 | + * @return string  | 
                                                        |
| 278 | + */  | 
                                                        |
| 279 | + private function build_category_name($item)  | 
                                                        |
| 280 | +    { | 
                                                        |
| 281 | + $cat = $this->get_category_cached($item->get_category_id());  | 
                                                        |
| 282 | +  | 
                                                        |
| 283 | + return $this->get_category_name_to_display($cat);  | 
                                                        |
| 284 | + }  | 
                                                        |
| 285 | +  | 
                                                        |
| 286 | + /**  | 
                                                        |
| 287 | + * @param $item  | 
                                                        |
| 288 | + * @param $ignore_score_color  | 
                                                        |
| 289 | + * @return string  | 
                                                        |
| 290 | + */  | 
                                                        |
| 291 | + private function build_average_column($item, $ignore_score_color)  | 
                                                        |
| 292 | +    { | 
                                                        |
| 293 | +        if (isset($this->avgcache)) { | 
                                                        |
| 294 | + $avgscore = $this->avgcache[$item->get_item_type() . $item->get_id()];  | 
                                                        |
| 295 | +        } else { | 
                                                        |
| 296 | + $avgscore = $item->calc_score();  | 
                                                        |
| 297 | + }  | 
                                                        |
| 298 | +  | 
                                                        |
| 299 | + $scoredisplay = ScoreDisplay :: instance();  | 
                                                        |
| 300 | + $displaytype = SCORE_AVERAGE;  | 
                                                        |
| 301 | + /*if ($ignore_score_color)  | 
                                                        |
| 302 | 302 | $displaytype |= SCORE_IGNORE_SPLIT;  | 
                                                        
| 303 | 303 | */  | 
                                                        
| 304 | - return $scoredisplay->display_score($avgscore, $displaytype);  | 
                                                        |
| 305 | - }  | 
                                                        |
| 306 | -  | 
                                                        |
| 307 | - /**  | 
                                                        |
| 308 | - * @param $item  | 
                                                        |
| 309 | - * @param $ignore_score_color  | 
                                                        |
| 310 | - * @return string  | 
                                                        |
| 311 | - */  | 
                                                        |
| 312 | - private function build_result_column($item, $ignore_score_color)  | 
                                                        |
| 313 | -	{ | 
                                                        |
| 314 | - $studscore = $this->scorecache[$item->get_item_type() . $item->get_id()];  | 
                                                        |
| 315 | - $scoredisplay = ScoreDisplay :: instance();  | 
                                                        |
| 316 | - $displaytype = SCORE_DIV_PERCENT;  | 
                                                        |
| 317 | -		if ($ignore_score_color) { | 
                                                        |
| 318 | - $displaytype |= SCORE_IGNORE_SPLIT;  | 
                                                        |
| 319 | - }  | 
                                                        |
| 320 | -  | 
                                                        |
| 321 | - return $scoredisplay->display_score($studscore, $displaytype, SCORE_ONLY_DEFAULT);  | 
                                                        |
| 322 | - }  | 
                                                        |
| 323 | -  | 
                                                        |
| 324 | - /**  | 
                                                        |
| 325 | - * @param $item  | 
                                                        |
| 326 | - * @param $ignore_score_color  | 
                                                        |
| 327 | - * @return string  | 
                                                        |
| 328 | - */  | 
                                                        |
| 329 | - private function build_mask_column($item, $ignore_score_color)  | 
                                                        |
| 330 | -	{ | 
                                                        |
| 331 | - $studscore = $this->scorecache[$item->get_item_type() . $item->get_id()];  | 
                                                        |
| 332 | - $scoredisplay = ScoreDisplay :: instance();  | 
                                                        |
| 333 | - $displaytype = SCORE_DIV_PERCENT;  | 
                                                        |
| 334 | -		if ($ignore_score_color) { | 
                                                        |
| 335 | - $displaytype |= SCORE_IGNORE_SPLIT;  | 
                                                        |
| 336 | - }  | 
                                                        |
| 337 | - return $scoredisplay->display_score($studscore, $displaytype, SCORE_ONLY_CUSTOM);  | 
                                                        |
| 338 | - }  | 
                                                        |
| 339 | -  | 
                                                        |
| 340 | - /**  | 
                                                        |
| 341 | - * @param $coursecode  | 
                                                        |
| 342 | - * @return mixed  | 
                                                        |
| 343 | - */  | 
                                                        |
| 344 | - private function get_course_name_from_code_cached($coursecode)  | 
                                                        |
| 345 | -	{ | 
                                                        |
| 346 | - if (isset ($this->coursecodecache)  | 
                                                        |
| 347 | -			&& isset ($this->coursecodecache[$coursecode])) { | 
                                                        |
| 348 | - return $this->coursecodecache[$coursecode];  | 
                                                        |
| 349 | -		} else { | 
                                                        |
| 350 | - $name = CourseManager::getCourseNameFromCode($coursecode);  | 
                                                        |
| 351 | - $this->coursecodecache[$coursecode] = $name;  | 
                                                        |
| 352 | - return $name;  | 
                                                        |
| 353 | - }  | 
                                                        |
| 354 | - }  | 
                                                        |
| 355 | -  | 
                                                        |
| 356 | - /**  | 
                                                        |
| 357 | - * @param $category_id  | 
                                                        |
| 358 | - * @return null  | 
                                                        |
| 359 | - */  | 
                                                        |
| 360 | - private function get_category_cached($category_id)  | 
                                                        |
| 361 | -	{ | 
                                                        |
| 362 | - if (isset ($this->categorycache)  | 
                                                        |
| 363 | -			&& isset ($this->categorycache[$category_id])) { | 
                                                        |
| 364 | - return $this->categorycache[$category_id];  | 
                                                        |
| 365 | -		}else { | 
                                                        |
| 366 | - $cat = Category::load($category_id);  | 
                                                        |
| 367 | -			if (isset($cat)){ | 
                                                        |
| 368 | - $this->categorycache[$category_id] = $cat[0];  | 
                                                        |
| 369 | - return $cat[0];  | 
                                                        |
| 370 | - }else  | 
                                                        |
| 371 | - return null;  | 
                                                        |
| 372 | - }  | 
                                                        |
| 373 | - }  | 
                                                        |
| 374 | -  | 
                                                        |
| 375 | - /**  | 
                                                        |
| 376 | - * @param $cat  | 
                                                        |
| 377 | - * @return string  | 
                                                        |
| 378 | - */  | 
                                                        |
| 379 | - private function get_category_name_to_display($cat)  | 
                                                        |
| 380 | -	{ | 
                                                        |
| 381 | -		if (isset($cat)) { | 
                                                        |
| 382 | -			if ($cat->get_parent_id() == '0' || $cat->get_parent_id() == null){ | 
                                                        |
| 383 | - return '';  | 
                                                        |
| 384 | -			} else { | 
                                                        |
| 385 | - return $cat->get_name();  | 
                                                        |
| 386 | - }  | 
                                                        |
| 387 | -		} else { | 
                                                        |
| 388 | - return '';  | 
                                                        |
| 389 | - }  | 
                                                        |
| 390 | - }  | 
                                                        |
| 304 | + return $scoredisplay->display_score($avgscore, $displaytype);  | 
                                                        |
| 305 | + }  | 
                                                        |
| 306 | +  | 
                                                        |
| 307 | + /**  | 
                                                        |
| 308 | + * @param $item  | 
                                                        |
| 309 | + * @param $ignore_score_color  | 
                                                        |
| 310 | + * @return string  | 
                                                        |
| 311 | + */  | 
                                                        |
| 312 | + private function build_result_column($item, $ignore_score_color)  | 
                                                        |
| 313 | +    { | 
                                                        |
| 314 | + $studscore = $this->scorecache[$item->get_item_type() . $item->get_id()];  | 
                                                        |
| 315 | + $scoredisplay = ScoreDisplay :: instance();  | 
                                                        |
| 316 | + $displaytype = SCORE_DIV_PERCENT;  | 
                                                        |
| 317 | +        if ($ignore_score_color) { | 
                                                        |
| 318 | + $displaytype |= SCORE_IGNORE_SPLIT;  | 
                                                        |
| 319 | + }  | 
                                                        |
| 320 | +  | 
                                                        |
| 321 | + return $scoredisplay->display_score($studscore, $displaytype, SCORE_ONLY_DEFAULT);  | 
                                                        |
| 322 | + }  | 
                                                        |
| 323 | +  | 
                                                        |
| 324 | + /**  | 
                                                        |
| 325 | + * @param $item  | 
                                                        |
| 326 | + * @param $ignore_score_color  | 
                                                        |
| 327 | + * @return string  | 
                                                        |
| 328 | + */  | 
                                                        |
| 329 | + private function build_mask_column($item, $ignore_score_color)  | 
                                                        |
| 330 | +    { | 
                                                        |
| 331 | + $studscore = $this->scorecache[$item->get_item_type() . $item->get_id()];  | 
                                                        |
| 332 | + $scoredisplay = ScoreDisplay :: instance();  | 
                                                        |
| 333 | + $displaytype = SCORE_DIV_PERCENT;  | 
                                                        |
| 334 | +        if ($ignore_score_color) { | 
                                                        |
| 335 | + $displaytype |= SCORE_IGNORE_SPLIT;  | 
                                                        |
| 336 | + }  | 
                                                        |
| 337 | + return $scoredisplay->display_score($studscore, $displaytype, SCORE_ONLY_CUSTOM);  | 
                                                        |
| 338 | + }  | 
                                                        |
| 339 | +  | 
                                                        |
| 340 | + /**  | 
                                                        |
| 341 | + * @param $coursecode  | 
                                                        |
| 342 | + * @return mixed  | 
                                                        |
| 343 | + */  | 
                                                        |
| 344 | + private function get_course_name_from_code_cached($coursecode)  | 
                                                        |
| 345 | +    { | 
                                                        |
| 346 | + if (isset ($this->coursecodecache)  | 
                                                        |
| 347 | +            && isset ($this->coursecodecache[$coursecode])) { | 
                                                        |
| 348 | + return $this->coursecodecache[$coursecode];  | 
                                                        |
| 349 | +        } else { | 
                                                        |
| 350 | + $name = CourseManager::getCourseNameFromCode($coursecode);  | 
                                                        |
| 351 | + $this->coursecodecache[$coursecode] = $name;  | 
                                                        |
| 352 | + return $name;  | 
                                                        |
| 353 | + }  | 
                                                        |
| 354 | + }  | 
                                                        |
| 355 | +  | 
                                                        |
| 356 | + /**  | 
                                                        |
| 357 | + * @param $category_id  | 
                                                        |
| 358 | + * @return null  | 
                                                        |
| 359 | + */  | 
                                                        |
| 360 | + private function get_category_cached($category_id)  | 
                                                        |
| 361 | +    { | 
                                                        |
| 362 | + if (isset ($this->categorycache)  | 
                                                        |
| 363 | +            && isset ($this->categorycache[$category_id])) { | 
                                                        |
| 364 | + return $this->categorycache[$category_id];  | 
                                                        |
| 365 | +        }else { | 
                                                        |
| 366 | + $cat = Category::load($category_id);  | 
                                                        |
| 367 | +            if (isset($cat)){ | 
                                                        |
| 368 | + $this->categorycache[$category_id] = $cat[0];  | 
                                                        |
| 369 | + return $cat[0];  | 
                                                        |
| 370 | + }else  | 
                                                        |
| 371 | + return null;  | 
                                                        |
| 372 | + }  | 
                                                        |
| 373 | + }  | 
                                                        |
| 374 | +  | 
                                                        |
| 375 | + /**  | 
                                                        |
| 376 | + * @param $cat  | 
                                                        |
| 377 | + * @return string  | 
                                                        |
| 378 | + */  | 
                                                        |
| 379 | + private function get_category_name_to_display($cat)  | 
                                                        |
| 380 | +    { | 
                                                        |
| 381 | +        if (isset($cat)) { | 
                                                        |
| 382 | +            if ($cat->get_parent_id() == '0' || $cat->get_parent_id() == null){ | 
                                                        |
| 383 | + return '';  | 
                                                        |
| 384 | +            } else { | 
                                                        |
| 385 | + return $cat->get_name();  | 
                                                        |
| 386 | + }  | 
                                                        |
| 387 | +        } else { | 
                                                        |
| 388 | + return '';  | 
                                                        |
| 389 | + }  | 
                                                        |
| 390 | + }  | 
                                                        |
| 391 | 391 | }  | 
                                                        
@@ -50,9 +50,9 @@ discard block  | 
                                                    ||
| 50 | 50 | |
| 51 | 51 | }  | 
                                                        
| 52 | 52 |          if (count($result) == 0) { | 
                                                        
| 53 | - $evals_filtered=$evals;  | 
                                                        |
| 53 | + $evals_filtered = $evals;  | 
                                                        |
| 54 | 54 |          } else { | 
                                                        
| 55 | - $evals_filtered=$evals_filtered_copy;  | 
                                                        |
| 55 | + $evals_filtered = $evals_filtered_copy;  | 
                                                        |
| 56 | 56 | }  | 
                                                        
| 57 | 57 | $this->items = array_merge($evals_filtered, $links);  | 
                                                        
| 58 | 58 | |
@@ -85,7 +85,7 @@ discard block  | 
                                                    ||
| 85 | 85 |  	{ | 
                                                        
| 86 | 86 | // do some checks on count, redefine if invalid value  | 
                                                        
| 87 | 87 |  		if (!isset($count)) { | 
                                                        
| 88 | - $count = count ($this->items) - $start;  | 
                                                        |
| 88 | + $count = count($this->items) - $start;  | 
                                                        |
| 89 | 89 | }  | 
                                                        
| 90 | 90 |  		if ($count < 0) { | 
                                                        
| 91 | 91 | $count = 0;  | 
                                                        
@@ -104,20 +104,20 @@ discard block  | 
                                                    ||
| 104 | 104 |  		} elseif ($sorting & self :: UDG_SORT_AVERAGE) { | 
                                                        
| 105 | 105 | // if user sorts on average scores, first calculate them and cache them  | 
                                                        
| 106 | 106 |  			foreach ($allitems as $item) { | 
                                                        
| 107 | - $this->avgcache[$item->get_item_type() . $item->get_id()]= $item->calc_score();  | 
                                                        |
| 107 | + $this->avgcache[$item->get_item_type().$item->get_id()] = $item->calc_score();  | 
                                                        |
| 108 | 108 | }  | 
                                                        
| 109 | 109 |  			usort($allitems, array('UserDataGenerator', 'sort_by_average')); | 
                                                        
| 110 | 110 |  		} elseif ($sorting & self :: UDG_SORT_SCORE) { | 
                                                        
| 111 | 111 | // if user sorts on student's scores, first calculate them and cache them  | 
                                                        
| 112 | 112 |  			foreach ($allitems as $item) { | 
                                                        
| 113 | - $this->scorecache[$item->get_item_type() . $item->get_id()]  | 
                                                        |
| 113 | + $this->scorecache[$item->get_item_type().$item->get_id()]  | 
                                                        |
| 114 | 114 | = $item->calc_score($this->userid);  | 
                                                        
| 115 | 115 | }  | 
                                                        
| 116 | 116 |  			usort($allitems, array('UserDataGenerator', 'sort_by_score')); | 
                                                        
| 117 | 117 |  		} elseif ($sorting & self :: UDG_SORT_MASK) { | 
                                                        
| 118 | 118 | // if user sorts on student's masks, first calculate scores and cache them  | 
                                                        
| 119 | 119 |  			foreach ($allitems as $item) { | 
                                                        
| 120 | - $this->scorecache[$item->get_item_type() . $item->get_id()]  | 
                                                        |
| 120 | + $this->scorecache[$item->get_item_type().$item->get_id()]  | 
                                                        |
| 121 | 121 | = $item->calc_score($this->userid);  | 
                                                        
| 122 | 122 | }  | 
                                                        
| 123 | 123 |  			usort($allitems, array('UserDataGenerator', 'sort_by_mask')); | 
                                                        
@@ -132,7 +132,7 @@ discard block  | 
                                                    ||
| 132 | 132 | // fill score cache if not done yet  | 
                                                        
| 133 | 133 |  		if (!isset ($this->scorecache)) { | 
                                                        
| 134 | 134 |  			foreach ($visibleitems as $item) { | 
                                                        
| 135 | - $this->scorecache[$item->get_item_type() . $item->get_id()]  | 
                                                        |
| 135 | + $this->scorecache[$item->get_item_type().$item->get_id()]  | 
                                                        |
| 136 | 136 | = $item->calc_score($this->userid);  | 
                                                        
| 137 | 137 | }  | 
                                                        
| 138 | 138 | |
@@ -141,7 +141,7 @@ discard block  | 
                                                    ||
| 141 | 141 | $scoredisplay = ScoreDisplay :: instance();  | 
                                                        
| 142 | 142 | $data = array();  | 
                                                        
| 143 | 143 |  		foreach ($visibleitems as $item) { | 
                                                        
| 144 | - $row = array ();  | 
                                                        |
| 144 | + $row = array();  | 
                                                        |
| 145 | 145 | $row[] = $item;  | 
                                                        
| 146 | 146 | $row[] = $item->get_name();  | 
                                                        
| 147 | 147 | $row[] = $this->build_course_name($item);  | 
                                                        
@@ -163,7 +163,7 @@ discard block  | 
                                                    ||
| 163 | 163 | function sort_by_type($item1, $item2)  | 
                                                        
| 164 | 164 |  	{ | 
                                                        
| 165 | 165 |  		if ($item1->get_item_type() == $item2->get_item_type()) { | 
                                                        
| 166 | - return $this->sort_by_name($item1,$item2);  | 
                                                        |
| 166 | + return $this->sort_by_name($item1, $item2);  | 
                                                        |
| 167 | 167 |  		} else { | 
                                                        
| 168 | 168 | return ($item1->get_item_type() < $item2->get_item_type() ? -1 : 1);  | 
                                                        
| 169 | 169 | }  | 
                                                        
@@ -203,7 +203,7 @@ discard block  | 
                                                    ||
| 203 | 203 | */  | 
                                                        
| 204 | 204 | function sort_by_name($item1, $item2)  | 
                                                        
| 205 | 205 |  	{ | 
                                                        
| 206 | - return api_strnatcmp($item1->get_name(),$item2->get_name());  | 
                                                        |
| 206 | + return api_strnatcmp($item1->get_name(), $item2->get_name());  | 
                                                        |
| 207 | 207 | }  | 
                                                        
| 208 | 208 | |
| 209 | 209 | /**  | 
                                                        
@@ -213,8 +213,8 @@ discard block  | 
                                                    ||
| 213 | 213 | */  | 
                                                        
| 214 | 214 | function sort_by_average($item1, $item2)  | 
                                                        
| 215 | 215 |  	{ | 
                                                        
| 216 | - $score1 = $this->avgcache[$item1->get_item_type() . $item1->get_id()];  | 
                                                        |
| 217 | - $score2 = $this->avgcache[$item2->get_item_type() . $item2->get_id()];  | 
                                                        |
| 216 | + $score1 = $this->avgcache[$item1->get_item_type().$item1->get_id()];  | 
                                                        |
| 217 | + $score2 = $this->avgcache[$item2->get_item_type().$item2->get_id()];  | 
                                                        |
| 218 | 218 | |
| 219 | 219 | return $this->compare_scores($score1, $score2);  | 
                                                        
| 220 | 220 | }  | 
                                                        
@@ -226,8 +226,8 @@ discard block  | 
                                                    ||
| 226 | 226 | */  | 
                                                        
| 227 | 227 | function sort_by_score($item1, $item2)  | 
                                                        
| 228 | 228 |  	{ | 
                                                        
| 229 | - $score1 = $this->scorecache[$item1->get_item_type() . $item1->get_id()];  | 
                                                        |
| 230 | - $score2 = $this->scorecache[$item2->get_item_type() . $item2->get_id()];  | 
                                                        |
| 229 | + $score1 = $this->scorecache[$item1->get_item_type().$item1->get_id()];  | 
                                                        |
| 230 | + $score2 = $this->scorecache[$item2->get_item_type().$item2->get_id()];  | 
                                                        |
| 231 | 231 | |
| 232 | 232 | return $this->compare_scores($score1, $score2);  | 
                                                        
| 233 | 233 | }  | 
                                                        
@@ -239,8 +239,8 @@ discard block  | 
                                                    ||
| 239 | 239 | */  | 
                                                        
| 240 | 240 | function sort_by_mask($item1, $item2)  | 
                                                        
| 241 | 241 |  	{ | 
                                                        
| 242 | - $score1 = $this->scorecache[$item1->get_item_type() . $item1->get_id()];  | 
                                                        |
| 243 | - $score2 = $this->scorecache[$item2->get_item_type() . $item2->get_id()];  | 
                                                        |
| 242 | + $score1 = $this->scorecache[$item1->get_item_type().$item1->get_id()];  | 
                                                        |
| 243 | + $score2 = $this->scorecache[$item2->get_item_type().$item2->get_id()];  | 
                                                        |
| 244 | 244 | |
| 245 | 245 | return ScoreDisplay :: compare_scores_by_custom_display($score1, $score2);  | 
                                                        
| 246 | 246 | }  | 
                                                        
@@ -256,10 +256,10 @@ discard block  | 
                                                    ||
| 256 | 256 | return (isset($score2) ? 1 : 0);  | 
                                                        
| 257 | 257 |  		} elseif (!isset($score2)) { | 
                                                        
| 258 | 258 | return -1;  | 
                                                        
| 259 | -		} elseif (($score1[0]/$score1[1]) == ($score2[0]/$score2[1])) { | 
                                                        |
| 259 | +		} elseif (($score1[0] / $score1[1]) == ($score2[0] / $score2[1])) { | 
                                                        |
| 260 | 260 | return 0;  | 
                                                        
| 261 | 261 |  		} else { | 
                                                        
| 262 | - return (($score1[0]/$score1[1]) < ($score2[0]/$score2[1]) ? -1 : 1);  | 
                                                        |
| 262 | + return (($score1[0] / $score1[1]) < ($score2[0] / $score2[1]) ? -1 : 1);  | 
                                                        |
| 263 | 263 | }  | 
                                                        
| 264 | 264 | }  | 
                                                        
| 265 | 265 | |
@@ -291,7 +291,7 @@ discard block  | 
                                                    ||
| 291 | 291 | private function build_average_column($item, $ignore_score_color)  | 
                                                        
| 292 | 292 |  	{ | 
                                                        
| 293 | 293 |  		if (isset($this->avgcache)) { | 
                                                        
| 294 | - $avgscore = $this->avgcache[$item->get_item_type() . $item->get_id()];  | 
                                                        |
| 294 | + $avgscore = $this->avgcache[$item->get_item_type().$item->get_id()];  | 
                                                        |
| 295 | 295 |  		} else { | 
                                                        
| 296 | 296 | $avgscore = $item->calc_score();  | 
                                                        
| 297 | 297 | }  | 
                                                        
@@ -311,7 +311,7 @@ discard block  | 
                                                    ||
| 311 | 311 | */  | 
                                                        
| 312 | 312 | private function build_result_column($item, $ignore_score_color)  | 
                                                        
| 313 | 313 |  	{ | 
                                                        
| 314 | - $studscore = $this->scorecache[$item->get_item_type() . $item->get_id()];  | 
                                                        |
| 314 | + $studscore = $this->scorecache[$item->get_item_type().$item->get_id()];  | 
                                                        |
| 315 | 315 | $scoredisplay = ScoreDisplay :: instance();  | 
                                                        
| 316 | 316 | $displaytype = SCORE_DIV_PERCENT;  | 
                                                        
| 317 | 317 |  		if ($ignore_score_color) { | 
                                                        
@@ -328,7 +328,7 @@ discard block  | 
                                                    ||
| 328 | 328 | */  | 
                                                        
| 329 | 329 | private function build_mask_column($item, $ignore_score_color)  | 
                                                        
| 330 | 330 |  	{ | 
                                                        
| 331 | - $studscore = $this->scorecache[$item->get_item_type() . $item->get_id()];  | 
                                                        |
| 331 | + $studscore = $this->scorecache[$item->get_item_type().$item->get_id()];  | 
                                                        |
| 332 | 332 | $scoredisplay = ScoreDisplay :: instance();  | 
                                                        
| 333 | 333 | $displaytype = SCORE_DIV_PERCENT;  | 
                                                        
| 334 | 334 |  		if ($ignore_score_color) { | 
                                                        
@@ -362,12 +362,12 @@ discard block  | 
                                                    ||
| 362 | 362 | if (isset ($this->categorycache)  | 
                                                        
| 363 | 363 |  			&& isset ($this->categorycache[$category_id])) { | 
                                                        
| 364 | 364 | return $this->categorycache[$category_id];  | 
                                                        
| 365 | -		}else { | 
                                                        |
| 365 | +		} else { | 
                                                        |
| 366 | 366 | $cat = Category::load($category_id);  | 
                                                        
| 367 | -			if (isset($cat)){ | 
                                                        |
| 367 | +			if (isset($cat)) { | 
                                                        |
| 368 | 368 | $this->categorycache[$category_id] = $cat[0];  | 
                                                        
| 369 | 369 | return $cat[0];  | 
                                                        
| 370 | - }else  | 
                                                        |
| 370 | + } else  | 
                                                        |
| 371 | 371 | return null;  | 
                                                        
| 372 | 372 | }  | 
                                                        
| 373 | 373 | }  | 
                                                        
@@ -379,7 +379,7 @@ discard block  | 
                                                    ||
| 379 | 379 | private function get_category_name_to_display($cat)  | 
                                                        
| 380 | 380 |  	{ | 
                                                        
| 381 | 381 |  		if (isset($cat)) { | 
                                                        
| 382 | -			if ($cat->get_parent_id() == '0' || $cat->get_parent_id() == null){ | 
                                                        |
| 382 | +			if ($cat->get_parent_id() == '0' || $cat->get_parent_id() == null) { | 
                                                        |
| 383 | 383 | return '';  | 
                                                        
| 384 | 384 |  			} else { | 
                                                        
| 385 | 385 | return $cat->get_name();  | 
                                                        
@@ -95,7 +95,7 @@ discard block  | 
                                                    ||
| 95 | 95 | // sort users array  | 
                                                        
| 96 | 96 |  		if ($sorting & self :: UDG_SORT_TYPE) { | 
                                                        
| 97 | 97 |  			usort($allitems, array('UserDataGenerator', 'sort_by_type')); | 
                                                        
| 98 | -		}elseif ($sorting & self :: UDG_SORT_NAME) { | 
                                                        |
| 98 | +		} elseif ($sorting & self :: UDG_SORT_NAME) { | 
                                                        |
| 99 | 99 |  			usort($allitems, array('UserDataGenerator', 'sort_by_name')); | 
                                                        
| 100 | 100 |  		} elseif ($sorting & self :: UDG_SORT_COURSE) { | 
                                                        
| 101 | 101 |  			usort($allitems, array('UserDataGenerator', 'sort_by_course')); | 
                                                        
@@ -148,8 +148,9 @@ discard block  | 
                                                    ||
| 148 | 148 | $row[] = $this->build_category_name($item);  | 
                                                        
| 149 | 149 | $row[] = $this->build_average_column($item, $ignore_score_color);  | 
                                                        
| 150 | 150 | $row[] = $this->build_result_column($item, $ignore_score_color);  | 
                                                        
| 151 | - if ($scoredisplay->is_custom())  | 
                                                        |
| 152 | - $row[] = $this->build_mask_column($item, $ignore_score_color);  | 
                                                        |
| 151 | +			if ($scoredisplay->is_custom()) { | 
                                                        |
| 152 | + $row[] = $this->build_mask_column($item, $ignore_score_color);  | 
                                                        |
| 153 | + }  | 
                                                        |
| 153 | 154 | $data[] = $row;  | 
                                                        
| 154 | 155 | }  | 
                                                        
| 155 | 156 | return $data;  | 
                                                        
@@ -362,13 +363,14 @@ discard block  | 
                                                    ||
| 362 | 363 | if (isset ($this->categorycache)  | 
                                                        
| 363 | 364 |  			&& isset ($this->categorycache[$category_id])) { | 
                                                        
| 364 | 365 | return $this->categorycache[$category_id];  | 
                                                        
| 365 | -		}else { | 
                                                        |
| 366 | +		} else { | 
                                                        |
| 366 | 367 | $cat = Category::load($category_id);  | 
                                                        
| 367 | 368 |  			if (isset($cat)){ | 
                                                        
| 368 | 369 | $this->categorycache[$category_id] = $cat[0];  | 
                                                        
| 369 | 370 | return $cat[0];  | 
                                                        
| 370 | - }else  | 
                                                        |
| 371 | - return null;  | 
                                                        |
| 371 | +			} else { | 
                                                        |
| 372 | + return null;  | 
                                                        |
| 373 | + }  | 
                                                        |
| 372 | 374 | }  | 
                                                        
| 373 | 375 | }  | 
                                                        
| 374 | 376 | |
@@ -18,7 +18,7 @@ discard block  | 
                                                    ||
| 18 | 18 | }  | 
                                                        
| 19 | 19 | |
| 20 | 20 | /**  | 
                                                        
| 21 | - * @return array  | 
                                                        |
| 21 | + * @return string[]  | 
                                                        |
| 22 | 22 | */  | 
                                                        
| 23 | 23 | public static function get_tags()  | 
                                                        
| 24 | 24 |      { | 
                                                        
@@ -40,7 +40,7 @@ discard block  | 
                                                    ||
| 40 | 40 | * @param string $course_code  | 
                                                        
| 41 | 41 | * @param int $session_id  | 
                                                        
| 42 | 42 | *  | 
                                                        
| 43 | - * @return mixed  | 
                                                        |
| 43 | + * @return string  | 
                                                        |
| 44 | 44 | */  | 
                                                        
| 45 | 45 | public static function parse_content($userId, $content, $course_code, $session_id = 0)  | 
                                                        
| 46 | 46 |      { | 
                                                        
@@ -349,7 +349,7 @@ discard block  | 
                                                    ||
| 349 | 349 | * @param array uploaded file $_FILES  | 
                                                        
| 350 | 350 | * @param string Comment describing the attachment  | 
                                                        
| 351 | 351 | * @param bool $sendToUsersInSession  | 
                                                        
| 352 | - * @return int false on failure, ID of the announcement on success  | 
                                                        |
| 352 | + * @return false|string false on failure, ID of the announcement on success  | 
                                                        |
| 353 | 353 | */  | 
                                                        
| 354 | 354 | public static function add_announcement(  | 
                                                        
| 355 | 355 | $emailTitle,  | 
                                                        
@@ -460,7 +460,7 @@ discard block  | 
                                                    ||
| 460 | 460 | * @param $to_users  | 
                                                        
| 461 | 461 | * @param array $file  | 
                                                        
| 462 | 462 | * @param string $file_comment  | 
                                                        
| 463 | - * @return bool|int  | 
                                                        |
| 463 | + * @return false|string  | 
                                                        |
| 464 | 464 | */  | 
                                                        
| 465 | 465 | public static function add_group_announcement(  | 
                                                        
| 466 | 466 | $emailTitle,  | 
                                                        
@@ -699,7 +699,7 @@ discard block  | 
                                                    ||
| 699 | 699 | |
| 700 | 700 | /**  | 
                                                        
| 701 | 701 | * @param int $insert_id  | 
                                                        
| 702 | - * @return bool  | 
                                                        |
| 702 | + * @return false|null  | 
                                                        |
| 703 | 703 | */  | 
                                                        
| 704 | 704 | public static function update_mail_sent($insert_id)  | 
                                                        
| 705 | 705 |      { | 
                                                        
@@ -719,6 +719,7 @@ discard block  | 
                                                    ||
| 719 | 719 | * Gets all announcements from a user by course  | 
                                                        
| 720 | 720 | * @param string course db  | 
                                                        
| 721 | 721 | * @param int user id  | 
                                                        
| 722 | + * @param integer $user_id  | 
                                                        |
| 722 | 723 | * @return array html with the content and count of announcements or false otherwise  | 
                                                        
| 723 | 724 | */  | 
                                                        
| 724 | 725 | public static function get_all_annoucement_by_user_course($course_code, $user_id)  | 
                                                        
@@ -1184,6 +1185,7 @@ discard block  | 
                                                    ||
| 1184 | 1185 | * has been sent to  | 
                                                        
| 1185 | 1186 | * @param string The tool (announcement, agenda, ...)  | 
                                                        
| 1186 | 1187 | * @param int ID of the element of the corresponding type  | 
                                                        
| 1188 | + * @param string $tool  | 
                                                        |
| 1187 | 1189 | * @return array Array of users and groups to whom the element has been sent  | 
                                                        
| 1188 | 1190 | */  | 
                                                        
| 1189 | 1191 | public static function sent_to($tool, $id)  | 
                                                        
@@ -1308,6 +1310,8 @@ discard block  | 
                                                    ||
| 1308 | 1310 | * @param int attach id  | 
                                                        
| 1309 | 1311 | * @param array uploaded file $_FILES  | 
                                                        
| 1310 | 1312 | * @param string file comment  | 
                                                        
| 1313 | + * @param integer $id_attach  | 
                                                        |
| 1314 | + * @param string $file_comment  | 
                                                        |
| 1311 | 1315 | * @return int  | 
                                                        
| 1312 | 1316 | */  | 
                                                        
| 1313 | 1317 | public static function edit_announcement_attachment_file($id_attach, $file, $file_comment)  | 
                                                        
@@ -1510,7 +1510,7 @@  | 
                                                    ||
| 1510 | 1510 |                              ip.to_user_id=$user_id OR (ip.to_group_id IS NULL OR ip.to_group_id IN (0, ".implode(", ", $group_memberships).")) | 
                                                        
| 1511 | 1511 | ) ";  | 
                                                        
| 1512 | 1512 |                      } else { | 
                                                        
| 1513 | - $cond_user_id = " AND (  | 
                                                        |
| 1513 | + $cond_user_id = " AND (  | 
                                                        |
| 1514 | 1514 | ip.to_user_id=$user_id OR (ip.to_group_id IS NULL OR ip.to_group_id IN (0, ".api_get_group_id()."))  | 
                                                        
| 1515 | 1515 | )";  | 
                                                        
| 1516 | 1516 | }  | 
                                                        
@@ -216,8 +216,8 @@ discard block  | 
                                                    ||
| 216 | 216 | announcement.id = '$announcement_id' AND  | 
                                                        
| 217 | 217 | toolitemproperties.tool='announcement' AND  | 
                                                        
| 218 | 218 | (  | 
                                                        
| 219 | - toolitemproperties.to_user_id='" . api_get_user_id() . "' OR  | 
                                                        |
| 220 | -                                toolitemproperties.to_group_id IN ('0', '" . implode("', '", $group_list) . "') OR | 
                                                        |
| 219 | + toolitemproperties.to_user_id='".api_get_user_id()."' OR  | 
                                                        |
| 220 | +                                toolitemproperties.to_group_id IN ('0', '" . implode("', '", $group_list)."') OR | 
                                                        |
| 221 | 221 | toolitemproperties.to_group_id IS NULL  | 
                                                        
| 222 | 222 | ) AND  | 
                                                        
| 223 | 223 | toolitemproperties.visibility='1' AND  | 
                                                        
@@ -246,13 +246,13 @@ discard block  | 
                                                    ||
| 246 | 246 | $title = $result['title'];  | 
                                                        
| 247 | 247 | $content = $result['content'];  | 
                                                        
| 248 | 248 | $html .= "<table height=\"100\" width=\"100%\" cellpadding=\"5\" cellspacing=\"0\" class=\"data_table\">";  | 
                                                        
| 249 | - $html .= "<tr><td><h2>" . $title . "</h2></td></tr>";  | 
                                                        |
| 249 | + $html .= "<tr><td><h2>".$title."</h2></td></tr>";  | 
                                                        |
| 250 | 250 | |
| 251 | 251 | if (api_is_allowed_to_edit(false, true) ||  | 
                                                        
| 252 | 252 |                  (api_get_course_setting('allow_user_edit_announcement') && !api_is_anonymous()) | 
                                                        
| 253 | 253 |              ) { | 
                                                        
| 254 | - $modify_icons = "<a href=\"" . api_get_self() . "?" . api_get_cidreq() . "&action=modify&id=" . $announcement_id . "\">" .  | 
                                                        |
| 255 | -                    Display::return_icon('edit.png', get_lang('Edit'), '', ICON_SIZE_SMALL) . "</a>"; | 
                                                        |
| 254 | + $modify_icons = "<a href=\"".api_get_self()."?".api_get_cidreq()."&action=modify&id=".$announcement_id."\">".  | 
                                                        |
| 255 | +                    Display::return_icon('edit.png', get_lang('Edit'), '', ICON_SIZE_SMALL)."</a>"; | 
                                                        |
| 256 | 256 |                  if ($result['visibility'] == 1) { | 
                                                        
| 257 | 257 | $image_visibility = "visible";  | 
                                                        
| 258 | 258 |                      $alt_visibility = get_lang('Hide'); | 
                                                        
@@ -262,12 +262,12 @@ discard block  | 
                                                    ||
| 262 | 262 | }  | 
                                                        
| 263 | 263 | global $stok;  | 
                                                        
| 264 | 264 | |
| 265 | - $modify_icons .= "<a href=\"" . api_get_self() . "?" . api_get_cidreq() . "&origin=" . (!empty($_GET['origin']) ? Security::remove_XSS($_GET['origin']) : '') . "&action=showhide&id=" . $announcement_id . "&sec_token=" . $stok . "\">" .  | 
                                                        |
| 266 | - Display::return_icon($image_visibility . '.png', $alt_visibility, '', ICON_SIZE_SMALL) . "</a>";  | 
                                                        |
| 265 | + $modify_icons .= "<a href=\"".api_get_self()."?".api_get_cidreq()."&origin=".(!empty($_GET['origin']) ? Security::remove_XSS($_GET['origin']) : '')."&action=showhide&id=".$announcement_id."&sec_token=".$stok."\">".  | 
                                                        |
| 266 | + Display::return_icon($image_visibility.'.png', $alt_visibility, '', ICON_SIZE_SMALL)."</a>";  | 
                                                        |
| 267 | 267 | |
| 268 | 268 |                  if (api_is_allowed_to_edit(false, true)) { | 
                                                        
| 269 | -                    $modify_icons .= "<a href=\"" . api_get_self() . "?" . api_get_cidreq() . "&action=delete&id=" . $announcement_id . "&sec_token=" . $stok . "\" onclick=\"javascript:if(!confirm('" . addslashes(api_htmlentities(get_lang('ConfirmYourChoice'), ENT_QUOTES, $charset)) . "')) return false;\">" . | 
                                                        |
| 270 | -                        Display::return_icon('delete.png', get_lang('Delete'), '', ICON_SIZE_SMALL) . | 
                                                        |
| 269 | +                    $modify_icons .= "<a href=\"".api_get_self()."?".api_get_cidreq()."&action=delete&id=".$announcement_id."&sec_token=".$stok."\" onclick=\"javascript:if(!confirm('".addslashes(api_htmlentities(get_lang('ConfirmYourChoice'), ENT_QUOTES, $charset))."')) return false;\">". | 
                                                        |
| 270 | +                        Display::return_icon('delete.png', get_lang('Delete'), '', ICON_SIZE_SMALL). | 
                                                        |
| 271 | 271 | "</a>";  | 
                                                        
| 272 | 272 | }  | 
                                                        
| 273 | 273 | $html .= "<tr><th style='text-align:right'>$modify_icons</th></tr>";  | 
                                                        
@@ -276,7 +276,7 @@ discard block  | 
                                                    ||
| 276 | 276 | $content = self::parse_content($result['to_user_id'], $content, api_get_course_id(), api_get_session_id());  | 
                                                        
| 277 | 277 | |
| 278 | 278 | $html .= "<tr><td>$content</td></tr>";  | 
                                                        
| 279 | -            $html .= "<tr><td class=\"announcements_datum\">" . get_lang('LastUpdateDate') . " : " . api_convert_and_format_date($result['insert_date'], DATE_TIME_FORMAT_LONG) . "</td></tr>"; | 
                                                        |
| 279 | +            $html .= "<tr><td class=\"announcements_datum\">".get_lang('LastUpdateDate')." : ".api_convert_and_format_date($result['insert_date'], DATE_TIME_FORMAT_LONG)."</td></tr>"; | 
                                                        |
| 280 | 280 | |
| 281 | 281 | // User or group icon  | 
                                                        
| 282 | 282 | $sent_to_icon = '';  | 
                                                        
@@ -288,7 +288,7 @@ discard block  | 
                                                    ||
| 288 | 288 | $sent_to_form = self::sent_to_form($sent_to);  | 
                                                        
| 289 | 289 | $html .= Display::tag(  | 
                                                        
| 290 | 290 | 'td',  | 
                                                        
| 291 | -                    get_lang('SentTo') . ' : ' . $sent_to_form, | 
                                                        |
| 291 | +                    get_lang('SentTo').' : '.$sent_to_form, | 
                                                        |
| 292 | 292 |                      array('class' => 'announcements_datum') | 
                                                        
| 293 | 293 | );  | 
                                                        
| 294 | 294 | }  | 
                                                        
@@ -298,15 +298,15 @@ discard block  | 
                                                    ||
| 298 | 298 | $html .= "<tr><td>";  | 
                                                        
| 299 | 299 | $realname = $attachment_list['path'];  | 
                                                        
| 300 | 300 | $user_filename = $attachment_list['filename'];  | 
                                                        
| 301 | - $full_file_name = 'download.php?'.api_get_cidreq().'&file=' . $realname;  | 
                                                        |
| 301 | + $full_file_name = 'download.php?'.api_get_cidreq().'&file='.$realname;  | 
                                                        |
| 302 | 302 | $html .= '<br/>';  | 
                                                        
| 303 | 303 |                  $html .= Display::return_icon('attachment.gif', get_lang('Attachment')); | 
                                                        
| 304 | - $html .= '<a href="' . $full_file_name . ' "> ' . $user_filename . ' </a>';  | 
                                                        |
| 305 | - $html .= ' - <span class="forum_attach_comment" >' . $attachment_list['comment'] . '</span>';  | 
                                                        |
| 304 | + $html .= '<a href="'.$full_file_name.' "> '.$user_filename.' </a>';  | 
                                                        |
| 305 | + $html .= ' - <span class="forum_attach_comment" >'.$attachment_list['comment'].'</span>';  | 
                                                        |
| 306 | 306 |                  if (api_is_allowed_to_edit(false, true)) { | 
                                                        
| 307 | 307 | $html .= Display::url(  | 
                                                        
| 308 | 308 |                          Display::return_icon('delete.png', get_lang('Delete'), '', 16), | 
                                                        
| 309 | - api_get_self() . "?" . api_get_cidreq() . "&action=delete_attachment&id_attach=" . $attachment_list['id'] . "&sec_token=" . $stok  | 
                                                        |
| 309 | + api_get_self()."?".api_get_cidreq()."&action=delete_attachment&id_attach=".$attachment_list['id']."&sec_token=".$stok  | 
                                                        |
| 310 | 310 | );  | 
                                                        
| 311 | 311 | }  | 
                                                        
| 312 | 312 | $html .= '</td></tr>';  | 
                                                        
@@ -334,7 +334,7 @@ discard block  | 
                                                    ||
| 334 | 334 | $order = 0;  | 
                                                        
| 335 | 335 |          if (Database::num_rows($res_max)) { | 
                                                        
| 336 | 336 | $row_max = Database::fetch_array($res_max);  | 
                                                        
| 337 | - $order = intval($row_max[0])+1;  | 
                                                        |
| 337 | + $order = intval($row_max[0]) + 1;  | 
                                                        |
| 338 | 338 | }  | 
                                                        
| 339 | 339 | |
| 340 | 340 | return $order;  | 
                                                        
@@ -754,8 +754,8 @@ discard block  | 
                                                    ||
| 754 | 754 | $result = array();  | 
                                                        
| 755 | 755 |              if ($num_rows > 0) { | 
                                                        
| 756 | 756 |                  while ($myrow = Database::fetch_array($rs)) { | 
                                                        
| 757 | - $content.= '<strong>' . $myrow['title'] . '</strong><br /><br />';  | 
                                                        |
| 758 | - $content.= $myrow['content'];  | 
                                                        |
| 757 | + $content .= '<strong>'.$myrow['title'].'</strong><br /><br />';  | 
                                                        |
| 758 | + $content .= $myrow['content'];  | 
                                                        |
| 759 | 759 | $i++;  | 
                                                        
| 760 | 760 | }  | 
                                                        
| 761 | 761 | $result['content'] = $content;  | 
                                                        
@@ -786,7 +786,7 @@ discard block  | 
                                                    ||
| 786 | 786 | echo "<table id=\"recipient_list\" >";  | 
                                                        
| 787 | 787 | echo '<tr>';  | 
                                                        
| 788 | 788 | echo '<td>';  | 
                                                        
| 789 | -        echo '<label><input type="checkbox" id="send_to_all_users">'.get_lang('SendToAllUsers') . "</label>"; | 
                                                        |
| 789 | +        echo '<label><input type="checkbox" id="send_to_all_users">'.get_lang('SendToAllUsers')."</label>"; | 
                                                        |
| 790 | 790 | echo "</td>";  | 
                                                        
| 791 | 791 | echo '</tr>';  | 
                                                        
| 792 | 792 | echo '<tr>';  | 
                                                        
@@ -794,7 +794,7 @@ discard block  | 
                                                    ||
| 794 | 794 | |
| 795 | 795 | // the form containing all the groups and all the users of the course  | 
                                                        
| 796 | 796 | echo '<td>';  | 
                                                        
| 797 | -        echo "<strong>" . get_lang('Users') . "</strong><br />"; | 
                                                        |
| 797 | +        echo "<strong>".get_lang('Users')."</strong><br />"; | 
                                                        |
| 798 | 798 | |
| 799 | 799 | self::construct_not_selected_select_form($groupList, $userList, $to_already_selected);  | 
                                                        
| 800 | 800 | echo "</td>";  | 
                                                        
@@ -809,7 +809,7 @@ discard block  | 
                                                    ||
| 809 | 809 | echo "<td>";  | 
                                                        
| 810 | 810 | |
| 811 | 811 | // the form containing the selected groups and users  | 
                                                        
| 812 | -        echo "<strong>" . get_lang('DestinationUsers') . "</strong><br />"; | 
                                                        |
| 812 | +        echo "<strong>".get_lang('DestinationUsers')."</strong><br />"; | 
                                                        |
| 813 | 813 | self::construct_selected_select_form($groupList, $userList, $to_already_selected);  | 
                                                        
| 814 | 814 | echo "</td>";  | 
                                                        
| 815 | 815 | echo "</tr>";  | 
                                                        
@@ -827,8 +827,8 @@ discard block  | 
                                                    ||
| 827 | 827 | echo "<select id=\"not_selected_form\" name=\"not_selected_form[]\" size=5 style=\"width:200px\" multiple>";  | 
                                                        
| 828 | 828 | $group_users = GroupManager::getStudentsAndTutors($group_id);  | 
                                                        
| 829 | 829 |          foreach ($group_users as $user) { | 
                                                        
| 830 | -            echo '<option value="' . $user['user_id'] . '" title="' . sprintf(get_lang('LoginX'), $user['username']) . '" >' . | 
                                                        |
| 831 | - api_get_person_name($user['firstname'], $user['lastname']) .  | 
                                                        |
| 830 | +            echo '<option value="'.$user['user_id'].'" title="'.sprintf(get_lang('LoginX'), $user['username']).'" >'. | 
                                                        |
| 831 | + api_get_person_name($user['firstname'], $user['lastname']).  | 
                                                        |
| 832 | 832 | '</option>';  | 
                                                        
| 833 | 833 | }  | 
                                                        
| 834 | 834 | echo '</select>';  | 
                                                        
@@ -866,12 +866,12 @@ discard block  | 
                                                    ||
| 866 | 866 |          if (!empty($groupList)) { | 
                                                        
| 867 | 867 |              foreach ($groupList as $this_group) { | 
                                                        
| 868 | 868 |                  if (is_array($to_already_selected)) { | 
                                                        
| 869 | -                    if (!in_array("GROUP:" . $this_group['id'], $to_already_selected)) { | 
                                                        |
| 869 | +                    if (!in_array("GROUP:".$this_group['id'], $to_already_selected)) { | 
                                                        |
| 870 | 870 | // $to_already_selected is the array containing the groups (and users) that are already selected  | 
                                                        
| 871 | -                        $user_label = ($this_group['userNb'] > 0) ? get_lang('Users') : get_lang('LowerCaseUser') ; | 
                                                        |
| 872 | - $user_disabled = ($this_group['userNb'] > 0) ? "" : "disabled=disabled" ;  | 
                                                        |
| 873 | - echo "<option $user_disabled value=\"GROUP:" . $this_group['id'] . "\">",  | 
                                                        |
| 874 | - "G: ", $this_group['name'], " - " . $this_group['userNb'] . " " . $user_label .  | 
                                                        |
| 871 | +                        $user_label = ($this_group['userNb'] > 0) ? get_lang('Users') : get_lang('LowerCaseUser'); | 
                                                        |
| 872 | + $user_disabled = ($this_group['userNb'] > 0) ? "" : "disabled=disabled";  | 
                                                        |
| 873 | + echo "<option $user_disabled value=\"GROUP:".$this_group['id']."\">",  | 
                                                        |
| 874 | + "G: ", $this_group['name'], " - ".$this_group['userNb']." ".$user_label.  | 
                                                        |
| 875 | 875 | "</option>";  | 
                                                        
| 876 | 876 | }  | 
                                                        
| 877 | 877 | }  | 
                                                        
@@ -885,15 +885,15 @@ discard block  | 
                                                    ||
| 885 | 885 |          if (!empty($userList)) { | 
                                                        
| 886 | 886 |              foreach ($userList as $user) { | 
                                                        
| 887 | 887 |                  if (is_array($to_already_selected)) { | 
                                                        
| 888 | -                    if (!in_array("USER:" . $user['user_id'], $to_already_selected)) { | 
                                                        |
| 888 | +                    if (!in_array("USER:".$user['user_id'], $to_already_selected)) { | 
                                                        |
| 889 | 889 | // $to_already_selected is the array containing the users (and groups) that are already selected  | 
                                                        
| 890 | -                        echo "<option value=\"USER:" . $user['user_id'] . "\" title='" . sprintf(get_lang('LoginX'), $user['username']) . "'>", | 
                                                        |
| 890 | +                        echo "<option value=\"USER:".$user['user_id']."\" title='".sprintf(get_lang('LoginX'), $user['username'])."'>", | 
                                                        |
| 891 | 891 | "", api_get_person_name($user['firstname'], $user['lastname']),  | 
                                                        
| 892 | 892 | "</option>";  | 
                                                        
| 893 | 893 | |
| 894 | 894 |                          if (isset($user['drh_list']) && !empty($user['drh_list'])) { | 
                                                        
| 895 | 895 |                              foreach ($user['drh_list'] as $drh) { | 
                                                        
| 896 | -                                echo "<option value=\"USER:" . $drh['user_id'] . "\" title='" . sprintf(get_lang('LoginX'), $drh['username']) . "'>    ", | 
                                                        |
| 896 | +                                echo "<option value=\"USER:".$drh['user_id']."\" title='".sprintf(get_lang('LoginX'), $drh['username'])."'>    ", | 
                                                        |
| 897 | 897 | "", api_get_person_name($drh['firstname'], $drh['lastname']),  | 
                                                        
| 898 | 898 | "</option>";  | 
                                                        
| 899 | 899 | }  | 
                                                        
@@ -925,16 +925,16 @@ discard block  | 
                                                    ||
| 925 | 925 |              foreach ($to_already_selected as $groupuser) { | 
                                                        
| 926 | 926 |                  list($type, $id) = explode(":", $groupuser); | 
                                                        
| 927 | 927 |                  if ($type == "GROUP") { | 
                                                        
| 928 | - echo "<option value=\"" . $groupuser . "\">G: " . $ref_array_groups[$id]['name'] . "</option>";  | 
                                                        |
| 928 | + echo "<option value=\"".$groupuser."\">G: ".$ref_array_groups[$id]['name']."</option>";  | 
                                                        |
| 929 | 929 |                  } else { | 
                                                        
| 930 | 930 |                      foreach ($ref_array_users as $key => $value) { | 
                                                        
| 931 | 931 |                          if ($value['user_id'] == $id) { | 
                                                        
| 932 | -                            echo "<option value=\"" . $groupuser . "\" title='" . sprintf(get_lang('LoginX'), $value['username']) . "'>" . | 
                                                        |
| 933 | - api_get_person_name($value['firstname'], $value['lastname']) . "</option>";  | 
                                                        |
| 932 | +                            echo "<option value=\"".$groupuser."\" title='".sprintf(get_lang('LoginX'), $value['username'])."'>". | 
                                                        |
| 933 | + api_get_person_name($value['firstname'], $value['lastname'])."</option>";  | 
                                                        |
| 934 | 934 | |
| 935 | 935 |                              if (isset($value['drh_list']) && !empty($value['drh_list'])) { | 
                                                        
| 936 | 936 |                                  foreach ($value['drh_list'] as $drh) { | 
                                                        
| 937 | -                                    echo "<option value=\"USER:" . $drh['user_id'] . "\" title='" . sprintf(get_lang('LoginX'), $drh['username']) . "'>    ", | 
                                                        |
| 937 | +                                    echo "<option value=\"USER:".$drh['user_id']."\" title='".sprintf(get_lang('LoginX'), $drh['username'])."'>    ", | 
                                                        |
| 938 | 938 | "", api_get_person_name($drh['firstname'], $drh['lastname']),  | 
                                                        
| 939 | 939 | "</option>";  | 
                                                        
| 940 | 940 | }  | 
                                                        
@@ -950,17 +950,17 @@ discard block  | 
                                                    ||
| 950 | 950 |                  if (is_array($ref_array_groups)) { | 
                                                        
| 951 | 951 |                      foreach ($ref_array_groups as $this_group) { | 
                                                        
| 952 | 952 |                          //api_display_normal_message("group " . $thisGroup[id] . $thisGroup[name]); | 
                                                        
| 953 | -                        if (!is_array($to_already_selected) || !in_array("GROUP:" . $this_group['id'], $to_already_selected)) { // $to_already_selected is the array containing the groups (and users) that are already selected | 
                                                        |
| 954 | - echo "<option value=\"GROUP:" . $this_group['id'] . "\">",  | 
                                                        |
| 955 | -                            "G: ", $this_group['name'], " – " . $this_group['userNb'] . " " . get_lang('Users') . | 
                                                        |
| 953 | +                        if (!is_array($to_already_selected) || !in_array("GROUP:".$this_group['id'], $to_already_selected)) { // $to_already_selected is the array containing the groups (and users) that are already selected | 
                                                        |
| 954 | + echo "<option value=\"GROUP:".$this_group['id']."\">",  | 
                                                        |
| 955 | +                            "G: ", $this_group['name'], " – ".$this_group['userNb']." ".get_lang('Users'). | 
                                                        |
| 956 | 956 | "</option>";  | 
                                                        
| 957 | 957 | }  | 
                                                        
| 958 | 958 | }  | 
                                                        
| 959 | 959 | }  | 
                                                        
| 960 | 960 | // adding the individual users to the select form  | 
                                                        
| 961 | 961 |                  foreach ($ref_array_users as $this_user) { | 
                                                        
| 962 | -                    if (!is_array($to_already_selected) || !in_array("USER:" . $this_user['user_id'], $to_already_selected)) { // $to_already_selected is the array containing the users (and groups) that are already selected | 
                                                        |
| 963 | -                        echo "<option value=\"USER:", $this_user['user_id'], "\"  title='" . sprintf(get_lang('LoginX'), $this_user['username']) . "'>", | 
                                                        |
| 962 | +                    if (!is_array($to_already_selected) || !in_array("USER:".$this_user['user_id'], $to_already_selected)) { // $to_already_selected is the array containing the users (and groups) that are already selected | 
                                                        |
| 963 | +                        echo "<option value=\"USER:", $this_user['user_id'], "\"  title='".sprintf(get_lang('LoginX'), $this_user['username'])."'>", | 
                                                        |
| 964 | 964 | "", api_get_person_name($this_user['firstname'], $this_user['lastname']),  | 
                                                        
| 965 | 965 | "</option>";  | 
                                                        
| 966 | 966 | }  | 
                                                        
@@ -1073,14 +1073,14 @@ discard block  | 
                                                    ||
| 1073 | 1073 |              switch ($to_group) { | 
                                                        
| 1074 | 1074 | // it was send to one specific user  | 
                                                        
| 1075 | 1075 | case null:  | 
                                                        
| 1076 | - $to[] = "USER:" . $row['to_user_id'];  | 
                                                        |
| 1076 | + $to[] = "USER:".$row['to_user_id'];  | 
                                                        |
| 1077 | 1077 | break;  | 
                                                        
| 1078 | 1078 | // it was sent to everyone  | 
                                                        
| 1079 | 1079 | case 0:  | 
                                                        
| 1080 | 1080 | return "everyone";  | 
                                                        
| 1081 | 1081 | break;  | 
                                                        
| 1082 | 1082 | default:  | 
                                                        
| 1083 | - $to[] = "GROUP:" . $row['to_group_id'];  | 
                                                        |
| 1083 | + $to[] = "GROUP:".$row['to_group_id'];  | 
                                                        |
| 1084 | 1084 | }  | 
                                                        
| 1085 | 1085 | }  | 
                                                        
| 1086 | 1086 | return $to;  | 
                                                        
@@ -1161,10 +1161,10 @@ discard block  | 
                                                    ||
| 1161 | 1161 | $sent_to_array['groups'][0] !== 0  | 
                                                        
| 1162 | 1162 |              ) { | 
                                                        
| 1163 | 1163 | $group_id = $sent_to_array['groups'][0];  | 
                                                        
| 1164 | - $output[] = " " . $group_names[$group_id]['name'];  | 
                                                        |
| 1164 | + $output[] = " ".$group_names[$group_id]['name'];  | 
                                                        |
| 1165 | 1165 | }  | 
                                                        
| 1166 | 1166 |              if (empty($sent_to_array['groups']) and empty($sent_to_array['users'])) { | 
                                                        
| 1167 | -                $output[] = " " . get_lang('Everybody'); | 
                                                        |
| 1167 | +                $output[] = " ".get_lang('Everybody'); | 
                                                        |
| 1168 | 1168 | }  | 
                                                        
| 1169 | 1169 | }  | 
                                                        
| 1170 | 1170 | |
@@ -1199,7 +1199,7 @@ discard block  | 
                                                    ||
| 1199 | 1199 | |
| 1200 | 1200 | $sql = "SELECT to_group_id, to_user_id  | 
                                                        
| 1201 | 1201 | FROM $tbl_item_property  | 
                                                        
| 1202 | - WHERE c_id = $course_id AND tool = '$tool' AND ref=" . $id;  | 
                                                        |
| 1202 | + WHERE c_id = $course_id AND tool = '$tool' AND ref=".$id;  | 
                                                        |
| 1203 | 1203 | $result = Database::query($sql);  | 
                                                        
| 1204 | 1204 | |
| 1205 | 1205 |          while ($row = Database::fetch_array($result)) { | 
                                                        
@@ -1238,8 +1238,8 @@ discard block  | 
                                                    ||
| 1238 | 1238 | $announcement_id = intval($announcement_id);  | 
                                                        
| 1239 | 1239 | $course_id = api_get_course_int_id();  | 
                                                        
| 1240 | 1240 | $row = array();  | 
                                                        
| 1241 | - $sql = 'SELECT id, path, filename, comment FROM ' . $tbl_announcement_attachment . '  | 
                                                        |
| 1242 | - WHERE c_id = ' . $course_id . ' AND announcement_id = ' . $announcement_id . '';  | 
                                                        |
| 1241 | + $sql = 'SELECT id, path, filename, comment FROM '.$tbl_announcement_attachment.'  | 
                                                        |
| 1242 | + WHERE c_id = ' . $course_id.' AND announcement_id = '.$announcement_id.'';  | 
                                                        |
| 1243 | 1243 | $result = Database::query($sql);  | 
                                                        
| 1244 | 1244 |          if (Database::num_rows($result) != 0) { | 
                                                        
| 1245 | 1245 | $row = Database::fetch_array($result, 'ASSOC');  | 
                                                        
@@ -1264,9 +1264,9 @@ discard block  | 
                                                    ||
| 1264 | 1264 | |
| 1265 | 1265 |          if (is_array($file) && $file['error'] == 0) { | 
                                                        
| 1266 | 1266 | // TODO: This path is obsolete. The new document repository scheme should be kept in mind here.  | 
                                                        
| 1267 | - $courseDir = $_course['path'] . '/upload/announcements';  | 
                                                        |
| 1267 | + $courseDir = $_course['path'].'/upload/announcements';  | 
                                                        |
| 1268 | 1268 | $sys_course_path = api_get_path(SYS_COURSE_PATH);  | 
                                                        
| 1269 | - $updir = $sys_course_path . $courseDir;  | 
                                                        |
| 1269 | + $updir = $sys_course_path.$courseDir;  | 
                                                        |
| 1270 | 1270 | |
| 1271 | 1271 | // Try to add an extension to the file if it hasn't one  | 
                                                        
| 1272 | 1272 | $new_file_name = add_ext_on_mime(stripslashes($file['name']), $file['type']);  | 
                                                        
@@ -1278,7 +1278,7 @@ discard block  | 
                                                    ||
| 1278 | 1278 |                  Display :: display_error_message(get_lang('UplUnableToSaveFileFilteredExtension')); | 
                                                        
| 1279 | 1279 |              } else { | 
                                                        
| 1280 | 1280 |                  $new_file_name = uniqid(''); | 
                                                        
| 1281 | - $new_path = $updir . '/' . $new_file_name;  | 
                                                        |
| 1281 | + $new_path = $updir.'/'.$new_file_name;  | 
                                                        |
| 1282 | 1282 | move_uploaded_file($file['tmp_name'], $new_path);  | 
                                                        
| 1283 | 1283 | |
| 1284 | 1284 | $params = [  | 
                                                        
@@ -1319,9 +1319,9 @@ discard block  | 
                                                    ||
| 1319 | 1319 | |
| 1320 | 1320 |          if (is_array($file) && $file['error'] == 0) { | 
                                                        
| 1321 | 1321 | // TODO: This path is obsolete. The new document repository scheme should be kept in mind here.  | 
                                                        
| 1322 | - $courseDir = $_course['path'] . '/upload/announcements';  | 
                                                        |
| 1322 | + $courseDir = $_course['path'].'/upload/announcements';  | 
                                                        |
| 1323 | 1323 | $sys_course_path = api_get_path(SYS_COURSE_PATH);  | 
                                                        
| 1324 | - $updir = $sys_course_path . $courseDir;  | 
                                                        |
| 1324 | + $updir = $sys_course_path.$courseDir;  | 
                                                        |
| 1325 | 1325 | |
| 1326 | 1326 | // Try to add an extension to the file if it hasn't one  | 
                                                        
| 1327 | 1327 | $new_file_name = add_ext_on_mime(stripslashes($file['name']), $file['type']);  | 
                                                        
@@ -1333,13 +1333,13 @@ discard block  | 
                                                    ||
| 1333 | 1333 |                  Display :: display_error_message(get_lang('UplUnableToSaveFileFilteredExtension')); | 
                                                        
| 1334 | 1334 |              } else { | 
                                                        
| 1335 | 1335 |                  $new_file_name = uniqid(''); | 
                                                        
| 1336 | - $new_path = $updir . '/' . $new_file_name;  | 
                                                        |
| 1336 | + $new_path = $updir.'/'.$new_file_name;  | 
                                                        |
| 1337 | 1337 | @move_uploaded_file($file['tmp_name'], $new_path);  | 
                                                        
| 1338 | 1338 | $safe_file_comment = Database::escape_string($file_comment);  | 
                                                        
| 1339 | 1339 | $safe_file_name = Database::escape_string($file_name);  | 
                                                        
| 1340 | 1340 | $safe_new_file_name = Database::escape_string($new_file_name);  | 
                                                        
| 1341 | 1341 | $id_attach = intval($id_attach);  | 
                                                        
| 1342 | - $sql = "UPDATE $tbl_announcement_attachment SET filename = '$safe_file_name', comment = '$safe_file_comment', path = '$safe_new_file_name', size ='" . intval($file['size']) . "'  | 
                                                        |
| 1342 | + $sql = "UPDATE $tbl_announcement_attachment SET filename = '$safe_file_name', comment = '$safe_file_comment', path = '$safe_new_file_name', size ='".intval($file['size'])."'  | 
                                                        |
| 1343 | 1343 | WHERE c_id = $course_id AND id = '$id_attach'";  | 
                                                        
| 1344 | 1344 | $result = Database::query($sql);  | 
                                                        
| 1345 | 1345 |                  if ($result === false) { | 
                                                        
@@ -1441,7 +1441,7 @@ discard block  | 
                                                    ||
| 1441 | 1441 | |
| 1442 | 1442 |              //if (!empty($user_id)) { | 
                                                        
| 1443 | 1443 |              if (0) { | 
                                                        
| 1444 | -                if (is_array($group_memberships) && count($group_memberships) > 0 ) { | 
                                                        |
| 1444 | +                if (is_array($group_memberships) && count($group_memberships) > 0) { | 
                                                        |
| 1445 | 1445 | $sql = "SELECT $select  | 
                                                        
| 1446 | 1446 | FROM $tbl_announcement announcement, $tbl_item_property ip  | 
                                                        
| 1447 | 1447 | WHERE  | 
                                                        
@@ -1652,8 +1652,8 @@ discard block  | 
                                                    ||
| 1652 | 1652 | $attachment_list = AnnouncementManager::get_attachment($myrow['id']);  | 
                                                        
| 1653 | 1653 | |
| 1654 | 1654 | $attachment_icon = '';  | 
                                                        
| 1655 | -                if (count($attachment_list)>0) { | 
                                                        |
| 1656 | -                    $attachment_icon = ' '.Display::return_icon('attachment.gif',get_lang('Attachment')); | 
                                                        |
| 1655 | +                if (count($attachment_list) > 0) { | 
                                                        |
| 1656 | +                    $attachment_icon = ' '.Display::return_icon('attachment.gif', get_lang('Attachment')); | 
                                                        |
| 1657 | 1657 | }  | 
                                                        
| 1658 | 1658 | |
| 1659 | 1659 | /* TITLE */  | 
                                                        
@@ -1672,16 +1672,16 @@ discard block  | 
                                                    ||
| 1672 | 1672 |                      || (api_get_course_setting('allow_user_edit_announcement') && !api_is_anonymous()) | 
                                                        
| 1673 | 1673 |                  ) { | 
                                                        
| 1674 | 1674 | $modify_icons = "<a href=\"".$actionUrl."&action=modify&id=".$myrow['id']."\">".  | 
                                                        
| 1675 | -                        Display::return_icon('edit.png', get_lang('Edit'),'',ICON_SIZE_SMALL)."</a>"; | 
                                                        |
| 1676 | -                    if ($myrow['visibility']==1) { | 
                                                        |
| 1677 | - $image_visibility="visible";  | 
                                                        |
| 1678 | -                        $alt_visibility=get_lang('Hide'); | 
                                                        |
| 1675 | +                        Display::return_icon('edit.png', get_lang('Edit'), '', ICON_SIZE_SMALL)."</a>"; | 
                                                        |
| 1676 | +                    if ($myrow['visibility'] == 1) { | 
                                                        |
| 1677 | + $image_visibility = "visible";  | 
                                                        |
| 1678 | +                        $alt_visibility = get_lang('Hide'); | 
                                                        |
| 1679 | 1679 |                      } else { | 
                                                        
| 1680 | - $image_visibility="invisible";  | 
                                                        |
| 1681 | -                        $alt_visibility=get_lang('Visible'); | 
                                                        |
| 1680 | + $image_visibility = "invisible";  | 
                                                        |
| 1681 | +                        $alt_visibility = get_lang('Visible'); | 
                                                        |
| 1682 | 1682 | }  | 
                                                        
| 1683 | - $modify_icons .= "<a href=\"".$actionUrl."&origin=".$origin."&action=showhide&id=".$myrow['id']."&sec_token=".$stok."\">".  | 
                                                        |
| 1684 | - Display::return_icon($image_visibility.'.png', $alt_visibility,'',ICON_SIZE_SMALL)."</a>";  | 
                                                        |
| 1683 | + $modify_icons .= "<a href=\"".$actionUrl."&origin=".$origin."&action=showhide&id=".$myrow['id']."&sec_token=".$stok."\">".  | 
                                                        |
| 1684 | + Display::return_icon($image_visibility.'.png', $alt_visibility, '', ICON_SIZE_SMALL)."</a>";  | 
                                                        |
| 1685 | 1685 | |
| 1686 | 1686 | // DISPLAY MOVE UP COMMAND only if it is not the top announcement  | 
                                                        
| 1687 | 1687 |                      if ($iterator != 1) { | 
                                                        
@@ -1696,12 +1696,12 @@ discard block  | 
                                                    ||
| 1696 | 1696 |                      } else { | 
                                                        
| 1697 | 1697 |                          $modify_icons .= Display::return_icon('down_na.gif', get_lang('Down')); | 
                                                        
| 1698 | 1698 | }  | 
                                                        
| 1699 | -                    if (api_is_allowed_to_edit(false,true)) { | 
                                                        |
| 1700 | -                        $modify_icons .= "<a href=\"".$actionUrl."&action=delete&id=".$myrow['id']."&sec_token=".$stok."\" onclick=\"javascript:if(!confirm('".addslashes(api_htmlentities(get_lang('ConfirmYourChoice'),ENT_QUOTES,api_get_system_encoding()))."')) return false;\">". | 
                                                        |
| 1701 | -                            Display::return_icon('delete.png', get_lang('Delete'),'',ICON_SIZE_SMALL). | 
                                                        |
| 1699 | +                    if (api_is_allowed_to_edit(false, true)) { | 
                                                        |
| 1700 | +                        $modify_icons .= "<a href=\"".$actionUrl."&action=delete&id=".$myrow['id']."&sec_token=".$stok."\" onclick=\"javascript:if(!confirm('".addslashes(api_htmlentities(get_lang('ConfirmYourChoice'), ENT_QUOTES, api_get_system_encoding()))."')) return false;\">". | 
                                                        |
| 1701 | +                            Display::return_icon('delete.png', get_lang('Delete'), '', ICON_SIZE_SMALL). | 
                                                        |
| 1702 | 1702 | "</a>";  | 
                                                        
| 1703 | 1703 | }  | 
                                                        
| 1704 | - $iterator ++;  | 
                                                        |
| 1704 | + $iterator++;  | 
                                                        |
| 1705 | 1705 |                  } else { | 
                                                        
| 1706 | 1706 | $modify_icons = Display::url(  | 
                                                        
| 1707 | 1707 |                          Display::return_icon('default.png'), | 
                                                        
@@ -1731,7 +1731,7 @@ discard block  | 
                                                    ||
| 1731 | 1731 | public static function getNumberAnnouncements()  | 
                                                        
| 1732 | 1732 |      { | 
                                                        
| 1733 | 1733 | // Maximum title messages to display  | 
                                                        
| 1734 | - $maximum = '12';  | 
                                                        |
| 1734 | + $maximum = '12';  | 
                                                        |
| 1735 | 1735 | // Database Table Definitions  | 
                                                        
| 1736 | 1736 | $tbl_announcement = Database::get_course_table(TABLE_ANNOUNCEMENT);  | 
                                                        
| 1737 | 1737 | $tbl_item_property = Database::get_course_table(TABLE_ITEM_PROPERTY);  | 
                                                        
@@ -1742,7 +1742,7 @@ discard block  | 
                                                    ||
| 1742 | 1742 | $userId = api_get_user_id();  | 
                                                        
| 1743 | 1743 | $condition_session = api_get_session_condition($session_id, true, true, 'announcement.session_id');  | 
                                                        
| 1744 | 1744 | |
| 1745 | -        if (api_is_allowed_to_edit(false,true))  { | 
                                                        |
| 1745 | +        if (api_is_allowed_to_edit(false, true)) { | 
                                                        |
| 1746 | 1746 | // check teacher status  | 
                                                        
| 1747 | 1747 |              if (empty($_GET['origin']) or $_GET['origin'] !== 'learnpath') { | 
                                                        
| 1748 | 1748 | |
@@ -1805,7 +1805,7 @@ discard block  | 
                                                    ||
| 1805 | 1805 | }  | 
                                                        
| 1806 | 1806 | |
| 1807 | 1807 | // the user is member of several groups => display personal announcements AND his group announcements AND the general announcements  | 
                                                        
| 1808 | -                if (is_array($group_memberships) && count($group_memberships)>0) { | 
                                                        |
| 1808 | +                if (is_array($group_memberships) && count($group_memberships) > 0) { | 
                                                        |
| 1809 | 1809 | $sql = "SELECT announcement.*, ip.visibility, ip.to_group_id, ip.insert_user_id  | 
                                                        
| 1810 | 1810 | FROM $tbl_announcement announcement, $tbl_item_property ip  | 
                                                        
| 1811 | 1811 | WHERE  | 
                                                        
@@ -1855,7 +1855,7 @@ discard block  | 
                                                    ||
| 1855 | 1855 | }  | 
                                                        
| 1856 | 1856 | |
| 1857 | 1857 | // the user is not identiefied => show only the general announcements  | 
                                                        
| 1858 | - $sql="SELECT announcement.*, ip.visibility, ip.to_group_id, ip.insert_user_id  | 
                                                        |
| 1858 | + $sql = "SELECT announcement.*, ip.visibility, ip.to_group_id, ip.insert_user_id  | 
                                                        |
| 1859 | 1859 | FROM $tbl_announcement announcement, $tbl_item_property ip  | 
                                                        
| 1860 | 1860 | WHERE  | 
                                                        
| 1861 | 1861 | announcement.c_id = $course_id AND  | 
                                                        
@@ -213,7 +213,7 @@ discard block  | 
                                                    ||
| 213 | 213 | /**  | 
                                                        
| 214 | 214 | * Displays the tools of a certain category.  | 
                                                        
| 215 | 215 | *  | 
                                                        
| 216 | - * @return void  | 
                                                        |
| 216 | + * @return string  | 
                                                        |
| 217 | 217 | * @param string $course_tool_category contains the category of tools to display:  | 
                                                        
| 218 | 218 | * "Public", "PublicButHide", "courseAdmin", "claroAdmin"  | 
                                                        
| 219 | 219 | */  | 
                                                        
@@ -650,7 +650,7 @@ discard block  | 
                                                    ||
| 650 | 650 | * @param array $all_tools_list List of tools as returned by get_tools_category()  | 
                                                        
| 651 | 651 | * @param bool $rows  | 
                                                        
| 652 | 652 | *  | 
                                                        
| 653 | - * @return void  | 
                                                        |
| 653 | + * @return string  | 
                                                        |
| 654 | 654 | */  | 
                                                        
| 655 | 655 | public static function show_tools_category($all_tools_list, $rows = false)  | 
                                                        
| 656 | 656 |      { | 
                                                        
@@ -1194,6 +1194,7 @@ discard block  | 
                                                    ||
| 1194 | 1194 | |
| 1195 | 1195 | /**  | 
                                                        
| 1196 | 1196 | * Show a toolbar with shortcuts to the course tool  | 
                                                        
| 1197 | + * @param integer $orientation  | 
                                                        |
| 1197 | 1198 | */  | 
                                                        
| 1198 | 1199 | public static function show_navigation_tool_shortcuts($orientation = SHORTCUTS_HORIZONTAL)  | 
                                                        
| 1199 | 1200 |      { | 
                                                        
@@ -356,7 +356,7 @@ discard block  | 
                                                    ||
| 356 | 356 | array(),  | 
                                                        
| 357 | 357 | null,  | 
                                                        
| 358 | 358 | ICON_SIZE_MEDIUM  | 
                                                        
| 359 | - ) . ' ' . $tool_name . '</a>';  | 
                                                        |
| 359 | + ).' '.$tool_name.'</a>';  | 
                                                        |
| 360 | 360 | |
| 361 | 361 | // This part displays the links to hide or remove a tool.  | 
                                                        
| 362 | 362 | // These links are only visible by the course manager.  | 
                                                        
@@ -683,7 +683,7 @@ discard block  | 
                                                    ||
| 683 | 683 | $session_id = api_get_session_id();  | 
                                                        
| 684 | 684 | $is_platform_admin = api_is_platform_admin();  | 
                                                        
| 685 | 685 | |
| 686 | -        if ($session_id == 0 ) { | 
                                                        |
| 686 | +        if ($session_id == 0) { | 
                                                        |
| 687 | 687 | $is_allowed_to_edit = api_is_allowed_to_edit(null, true) && api_is_course_admin();  | 
                                                        
| 688 | 688 |          } else { | 
                                                        
| 689 | 689 | $is_allowed_to_edit = api_is_allowed_to_edit(null, true) && !api_is_coach();  | 
                                                        
@@ -1061,8 +1061,8 @@ discard block  | 
                                                    ||
| 1061 | 1061 | |
| 1062 | 1062 | $toolName = api_underscore_to_camel_case($toolName);  | 
                                                        
| 1063 | 1063 | |
| 1064 | -        if (isset($GLOBALS['Tool' . $toolName])) { | 
                                                        |
| 1065 | -            return get_lang('Tool' . $toolName); | 
                                                        |
| 1064 | +        if (isset($GLOBALS['Tool'.$toolName])) { | 
                                                        |
| 1065 | +            return get_lang('Tool'.$toolName); | 
                                                        |
| 1066 | 1066 | }  | 
                                                        
| 1067 | 1067 | |
| 1068 | 1068 | return $toolName;  | 
                                                        
@@ -1266,7 +1266,7 @@ discard block  | 
                                                    ||
| 1266 | 1266 | return array();  | 
                                                        
| 1267 | 1267 | }  | 
                                                        
| 1268 | 1268 | |
| 1269 | - $table = Database::get_course_table(TABLE_TOOL_LIST);  | 
                                                        |
| 1269 | + $table = Database::get_course_table(TABLE_TOOL_LIST);  | 
                                                        |
| 1270 | 1270 | $sql = "SELECT * FROM $table  | 
                                                        
| 1271 | 1271 |                  WHERE category in ('authoring','interaction') | 
                                                        
| 1272 | 1272 | AND c_id = $courseId  | 
                                                        
@@ -1372,7 +1372,7 @@ discard block  | 
                                                    ||
| 1372 | 1372 | $temp = new Image($path);  | 
                                                        
| 1373 | 1373 | $r = $temp->convert2bw();  | 
                                                        
| 1374 | 1374 | $ext = pathinfo($path, PATHINFO_EXTENSION);  | 
                                                        
| 1375 | - $bwPath = substr($path,0,-(strlen($ext)+1)) . '_na.' . $ext;  | 
                                                        |
| 1375 | + $bwPath = substr($path, 0, -(strlen($ext) + 1)).'_na.'.$ext;  | 
                                                        |
| 1376 | 1376 | |
| 1377 | 1377 |              if ($r === false) { | 
                                                        
| 1378 | 1378 |                  error_log('Conversion to B&W of '.$path.' failed in '.__FILE__.' at line '.__LINE__); | 
                                                        
@@ -351,6 +351,12 @@  | 
                                                    ||
| 351 | 351 | |
| 352 | 352 | /**  | 
                                                        
| 353 | 353 | * Additional functions needed for fast integration  | 
                                                        
| 354 | + * @param integer $status  | 
                                                        |
| 355 | + * @param string $section  | 
                                                        |
| 356 | + * @param string $title  | 
                                                        |
| 357 | + * @param string $url  | 
                                                        |
| 358 | + * @param string|null $formatter  | 
                                                        |
| 359 | + * @param string $comment  | 
                                                        |
| 354 | 360 | */  | 
                                                        
| 355 | 361 |      public function build_setting($status, $section, $title, $url, $current_value, $expected_value, $formatter, $comment, $img_path = null) { | 
                                                        
| 356 | 362 |          switch ($status) { | 
                                                        
@@ -401,19 +401,19 @@  | 
                                                    ||
| 401 | 401 | |
| 402 | 402 | public function format_yes_no_optional($value)  | 
                                                        
| 403 | 403 |      { | 
                                                        
| 404 | - $return = '';  | 
                                                        |
| 405 | -    	switch($value) { | 
                                                        |
| 406 | - case 0:  | 
                                                        |
| 407 | -     			$return = get_lang('No'); | 
                                                        |
| 408 | - break;  | 
                                                        |
| 409 | - case 1:  | 
                                                        |
| 410 | -     			$return = get_lang('Yes'); | 
                                                        |
| 411 | - break;  | 
                                                        |
| 412 | - case 2:  | 
                                                        |
| 413 | -				$return = get_lang('Optional'); | 
                                                        |
| 414 | - break;  | 
                                                        |
| 415 | - }  | 
                                                        |
| 416 | - return $return;  | 
                                                        |
| 404 | + $return = '';  | 
                                                        |
| 405 | +        switch($value) { | 
                                                        |
| 406 | + case 0:  | 
                                                        |
| 407 | +                 $return = get_lang('No'); | 
                                                        |
| 408 | + break;  | 
                                                        |
| 409 | + case 1:  | 
                                                        |
| 410 | +                 $return = get_lang('Yes'); | 
                                                        |
| 411 | + break;  | 
                                                        |
| 412 | + case 2:  | 
                                                        |
| 413 | +                $return = get_lang('Optional'); | 
                                                        |
| 414 | + break;  | 
                                                        |
| 415 | + }  | 
                                                        |
| 416 | + return $return;  | 
                                                        |
| 417 | 417 | |
| 418 | 418 | }  | 
                                                        
| 419 | 419 | |
@@ -158,8 +158,9 @@ discard block  | 
                                                    ||
| 158 | 158 |          $array[] = $this->build_setting($status, '[INI]', 'display_errors', 'http://www.php.net/manual/en/ini.core.php#ini.display_errors', $setting, $req_setting, 'on_off', get_lang('DisplayErrorsInfo')); | 
                                                        
| 159 | 159 | |
| 160 | 160 |          $setting = ini_get('default_charset'); | 
                                                        
| 161 | - if ($setting == '')  | 
                                                        |
| 162 | - $setting = null;  | 
                                                        |
| 161 | +        if ($setting == '') { | 
                                                        |
| 162 | + $setting = null;  | 
                                                        |
| 163 | + }  | 
                                                        |
| 163 | 164 | $req_setting = null;  | 
                                                        
| 164 | 165 | $status = $setting == $req_setting ? self :: STATUS_OK : self :: STATUS_ERROR;  | 
                                                        
| 165 | 166 |          $array[] = $this->build_setting($status, '[INI]', 'default_charset', 'http://www.php.net/manual/en/ini.core.php#ini.default-charset', $setting, $req_setting, null, get_lang('DefaultCharsetInfo')); | 
                                                        
@@ -177,22 +178,25 @@ discard block  | 
                                                    ||
| 177 | 178 |          $setting = ini_get('memory_limit'); | 
                                                        
| 178 | 179 | $req_setting = '>= '.REQUIRED_MIN_MEMORY_LIMIT.'M';  | 
                                                        
| 179 | 180 | $status = self :: STATUS_ERROR;  | 
                                                        
| 180 | - if ((float)$setting >= REQUIRED_MIN_MEMORY_LIMIT)  | 
                                                        |
| 181 | - $status = self :: STATUS_OK;  | 
                                                        |
| 181 | +        if ((float)$setting >= REQUIRED_MIN_MEMORY_LIMIT) { | 
                                                        |
| 182 | + $status = self :: STATUS_OK;  | 
                                                        |
| 183 | + }  | 
                                                        |
| 182 | 184 |          $array[] = $this->build_setting($status, '[INI]', 'memory_limit', 'http://www.php.net/manual/en/ini.core.php#ini.memory-limit', $setting, $req_setting, null, get_lang('MemoryLimitInfo')); | 
                                                        
| 183 | 185 | |
| 184 | 186 |          $setting = ini_get('post_max_size'); | 
                                                        
| 185 | 187 | $req_setting = '>= '.REQUIRED_MIN_POST_MAX_SIZE.'M';  | 
                                                        
| 186 | 188 | $status = self :: STATUS_ERROR;  | 
                                                        
| 187 | - if ((float)$setting >= REQUIRED_MIN_POST_MAX_SIZE)  | 
                                                        |
| 188 | - $status = self :: STATUS_OK;  | 
                                                        |
| 189 | +        if ((float)$setting >= REQUIRED_MIN_POST_MAX_SIZE) { | 
                                                        |
| 190 | + $status = self :: STATUS_OK;  | 
                                                        |
| 191 | + }  | 
                                                        |
| 189 | 192 |          $array[] = $this->build_setting($status, '[INI]', 'post_max_size', 'http://www.php.net/manual/en/ini.core.php#ini.post-max-size', $setting, $req_setting, null, get_lang('PostMaxSizeInfo')); | 
                                                        
| 190 | 193 | |
| 191 | 194 |          $setting = ini_get('upload_max_filesize'); | 
                                                        
| 192 | 195 | $req_setting = '>= '.REQUIRED_MIN_UPLOAD_MAX_FILESIZE.'M';  | 
                                                        
| 193 | 196 | $status = self :: STATUS_ERROR;  | 
                                                        
| 194 | - if ((float)$setting >= REQUIRED_MIN_UPLOAD_MAX_FILESIZE)  | 
                                                        |
| 195 | - $status = self :: STATUS_OK;  | 
                                                        |
| 197 | +        if ((float)$setting >= REQUIRED_MIN_UPLOAD_MAX_FILESIZE) { | 
                                                        |
| 198 | + $status = self :: STATUS_OK;  | 
                                                        |
| 199 | + }  | 
                                                        |
| 196 | 200 |          $array[] = $this->build_setting($status, '[INI]', 'upload_max_filesize', 'http://www.php.net/manual/en/ini.core.php#ini.upload_max_filesize', $setting, $req_setting, null, get_lang('UploadMaxFilesizeInfo')); | 
                                                        
| 197 | 201 | |
| 198 | 202 |          $setting = ini_get('variables_order'); | 
                                                        
@@ -205,7 +209,7 @@ discard block  | 
                                                    ||
| 205 | 209 | $status = $setting == $req_setting ? self :: STATUS_OK : self :: STATUS_WARNING;  | 
                                                        
| 206 | 210 |          $array[] = $this->build_setting($status, '[SESSION]', 'session.gc_maxlifetime', 'http://www.php.net/manual/en/ini.core.php#session.gc-maxlifetime', $setting, $req_setting, null, get_lang('SessionGCMaxLifetimeInfo')); | 
                                                        
| 207 | 211 | |
| 208 | -        if (api_check_browscap()){$setting = true;}else{$setting=false;} | 
                                                        |
| 212 | +        if (api_check_browscap()){$setting = true;} else{$setting=false;} | 
                                                        |
| 209 | 213 | $req_setting = true;  | 
                                                        
| 210 | 214 | $status = $setting == $req_setting ? self :: STATUS_OK : self :: STATUS_WARNING;  | 
                                                        
| 211 | 215 |          $array[] = $this->build_setting($status, '[INI]', 'browscap', 'http://www.php.net/manual/en/misc.configuration.php#ini.browscap', $setting, $req_setting, 'on_off', get_lang('BrowscapInfo')); | 
                                                        
@@ -15,7 +15,7 @@ discard block  | 
                                                    ||
| 15 | 15 |  { | 
                                                        
| 16 | 16 | const STATUS_OK = 1;  | 
                                                        
| 17 | 17 | const STATUS_WARNING = 2;  | 
                                                        
| 18 | - const STATUS_ERROR = 3;  | 
                                                        |
| 18 | + const STATUS_ERROR = 3;  | 
                                                        |
| 19 | 19 | const STATUS_INFORMATION = 4;  | 
                                                        
| 20 | 20 | |
| 21 | 21 | /**  | 
                                                        
@@ -44,21 +44,21 @@ discard block  | 
                                                    ||
| 44 | 44 | $html .= '<li>';  | 
                                                        
| 45 | 45 | }  | 
                                                        
| 46 | 46 | $params['section'] = $section;  | 
                                                        
| 47 | - $html .='<a href="system_status.php?section='.$section.'">'.get_lang($section).'</a></li>';  | 
                                                        |
| 47 | + $html .= '<a href="system_status.php?section='.$section.'">'.get_lang($section).'</a></li>';  | 
                                                        |
| 48 | 48 | }  | 
                                                        
| 49 | 49 | |
| 50 | 50 | $html .= '</ul><div class="tab-pane">';  | 
                                                        
| 51 | 51 | |
| 52 | - $data = call_user_func(array($this, 'get_' . $current_section . '_data'));  | 
                                                        |
| 52 | + $data = call_user_func(array($this, 'get_'.$current_section.'_data'));  | 
                                                        |
| 53 | 53 | echo $html;  | 
                                                        
| 54 | 54 | $table = new SortableTableFromArray($data, 1, 100);  | 
                                                        
| 55 | 55 | |
| 56 | - $table->set_header(0,'', false);  | 
                                                        |
| 57 | -        $table->set_header(1,get_lang('Section'), false); | 
                                                        |
| 58 | -        $table->set_header(2,get_lang('Setting'), false); | 
                                                        |
| 59 | -        $table->set_header(3,get_lang('Current'), false); | 
                                                        |
| 60 | -        $table->set_header(4,get_lang('Expected'), false); | 
                                                        |
| 61 | -        $table->set_header(5,get_lang('Comment'), false); | 
                                                        |
| 56 | + $table->set_header(0, '', false);  | 
                                                        |
| 57 | +        $table->set_header(1, get_lang('Section'), false); | 
                                                        |
| 58 | +        $table->set_header(2, get_lang('Setting'), false); | 
                                                        |
| 59 | +        $table->set_header(3, get_lang('Current'), false); | 
                                                        |
| 60 | +        $table->set_header(4, get_lang('Expected'), false); | 
                                                        |
| 61 | +        $table->set_header(5, get_lang('Comment'), false); | 
                                                        |
| 62 | 62 | |
| 63 | 63 | $table->display();  | 
                                                        
| 64 | 64 | echo '</div></div>';  | 
                                                        
@@ -72,11 +72,11 @@ discard block  | 
                                                    ||
| 72 | 72 |      { | 
                                                        
| 73 | 73 | $array = array();  | 
                                                        
| 74 | 74 | $writable_folders = array(  | 
                                                        
| 75 | - api_get_path(SYS_APP_PATH) .'cache',  | 
                                                        |
| 75 | + api_get_path(SYS_APP_PATH).'cache',  | 
                                                        |
| 76 | 76 | api_get_path(SYS_COURSE_PATH),  | 
                                                        
| 77 | - api_get_path(SYS_APP_PATH) .'home',  | 
                                                        |
| 78 | - api_get_path(SYS_APP_PATH) .'upload/users/',  | 
                                                        |
| 79 | - api_get_path(SYS_PATH) .'main/default_course_document/images/',  | 
                                                        |
| 77 | + api_get_path(SYS_APP_PATH).'home',  | 
                                                        |
| 78 | + api_get_path(SYS_APP_PATH).'upload/users/',  | 
                                                        |
| 79 | + api_get_path(SYS_PATH).'main/default_course_document/images/',  | 
                                                        |
| 80 | 80 | );  | 
                                                        
| 81 | 81 | |
| 82 | 82 |          foreach ($writable_folders as $index => $folder) { | 
                                                        
@@ -99,7 +99,7 @@ discard block  | 
                                                    ||
| 99 | 99 | $array[] = $this->build_setting(  | 
                                                        
| 100 | 100 | $status,  | 
                                                        
| 101 | 101 | '[FILES]',  | 
                                                        
| 102 | -            get_lang('DirectoryExists') . ': /install', | 
                                                        |
| 102 | +            get_lang('DirectoryExists').': /install', | 
                                                        |
| 103 | 103 | 'http://be2.php.net/file_exists',  | 
                                                        
| 104 | 104 | $exists,  | 
                                                        
| 105 | 105 | 0,  | 
                                                        
@@ -129,7 +129,7 @@ discard block  | 
                                                    ||
| 129 | 129 |                      $message2 .= get_lang('SpaceUsedOnSystemCannotBeMeasuredOnWindows'); | 
                                                        
| 130 | 130 |                  } else { | 
                                                        
| 131 | 131 | $dir = api_get_path(SYS_PATH);  | 
                                                        
| 132 | -                    $du = exec('du -sh ' . $dir, $err); | 
                                                        |
| 132 | +                    $du = exec('du -sh '.$dir, $err); | 
                                                        |
| 133 | 133 |                      list($size, $none) = explode("\t", $du); | 
                                                        
| 134 | 134 | $limit = $_configuration[$access_url_id]['hosting_limit_disk_space'];  | 
                                                        
| 135 | 135 |                      $message2 .= sprintf(get_lang('TotalSpaceUsedByPortalXLimitIsYMB'), $size, $limit); | 
                                                        
@@ -216,33 +216,33 @@ discard block  | 
                                                    ||
| 216 | 216 |          $array[] = $this->build_setting($status, '[INI]', 'default_charset', 'http://www.php.net/manual/en/ini.core.php#ini.default-charset', $setting, $req_setting, null, get_lang('DefaultCharsetInfo')); | 
                                                        
| 217 | 217 | |
| 218 | 218 |          $setting = ini_get('max_execution_time'); | 
                                                        
| 219 | -        $req_setting = '300 (' . get_lang('Minimum') . ')'; | 
                                                        |
| 219 | +        $req_setting = '300 ('.get_lang('Minimum').')'; | 
                                                        |
| 220 | 220 | $status = $setting >= 300 ? self :: STATUS_OK : self :: STATUS_WARNING;  | 
                                                        
| 221 | 221 |          $array[] = $this->build_setting($status, '[INI]', 'max_execution_time', 'http://www.php.net/manual/en/ini.core.php#ini.max-execution-time', $setting, $req_setting, null, get_lang('MaxExecutionTimeInfo')); | 
                                                        
| 222 | 222 | |
| 223 | 223 |          $setting = ini_get('max_input_time'); | 
                                                        
| 224 | -        $req_setting = '300 (' . get_lang('Minimum') . ')'; | 
                                                        |
| 224 | +        $req_setting = '300 ('.get_lang('Minimum').')'; | 
                                                        |
| 225 | 225 | $status = $setting >= 300 ? self :: STATUS_OK : self :: STATUS_WARNING;  | 
                                                        
| 226 | 226 |          $array[] = $this->build_setting($status, '[INI]', 'max_input_time', 'http://www.php.net/manual/en/ini.core.php#ini.max-input-time', $setting, $req_setting, null, get_lang('MaxInputTimeInfo')); | 
                                                        
| 227 | 227 | |
| 228 | 228 |          $setting = ini_get('memory_limit'); | 
                                                        
| 229 | 229 | $req_setting = '>= '.REQUIRED_MIN_MEMORY_LIMIT.'M';  | 
                                                        
| 230 | 230 | $status = self :: STATUS_ERROR;  | 
                                                        
| 231 | - if ((float)$setting >= REQUIRED_MIN_MEMORY_LIMIT)  | 
                                                        |
| 231 | + if ((float) $setting >= REQUIRED_MIN_MEMORY_LIMIT)  | 
                                                        |
| 232 | 232 | $status = self :: STATUS_OK;  | 
                                                        
| 233 | 233 |          $array[] = $this->build_setting($status, '[INI]', 'memory_limit', 'http://www.php.net/manual/en/ini.core.php#ini.memory-limit', $setting, $req_setting, null, get_lang('MemoryLimitInfo')); | 
                                                        
| 234 | 234 | |
| 235 | 235 |          $setting = ini_get('post_max_size'); | 
                                                        
| 236 | 236 | $req_setting = '>= '.REQUIRED_MIN_POST_MAX_SIZE.'M';  | 
                                                        
| 237 | 237 | $status = self :: STATUS_ERROR;  | 
                                                        
| 238 | - if ((float)$setting >= REQUIRED_MIN_POST_MAX_SIZE)  | 
                                                        |
| 238 | + if ((float) $setting >= REQUIRED_MIN_POST_MAX_SIZE)  | 
                                                        |
| 239 | 239 | $status = self :: STATUS_OK;  | 
                                                        
| 240 | 240 |          $array[] = $this->build_setting($status, '[INI]', 'post_max_size', 'http://www.php.net/manual/en/ini.core.php#ini.post-max-size', $setting, $req_setting, null, get_lang('PostMaxSizeInfo')); | 
                                                        
| 241 | 241 | |
| 242 | 242 |          $setting = ini_get('upload_max_filesize'); | 
                                                        
| 243 | 243 | $req_setting = '>= '.REQUIRED_MIN_UPLOAD_MAX_FILESIZE.'M';  | 
                                                        
| 244 | 244 | $status = self :: STATUS_ERROR;  | 
                                                        
| 245 | - if ((float)$setting >= REQUIRED_MIN_UPLOAD_MAX_FILESIZE)  | 
                                                        |
| 245 | + if ((float) $setting >= REQUIRED_MIN_UPLOAD_MAX_FILESIZE)  | 
                                                        |
| 246 | 246 | $status = self :: STATUS_OK;  | 
                                                        
| 247 | 247 |          $array[] = $this->build_setting($status, '[INI]', 'upload_max_filesize', 'http://www.php.net/manual/en/ini.core.php#ini.upload_max_filesize', $setting, $req_setting, null, get_lang('UploadMaxFilesizeInfo')); | 
                                                        
| 248 | 248 | |
@@ -256,7 +256,7 @@ discard block  | 
                                                    ||
| 256 | 256 | $status = $setting == $req_setting ? self :: STATUS_OK : self :: STATUS_WARNING;  | 
                                                        
| 257 | 257 |          $array[] = $this->build_setting($status, '[SESSION]', 'session.gc_maxlifetime', 'http://www.php.net/manual/en/ini.core.php#session.gc-maxlifetime', $setting, $req_setting, null, get_lang('SessionGCMaxLifetimeInfo')); | 
                                                        
| 258 | 258 | |
| 259 | -        if (api_check_browscap()){$setting = true;}else{$setting=false;} | 
                                                        |
| 259 | +        if (api_check_browscap()) {$setting = true; } else {$setting = false; } | 
                                                        |
| 260 | 260 | $req_setting = true;  | 
                                                        
| 261 | 261 | $status = $setting == $req_setting ? self :: STATUS_OK : self :: STATUS_WARNING;  | 
                                                        
| 262 | 262 |          $array[] = $this->build_setting($status, '[INI]', 'browscap', 'http://www.php.net/manual/en/misc.configuration.php#ini.browscap', $setting, $req_setting, 'on_off', get_lang('BrowscapInfo')); | 
                                                        
@@ -312,7 +312,7 @@ discard block  | 
                                                    ||
| 312 | 312 | |
| 313 | 313 | $loaded = extension_loaded($extension);  | 
                                                        
| 314 | 314 | $status = $loaded ? self :: STATUS_OK : self :: STATUS_ERROR;  | 
                                                        
| 315 | -            $array[] = $this->build_setting($status, '[EXTENSION]', get_lang('LoadedExtension') . ': ' . $extension, $url, $loaded, $expected_value, 'yes_no_optional', $comment); | 
                                                        |
| 315 | +            $array[] = $this->build_setting($status, '[EXTENSION]', get_lang('LoadedExtension').': '.$extension, $url, $loaded, $expected_value, 'yes_no_optional', $comment); | 
                                                        |
| 316 | 316 | }  | 
                                                        
| 317 | 317 | |
| 318 | 318 | return $array;  | 
                                                        
@@ -435,9 +435,9 @@ discard block  | 
                                                    ||
| 435 | 435 | $formatted_expected_value = $expected_value;  | 
                                                        
| 436 | 436 | |
| 437 | 437 |          if ($formatter) { | 
                                                        
| 438 | -            if (method_exists($this, 'format_' . $formatter)) { | 
                                                        |
| 439 | - $formatted_current_value = call_user_func(array($this, 'format_' . $formatter), $current_value);  | 
                                                        |
| 440 | - $formatted_expected_value = call_user_func(array($this, 'format_' . $formatter), $expected_value);  | 
                                                        |
| 438 | +            if (method_exists($this, 'format_'.$formatter)) { | 
                                                        |
| 439 | + $formatted_current_value = call_user_func(array($this, 'format_'.$formatter), $current_value);  | 
                                                        |
| 440 | + $formatted_expected_value = call_user_func(array($this, 'format_'.$formatter), $expected_value);  | 
                                                        |
| 441 | 441 | }  | 
                                                        
| 442 | 442 | }  | 
                                                        
| 443 | 443 | |
@@ -452,13 +452,13 @@ discard block  | 
                                                    ||
| 452 | 452 | */  | 
                                                        
| 453 | 453 | public function get_link($title, $url)  | 
                                                        
| 454 | 454 |      { | 
                                                        
| 455 | - return '<a href="' . $url . '" target="about:bank">' . $title . '</a>';  | 
                                                        |
| 455 | + return '<a href="'.$url.'" target="about:bank">'.$title.'</a>';  | 
                                                        |
| 456 | 456 | }  | 
                                                        
| 457 | 457 | |
| 458 | 458 | public function format_yes_no_optional($value)  | 
                                                        
| 459 | 459 |      { | 
                                                        
| 460 | 460 | $return = '';  | 
                                                        
| 461 | -    	switch($value) { | 
                                                        |
| 461 | +    	switch ($value) { | 
                                                        |
| 462 | 462 | case 0:  | 
                                                        
| 463 | 463 |       			$return = get_lang('No'); | 
                                                        
| 464 | 464 | break;  | 
                                                        
@@ -32,7 +32,7 @@ discard block  | 
                                                    ||
| 32 | 32 | }  | 
                                                        
| 33 | 33 | |
| 34 | 34 | /**  | 
                                                        
| 35 | - * @return array  | 
                                                        |
| 35 | + * @return string[]  | 
                                                        |
| 36 | 36 | */  | 
                                                        
| 37 | 37 | public static function toolList()  | 
                                                        
| 38 | 38 |      { | 
                                                        
@@ -290,7 +290,6 @@ discard block  | 
                                                    ||
| 290 | 290 | * 'page_nr' = The page to display  | 
                                                        
| 291 | 291 | * 'hide_navigation' = true to hide the navigation  | 
                                                        
| 292 | 292 | * @param array $query_vars Additional variables to add in the query-string  | 
                                                        
| 293 | - * @param array $form actions Additional variables to add in the query-string  | 
                                                        |
| 294 | 293 | * @param mixed An array with bool values to know which columns show.  | 
                                                        
| 295 | 294 | * i.e: $visibility_options= array(true, false) we will only show the first column  | 
                                                        
| 296 | 295 | * Can be also only a bool value. TRUE: show all columns, FALSE: show nothing  | 
                                                        
@@ -331,7 +330,6 @@ discard block  | 
                                                    ||
| 331 | 330 | * 'page_nr' = The page to display  | 
                                                        
| 332 | 331 | * 'hide_navigation' = true to hide the navigation  | 
                                                        
| 333 | 332 | * @param array $query_vars Additional variables to add in the query-string  | 
                                                        
| 334 | - * @param array $form actions Additional variables to add in the query-string  | 
                                                        |
| 335 | 333 | * @param mixed An array with bool values to know which columns show. i.e:  | 
                                                        
| 336 | 334 | * $visibility_options= array(true, false) we will only show the first column  | 
                                                        
| 337 | 335 | * Can be also only a bool value. TRUE: show all columns, FALSE: show nothing  | 
                                                        
@@ -388,10 +386,11 @@ discard block  | 
                                                    ||
| 388 | 386 | * 'per_page' = number of items to show per page  | 
                                                        
| 389 | 387 | * 'page_nr' = The page to display  | 
                                                        
| 390 | 388 | * @param array $query_vars Additional variables to add in the query-string  | 
                                                        
| 391 | - * @param array $column_show Array of binaries 1= show columns 0. hide a column  | 
                                                        |
| 389 | + * @param integer[] $column_show Array of binaries 1= show columns 0. hide a column  | 
                                                        |
| 392 | 390 | * @param array $column_order An array of integers that let us decide how the columns are going to be sort.  | 
                                                        
| 393 | 391 |       * 						      i.e:  $column_order=array('1''4','3','4'); The 2nd column will be order like the 4th column | 
                                                        
| 394 | 392 | * @param array $form_actions Set optional forms actions  | 
                                                        
| 393 | + * @param string $table_name  | 
                                                        |
| 395 | 394 | *  | 
                                                        
| 396 | 395 | * @author Julio Montoya  | 
                                                        
| 397 | 396 | */  | 
                                                        
@@ -444,7 +443,7 @@ discard block  | 
                                                    ||
| 444 | 443 | * @param bool $filter (true) or not (false)  | 
                                                        
| 445 | 444 | * @param bool $returnValue  | 
                                                        
| 446 | 445 | *  | 
                                                        
| 447 | - * @return void  | 
                                                        |
| 446 | + * @return string|null  | 
                                                        |
| 448 | 447 | */  | 
                                                        
| 449 | 448 | public static function display_normal_message($message, $filter = true, $returnValue = false)  | 
                                                        
| 450 | 449 |      { | 
                                                        
@@ -474,7 +473,7 @@ discard block  | 
                                                    ||
| 474 | 473 | /**  | 
                                                        
| 475 | 474 | * Displays an confirmation message. Use this if something has been done successfully  | 
                                                        
| 476 | 475 | * @param bool Filter (true) or not (false)  | 
                                                        
| 477 | - * @return void  | 
                                                        |
| 476 | + * @return string|null  | 
                                                        |
| 478 | 477 | */  | 
                                                        
| 479 | 478 | public static function display_confirmation_message ($message, $filter = true, $returnValue = false)  | 
                                                        
| 480 | 479 |      { | 
                                                        
@@ -491,7 +490,7 @@ discard block  | 
                                                    ||
| 491 | 490 | * @param string $message - include any additional html  | 
                                                        
| 492 | 491 | * tags if you need them  | 
                                                        
| 493 | 492 | * @param bool Filter (true) or not (false)  | 
                                                        
| 494 | - * @return void  | 
                                                        |
| 493 | + * @return string|null  | 
                                                        |
| 495 | 494 | */  | 
                                                        
| 496 | 495 | public static function display_error_message ($message, $filter = true, $returnValue = false)  | 
                                                        
| 497 | 496 |      { | 
                                                        
@@ -681,6 +680,7 @@ discard block  | 
                                                    ||
| 681 | 680 | * @param string The alt text (probably a language variable)  | 
                                                        
| 682 | 681 | * @param array additional attributes (for instance height, width, onclick, ...)  | 
                                                        
| 683 | 682 | * @param integer The wanted width of the icon (to be looked for in the corresponding img/icons/ folder)  | 
                                                        
| 683 | + * @param string $image  | 
                                                        |
| 684 | 684 | * @return void  | 
                                                        
| 685 | 685 | */  | 
                                                        
| 686 | 686 | public static function display_icon(  | 
                                                        
@@ -881,6 +881,7 @@ discard block  | 
                                                    ||
| 881 | 881 | /**  | 
                                                        
| 882 | 882 | * Displays an HTML input tag  | 
                                                        
| 883 | 883 | *  | 
                                                        
| 884 | + * @param string $type  | 
                                                        |
| 884 | 885 | */  | 
                                                        
| 885 | 886 | public static function input($type, $name, $value, $attributes = array())  | 
                                                        
| 886 | 887 |      { | 
                                                        
@@ -897,8 +898,8 @@ discard block  | 
                                                    ||
| 897 | 898 | }  | 
                                                        
| 898 | 899 | |
| 899 | 900 | /**  | 
                                                        
| 900 | - * @param $name  | 
                                                        |
| 901 | - * @param $value  | 
                                                        |
| 901 | + * @param string $name  | 
                                                        |
| 902 | + * @param string $value  | 
                                                        |
| 902 | 903 | * @param array $attributes  | 
                                                        
| 903 | 904 | * @return string  | 
                                                        
| 904 | 905 | */  | 
                                                        
@@ -913,6 +914,7 @@ discard block  | 
                                                    ||
| 913 | 914 | /**  | 
                                                        
| 914 | 915 | * Displays an HTML select tag  | 
                                                        
| 915 | 916 | *  | 
                                                        
| 917 | + * @param string $blank_item_text  | 
                                                        |
| 916 | 918 | */  | 
                                                        
| 917 | 919 | public static function select(  | 
                                                        
| 918 | 920 | $name,  | 
                                                        
@@ -983,6 +985,8 @@ discard block  | 
                                                    ||
| 983 | 985 | * @param array content that will be showed  | 
                                                        
| 984 | 986 | * @param string the id of the container of the tab in the example "tabs"  | 
                                                        
| 985 | 987 | * @param array attributes for the ul  | 
                                                        
| 988 | + * @param string[] $header_list  | 
                                                        |
| 989 | + * @param string[] $content_list  | 
                                                        |
| 986 | 990 | *  | 
                                                        
| 987 | 991 | */  | 
                                                        
| 988 | 992 | public static function tabs($header_list, $content_list, $id = 'tabs', $attributes = array(), $ul_attributes = array())  | 
                                                        
@@ -1029,7 +1033,7 @@ discard block  | 
                                                    ||
| 1029 | 1033 | |
| 1030 | 1034 | /**  | 
                                                        
| 1031 | 1035 | * @param $headers  | 
                                                        
| 1032 | - * @param null $selected  | 
                                                        |
| 1036 | + * @param integer $selected  | 
                                                        |
| 1033 | 1037 | *  | 
                                                        
| 1034 | 1038 | * @return string  | 
                                                        
| 1035 | 1039 | */  | 
                                                        
@@ -1067,6 +1071,7 @@ discard block  | 
                                                    ||
| 1067 | 1071 | * As you can see both function use the same "my_grid_name" this is very important otherwise nothing will work  | 
                                                        
| 1068 | 1072 | *  | 
                                                        
| 1069 | 1073 | * @param string the div id, this value must be the same with the first parameter of Display::grid_js()  | 
                                                        
| 1074 | + * @param string $div_id  | 
                                                        |
| 1070 | 1075 | * @return string html  | 
                                                        
| 1071 | 1076 | *  | 
                                                        
| 1072 | 1077 | */  | 
                                                        
@@ -1622,6 +1627,8 @@ discard block  | 
                                                    ||
| 1622 | 1627 | * @param string url that will be added (for jquery see hot_courses.tpl)  | 
                                                        
| 1623 | 1628 | * @param string point info array see function CourseManager::get_course_ranking()  | 
                                                        
| 1624 | 1629 | * @param bool add a div wrapper  | 
                                                        
| 1630 | + * @param string $id  | 
                                                        |
| 1631 | + * @param string $url  | 
                                                        |
| 1625 | 1632 | * @todo use templates  | 
                                                        
| 1626 | 1633 | **/  | 
                                                        
| 1627 | 1634 | public static function return_rating_system($id, $url, $point_info = array(), $add_div_wrapper = true)  | 
                                                        
@@ -1717,6 +1724,9 @@ discard block  | 
                                                    ||
| 1717 | 1724 | return '<'.$size.'>'.Security::remove_XSS($title).'</'.$size.'>';  | 
                                                        
| 1718 | 1725 | }  | 
                                                        
| 1719 | 1726 | |
| 1727 | + /**  | 
                                                        |
| 1728 | + * @param string $title  | 
                                                        |
| 1729 | + */  | 
                                                        |
| 1720 | 1730 | public static function page_subheader2($title, $second_title = null)  | 
                                                        
| 1721 | 1731 |      { | 
                                                        
| 1722 | 1732 | return self::page_header($title, $second_title, 'h4');  | 
                                                        
@@ -1947,6 +1957,7 @@ discard block  | 
                                                    ||
| 1947 | 1957 | |
| 1948 | 1958 | /**  | 
                                                        
| 1949 | 1959 | * @todo use twig  | 
                                                        
| 1960 | + * @param string $title  | 
                                                        |
| 1950 | 1961 | */  | 
                                                        
| 1951 | 1962 | public static function group_button($title, $elements)  | 
                                                        
| 1952 | 1963 |      { | 
                                                        
@@ -2164,9 +2175,9 @@ discard block  | 
                                                    ||
| 2164 | 2175 | |
| 2165 | 2176 | /**  | 
                                                        
| 2166 | 2177 | * @param int $id  | 
                                                        
| 2167 | - * @param array $content  | 
                                                        |
| 2178 | + * @param string[] $content  | 
                                                        |
| 2168 | 2179 | * @param int $col  | 
                                                        
| 2169 | - * @param bool|true $right  | 
                                                        |
| 2180 | + * @param boolean $right  | 
                                                        |
| 2170 | 2181 | * @return string  | 
                                                        
| 2171 | 2182 | */  | 
                                                        
| 2172 | 2183 | public static function toolbarAction($id, $content = array(), $col = 2, $right = true)  | 
                                                        
@@ -2248,10 +2259,10 @@ discard block  | 
                                                    ||
| 2248 | 2259 | /**  | 
                                                        
| 2249 | 2260 | * @param string $title  | 
                                                        
| 2250 | 2261 | * @param string $content  | 
                                                        
| 2251 | - * @param null $id  | 
                                                        |
| 2262 | + * @param string $id  | 
                                                        |
| 2252 | 2263 | * @param array $params  | 
                                                        
| 2253 | - * @param null $idAccordion  | 
                                                        |
| 2254 | - * @param null $idCollapse  | 
                                                        |
| 2264 | + * @param string $idAccordion  | 
                                                        |
| 2265 | + * @param string $idCollapse  | 
                                                        |
| 2255 | 2266 | * @param bool|true $open  | 
                                                        
| 2256 | 2267 | * @param bool|false $fullClickable  | 
                                                        
| 2257 | 2268 | * @return null|string  | 
                                                        
@@ -49,12 +49,12 @@ discard block  | 
                                                    ||
| 49 | 49 | );  | 
                                                        
| 50 | 50 | }  | 
                                                        
| 51 | 51 | |
| 52 | - /**  | 
                                                        |
| 53 | - * Displays the page header  | 
                                                        |
| 54 | - * @param string The name of the page (will be showed in the page title)  | 
                                                        |
| 55 | - * @param string Optional help file name  | 
                                                        |
| 56 | - * @param string $page_header  | 
                                                        |
| 57 | - */  | 
                                                        |
| 52 | + /**  | 
                                                        |
| 53 | + * Displays the page header  | 
                                                        |
| 54 | + * @param string The name of the page (will be showed in the page title)  | 
                                                        |
| 55 | + * @param string Optional help file name  | 
                                                        |
| 56 | + * @param string $page_header  | 
                                                        |
| 57 | + */  | 
                                                        |
| 58 | 58 | public static function display_header($tool_name ='', $help = null, $page_header = null)  | 
                                                        
| 59 | 59 |      { | 
                                                        
| 60 | 60 | $origin = api_get_origin();  | 
                                                        
@@ -448,7 +448,7 @@ discard block  | 
                                                    ||
| 448 | 448 | */  | 
                                                        
| 449 | 449 | public static function display_normal_message($message, $filter = true, $returnValue = false)  | 
                                                        
| 450 | 450 |      { | 
                                                        
| 451 | - $message = self::return_message($message, 'normal', $filter);  | 
                                                        |
| 451 | + $message = self::return_message($message, 'normal', $filter);  | 
                                                        |
| 452 | 452 |          if ($returnValue) { | 
                                                        
| 453 | 453 | return $message;  | 
                                                        
| 454 | 454 |          } else { | 
                                                        
@@ -524,22 +524,22 @@ discard block  | 
                                                    ||
| 524 | 524 | public static function return_message($message, $type = 'normal', $filter = true)  | 
                                                        
| 525 | 525 |      { | 
                                                        
| 526 | 526 |          if ($filter) { | 
                                                        
| 527 | - $message = api_htmlentities($message, ENT_QUOTES, api_is_xml_http_request() ? 'UTF-8' : api_get_system_encoding());  | 
                                                        |
| 527 | + $message = api_htmlentities($message, ENT_QUOTES, api_is_xml_http_request() ? 'UTF-8' : api_get_system_encoding());  | 
                                                        |
| 528 | 528 | }  | 
                                                        
| 529 | 529 | |
| 530 | 530 | $class = "";  | 
                                                        
| 531 | 531 |          switch($type) { | 
                                                        
| 532 | 532 | case 'warning':  | 
                                                        
| 533 | 533 | $class .= 'alert alert-warning';  | 
                                                        
| 534 | - break;  | 
                                                        |
| 534 | + break;  | 
                                                        |
| 535 | 535 | case 'error':  | 
                                                        
| 536 | 536 | $class .= 'alert alert-danger';  | 
                                                        
| 537 | - break;  | 
                                                        |
| 537 | + break;  | 
                                                        |
| 538 | 538 | case 'confirmation':  | 
                                                        
| 539 | 539 | case 'confirm':  | 
                                                        
| 540 | 540 | case 'success':  | 
                                                        
| 541 | 541 | $class .= 'alert alert-success';  | 
                                                        
| 542 | - break;  | 
                                                        |
| 542 | + break;  | 
                                                        |
| 543 | 543 | case 'normal':  | 
                                                        
| 544 | 544 | default:  | 
                                                        
| 545 | 545 | $class .= 'alert alert-info';  | 
                                                        
@@ -682,7 +682,7 @@ discard block  | 
                                                    ||
| 682 | 682 | * @param array additional attributes (for instance height, width, onclick, ...)  | 
                                                        
| 683 | 683 | * @param integer The wanted width of the icon (to be looked for in the corresponding img/icons/ folder)  | 
                                                        
| 684 | 684 | * @return void  | 
                                                        
| 685 | - */  | 
                                                        |
| 685 | + */  | 
                                                        |
| 686 | 686 | public static function display_icon(  | 
                                                        
| 687 | 687 | $image,  | 
                                                        
| 688 | 688 | $alt_text = '',  | 
                                                        
@@ -705,7 +705,7 @@ discard block  | 
                                                    ||
| 705 | 705 | * @author Julio Montoya 2010 Function improved, adding image constants  | 
                                                        
| 706 | 706 | * @author Yannick Warnier 2011 Added size handler  | 
                                                        
| 707 | 707 | * @version Feb 2011  | 
                                                        
| 708 | - */  | 
                                                        |
| 708 | + */  | 
                                                        |
| 709 | 709 | public static function return_icon(  | 
                                                        
| 710 | 710 | $image,  | 
                                                        
| 711 | 711 | $alt_text = '',  | 
                                                        
@@ -884,14 +884,14 @@ discard block  | 
                                                    ||
| 884 | 884 | */  | 
                                                        
| 885 | 885 | public static function input($type, $name, $value, $attributes = array())  | 
                                                        
| 886 | 886 |      { | 
                                                        
| 887 | -         if (isset($type)) { | 
                                                        |
| 888 | - $attributes['type']= $type;  | 
                                                        |
| 889 | - }  | 
                                                        |
| 890 | -         if (isset($name)) { | 
                                                        |
| 891 | - $attributes['name']= $name;  | 
                                                        |
| 892 | - }  | 
                                                        |
| 893 | -         if (isset($value)) { | 
                                                        |
| 894 | - $attributes['value']= $value;  | 
                                                        |
| 887 | +            if (isset($type)) { | 
                                                        |
| 888 | + $attributes['type']= $type;  | 
                                                        |
| 889 | + }  | 
                                                        |
| 890 | +            if (isset($name)) { | 
                                                        |
| 891 | + $attributes['name']= $name;  | 
                                                        |
| 892 | + }  | 
                                                        |
| 893 | +            if (isset($value)) { | 
                                                        |
| 894 | + $attributes['value']= $value;  | 
                                                        |
| 895 | 895 | }  | 
                                                        
| 896 | 896 |          return self::tag('input', '', $attributes); | 
                                                        
| 897 | 897 | }  | 
                                                        
@@ -904,10 +904,10 @@ discard block  | 
                                                    ||
| 904 | 904 | */  | 
                                                        
| 905 | 905 | public static function button($name, $value, $attributes = array())  | 
                                                        
| 906 | 906 |      { | 
                                                        
| 907 | -    	if (!empty($name)) { | 
                                                        |
| 907 | +        if (!empty($name)) { | 
                                                        |
| 908 | 908 | $attributes['name'] = $name;  | 
                                                        
| 909 | - }  | 
                                                        |
| 910 | -    	return self::tag('button', $value, $attributes); | 
                                                        |
| 909 | + }  | 
                                                        |
| 910 | +        return self::tag('button', $value, $attributes); | 
                                                        |
| 911 | 911 | }  | 
                                                        
| 912 | 912 | |
| 913 | 913 | /**  | 
                                                        
@@ -974,7 +974,7 @@ discard block  | 
                                                    ||
| 974 | 974 | * in the $htmlHeadXtra variable before the display_header  | 
                                                        
| 975 | 975 | * Add this script  | 
                                                        
| 976 | 976 | * @example  | 
                                                        
| 977 | - * <script>  | 
                                                        |
| 977 | + * <script>  | 
                                                        |
| 978 | 978 |                      $(function() { | 
                                                        
| 979 | 979 | $( "#tabs" ).tabs();  | 
                                                        
| 980 | 980 | });  | 
                                                        
@@ -1035,20 +1035,20 @@ discard block  | 
                                                    ||
| 1035 | 1035 | */  | 
                                                        
| 1036 | 1036 | public static function tabsOnlyLink($headers, $selected = null)  | 
                                                        
| 1037 | 1037 |      { | 
                                                        
| 1038 | - $id = uniqid();  | 
                                                        |
| 1039 | - $i = 1;  | 
                                                        |
| 1040 | - $lis = null;  | 
                                                        |
| 1041 | -         foreach ($headers as $item) { | 
                                                        |
| 1038 | + $id = uniqid();  | 
                                                        |
| 1039 | + $i = 1;  | 
                                                        |
| 1040 | + $lis = null;  | 
                                                        |
| 1041 | +            foreach ($headers as $item) { | 
                                                        |
| 1042 | 1042 | $class = null;  | 
                                                        
| 1043 | 1043 |              if ($i == $selected) { | 
                                                        
| 1044 | 1044 | $class = 'active';  | 
                                                        
| 1045 | 1045 | }  | 
                                                        
| 1046 | - $item = self::tag(  | 
                                                        |
| 1047 | - 'a',  | 
                                                        |
| 1048 | - $item['content'],  | 
                                                        |
| 1049 | -                 array('id' => $id.'-'.$i, 'href' => $item['url']) | 
                                                        |
| 1050 | - );  | 
                                                        |
| 1051 | -             $lis .= self::tag('li', $item, array('class' => $class)); | 
                                                        |
| 1046 | + $item = self::tag(  | 
                                                        |
| 1047 | + 'a',  | 
                                                        |
| 1048 | + $item['content'],  | 
                                                        |
| 1049 | +                    array('id' => $id.'-'.$i, 'href' => $item['url']) | 
                                                        |
| 1050 | + );  | 
                                                        |
| 1051 | +                $lis .= self::tag('li', $item, array('class' => $class)); | 
                                                        |
| 1052 | 1052 | $i++;  | 
                                                        
| 1053 | 1053 | }  | 
                                                        
| 1054 | 1054 |          return self::tag('ul', $lis, array('class' => 'nav nav-tabs tabs-margin')); | 
                                                        
@@ -1260,8 +1260,8 @@ discard block  | 
                                                    ||
| 1260 | 1260 | */  | 
                                                        
| 1261 | 1261 | public static function table($headers, $rows, $attributes = array())  | 
                                                        
| 1262 | 1262 |      { | 
                                                        
| 1263 | -    	if (empty($attributes)) { | 
                                                        |
| 1264 | - $attributes['class'] = 'data_table';  | 
                                                        |
| 1263 | +        if (empty($attributes)) { | 
                                                        |
| 1264 | + $attributes['class'] = 'data_table';  | 
                                                        |
| 1265 | 1265 | }  | 
                                                        
| 1266 | 1266 | $table = new HTML_Table($attributes);  | 
                                                        
| 1267 | 1267 | $row = 0;  | 
                                                        
@@ -1269,17 +1269,17 @@ discard block  | 
                                                    ||
| 1269 | 1269 | |
| 1270 | 1270 | // Course headers  | 
                                                        
| 1271 | 1271 |          if (!empty($headers)) { | 
                                                        
| 1272 | -	        foreach ($headers as $item) { | 
                                                        |
| 1273 | - $table->setHeaderContents($row, $column, $item);  | 
                                                        |
| 1274 | - $column++;  | 
                                                        |
| 1275 | - }  | 
                                                        |
| 1276 | - $row = 1;  | 
                                                        |
| 1277 | - $column = 0;  | 
                                                        |
| 1272 | +            foreach ($headers as $item) { | 
                                                        |
| 1273 | + $table->setHeaderContents($row, $column, $item);  | 
                                                        |
| 1274 | + $column++;  | 
                                                        |
| 1275 | + }  | 
                                                        |
| 1276 | + $row = 1;  | 
                                                        |
| 1277 | + $column = 0;  | 
                                                        |
| 1278 | 1278 | }  | 
                                                        
| 1279 | 1279 | |
| 1280 | 1280 |          if (!empty($rows)) { | 
                                                        
| 1281 | -	        foreach($rows as $content) { | 
                                                        |
| 1282 | - $table->setCellContents($row, $column, $content);  | 
                                                        |
| 1281 | +            foreach($rows as $content) { | 
                                                        |
| 1282 | + $table->setCellContents($row, $column, $content);  | 
                                                        |
| 1283 | 1283 | $row++;  | 
                                                        
| 1284 | 1284 | }  | 
                                                        
| 1285 | 1285 | }  | 
                                                        
@@ -1385,7 +1385,7 @@ discard block  | 
                                                    ||
| 1385 | 1385 | //$item_property['tool'] != TOOL_DROPBOX &&  | 
                                                        
| 1386 | 1386 | $item_property['tool'] != TOOL_NOTEBOOK &&  | 
                                                        
| 1387 | 1387 | $item_property['tool'] != TOOL_CHAT)  | 
                                                        
| 1388 | - )  | 
                                                        |
| 1388 | + )  | 
                                                        |
| 1389 | 1389 | )  | 
                                                        
| 1390 | 1390 | // Take only what's visible or "invisible but where the user is a teacher" or where the visibility is unset.  | 
                                                        
| 1391 | 1391 | && ($item_property['visibility'] == '1'  | 
                                                        
@@ -1401,7 +1401,7 @@ discard block  | 
                                                    ||
| 1401 | 1401 | ($item_property['to_user_id'] != $user_id) &&  | 
                                                        
| 1402 | 1402 | (!isset($item_property['to_group_id']) || !in_array($item_property['to_group_id'], $group_ids)))  | 
                                                        
| 1403 | 1403 |                  ) { | 
                                                        
| 1404 | - continue;  | 
                                                        |
| 1404 | + continue;  | 
                                                        |
| 1405 | 1405 | }  | 
                                                        
| 1406 | 1406 | |
| 1407 | 1407 | // If it's a survey, make sure the user's invited. Otherwise drop it.  | 
                                                        
@@ -1620,21 +1620,21 @@ discard block  | 
                                                    ||
| 1620 | 1620 | *  | 
                                                        
| 1621 | 1621 | * @param string id of the rating ul element  | 
                                                        
| 1622 | 1622 | * @param string url that will be added (for jquery see hot_courses.tpl)  | 
                                                        
| 1623 | - * @param string point info array see function CourseManager::get_course_ranking()  | 
                                                        |
| 1624 | - * @param bool add a div wrapper  | 
                                                        |
| 1625 | - * @todo use templates  | 
                                                        |
| 1623 | + * @param string point info array see function CourseManager::get_course_ranking()  | 
                                                        |
| 1624 | + * @param bool add a div wrapper  | 
                                                        |
| 1625 | + * @todo use templates  | 
                                                        |
| 1626 | 1626 | **/  | 
                                                        
| 1627 | 1627 | public static function return_rating_system($id, $url, $point_info = array(), $add_div_wrapper = true)  | 
                                                        
| 1628 | 1628 |      { | 
                                                        
| 1629 | - $number_of_users_who_voted = isset($point_info['users_who_voted']) ? $point_info['users_who_voted'] : null;  | 
                                                        |
| 1630 | - $percentage = isset($point_info['point_average']) ? $point_info['point_average'] : 0;  | 
                                                        |
| 1629 | + $number_of_users_who_voted = isset($point_info['users_who_voted']) ? $point_info['users_who_voted'] : null;  | 
                                                        |
| 1630 | + $percentage = isset($point_info['point_average']) ? $point_info['point_average'] : 0;  | 
                                                        |
| 1631 | 1631 | |
| 1632 | -		if (!empty($percentage)) { | 
                                                        |
| 1632 | +        if (!empty($percentage)) { | 
                                                        |
| 1633 | 1633 | $percentage = $percentage*125/100;  | 
                                                        
| 1634 | 1634 | }  | 
                                                        
| 1635 | - $accesses = isset($point_info['accesses']) ? $point_info['accesses'] : 0;  | 
                                                        |
| 1635 | + $accesses = isset($point_info['accesses']) ? $point_info['accesses'] : 0;  | 
                                                        |
| 1636 | 1636 | |
| 1637 | -		$star_label = sprintf(get_lang('XStarsOutOf5'), $point_info['point_average_star']); | 
                                                        |
| 1637 | +        $star_label = sprintf(get_lang('XStarsOutOf5'), $point_info['point_average_star']); | 
                                                        |
| 1638 | 1638 | |
| 1639 | 1639 | $html = '<ul id="'.$id.'" class="star-rating">  | 
                                                        
| 1640 | 1640 | <li class="current-rating" style="width:'.$percentage.'px;"></li>  | 
                                                        
@@ -1645,26 +1645,26 @@ discard block  | 
                                                    ||
| 1645 | 1645 | <li><a href="javascript:void(0);" data-link="'.$url.'&star=5" title="'.$star_label.'" class="five-stars">5</a></li>  | 
                                                        
| 1646 | 1646 | </ul>';  | 
                                                        
| 1647 | 1647 | |
| 1648 | - $labels = array();  | 
                                                        |
| 1648 | + $labels = array();  | 
                                                        |
| 1649 | 1649 | |
| 1650 | -		$labels[]= $number_of_users_who_voted == 1 ? $number_of_users_who_voted.' '.get_lang('Vote') : $number_of_users_who_voted.' '.get_lang('Votes'); | 
                                                        |
| 1651 | -		$labels[]= $accesses == 1 ? $accesses.' '.get_lang('Visit') : $accesses.' '.get_lang('Visits'); | 
                                                        |
| 1652 | -		if (!empty($number_of_users_who_voted)) { | 
                                                        |
| 1653 | -			$labels[]= get_lang('Average').' '.$point_info['point_average_star'].'/5'; | 
                                                        |
| 1654 | - }  | 
                                                        |
| 1650 | +        $labels[]= $number_of_users_who_voted == 1 ? $number_of_users_who_voted.' '.get_lang('Vote') : $number_of_users_who_voted.' '.get_lang('Votes'); | 
                                                        |
| 1651 | +        $labels[]= $accesses == 1 ? $accesses.' '.get_lang('Visit') : $accesses.' '.get_lang('Visits'); | 
                                                        |
| 1652 | +        if (!empty($number_of_users_who_voted)) { | 
                                                        |
| 1653 | +            $labels[]= get_lang('Average').' '.$point_info['point_average_star'].'/5'; | 
                                                        |
| 1654 | + }  | 
                                                        |
| 1655 | 1655 | |
| 1656 | -		$labels[]= $point_info['user_vote']  ? get_lang('YourVote').' ['.$point_info['user_vote'].']' : get_lang('YourVote'). ' [?] '; | 
                                                        |
| 1656 | +        $labels[]= $point_info['user_vote']  ? get_lang('YourVote').' ['.$point_info['user_vote'].']' : get_lang('YourVote'). ' [?] '; | 
                                                        |
| 1657 | 1657 | |
| 1658 | -		if (!$add_div_wrapper && api_is_anonymous()) { | 
                                                        |
| 1659 | -			$labels[]= Display::tag('span', get_lang('LoginToVote'), array('class' => 'error')); | 
                                                        |
| 1660 | - }  | 
                                                        |
| 1658 | +        if (!$add_div_wrapper && api_is_anonymous()) { | 
                                                        |
| 1659 | +            $labels[]= Display::tag('span', get_lang('LoginToVote'), array('class' => 'error')); | 
                                                        |
| 1660 | + }  | 
                                                        |
| 1661 | 1661 | |
| 1662 | 1662 |          $html .= Display::div(implode(' | ', $labels) , array('id' =>  'vote_label_'.$id, 'class' => 'vote_label_info')); | 
                                                        
| 1663 | 1663 |          $html .= ' '.Display::span(' ', array('id' =>  'vote_label2_'.$id)); | 
                                                        
| 1664 | 1664 | |
| 1665 | 1665 |          if ($add_div_wrapper) { | 
                                                        
| 1666 | -			$html = Display::div($html, array('id' => 'rating_wrapper_'.$id)); | 
                                                        |
| 1667 | - }  | 
                                                        |
| 1666 | +            $html = Display::div($html, array('id' => 'rating_wrapper_'.$id)); | 
                                                        |
| 1667 | + }  | 
                                                        |
| 1668 | 1668 | |
| 1669 | 1669 | return $html;  | 
                                                        
| 1670 | 1670 | }  | 
                                                        
@@ -1702,8 +1702,8 @@ discard block  | 
                                                    ||
| 1702 | 1702 | return self::page_header($title, $second_title);  | 
                                                        
| 1703 | 1703 | }  | 
                                                        
| 1704 | 1704 | |
| 1705 | - public static function page_subheader_and_translate($title, $second_title = null)  | 
                                                        |
| 1706 | -     { | 
                                                        |
| 1705 | + public static function page_subheader_and_translate($title, $second_title = null)  | 
                                                        |
| 1706 | +        { | 
                                                        |
| 1707 | 1707 | $title = get_lang($title);  | 
                                                        
| 1708 | 1708 | return self::page_subheader($title, $second_title);  | 
                                                        
| 1709 | 1709 | }  | 
                                                        
@@ -666,9 +666,10 @@  | 
                                                    ||
| 666 | 666 | $result = '';  | 
                                                        
| 667 | 667 |          for ($i = $min; $i <= $max; $i ++) { | 
                                                        
| 668 | 668 | $result .= '<option value="'.$i.'"';  | 
                                                        
| 669 | - if (is_int($selected_num))  | 
                                                        |
| 670 | -                if ($selected_num == $i) { | 
                                                        |
| 669 | +            if (is_int($selected_num)) { | 
                                                        |
| 670 | +                            if ($selected_num == $i) { | 
                                                        |
| 671 | 671 | $result .= ' selected="selected"';  | 
                                                        
| 672 | + }  | 
                                                        |
| 672 | 673 | }  | 
                                                        
| 673 | 674 | $result .= '>'.$i.'</option>';  | 
                                                        
| 674 | 675 | }  | 
                                                        
@@ -55,7 +55,7 @@ discard block  | 
                                                    ||
| 55 | 55 | * @param string Optional help file name  | 
                                                        
| 56 | 56 | * @param string $page_header  | 
                                                        
| 57 | 57 | */  | 
                                                        
| 58 | - public static function display_header($tool_name ='', $help = null, $page_header = null)  | 
                                                        |
| 58 | + public static function display_header($tool_name = '', $help = null, $page_header = null)  | 
                                                        |
| 59 | 59 |      { | 
                                                        
| 60 | 60 | $origin = api_get_origin();  | 
                                                        
| 61 | 61 | $showHeader = true;  | 
                                                        
@@ -351,7 +351,7 @@ discard block  | 
                                                    ||
| 351 | 351 | $grid_class = array(),  | 
                                                        
| 352 | 352 | $elementCount = 0  | 
                                                        
| 353 | 353 |      ) { | 
                                                        
| 354 | - $column = 0;  | 
                                                        |
| 354 | + $column = 0;  | 
                                                        |
| 355 | 355 | $default_items_per_page = isset($paging_options['per_page']) ? $paging_options['per_page'] : 20;  | 
                                                        
| 356 | 356 | |
| 357 | 357 | $table = new SortableTableFromArray($content, $column, $default_items_per_page, $name);  | 
                                                        
@@ -476,7 +476,7 @@ discard block  | 
                                                    ||
| 476 | 476 | * @param bool Filter (true) or not (false)  | 
                                                        
| 477 | 477 | * @return void  | 
                                                        
| 478 | 478 | */  | 
                                                        
| 479 | - public static function display_confirmation_message ($message, $filter = true, $returnValue = false)  | 
                                                        |
| 479 | + public static function display_confirmation_message($message, $filter = true, $returnValue = false)  | 
                                                        |
| 480 | 480 |      { | 
                                                        
| 481 | 481 | $message = self::return_message($message, 'confirm', $filter);  | 
                                                        
| 482 | 482 |          if ($returnValue) { | 
                                                        
@@ -493,7 +493,7 @@ discard block  | 
                                                    ||
| 493 | 493 | * @param bool Filter (true) or not (false)  | 
                                                        
| 494 | 494 | * @return void  | 
                                                        
| 495 | 495 | */  | 
                                                        
| 496 | - public static function display_error_message ($message, $filter = true, $returnValue = false)  | 
                                                        |
| 496 | + public static function display_error_message($message, $filter = true, $returnValue = false)  | 
                                                        |
| 497 | 497 |      { | 
                                                        
| 498 | 498 | $message = self::return_message($message, 'error', $filter);  | 
                                                        
| 499 | 499 |          if ($returnValue) { | 
                                                        
@@ -508,7 +508,7 @@ discard block  | 
                                                    ||
| 508 | 508 | * @param string $type  | 
                                                        
| 509 | 509 | * @param bool $filter  | 
                                                        
| 510 | 510 | */  | 
                                                        
| 511 | - public static function return_message_and_translate($message, $type='normal', $filter = true)  | 
                                                        |
| 511 | + public static function return_message_and_translate($message, $type = 'normal', $filter = true)  | 
                                                        |
| 512 | 512 |      { | 
                                                        
| 513 | 513 | $message = get_lang($message);  | 
                                                        
| 514 | 514 | echo self::return_message($message, $type, $filter);  | 
                                                        
@@ -532,7 +532,7 @@ discard block  | 
                                                    ||
| 532 | 532 | }  | 
                                                        
| 533 | 533 | |
| 534 | 534 | $class = "";  | 
                                                        
| 535 | -        switch($type) { | 
                                                        |
| 535 | +        switch ($type) { | 
                                                        |
| 536 | 536 | case 'warning':  | 
                                                        
| 537 | 537 | $class .= 'alert alert-warning';  | 
                                                        
| 538 | 538 | break;  | 
                                                        
@@ -560,7 +560,7 @@ discard block  | 
                                                    ||
| 560 | 560 | * @param string optional, class from stylesheet  | 
                                                        
| 561 | 561 | * @return string encrypted mailto hyperlink  | 
                                                        
| 562 | 562 | */  | 
                                                        
| 563 | - public static function encrypted_mailto_link ($email, $clickable_text = null, $style_class = '')  | 
                                                        |
| 563 | + public static function encrypted_mailto_link($email, $clickable_text = null, $style_class = '')  | 
                                                        |
| 564 | 564 |      { | 
                                                        
| 565 | 565 |          if (is_null($clickable_text)) { | 
                                                        
| 566 | 566 | $clickable_text = $email;  | 
                                                        
@@ -575,14 +575,14 @@ discard block  | 
                                                    ||
| 575 | 575 | }  | 
                                                        
| 576 | 576 | // Encrypt email  | 
                                                        
| 577 | 577 | $hmail = '';  | 
                                                        
| 578 | -        for ($i = 0; $i < strlen($email); $i ++) { | 
                                                        |
| 578 | +        for ($i = 0; $i < strlen($email); $i++) { | 
                                                        |
| 579 | 579 |              $hmail .= '&#'.ord($email { | 
                                                        
| 580 | 580 | $i }).';';  | 
                                                        
| 581 | 581 | }  | 
                                                        
| 582 | 582 | $hclickable_text = null;  | 
                                                        
| 583 | 583 | // Encrypt clickable text if @ is present  | 
                                                        
| 584 | 584 |          if (strpos($clickable_text, '@')) { | 
                                                        
| 585 | -            for ($i = 0; $i < strlen($clickable_text); $i ++) { | 
                                                        |
| 585 | +            for ($i = 0; $i < strlen($clickable_text); $i++) { | 
                                                        |
| 586 | 586 |                  $hclickable_text .= '&#'.ord($clickable_text { | 
                                                        
| 587 | 587 | $i }).';';  | 
                                                        
| 588 | 588 | }  | 
                                                        
@@ -614,7 +614,7 @@ discard block  | 
                                                    ||
| 614 | 614 | }  | 
                                                        
| 615 | 615 | // Encrypt email  | 
                                                        
| 616 | 616 | $hmail = '';  | 
                                                        
| 617 | -        for ($i = 0; $i < strlen($email); $i ++) { | 
                                                        |
| 617 | +        for ($i = 0; $i < strlen($email); $i++) { | 
                                                        |
| 618 | 618 |              $hmail .= '&#'.ord($email { | 
                                                        
| 619 | 619 | $i }).';';  | 
                                                        
| 620 | 620 | }  | 
                                                        
@@ -647,7 +647,7 @@ discard block  | 
                                                    ||
| 647 | 647 | public static function get_alphabet_options($selected_letter = '')  | 
                                                        
| 648 | 648 |      { | 
                                                        
| 649 | 649 | $result = '';  | 
                                                        
| 650 | -        for ($i = 65; $i <= 90; $i ++) { | 
                                                        |
| 650 | +        for ($i = 65; $i <= 90; $i++) { | 
                                                        |
| 651 | 651 | $letter = chr($i);  | 
                                                        
| 652 | 652 | $result .= '<option value="'.$letter.'"';  | 
                                                        
| 653 | 653 |              if ($selected_letter == $letter) { | 
                                                        
@@ -668,7 +668,7 @@ discard block  | 
                                                    ||
| 668 | 668 | public static function get_numeric_options($min, $max, $selected_num = 0)  | 
                                                        
| 669 | 669 |      { | 
                                                        
| 670 | 670 | $result = '';  | 
                                                        
| 671 | -        for ($i = $min; $i <= $max; $i ++) { | 
                                                        |
| 671 | +        for ($i = $min; $i <= $max; $i++) { | 
                                                        |
| 672 | 672 | $result .= '<option value="'.$i.'"';  | 
                                                        
| 673 | 673 | if (is_int($selected_num))  | 
                                                        
| 674 | 674 |                  if ($selected_num == $i) { | 
                                                        
@@ -745,7 +745,7 @@ discard block  | 
                                                    ||
| 745 | 745 | $size = ICON_SIZE_SMALL;  | 
                                                        
| 746 | 746 | }  | 
                                                        
| 747 | 747 | |
| 748 | - $size_extra = $size . '/';  | 
                                                        |
| 748 | + $size_extra = $size.'/';  | 
                                                        |
| 749 | 749 | |
| 750 | 750 | // Checking the img/ folder  | 
                                                        
| 751 | 751 | $icon = $w_code_path.'img/'.$image;  | 
                                                        
@@ -753,7 +753,7 @@ discard block  | 
                                                    ||
| 753 | 753 | $theme = 'themes/chamilo/icons/';  | 
                                                        
| 754 | 754 | |
| 755 | 755 |          if ($loadThemeIcon) { | 
                                                        
| 756 | - $theme = 'themes/' . api_get_visual_theme() . '/icons/';  | 
                                                        |
| 756 | + $theme = 'themes/'.api_get_visual_theme().'/icons/';  | 
                                                        |
| 757 | 757 | // Checking the theme icons folder example: app/Resources/public/css/themes/chamilo/icons/XXX  | 
                                                        
| 758 | 758 |              if (is_file($alternateCssPath.$theme.$size_extra.$image)) { | 
                                                        
| 759 | 759 | $icon = $alternateWebCssPath.$theme.$size_extra.$image;  | 
                                                        
@@ -775,11 +775,11 @@ discard block  | 
                                                    ||
| 775 | 775 | // ask for the SVG version directly  | 
                                                        
| 776 | 776 |          $testServer = api_get_setting('server_type'); | 
                                                        
| 777 | 777 |          if ($testServer == 'test' && $return_only_path == false) { | 
                                                        
| 778 | - $svgImage = substr($image, 0, -3) . 'svg';  | 
                                                        |
| 779 | -            if (is_file($code_path . $theme . 'svg/' . $svgImage)) { | 
                                                        |
| 780 | - $icon = $w_code_path . $theme . 'svg/' . $svgImage;  | 
                                                        |
| 781 | -            } elseif (is_file($code_path . 'img/icons/svg/' . $svgImage)) { | 
                                                        |
| 782 | - $icon = $w_code_path . 'img/icons/svg/' . $svgImage;  | 
                                                        |
| 778 | + $svgImage = substr($image, 0, -3).'svg';  | 
                                                        |
| 779 | +            if (is_file($code_path.$theme.'svg/'.$svgImage)) { | 
                                                        |
| 780 | + $icon = $w_code_path.$theme.'svg/'.$svgImage;  | 
                                                        |
| 781 | +            } elseif (is_file($code_path.'img/icons/svg/'.$svgImage)) { | 
                                                        |
| 782 | + $icon = $w_code_path.'img/icons/svg/'.$svgImage;  | 
                                                        |
| 783 | 783 | }  | 
                                                        
| 784 | 784 | |
| 785 | 785 |              if (empty($additional_attributes['height'])) { | 
                                                        
@@ -859,7 +859,7 @@ discard block  | 
                                                    ||
| 859 | 859 | }  | 
                                                        
| 860 | 860 | }  | 
                                                        
| 861 | 861 | //some tags don't have this </XXX>  | 
                                                        
| 862 | -        if (in_array($tag, array('img','input','br'))) { | 
                                                        |
| 862 | +        if (in_array($tag, array('img', 'input', 'br'))) { | 
                                                        |
| 863 | 863 | $return_value = '<'.$tag.' '.$attribute_list.' />';  | 
                                                        
| 864 | 864 |          } else { | 
                                                        
| 865 | 865 | $return_value = '<'.$tag.' '.$attribute_list.' > '.$content.'</'.$tag.'>';  | 
                                                        
@@ -912,13 +912,13 @@ discard block  | 
                                                    ||
| 912 | 912 | public static function input($type, $name, $value, $attributes = array())  | 
                                                        
| 913 | 913 |      { | 
                                                        
| 914 | 914 |           if (isset($type)) { | 
                                                        
| 915 | - $attributes['type']= $type;  | 
                                                        |
| 915 | + $attributes['type'] = $type;  | 
                                                        |
| 916 | 916 | }  | 
                                                        
| 917 | 917 |           if (isset($name)) { | 
                                                        
| 918 | - $attributes['name']= $name;  | 
                                                        |
| 918 | + $attributes['name'] = $name;  | 
                                                        |
| 919 | 919 | }  | 
                                                        
| 920 | 920 |           if (isset($value)) { | 
                                                        
| 921 | - $attributes['value']= $value;  | 
                                                        |
| 921 | + $attributes['value'] = $value;  | 
                                                        |
| 922 | 922 | }  | 
                                                        
| 923 | 923 |          return self::tag('input', '', $attributes); | 
                                                        
| 924 | 924 | }  | 
                                                        
@@ -951,14 +951,14 @@ discard block  | 
                                                    ||
| 951 | 951 |      ) { | 
                                                        
| 952 | 952 | $html = '';  | 
                                                        
| 953 | 953 | $extra = '';  | 
                                                        
| 954 | - $default_id = 'id="' . $name . '" ';  | 
                                                        |
| 954 | + $default_id = 'id="'.$name.'" ';  | 
                                                        |
| 955 | 955 |          foreach ($extra_attributes as $key => $parameter) { | 
                                                        
| 956 | 956 |              if ($key == 'id') { | 
                                                        
| 957 | 957 | $default_id = '';  | 
                                                        
| 958 | 958 | }  | 
                                                        
| 959 | - $extra .= $key . '="' . $parameter . '" ';  | 
                                                        |
| 959 | + $extra .= $key.'="'.$parameter.'" ';  | 
                                                        |
| 960 | 960 | }  | 
                                                        
| 961 | - $html .= '<select name="' . $name . '" ' . $default_id . ' ' . $extra . '>';  | 
                                                        |
| 961 | + $html .= '<select name="'.$name.'" '.$default_id.' '.$extra.'>';  | 
                                                        |
| 962 | 962 | |
| 963 | 963 |          if ($show_blank_item) { | 
                                                        
| 964 | 964 |              if (empty($blank_item_text)) { | 
                                                        
@@ -966,14 +966,14 @@ discard block  | 
                                                    ||
| 966 | 966 |              } else { | 
                                                        
| 967 | 967 | $blank_item_text = Security::remove_XSS($blank_item_text);  | 
                                                        
| 968 | 968 | }  | 
                                                        
| 969 | -            $html .= self::tag('option', '-- ' . $blank_item_text . ' --', array('value' => '-1')); | 
                                                        |
| 969 | +            $html .= self::tag('option', '-- '.$blank_item_text.' --', array('value' => '-1')); | 
                                                        |
| 970 | 970 | }  | 
                                                        
| 971 | 971 |          if ($values) { | 
                                                        
| 972 | 972 |              foreach ($values as $key => $value) { | 
                                                        
| 973 | 973 |                  if (is_array($value) && isset($value['name'])) { | 
                                                        
| 974 | 974 | $value = $value['name'];  | 
                                                        
| 975 | 975 | }  | 
                                                        
| 976 | - $html .= '<option value="' . $key . '"';  | 
                                                        |
| 976 | + $html .= '<option value="'.$key.'"';  | 
                                                        |
| 977 | 977 | |
| 978 | 978 |                  if (is_array($default)) { | 
                                                        
| 979 | 979 |                      foreach ($default as $item) { | 
                                                        
@@ -988,7 +988,7 @@ discard block  | 
                                                    ||
| 988 | 988 | }  | 
                                                        
| 989 | 989 | }  | 
                                                        
| 990 | 990 | |
| 991 | - $html .= '>' . $value . '</option>';  | 
                                                        |
| 991 | + $html .= '>'.$value.'</option>';  | 
                                                        |
| 992 | 992 | }  | 
                                                        
| 993 | 993 | }  | 
                                                        
| 994 | 994 | $html .= '</select>';  | 
                                                        
@@ -1014,7 +1014,7 @@ discard block  | 
                                                    ||
| 1014 | 1014 | */  | 
                                                        
| 1015 | 1015 | public static function tabs($header_list, $content_list, $id = 'tabs', $attributes = array(), $ul_attributes = array())  | 
                                                        
| 1016 | 1016 |      { | 
                                                        
| 1017 | -        if (empty($header_list) || count($header_list) == 0 ) { | 
                                                        |
| 1017 | +        if (empty($header_list) || count($header_list) == 0) { | 
                                                        |
| 1018 | 1018 | return '';  | 
                                                        
| 1019 | 1019 | }  | 
                                                        
| 1020 | 1020 | |
@@ -1051,7 +1051,7 @@ discard block  | 
                                                    ||
| 1051 | 1051 | |
| 1052 | 1052 |          $main_div = self::tag('div', $ul.self::tag('div', $divs, ['class' => 'tab-content']), $attributes); | 
                                                        
| 1053 | 1053 | |
| 1054 | - return $main_div ;  | 
                                                        |
| 1054 | + return $main_div;  | 
                                                        |
| 1055 | 1055 | }  | 
                                                        
| 1056 | 1056 | |
| 1057 | 1057 | /**  | 
                                                        
@@ -1099,8 +1099,8 @@ discard block  | 
                                                    ||
| 1099 | 1099 | */  | 
                                                        
| 1100 | 1100 | public static function grid_html($div_id)  | 
                                                        
| 1101 | 1101 |      { | 
                                                        
| 1102 | -        $table  = self::tag('table','', array('id' => $div_id)); | 
                                                        |
| 1103 | -        $table .= self::tag('div','', array('id' => $div_id.'_pager')); | 
                                                        |
| 1102 | +        $table  = self::tag('table', '', array('id' => $div_id)); | 
                                                        |
| 1103 | +        $table .= self::tag('div', '', array('id' => $div_id.'_pager')); | 
                                                        |
| 1104 | 1104 | return $table;  | 
                                                        
| 1105 | 1105 | }  | 
                                                        
| 1106 | 1106 | |
@@ -1161,7 +1161,7 @@ discard block  | 
                                                    ||
| 1161 | 1161 | $obj->colNames = $column_names;  | 
                                                        
| 1162 | 1162 | $obj->colModel = $column_model;  | 
                                                        
| 1163 | 1163 | $obj->pager = '#'.$div_id.'_pager';  | 
                                                        
| 1164 | - $obj->datatype = 'json';  | 
                                                        |
| 1164 | + $obj->datatype = 'json';  | 
                                                        |
| 1165 | 1165 | $obj->viewrecords = 'true';  | 
                                                        
| 1166 | 1166 | |
| 1167 | 1167 | $all_value = 10000000;  | 
                                                        
@@ -1222,10 +1222,10 @@ discard block  | 
                                                    ||
| 1222 | 1222 | // Adding static data.  | 
                                                        
| 1223 | 1223 |          if (!empty($data)) { | 
                                                        
| 1224 | 1224 | $data_var = $div_id.'_data';  | 
                                                        
| 1225 | - $json.=' var '.$data_var.' = '.json_encode($data).';';  | 
                                                        |
| 1225 | + $json .= ' var '.$data_var.' = '.json_encode($data).';';  | 
                                                        |
| 1226 | 1226 | $obj->data = $data_var;  | 
                                                        
| 1227 | 1227 | $obj->datatype = 'local';  | 
                                                        
| 1228 | - $json.="\n";  | 
                                                        |
| 1228 | + $json .= "\n";  | 
                                                        |
| 1229 | 1229 | }  | 
                                                        
| 1230 | 1230 | |
| 1231 | 1231 | $obj->end = 'end';  | 
                                                        
@@ -1239,12 +1239,12 @@ discard block  | 
                                                    ||
| 1239 | 1239 | }  | 
                                                        
| 1240 | 1240 | |
| 1241 | 1241 | // Fixing true/false js values that doesn't need the ""  | 
                                                        
| 1242 | -        $json_encode = str_replace(':"true"',':true',$json_encode); | 
                                                        |
| 1242 | +        $json_encode = str_replace(':"true"', ':true', $json_encode); | 
                                                        |
| 1243 | 1243 | // wrap_cell is not a valid jqgrid attributes is a hack to wrap a text  | 
                                                        
| 1244 | 1244 |          $json_encode = str_replace('"wrap_cell":true', 'cellattr : function(rowId, value, rowObject, colModel, arrData) { return \'class = "jqgrid_whitespace"\'; }', $json_encode); | 
                                                        
| 1245 | -        $json_encode = str_replace(':"false"',':false',$json_encode); | 
                                                        |
| 1245 | +        $json_encode = str_replace(':"false"', ':false', $json_encode); | 
                                                        |
| 1246 | 1246 |          $json_encode = str_replace('"formatter":"action_formatter"', 'formatter:action_formatter', $json_encode); | 
                                                        
| 1247 | -        $json_encode = str_replace(array('{"first":"first",','"end":"end"}'), '', $json_encode); | 
                                                        |
| 1247 | +        $json_encode = str_replace(array('{"first":"first",', '"end":"end"}'), '', $json_encode); | 
                                                        |
| 1248 | 1248 | |
| 1249 | 1249 | // Creating the jqgrid element.  | 
                                                        
| 1250 | 1250 |          $json .= '$("#'.$div_id.'").jqGrid({'; | 
                                                        
@@ -1259,22 +1259,22 @@ discard block  | 
                                                    ||
| 1259 | 1259 | $groups = '';  | 
                                                        
| 1260 | 1260 |              foreach ($extra_params['groupHeaders'] as $group) { | 
                                                        
| 1261 | 1261 |                  //{ "startColumnName" : "courses", "numberOfColumns" : 1, "titleText" : "Order Info" }, | 
                                                        
| 1262 | -                $groups .= '{ "startColumnName" : "' . $group['startColumnName'] . '", "numberOfColumns" : ' . $group['numberOfColumns'] . ', "titleText" : "' . $group['titleText']  . '" },'; | 
                                                        |
| 1262 | +                $groups .= '{ "startColumnName" : "'.$group['startColumnName'].'", "numberOfColumns" : '.$group['numberOfColumns'].', "titleText" : "'.$group['titleText'].'" },'; | 
                                                        |
| 1263 | 1263 | |
| 1264 | 1264 | }  | 
                                                        
| 1265 | 1265 |              $json .= '$("#'.$div_id.'").jqGrid("setGroupHeaders", { | 
                                                        
| 1266 | 1266 | "useColSpanStyle" : false,  | 
                                                        
| 1267 | 1267 | "groupHeaders" : [  | 
                                                        
| 1268 | - ' . $groups . '  | 
                                                        |
| 1268 | + ' . $groups.'  | 
                                                        |
| 1269 | 1269 | ]  | 
                                                        
| 1270 | 1270 | });';  | 
                                                        
| 1271 | 1271 | }  | 
                                                        
| 1272 | 1272 | |
| 1273 | 1273 |          $all_text = addslashes(get_lang('All')); | 
                                                        
| 1274 | 1274 |          $json .= '$("'.$obj->pager.' option[value='.$all_value.']").text("'.$all_text.'");'; | 
                                                        
| 1275 | - $json.= "\n";  | 
                                                        |
| 1275 | + $json .= "\n";  | 
                                                        |
| 1276 | 1276 | // Adding edit/delete icons.  | 
                                                        
| 1277 | - $json.= $formatter;  | 
                                                        |
| 1277 | + $json .= $formatter;  | 
                                                        |
| 1278 | 1278 | |
| 1279 | 1279 | return $json;  | 
                                                        
| 1280 | 1280 | }  | 
                                                        
@@ -1305,7 +1305,7 @@ discard block  | 
                                                    ||
| 1305 | 1305 | }  | 
                                                        
| 1306 | 1306 | |
| 1307 | 1307 |          if (!empty($rows)) { | 
                                                        
| 1308 | -	        foreach($rows as $content) { | 
                                                        |
| 1308 | +	        foreach ($rows as $content) { | 
                                                        |
| 1309 | 1309 | $table->setCellContents($row, $column, $content);  | 
                                                        
| 1310 | 1310 | $row++;  | 
                                                        
| 1311 | 1311 | }  | 
                                                        
@@ -1467,7 +1467,7 @@ discard block  | 
                                                    ||
| 1467 | 1467 | |
| 1468 | 1468 | // Show all tool icons where there is something new.  | 
                                                        
| 1469 | 1469 | $return = ' ';  | 
                                                        
| 1470 | -        foreach($notifications as $notification) { | 
                                                        |
| 1470 | +        foreach ($notifications as $notification) { | 
                                                        |
| 1471 | 1471 |              $lastDate = date('d/m/Y H:i', convert_sql_date($notification['lastedit_date'])); | 
                                                        
| 1472 | 1472 | $type = $notification['lastedit_type'];  | 
                                                        
| 1473 | 1473 |              $label = get_lang('TitleNotification').": ".get_lang($type)." ($lastDate)"; | 
                                                        
@@ -1510,9 +1510,9 @@ discard block  | 
                                                    ||
| 1510 | 1510 | $tbl_session = Database :: get_main_table(TABLE_MAIN_SESSION);  | 
                                                        
| 1511 | 1511 | $active = false;  | 
                                                        
| 1512 | 1512 | // Request for the name of the general coach  | 
                                                        
| 1513 | - $sql ='SELECT tu.lastname, tu.firstname, ts.*  | 
                                                        |
| 1513 | + $sql = 'SELECT tu.lastname, tu.firstname, ts.*  | 
                                                        |
| 1514 | 1514 | FROM '.$tbl_session.' ts  | 
                                                        
| 1515 | - LEFT JOIN '.$main_user_table .' tu  | 
                                                        |
| 1515 | + LEFT JOIN '.$main_user_table.' tu  | 
                                                        |
| 1516 | 1516 | ON ts.id_coach = tu.user_id  | 
                                                        
| 1517 | 1517 | WHERE ts.id = '.intval($session_id);  | 
                                                        
| 1518 | 1518 | $rs = Database::query($sql);  | 
                                                        
@@ -1522,7 +1522,7 @@ discard block  | 
                                                    ||
| 1522 | 1522 | $session = array();  | 
                                                        
| 1523 | 1523 | $session['title'] = $session_info['name'];  | 
                                                        
| 1524 | 1524 | $session['coach'] = '';  | 
                                                        
| 1525 | - $session['dates'] = '';  | 
                                                        |
| 1525 | + $session['dates'] = '';  | 
                                                        |
| 1526 | 1526 | |
| 1527 | 1527 | if (  | 
                                                        
| 1528 | 1528 | (  | 
                                                        
@@ -1605,7 +1605,7 @@ discard block  | 
                                                    ||
| 1605 | 1605 | }  | 
                                                        
| 1606 | 1606 | |
| 1607 | 1607 |                  if (api_get_setting('show_session_coach') === 'true') { | 
                                                        
| 1608 | -                    $session['coach'] = get_lang('GeneralCoach') . ': ' . api_get_person_name( | 
                                                        |
| 1608 | +                    $session['coach'] = get_lang('GeneralCoach').': '.api_get_person_name( | 
                                                        |
| 1609 | 1609 | $session_info['firstname'],  | 
                                                        
| 1610 | 1610 | $session_info['lastname']  | 
                                                        
| 1611 | 1611 | );  | 
                                                        
@@ -1656,9 +1656,9 @@ discard block  | 
                                                    ||
| 1656 | 1656 | $percentage = isset($point_info['point_average']) ? $point_info['point_average'] : 0;  | 
                                                        
| 1657 | 1657 | |
| 1658 | 1658 |  		if (!empty($percentage)) { | 
                                                        
| 1659 | - $percentage = $percentage*125/100;  | 
                                                        |
| 1659 | + $percentage = $percentage * 125 / 100;  | 
                                                        |
| 1660 | 1660 | }  | 
                                                        
| 1661 | - $accesses = isset($point_info['accesses']) ? $point_info['accesses'] : 0;  | 
                                                        |
| 1661 | + $accesses = isset($point_info['accesses']) ? $point_info['accesses'] : 0;  | 
                                                        |
| 1662 | 1662 | |
| 1663 | 1663 |  		$star_label = sprintf(get_lang('XStarsOutOf5'), $point_info['point_average_star']); | 
                                                        
| 1664 | 1664 | |
@@ -1673,19 +1673,19 @@ discard block  | 
                                                    ||
| 1673 | 1673 | |
| 1674 | 1674 | $labels = array();  | 
                                                        
| 1675 | 1675 | |
| 1676 | -		$labels[]= $number_of_users_who_voted == 1 ? $number_of_users_who_voted.' '.get_lang('Vote') : $number_of_users_who_voted.' '.get_lang('Votes'); | 
                                                        |
| 1677 | -		$labels[]= $accesses == 1 ? $accesses.' '.get_lang('Visit') : $accesses.' '.get_lang('Visits'); | 
                                                        |
| 1676 | +		$labels[] = $number_of_users_who_voted == 1 ? $number_of_users_who_voted.' '.get_lang('Vote') : $number_of_users_who_voted.' '.get_lang('Votes'); | 
                                                        |
| 1677 | +		$labels[] = $accesses == 1 ? $accesses.' '.get_lang('Visit') : $accesses.' '.get_lang('Visits'); | 
                                                        |
| 1678 | 1678 |  		if (!empty($number_of_users_who_voted)) { | 
                                                        
| 1679 | -			$labels[]= get_lang('Average').' '.$point_info['point_average_star'].'/5'; | 
                                                        |
| 1679 | +			$labels[] = get_lang('Average').' '.$point_info['point_average_star'].'/5'; | 
                                                        |
| 1680 | 1680 | }  | 
                                                        
| 1681 | 1681 | |
| 1682 | -		$labels[]= $point_info['user_vote']  ? get_lang('YourVote').' ['.$point_info['user_vote'].']' : get_lang('YourVote'). ' [?] '; | 
                                                        |
| 1682 | +		$labels[] = $point_info['user_vote'] ? get_lang('YourVote').' ['.$point_info['user_vote'].']' : get_lang('YourVote').' [?] '; | 
                                                        |
| 1683 | 1683 | |
| 1684 | 1684 |  		if (!$add_div_wrapper && api_is_anonymous()) { | 
                                                        
| 1685 | -			$labels[]= Display::tag('span', get_lang('LoginToVote'), array('class' => 'error')); | 
                                                        |
| 1685 | +			$labels[] = Display::tag('span', get_lang('LoginToVote'), array('class' => 'error')); | 
                                                        |
| 1686 | 1686 | }  | 
                                                        
| 1687 | 1687 | |
| 1688 | -        $html .= Display::div(implode(' | ', $labels) , array('id' =>  'vote_label_'.$id, 'class' => 'vote_label_info')); | 
                                                        |
| 1688 | +        $html .= Display::div(implode(' | ', $labels), array('id' =>  'vote_label_'.$id, 'class' => 'vote_label_info')); | 
                                                        |
| 1689 | 1689 |          $html .= ' '.Display::span(' ', array('id' =>  'vote_label2_'.$id)); | 
                                                        
| 1690 | 1690 | |
| 1691 | 1691 |          if ($add_div_wrapper) { | 
                                                        
@@ -1763,8 +1763,8 @@ discard block  | 
                                                    ||
| 1763 | 1763 |          if (!empty($list)) { | 
                                                        
| 1764 | 1764 | $html = '<dl class="dl-horizontal">';  | 
                                                        
| 1765 | 1765 |              foreach ($list as $item) { | 
                                                        
| 1766 | - $html .= '<dt>' . $item['title'] . '</dt>';  | 
                                                        |
| 1767 | - $html .= '<dd>' . $item['content'] . '</dd>';  | 
                                                        |
| 1766 | + $html .= '<dt>'.$item['title'].'</dt>';  | 
                                                        |
| 1767 | + $html .= '<dd>'.$item['content'].'</dd>';  | 
                                                        |
| 1768 | 1768 | }  | 
                                                        
| 1769 | 1769 | $html .= '</dl>';  | 
                                                        
| 1770 | 1770 | }  | 
                                                        
@@ -1806,7 +1806,7 @@ discard block  | 
                                                    ||
| 1806 | 1806 | * @param string $type  | 
                                                        
| 1807 | 1807 | * @return null|string  | 
                                                        
| 1808 | 1808 | */  | 
                                                        
| 1809 | - public static function badge($count, $type ="warning")  | 
                                                        |
| 1809 | + public static function badge($count, $type = "warning")  | 
                                                        |
| 1810 | 1810 |      { | 
                                                        
| 1811 | 1811 | $class = '';  | 
                                                        
| 1812 | 1812 | |
@@ -1882,7 +1882,7 @@ discard block  | 
                                                    ||
| 1882 | 1882 |          if (!empty($content)) { | 
                                                        
| 1883 | 1883 | $html = '<span class="label '.$class.'">';  | 
                                                        
| 1884 | 1884 | $html .= $content;  | 
                                                        
| 1885 | - $html .='</span>';  | 
                                                        |
| 1885 | + $html .= '</span>';  | 
                                                        |
| 1886 | 1886 | }  | 
                                                        
| 1887 | 1887 | |
| 1888 | 1888 | return $html;  | 
                                                        
@@ -1903,7 +1903,7 @@ discard block  | 
                                                    ||
| 1903 | 1903 | $class = 'class ="active"';  | 
                                                        
| 1904 | 1904 | }  | 
                                                        
| 1905 | 1905 | |
| 1906 | -                if (basename($_SERVER['REQUEST_URI']) == basename($value['url']) ) { | 
                                                        |
| 1906 | +                if (basename($_SERVER['REQUEST_URI']) == basename($value['url'])) { | 
                                                        |
| 1907 | 1907 | $class = 'class ="active"';  | 
                                                        
| 1908 | 1908 | }  | 
                                                        
| 1909 | 1909 | $html .= "<li $class >";  | 
                                                        
@@ -2154,7 +2154,7 @@ discard block  | 
                                                    ||
| 2154 | 2154 | }  | 
                                                        
| 2155 | 2155 | $label = $nextValue + $localCounter + 1;  | 
                                                        
| 2156 | 2156 |          if ($isMedia) { | 
                                                        
| 2157 | - $label = ($fixedValue + 1) .' '.chr(97 + $localCounter);  | 
                                                        |
| 2157 | + $label = ($fixedValue + 1).' '.chr(97 + $localCounter);  | 
                                                        |
| 2158 | 2158 | $link_to_show = $link.$fixedValue.'#questionanchor'.$itemId;  | 
                                                        
| 2159 | 2159 | }  | 
                                                        
| 2160 | 2160 | $link = Display::url($label.' ', $link_to_show, $linkAttributes);  | 
                                                        
@@ -2266,7 +2266,7 @@ discard block  | 
                                                    ||
| 2266 | 2266 | */  | 
                                                        
| 2267 | 2267 | public static function getVCardUserLink($userId)  | 
                                                        
| 2268 | 2268 |      { | 
                                                        
| 2269 | - $vCardUrl = api_get_path(WEB_PATH).'main/social/vcard_export.php?userId='.intval($userId);;  | 
                                                        |
| 2269 | + $vCardUrl = api_get_path(WEB_PATH).'main/social/vcard_export.php?userId='.intval($userId); ;  | 
                                                        |
| 2270 | 2270 | |
| 2271 | 2271 | return $vCardUrl;  | 
                                                        
| 2272 | 2272 | }  | 
                                                        
@@ -2284,7 +2284,7 @@ discard block  | 
                                                    ||
| 2284 | 2284 |      { | 
                                                        
| 2285 | 2285 | $title = !empty($title) ? '<div class="panel-heading"><h3 class="panel-title">'.$title.'</h3>'.$extra.'</div>' : '';  | 
                                                        
| 2286 | 2286 | $footer = !empty($footer) ? '<div class="panel-footer ">'.$footer.'</div>' : '';  | 
                                                        
| 2287 | - $styles = ['primary','success','info','warning','danger'];  | 
                                                        |
| 2287 | + $styles = ['primary', 'success', 'info', 'warning', 'danger'];  | 
                                                        |
| 2288 | 2288 | $style = !in_array($style, $styles) ? 'default' : $style;  | 
                                                        
| 2289 | 2289 | |
| 2290 | 2290 | return '  | 
                                                        
@@ -2329,7 +2329,7 @@ discard block  | 
                                                    ||
| 2329 | 2329 |          $attributes['class'] = isset($attributes['class']) ? "$buttonClass {$attributes['class']}" : $buttonClass; | 
                                                        
| 2330 | 2330 | |
| 2331 | 2331 |          if (!$includeText) { | 
                                                        
| 2332 | - $text = '<span class="sr-only">' . $text . '</span>';  | 
                                                        |
| 2332 | + $text = '<span class="sr-only">'.$text.'</span>';  | 
                                                        |
| 2333 | 2333 | }  | 
                                                        
| 2334 | 2334 | |
| 2335 | 2335 |          return self::url("$icon $text", $url, $attributes); | 
                                                        
@@ -2344,16 +2344,16 @@ discard block  | 
                                                    ||
| 2344 | 2344 | */  | 
                                                        
| 2345 | 2345 | public static function toolbarAction($id, $content = array(), $col = 2, $right = true)  | 
                                                        
| 2346 | 2346 |      { | 
                                                        
| 2347 | - $columns = 12/$col;  | 
                                                        |
| 2347 | + $columns = 12 / $col;  | 
                                                        |
| 2348 | 2348 | $html = '';  | 
                                                        
| 2349 | - $html .= '<div id="' . $id . '" class="actions">';  | 
                                                        |
| 2349 | + $html .= '<div id="'.$id.'" class="actions">';  | 
                                                        |
| 2350 | 2350 | $html .= '<div class="row">';  | 
                                                        
| 2351 | 2351 |          if ($col > 4) { | 
                                                        
| 2352 | 2352 | $html = '<div class="alert alert-warning" role="alert">Action toolbar design does not work when exceeding four columns - check Display::toolbarAction()</div>';  | 
                                                        
| 2353 | 2353 |          } else { | 
                                                        
| 2354 | -            for ( $i = 0; $i < $col; $i++ ) { | 
                                                        |
| 2355 | - $html .= '<div class="col-md-' . $columns . '">';  | 
                                                        |
| 2356 | -                if ( $col == 2 && $i == 1 ) { | 
                                                        |
| 2354 | +            for ($i = 0; $i < $col; $i++) { | 
                                                        |
| 2355 | + $html .= '<div class="col-md-'.$columns.'">';  | 
                                                        |
| 2356 | +                if ($col == 2 && $i == 1) { | 
                                                        |
| 2357 | 2357 |                      if ($right === true) { | 
                                                        
| 2358 | 2358 | $html .= '<div class="pull-right">';  | 
                                                        
| 2359 | 2359 | $html .= (isset($content[$i]) ? $content[$i] : '');  | 
                                                        
@@ -2468,9 +2468,9 @@ discard block  | 
                                                    ||
| 2468 | 2468 | $params['class'] = 'panel panel-default';  | 
                                                        
| 2469 | 2469 | $html = null;  | 
                                                        
| 2470 | 2470 |              if (!empty($title)) { | 
                                                        
| 2471 | - $html .= '<div class="panel-heading">'.$title.'</div>' . PHP_EOL;  | 
                                                        |
| 2471 | + $html .= '<div class="panel-heading">'.$title.'</div>'.PHP_EOL;  | 
                                                        |
| 2472 | 2472 | }  | 
                                                        
| 2473 | - $html.= '<div class="panel-body">'.$content.'</div>' . PHP_EOL;  | 
                                                        |
| 2473 | + $html .= '<div class="panel-body">'.$content.'</div>'.PHP_EOL;  | 
                                                        |
| 2474 | 2474 | $html = Display::div($html, $params);  | 
                                                        
| 2475 | 2475 | }  | 
                                                        
| 2476 | 2476 | return $html;  | 
                                                        
@@ -1255,6 +1255,7 @@ discard block  | 
                                                    ||
| 1255 | 1255 | |
| 1256 | 1256 | /**  | 
                                                        
| 1257 | 1257 | * Validates the time control key  | 
                                                        
| 1258 | + * @param integer $exercise_id  | 
                                                        |
| 1258 | 1259 | */  | 
                                                        
| 1259 | 1260 | public static function exercise_time_control_is_valid(  | 
                                                        
| 1260 | 1261 | $exercise_id,  | 
                                                        
@@ -1388,7 +1389,7 @@ discard block  | 
                                                    ||
| 1388 | 1389 | * @param int $in_direction  | 
                                                        
| 1389 | 1390 | * @param string $in_hotpot_path  | 
                                                        
| 1390 | 1391 | * @param bool $in_get_count  | 
                                                        
| 1391 | - * @param null $where_condition  | 
                                                        |
| 1392 | + * @param string $where_condition  | 
                                                        |
| 1392 | 1393 | * @return array|int  | 
                                                        
| 1393 | 1394 | */  | 
                                                        
| 1394 | 1395 | public static function get_exam_results_hotpotatoes_data(  | 
                                                        
@@ -2179,7 +2180,7 @@ discard block  | 
                                                    ||
| 2179 | 2180 | /**  | 
                                                        
| 2180 | 2181 | * Return true if pass_pourcentage activated (we use the pass pourcentage feature  | 
                                                        
| 2181 | 2182 | * return false if pass_percentage = 0 (we don't use the pass pourcentage feature  | 
                                                        
| 2182 | - * @param $in_pass_pourcentage  | 
                                                        |
| 2183 | + * @param string $in_pass_pourcentage  | 
                                                        |
| 2183 | 2184 | * @return boolean  | 
                                                        
| 2184 | 2185 | * In this version, pass_percentage and show_success_message are disabled if  | 
                                                        
| 2185 | 2186 | * pass_percentage is set to 0  | 
                                                        
@@ -2192,7 +2193,7 @@ discard block  | 
                                                    ||
| 2192 | 2193 | /**  | 
                                                        
| 2193 | 2194 | * Converts a numeric value in a percentage example 0.66666 to 66.67 %  | 
                                                        
| 2194 | 2195 | * @param $value  | 
                                                        
| 2195 | - * @return float Converted number  | 
                                                        |
| 2196 | + * @return string Converted number  | 
                                                        |
| 2196 | 2197 | */  | 
                                                        
| 2197 | 2198 | public static function convert_to_percentage($value)  | 
                                                        
| 2198 | 2199 |      { | 
                                                        
@@ -2208,7 +2209,7 @@ discard block  | 
                                                    ||
| 2208 | 2209 | * @param float $score  | 
                                                        
| 2209 | 2210 | * @param float $weight  | 
                                                        
| 2210 | 2211 | * @deprecated seem not to be used  | 
                                                        
| 2211 | - * @return float the score rounded converted to the new range  | 
                                                        |
| 2212 | + * @return string|null the score rounded converted to the new range  | 
                                                        |
| 2212 | 2213 | */  | 
                                                        
| 2213 | 2214 | public static function convert_score($score, $weight)  | 
                                                        
| 2214 | 2215 |      { | 
                                                        
@@ -2759,6 +2760,7 @@ discard block  | 
                                                    ||
| 2759 | 2760 | * @param int exercise id  | 
                                                        
| 2760 | 2761 | * @param int $courseId  | 
                                                        
| 2761 | 2762 | * @param int session id  | 
                                                        
| 2763 | + * @param integer $user_count  | 
                                                        |
| 2762 | 2764 | * @return float Best average score  | 
                                                        
| 2763 | 2765 | */  | 
                                                        
| 2764 | 2766 | public static function get_best_average_score_by_exercise(  | 
                                                        
@@ -3198,8 +3200,9 @@ discard block  | 
                                                    ||
| 3198 | 3200 | }  | 
                                                        
| 3199 | 3201 | |
| 3200 | 3202 | /**  | 
                                                        
| 3201 | - * @param array $answer  | 
                                                        |
| 3203 | + * @param string|null $answer  | 
                                                        |
| 3202 | 3204 | * @param string $user_answer  | 
                                                        
| 3205 | + * @param string|null $current_answer  | 
                                                        |
| 3203 | 3206 | * @return array  | 
                                                        
| 3204 | 3207 | */  | 
                                                        
| 3205 | 3208 | public static function check_fill_in_blanks($answer, $user_answer, $current_answer)  | 
                                                        
@@ -3805,7 +3808,7 @@ discard block  | 
                                                    ||
| 3805 | 3808 | |
| 3806 | 3809 | /**  | 
                                                        
| 3807 | 3810 | * @param int $countLetter  | 
                                                        
| 3808 | - * @return mixed  | 
                                                        |
| 3811 | + * @return string  | 
                                                        |
| 3809 | 3812 | */  | 
                                                        
| 3810 | 3813 | public static function detectInputAppropriateClass($countLetter)  | 
                                                        
| 3811 | 3814 |      { | 
                                                        
@@ -67,7 +67,7 @@ discard block  | 
                                                    ||
| 67 | 67 |                  if ($show_title) { | 
                                                        
| 68 | 68 | TestCategory::displayCategoryAndTitle($objQuestionTmp->id);  | 
                                                        
| 69 | 69 | echo Display::div(  | 
                                                        
| 70 | - $current_item . '. ' . $objQuestionTmp->selectTitle(),  | 
                                                        |
| 70 | + $current_item.'. '.$objQuestionTmp->selectTitle(),  | 
                                                        |
| 71 | 71 |                          array('class' => 'question_title') | 
                                                        
| 72 | 72 | );  | 
                                                        
| 73 | 73 | }  | 
                                                        
@@ -112,7 +112,7 @@ discard block  | 
                                                    ||
| 112 | 112 | <div class="clearfix">  | 
                                                        
| 113 | 113 | <ul class="exercise-draggable-answer ui-helper-reset ui-helper-clearfix">';  | 
                                                        
| 114 | 114 |                  } else { | 
                                                        
| 115 | - $s .= '<div id="drag' . $questionId . '_question" class="drag_question">  | 
                                                        |
| 115 | + $s .= '<div id="drag'.$questionId.'_question" class="drag_question">  | 
                                                        |
| 116 | 116 | <table class="data_table">';  | 
                                                        
| 117 | 117 | }  | 
                                                        
| 118 | 118 | |
@@ -159,12 +159,12 @@ discard block  | 
                                                    ||
| 159 | 159 |              } elseif ($answerType == FREE_ANSWER) { | 
                                                        
| 160 | 160 | $fck_content = isset($user_choice[0]) && !empty($user_choice[0]['answer']) ? $user_choice[0]['answer'] : null;  | 
                                                        
| 161 | 161 | |
| 162 | -                $form = new FormValidator('free_choice_' . $questionId); | 
                                                        |
| 162 | +                $form = new FormValidator('free_choice_'.$questionId); | 
                                                        |
| 163 | 163 | $config = array(  | 
                                                        
| 164 | 164 | 'ToolbarSet' => 'TestFreeAnswer'  | 
                                                        
| 165 | 165 | );  | 
                                                        
| 166 | -                $form->addHtmlEditor("choice[" . $questionId . "]", null, false, false, $config); | 
                                                        |
| 167 | -                $form->setDefaults(array("choice[" . $questionId . "]" => $fck_content)); | 
                                                        |
| 166 | +                $form->addHtmlEditor("choice[".$questionId."]", null, false, false, $config); | 
                                                        |
| 167 | +                $form->setDefaults(array("choice[".$questionId."]" => $fck_content)); | 
                                                        |
| 168 | 168 | $s .= $form->returnForm();  | 
                                                        
| 169 | 169 |              } elseif ($answerType == ORAL_EXPRESSION) { | 
                                                        
| 170 | 170 | // Add nanog  | 
                                                        
@@ -189,11 +189,11 @@ discard block  | 
                                                    ||
| 189 | 189 | echo $nano->show_button();  | 
                                                        
| 190 | 190 | }  | 
                                                        
| 191 | 191 | |
| 192 | -                $form = new FormValidator('free_choice_' . $questionId); | 
                                                        |
| 192 | +                $form = new FormValidator('free_choice_'.$questionId); | 
                                                        |
| 193 | 193 | $config = array(  | 
                                                        
| 194 | 194 | 'ToolbarSet' => 'TestFreeAnswer'  | 
                                                        
| 195 | 195 | );  | 
                                                        
| 196 | -                $form->addHtmlEditor("choice[" . $questionId . "]", null, false, false, $config); | 
                                                        |
| 196 | +                $form->addHtmlEditor("choice[".$questionId."]", null, false, false, $config); | 
                                                        |
| 197 | 197 |                  //$form->setDefaults(array("choice[" . $questionId . "]" => $fck_content)); | 
                                                        
| 198 | 198 | $s .= $form->returnForm();  | 
                                                        
| 199 | 199 | }  | 
                                                        
@@ -278,7 +278,7 @@ discard block  | 
                                                    ||
| 278 | 278 | case UNIQUE_ANSWER_NO_OPTION:  | 
                                                        
| 279 | 279 | //no break  | 
                                                        
| 280 | 280 | case UNIQUE_ANSWER_IMAGE:  | 
                                                        
| 281 | - $input_id = 'choice-' . $questionId . '-' . $answerId;  | 
                                                        |
| 281 | + $input_id = 'choice-'.$questionId.'-'.$answerId;  | 
                                                        |
| 282 | 282 | |
| 283 | 283 |                          if (isset($user_choice[0]['answer']) && $user_choice[0]['answer'] == $numAnswer) { | 
                                                        
| 284 | 284 | $attributes = array(  | 
                                                        
@@ -304,14 +304,14 @@ discard block  | 
                                                    ||
| 304 | 304 |                          if ($answerType == UNIQUE_ANSWER_IMAGE) { | 
                                                        
| 305 | 305 |                              if ($show_comment) { | 
                                                        
| 306 | 306 |                                  if (empty($comment)) { | 
                                                        
| 307 | - $s .= '<div id="answer' . $questionId . $numAnswer . '" '  | 
                                                        |
| 307 | + $s .= '<div id="answer'.$questionId.$numAnswer.'" '  | 
                                                        |
| 308 | 308 | . 'class="exercise-unique-answer-image" style="text-align: center">';  | 
                                                        
| 309 | 309 |                                  } else { | 
                                                        
| 310 | - $s .= '<div id="answer' . $questionId . $numAnswer . '" '  | 
                                                        |
| 310 | + $s .= '<div id="answer'.$questionId.$numAnswer.'" '  | 
                                                        |
| 311 | 311 | . 'class="exercise-unique-answer-image col-xs-6 col-sm-12" style="text-align: center">';  | 
                                                        
| 312 | 312 | }  | 
                                                        
| 313 | 313 |                              } else { | 
                                                        
| 314 | - $s .= '<div id="answer' . $questionId . $numAnswer . '" '  | 
                                                        |
| 314 | + $s .= '<div id="answer'.$questionId.$numAnswer.'" '  | 
                                                        |
| 315 | 315 | . 'class="exercise-unique-answer-image col-xs-6 col-md-3" style="text-align: center">';  | 
                                                        
| 316 | 316 | }  | 
                                                        
| 317 | 317 | }  | 
                                                        
@@ -319,7 +319,7 @@ discard block  | 
                                                    ||
| 319 | 319 | $answer = Security::remove_XSS($answer, STUDENT);  | 
                                                        
| 320 | 320 | $s .= Display::input(  | 
                                                        
| 321 | 321 | 'hidden',  | 
                                                        
| 322 | - 'choice2[' . $questionId . ']',  | 
                                                        |
| 322 | + 'choice2['.$questionId.']',  | 
                                                        |
| 323 | 323 | '0'  | 
                                                        
| 324 | 324 | );  | 
                                                        
| 325 | 325 | |
@@ -327,13 +327,13 @@ discard block  | 
                                                    ||
| 327 | 327 | |
| 328 | 328 |                          if ($answerType == UNIQUE_ANSWER_IMAGE) { | 
                                                        
| 329 | 329 | $attributes['style'] = 'display: none;';  | 
                                                        
| 330 | - $answer = '<div class="thumbnail">' . $answer . '</div>';  | 
                                                        |
| 330 | + $answer = '<div class="thumbnail">'.$answer.'</div>';  | 
                                                        |
| 331 | 331 | }  | 
                                                        
| 332 | 332 | |
| 333 | 333 | $answer_input .= '<label class="radio">';  | 
                                                        
| 334 | 334 | $answer_input .= Display::input(  | 
                                                        
| 335 | 335 | 'radio',  | 
                                                        
| 336 | - 'choice[' . $questionId . ']',  | 
                                                        |
| 336 | + 'choice['.$questionId.']',  | 
                                                        |
| 337 | 337 | $numAnswer,  | 
                                                        
| 338 | 338 | $attributes  | 
                                                        
| 339 | 339 | );  | 
                                                        
@@ -360,7 +360,7 @@ discard block  | 
                                                    ||
| 360 | 360 | case MULTIPLE_ANSWER_TRUE_FALSE:  | 
                                                        
| 361 | 361 | //no break  | 
                                                        
| 362 | 362 | case GLOBAL_MULTIPLE_ANSWER:  | 
                                                        
| 363 | - $input_id = 'choice-' . $questionId . '-' . $answerId;  | 
                                                        |
| 363 | + $input_id = 'choice-'.$questionId.'-'.$answerId;  | 
                                                        |
| 364 | 364 | $answer = Security::remove_XSS($answer, STUDENT);  | 
                                                        
| 365 | 365 | |
| 366 | 366 |                          if (in_array($numAnswer, $user_choice_array)) { | 
                                                        
@@ -381,12 +381,12 @@ discard block  | 
                                                    ||
| 381 | 381 | }  | 
                                                        
| 382 | 382 | |
| 383 | 383 |                          if ($answerType == MULTIPLE_ANSWER || $answerType == GLOBAL_MULTIPLE_ANSWER) { | 
                                                        
| 384 | - $s .= '<input type="hidden" name="choice2[' . $questionId . ']" value="0" />';  | 
                                                        |
| 384 | + $s .= '<input type="hidden" name="choice2['.$questionId.']" value="0" />';  | 
                                                        |
| 385 | 385 | |
| 386 | 386 | $answer_input = '<label class="checkbox">';  | 
                                                        
| 387 | 387 | $answer_input .= Display::input(  | 
                                                        
| 388 | 388 | 'checkbox',  | 
                                                        
| 389 | - 'choice[' . $questionId . '][' . $numAnswer . ']',  | 
                                                        |
| 389 | + 'choice['.$questionId.']['.$numAnswer.']',  | 
                                                        |
| 390 | 390 | $numAnswer,  | 
                                                        
| 391 | 391 | $attributes  | 
                                                        
| 392 | 392 | );  | 
                                                        
@@ -439,7 +439,7 @@ discard block  | 
                                                    ||
| 439 | 439 | 'td',  | 
                                                        
| 440 | 440 | Display::input(  | 
                                                        
| 441 | 441 | 'radio',  | 
                                                        
| 442 | - 'choice[' . $questionId . '][' . $numAnswer . ']',  | 
                                                        |
| 442 | + 'choice['.$questionId.']['.$numAnswer.']',  | 
                                                        |
| 443 | 443 | $id,  | 
                                                        
| 444 | 444 | $attributes  | 
                                                        
| 445 | 445 | ),  | 
                                                        
@@ -458,7 +458,7 @@ discard block  | 
                                                    ||
| 458 | 458 | break;  | 
                                                        
| 459 | 459 | case MULTIPLE_ANSWER_COMBINATION:  | 
                                                        
| 460 | 460 | // multiple answers  | 
                                                        
| 461 | - $input_id = 'choice-' . $questionId . '-' . $answerId;  | 
                                                        |
| 461 | + $input_id = 'choice-'.$questionId.'-'.$answerId;  | 
                                                        |
| 462 | 462 | |
| 463 | 463 |                          if (in_array($numAnswer, $user_choice_array)) { | 
                                                        
| 464 | 464 | $attributes = array(  | 
                                                        
@@ -478,11 +478,11 @@ discard block  | 
                                                    ||
| 478 | 478 | }  | 
                                                        
| 479 | 479 | |
| 480 | 480 | $answer = Security::remove_XSS($answer, STUDENT);  | 
                                                        
| 481 | - $answer_input = '<input type="hidden" name="choice2[' . $questionId . ']" value="0" />';  | 
                                                        |
| 481 | + $answer_input = '<input type="hidden" name="choice2['.$questionId.']" value="0" />';  | 
                                                        |
| 482 | 482 | $answer_input .= '<label class="checkbox">';  | 
                                                        
| 483 | 483 | $answer_input .= Display::input(  | 
                                                        
| 484 | 484 | 'checkbox',  | 
                                                        
| 485 | - 'choice[' . $questionId . '][' . $numAnswer . ']',  | 
                                                        |
| 485 | + 'choice['.$questionId.']['.$numAnswer.']',  | 
                                                        |
| 486 | 486 | 1,  | 
                                                        
| 487 | 487 | $attributes  | 
                                                        
| 488 | 488 | );  | 
                                                        
@@ -503,7 +503,7 @@ discard block  | 
                                                    ||
| 503 | 503 | }  | 
                                                        
| 504 | 504 | break;  | 
                                                        
| 505 | 505 | case MULTIPLE_ANSWER_COMBINATION_TRUE_FALSE:  | 
                                                        
| 506 | - $s .= '<input type="hidden" name="choice2[' . $questionId . ']" value="0" />';  | 
                                                        |
| 506 | + $s .= '<input type="hidden" name="choice2['.$questionId.']" value="0" />';  | 
                                                        |
| 507 | 507 | |
| 508 | 508 | $my_choice = array();  | 
                                                        
| 509 | 509 |                          if (!empty($user_choice_array)) { | 
                                                        
@@ -538,7 +538,7 @@ discard block  | 
                                                    ||
| 538 | 538 | 'td',  | 
                                                        
| 539 | 539 | Display::input(  | 
                                                        
| 540 | 540 | 'radio',  | 
                                                        
| 541 | - 'choice[' . $questionId . '][' . $numAnswer . ']',  | 
                                                        |
| 541 | + 'choice['.$questionId.']['.$numAnswer.']',  | 
                                                        |
| 542 | 542 | $key,  | 
                                                        
| 543 | 543 | $attributes  | 
                                                        
| 544 | 544 | )  | 
                                                        
@@ -595,7 +595,7 @@ discard block  | 
                                                    ||
| 595 | 595 | // may be "" if student viewed the question, but did not fill the blanks  | 
                                                        
| 596 | 596 | $correctItem = $studentAnswerList[$i];  | 
                                                        
| 597 | 597 | }  | 
                                                        
| 598 | - $attributes["style"] = "width:" . $listAnswerInformations["tabinputsize"][$i] . "px";  | 
                                                        |
| 598 | + $attributes["style"] = "width:".$listAnswerInformations["tabinputsize"][$i]."px";  | 
                                                        |
| 599 | 599 | $answer .= FillBlanks::getFillTheBlankHtml($separatorStartRegexp, $separatorEndRegexp, $correctItemRegexp, $questionId, $correctItem, $attributes, $answer, $listAnswerInformations, $displayForStudent, $i);  | 
                                                        
| 600 | 600 | }  | 
                                                        
| 601 | 601 | // display the last common word  | 
                                                        
@@ -609,7 +609,7 @@ discard block  | 
                                                    ||
| 609 | 609 | // display the common words  | 
                                                        
| 610 | 610 | $answer .= $listAnswerInformations["commonwords"][$i];  | 
                                                        
| 611 | 611 | // display the blank word  | 
                                                        
| 612 | - $attributes["style"] = "width:" . $listAnswerInformations["tabinputsize"][$i] . "px";  | 
                                                        |
| 612 | + $attributes["style"] = "width:".$listAnswerInformations["tabinputsize"][$i]."px";  | 
                                                        |
| 613 | 613 | $correctItem = $listAnswerInformations["tabwords"][$i];  | 
                                                        
| 614 | 614 | $correctItemRegexp = $correctItem;  | 
                                                        
| 615 | 615 | // replace / with \/ to allow the preg_replace bellow and all the regexp char  | 
                                                        
@@ -635,8 +635,8 @@ discard block  | 
                                                    ||
| 635 | 635 | $trackAttempts = Database::get_main_table(  | 
                                                        
| 636 | 636 | TABLE_STATISTIC_TRACK_E_ATTEMPT  | 
                                                        
| 637 | 637 | );  | 
                                                        
| 638 | - $sql = 'SELECT answer FROM ' . $trackAttempts . '  | 
                                                        |
| 639 | - WHERE exe_id=' . $exe_id . ' AND question_id=' . $questionId;  | 
                                                        |
| 638 | + $sql = 'SELECT answer FROM '.$trackAttempts.'  | 
                                                        |
| 639 | + WHERE exe_id=' . $exe_id.' AND question_id='.$questionId;  | 
                                                        |
| 640 | 640 | $rsLastAttempt = Database::query($sql);  | 
                                                        
| 641 | 641 | $rowLastAttempt = Database::fetch_array($rsLastAttempt);  | 
                                                        
| 642 | 642 | $answer = $rowLastAttempt['answer'];  | 
                                                        
@@ -693,7 +693,7 @@ discard block  | 
                                                    ||
| 693 | 693 | '',  | 
                                                        
| 694 | 694 | $answerCorrected  | 
                                                        
| 695 | 695 | );  | 
                                                        
| 696 | - $answerCorrected = '[' . $answerCorrected . ']';  | 
                                                        |
| 696 | + $answerCorrected = '['.$answerCorrected.']';  | 
                                                        |
| 697 | 697 | $studentAnswerList[] = $answerCorrected;  | 
                                                        
| 698 | 698 | }  | 
                                                        
| 699 | 699 | }  | 
                                                        
@@ -714,7 +714,7 @@ discard block  | 
                                                    ||
| 714 | 714 | */  | 
                                                        
| 715 | 715 | $tabComments = api_preg_split(  | 
                                                        
| 716 | 716 | '/\[[^]]+\]/',  | 
                                                        
| 717 | - ' ' . $answer . ' '  | 
                                                        |
| 717 | + ' '.$answer.' '  | 
                                                        |
| 718 | 718 | );  | 
                                                        
| 719 | 719 |                          if (!empty($correctAnswerList) && !empty($studentAnswerList)) { | 
                                                        
| 720 | 720 | $answer = "";  | 
                                                        
@@ -731,7 +731,7 @@ discard block  | 
                                                    ||
| 731 | 731 | $size  | 
                                                        
| 732 | 732 | );  | 
                                                        
| 733 | 733 | |
| 734 | - $answer .= $tabComments[$i] .  | 
                                                        |
| 734 | + $answer .= $tabComments[$i].  | 
                                                        |
| 735 | 735 | Display::input(  | 
                                                        
| 736 | 736 | 'text',  | 
                                                        
| 737 | 737 | "choice[$questionId][]",  | 
                                                        
@@ -778,12 +778,12 @@ discard block  | 
                                                    ||
| 778 | 778 | $s .= '<tr><td width="45%" valign="top">';  | 
                                                        
| 779 | 779 | $parsed_answer = $answer;  | 
                                                        
| 780 | 780 | //left part questions  | 
                                                        
| 781 | - $s .= '<p class="indent">' . $lines_count . '. ' . $parsed_answer . '</p></td>';  | 
                                                        |
| 781 | + $s .= '<p class="indent">'.$lines_count.'. '.$parsed_answer.'</p></td>';  | 
                                                        |
| 782 | 782 | //middle part (matches selects)  | 
                                                        
| 783 | 783 | |
| 784 | 784 | $s .= '<td width="10%" valign="top" align="center" >  | 
                                                        
| 785 | 785 | <div class="select-matching">  | 
                                                        
| 786 | - <select name="choice[' . $questionId . '][' . $numAnswer . ']">';  | 
                                                        |
| 786 | + <select name="choice[' . $questionId.']['.$numAnswer.']">';  | 
                                                        |
| 787 | 787 | |
| 788 | 788 | // fills the list-box  | 
                                                        
| 789 | 789 |                              foreach ($select_items as $key => $val) { | 
                                                        
@@ -799,14 +799,14 @@ discard block  | 
                                                    ||
| 799 | 799 |                                  if (isset($user_choice_array_position[$numAnswer]) && $val['id'] == $user_choice_array_position[$numAnswer]) { | 
                                                        
| 800 | 800 | $selected = 'selected="selected"';  | 
                                                        
| 801 | 801 | }  | 
                                                        
| 802 | - $s .= '<option value="' . $val['id'] . '" ' . $selected . '>' . $val['letter'] . '</option>';  | 
                                                        |
| 802 | + $s .= '<option value="'.$val['id'].'" '.$selected.'>'.$val['letter'].'</option>';  | 
                                                        |
| 803 | 803 | |
| 804 | 804 | } // end foreach()  | 
                                                        
| 805 | 805 | |
| 806 | 806 | $s .= '</select></div></td><td width="5%" class="separate"> </td>';  | 
                                                        
| 807 | 807 | $s .= '<td width="40%" valign="top" >';  | 
                                                        
| 808 | 808 |                              if (isset($select_items[$lines_count])) { | 
                                                        
| 809 | - $s .= '<div class="text-right"><p class="indent">' . $select_items[$lines_count]['letter'] . '.  ' . $select_items[$lines_count]['answer'] . '</p></div>';  | 
                                                        |
| 809 | + $s .= '<div class="text-right"><p class="indent">'.$select_items[$lines_count]['letter'].'.  '.$select_items[$lines_count]['answer'].'</p></div>';  | 
                                                        |
| 810 | 810 |                              } else { | 
                                                        
| 811 | 811 | $s .= ' ';  | 
                                                        
| 812 | 812 | }  | 
                                                        
@@ -821,7 +821,7 @@ discard block  | 
                                                    ||
| 821 | 821 | $s .= '<tr>  | 
                                                        
| 822 | 822 | <td colspan="2"></td>  | 
                                                        
| 823 | 823 | <td valign="top">';  | 
                                                        
| 824 | - $s .= '<b>' . $select_items[$lines_count]['letter'] . '.</b> ' . $select_items[$lines_count]['answer'];  | 
                                                        |
| 824 | + $s .= '<b>'.$select_items[$lines_count]['letter'].'.</b> '.$select_items[$lines_count]['answer'];  | 
                                                        |
| 825 | 825 | $s .= "</td>  | 
                                                        
| 826 | 826 | </tr>";  | 
                                                        
| 827 | 827 | $lines_count++;  | 
                                                        
@@ -838,9 +838,9 @@ discard block  | 
                                                    ||
| 838 | 838 | $data = $objAnswerTmp->getAnswerByAutoId($data['correct']);  | 
                                                        
| 839 | 839 | $lines_count = $data['answer'];*/  | 
                                                        
| 840 | 840 | |
| 841 | - $windowId = $questionId . '_' . $lines_count;  | 
                                                        |
| 841 | + $windowId = $questionId.'_'.$lines_count;  | 
                                                        |
| 842 | 842 | |
| 843 | - $s .= '<li class="touch-items" id="' . $windowId . '">';  | 
                                                        |
| 843 | + $s .= '<li class="touch-items" id="'.$windowId.'">';  | 
                                                        |
| 844 | 844 | $s .= Display::div(  | 
                                                        
| 845 | 845 | $parsed_answer,  | 
                                                        
| 846 | 846 | [  | 
                                                        
@@ -898,7 +898,7 @@ discard block  | 
                                                    ||
| 898 | 898 | Display::tag(  | 
                                                        
| 899 | 899 | 'b',  | 
                                                        
| 900 | 900 | $select_items[$lines_count]['letter']  | 
                                                        
| 901 | - ) . $select_items[$lines_count]['answer'],  | 
                                                        |
| 901 | + ).$select_items[$lines_count]['answer'],  | 
                                                        |
| 902 | 902 | [  | 
                                                        
| 903 | 903 |                                          'id' => "window_{$windowId}_answer", | 
                                                        
| 904 | 904 | 'style' => 'display: none;'  | 
                                                        
@@ -1069,7 +1069,7 @@ discard block  | 
                                                    ||
| 1069 | 1069 | |
| 1070 | 1070 |                  for ($answerId = 1; $answerId <= $nbrAnswers; $answerId++) { | 
                                                        
| 1071 | 1071 | $answerCorrect = $objAnswerTmp->isCorrect($answerId);  | 
                                                        
| 1072 | - $windowId = $questionId . '_' . $counterAnswer;  | 
                                                        |
| 1072 | + $windowId = $questionId.'_'.$counterAnswer;  | 
                                                        |
| 1073 | 1073 | |
| 1074 | 1074 |                      if ($answerCorrect) { | 
                                                        
| 1075 | 1075 | $s .= Display::div(  | 
                                                        
@@ -1114,7 +1114,7 @@ discard block  | 
                                                    ||
| 1114 | 1114 | $course = api_get_course_info();  | 
                                                        
| 1115 | 1115 | $doc_id = DocumentManager::get_document_id(  | 
                                                        
| 1116 | 1116 | $course,  | 
                                                        
| 1117 | - '/images/' . $pictureName  | 
                                                        |
| 1117 | + '/images/'.$pictureName  | 
                                                        |
| 1118 | 1118 | );  | 
                                                        
| 1119 | 1119 |                  if (is_numeric($doc_id)) { | 
                                                        
| 1120 | 1120 | $images_folder_visibility = api_get_item_visibility(  | 
                                                        
@@ -1139,7 +1139,7 @@ discard block  | 
                                                    ||
| 1139 | 1139 | echo "  | 
                                                        
| 1140 | 1140 | <script>  | 
                                                        
| 1141 | 1141 |                          $(document).on('ready', function () { | 
                                                        
| 1142 | -                            new " . ($answerType == HOT_SPOT ? "HotspotQuestion" : "DelineationQuestion") . "({ | 
                                                        |
| 1142 | +                            new " . ($answerType == HOT_SPOT ? "HotspotQuestion" : "DelineationQuestion")."({ | 
                                                        |
| 1143 | 1143 | questionId: $questionId,  | 
                                                        
| 1144 | 1144 | exerciseId: $exerciseId,  | 
                                                        
| 1145 | 1145 | selector: '#hotspot-preview-$questionId',  | 
                                                        
@@ -1173,7 +1173,7 @@ discard block  | 
                                                    ||
| 1173 | 1173 |              if ($answerType != HOT_SPOT_DELINEATION) { | 
                                                        
| 1174 | 1174 | $answerList = '  | 
                                                        
| 1175 | 1175 | <div class="well well-sm">  | 
                                                        
| 1176 | -                        <h5 class="page-header">' . get_lang('HotspotZones') . '</h5> | 
                                                        |
| 1176 | +                        <h5 class="page-header">' . get_lang('HotspotZones').'</h5> | 
                                                        |
| 1177 | 1177 | <ol>  | 
                                                        
| 1178 | 1178 | ';  | 
                                                        
| 1179 | 1179 | |
@@ -1198,7 +1198,7 @@ discard block  | 
                                                    ||
| 1198 | 1198 |              if (!$only_questions) { | 
                                                        
| 1199 | 1199 |                  if ($show_title) { | 
                                                        
| 1200 | 1200 | TestCategory::displayCategoryAndTitle($objQuestionTmp->id);  | 
                                                        
| 1201 | - echo '<div class="question_title">' . $current_item . '. ' . $questionName . '</div>';  | 
                                                        |
| 1201 | + echo '<div class="question_title">'.$current_item.'. '.$questionName.'</div>';  | 
                                                        |
| 1202 | 1202 | }  | 
                                                        
| 1203 | 1203 | //@todo I need to the get the feedback type  | 
                                                        
| 1204 | 1204 | echo <<<HOTSPOT  | 
                                                        
@@ -1215,7 +1215,7 @@ discard block  | 
                                                    ||
| 1215 | 1215 | <div class=\"hotspot-image\"></div>  | 
                                                        
| 1216 | 1216 | <script>  | 
                                                        
| 1217 | 1217 |                                      $(document).on('ready', function () { | 
                                                        
| 1218 | -                                        new " . ($answerType == HOT_SPOT_DELINEATION ? 'DelineationQuestion' : 'HotspotQuestion') . "({ | 
                                                        |
| 1218 | +                                        new " . ($answerType == HOT_SPOT_DELINEATION ? 'DelineationQuestion' : 'HotspotQuestion')."({ | 
                                                        |
| 1219 | 1219 | questionId: $questionId,  | 
                                                        
| 1220 | 1220 | exerciseId: $exe_id,  | 
                                                        
| 1221 | 1221 | selector: '#question_div_' + $questionId + ' .hotspot-image',  | 
                                                        
@@ -1336,11 +1336,11 @@ discard block  | 
                                                    ||
| 1336 | 1336 | $lp_id = intval($lp_id);  | 
                                                        
| 1337 | 1337 | $lp_item_id = intval($lp_item_id);  | 
                                                        
| 1338 | 1338 | return  | 
                                                        
| 1339 | - api_get_course_int_id() . '_' .  | 
                                                        |
| 1340 | - api_get_session_id() . '_' .  | 
                                                        |
| 1341 | - $exercise_id . '_' .  | 
                                                        |
| 1342 | - api_get_user_id() . '_' .  | 
                                                        |
| 1343 | - $lp_id . '_' .  | 
                                                        |
| 1339 | + api_get_course_int_id().'_'.  | 
                                                        |
| 1340 | + api_get_session_id().'_'.  | 
                                                        |
| 1341 | + $exercise_id.'_'.  | 
                                                        |
| 1342 | + api_get_user_id().'_'.  | 
                                                        |
| 1343 | + $lp_id.'_'.  | 
                                                        |
| 1344 | 1344 | $lp_item_id;  | 
                                                        
| 1345 | 1345 | }  | 
                                                        
| 1346 | 1346 | |
@@ -1454,14 +1454,14 @@ discard block  | 
                                                    ||
| 1454 | 1454 | $res = Database::query($sql);  | 
                                                        
| 1455 | 1455 | $result = array();  | 
                                                        
| 1456 | 1456 | $apiIsAllowedToEdit = api_is_allowed_to_edit();  | 
                                                        
| 1457 | - $urlBase = api_get_path(WEB_CODE_PATH) .  | 
                                                        |
| 1458 | - 'exercice/hotpotatoes_exercise_report.php?action=delete&' .  | 
                                                        |
| 1459 | - api_get_cidreq() . '&id=';  | 
                                                        |
| 1457 | + $urlBase = api_get_path(WEB_CODE_PATH).  | 
                                                        |
| 1458 | + 'exercice/hotpotatoes_exercise_report.php?action=delete&'.  | 
                                                        |
| 1459 | + api_get_cidreq().'&id=';  | 
                                                        |
| 1460 | 1460 |          while ($data = Database::fetch_array($res)) { | 
                                                        
| 1461 | 1461 | $actions = null;  | 
                                                        
| 1462 | 1462 | |
| 1463 | 1463 |              if ($apiIsAllowedToEdit) { | 
                                                        
| 1464 | - $url = $urlBase . $data['id'] . '&path=' . $data['exe_name'];  | 
                                                        |
| 1464 | + $url = $urlBase.$data['id'].'&path='.$data['exe_name'];  | 
                                                        |
| 1465 | 1465 | $actions = Display::url(  | 
                                                        
| 1466 | 1466 |                      Display::return_icon('delete.png', get_lang('Delete')), | 
                                                        
| 1467 | 1467 | $url  | 
                                                        
@@ -1477,7 +1477,7 @@ discard block  | 
                                                    ||
| 1477 | 1477 | GroupManager::get_user_group_name($data['user_id'])  | 
                                                        
| 1478 | 1478 | ),  | 
                                                        
| 1479 | 1479 | 'exe_date' => $data['exe_date'],  | 
                                                        
| 1480 | - 'score' => $data['exe_result'] . ' / ' . $data['exe_weighting'],  | 
                                                        |
| 1480 | + 'score' => $data['exe_result'].' / '.$data['exe_weighting'],  | 
                                                        |
| 1481 | 1481 | 'actions' => $actions,  | 
                                                        
| 1482 | 1482 | );  | 
                                                        
| 1483 | 1483 | }  | 
                                                        
@@ -1562,18 +1562,18 @@ discard block  | 
                                                    ||
| 1562 | 1562 | $TBL_TRACK_HOTPOTATOES = Database:: get_main_table(TABLE_STATISTIC_TRACK_E_HOTPOTATOES);  | 
                                                        
| 1563 | 1563 | $TBL_TRACK_ATTEMPT_RECORDING = Database:: get_main_table(TABLE_STATISTIC_TRACK_E_ATTEMPT_RECORDING);  | 
                                                        
| 1564 | 1564 | |
| 1565 | - $session_id_and = ' AND te.session_id = ' . $sessionId . ' ';  | 
                                                        |
| 1565 | + $session_id_and = ' AND te.session_id = '.$sessionId.' ';  | 
                                                        |
| 1566 | 1566 | $exercise_id = intval($exercise_id);  | 
                                                        
| 1567 | 1567 | |
| 1568 | 1568 | $exercise_where = '';  | 
                                                        
| 1569 | 1569 |          if (!empty($exercise_id)) { | 
                                                        
| 1570 | - $exercise_where .= ' AND te.exe_exo_id = ' . $exercise_id . ' ';  | 
                                                        |
| 1570 | + $exercise_where .= ' AND te.exe_exo_id = '.$exercise_id.' ';  | 
                                                        |
| 1571 | 1571 | }  | 
                                                        
| 1572 | 1572 | |
| 1573 | 1573 | $hotpotatoe_where = '';  | 
                                                        
| 1574 | 1574 |          if (!empty($_GET['path'])) { | 
                                                        
| 1575 | 1575 | $hotpotatoe_path = Database::escape_string($_GET['path']);  | 
                                                        
| 1576 | - $hotpotatoe_where .= ' AND exe_name = "' . $hotpotatoe_path . '" ';  | 
                                                        |
| 1576 | + $hotpotatoe_where .= ' AND exe_name = "'.$hotpotatoe_path.'" ';  | 
                                                        |
| 1577 | 1577 | }  | 
                                                        
| 1578 | 1578 | |
| 1579 | 1579 | // sql for chamilo-type tests for teacher / tutor view  | 
                                                        
@@ -1585,7 +1585,7 @@ discard block  | 
                                                    ||
| 1585 | 1585 | WHERE  | 
                                                        
| 1586 | 1586 | c_id = $course_id AND  | 
                                                        
| 1587 | 1587 | exe_exo_id = $exercise_id AND  | 
                                                        
| 1588 | - ttte.session_id = " . $sessionId . "  | 
                                                        |
| 1588 | + ttte.session_id = ".$sessionId."  | 
                                                        |
| 1589 | 1589 | )";  | 
                                                        
| 1590 | 1590 | |
| 1591 | 1591 |          if ($is_allowedToEdit) { | 
                                                        
@@ -1608,9 +1608,9 @@ discard block  | 
                                                    ||
| 1608 | 1608 | g.id as group_id  | 
                                                        
| 1609 | 1609 | FROM $TBL_USER u  | 
                                                        
| 1610 | 1610 | INNER JOIN $TBL_GROUP_REL_USER gru  | 
                                                        
| 1611 | - ON (gru.user_id = u.user_id AND gru.c_id=" . $course_id . ")  | 
                                                        |
| 1611 | + ON (gru.user_id = u.user_id AND gru.c_id=".$course_id.")  | 
                                                        |
| 1612 | 1612 | INNER JOIN $TBL_GROUP g  | 
                                                        
| 1613 | - ON (gru.group_id = g.id AND g.c_id=" . $course_id . ")  | 
                                                        |
| 1613 | + ON (gru.group_id = g.id AND g.c_id=".$course_id.")  | 
                                                        |
| 1614 | 1614 | )";  | 
                                                        
| 1615 | 1615 | }  | 
                                                        
| 1616 | 1616 | |
@@ -1672,9 +1672,9 @@ discard block  | 
                                                    ||
| 1672 | 1672 | g.id as group_id  | 
                                                        
| 1673 | 1673 | FROM $TBL_USER u  | 
                                                        
| 1674 | 1674 | LEFT OUTER JOIN $TBL_GROUP_REL_USER gru  | 
                                                        
| 1675 | - ON ( gru.user_id = u.user_id AND gru.c_id=" . $course_id . " )  | 
                                                        |
| 1675 | + ON ( gru.user_id = u.user_id AND gru.c_id=".$course_id." )  | 
                                                        |
| 1676 | 1676 | LEFT OUTER JOIN $TBL_GROUP g  | 
                                                        
| 1677 | - ON (gru.group_id = g.id AND g.c_id = " . $course_id . ")  | 
                                                        |
| 1677 | + ON (gru.group_id = g.id AND g.c_id = ".$course_id.")  | 
                                                        |
| 1678 | 1678 | )";  | 
                                                        
| 1679 | 1679 | }  | 
                                                        
| 1680 | 1680 | |
@@ -1687,12 +1687,12 @@ discard block  | 
                                                    ||
| 1687 | 1687 | (  | 
                                                        
| 1688 | 1688 | SELECT u.user_id, firstname, lastname, email, username, ' ' as group_name, '' as group_id, official_code  | 
                                                        
| 1689 | 1689 | FROM $TBL_USER u  | 
                                                        
| 1690 | -                WHERE u.status NOT IN(" . api_get_users_status_ignored_in_reports('string') . ") | 
                                                        |
| 1690 | +                WHERE u.status NOT IN(".api_get_users_status_ignored_in_reports('string').") | 
                                                        |
| 1691 | 1691 | )";  | 
                                                        
| 1692 | 1692 | }  | 
                                                        
| 1693 | 1693 | |
| 1694 | 1694 | $sqlFromOption = " , $TBL_GROUP_REL_USER AS gru ";  | 
                                                        
| 1695 | - $sqlWhereOption = " AND gru.c_id = " . $course_id . " AND gru.user_id = user.user_id ";  | 
                                                        |
| 1695 | + $sqlWhereOption = " AND gru.c_id = ".$course_id." AND gru.user_id = user.user_id ";  | 
                                                        |
| 1696 | 1696 | $first_and_last_name = api_is_western_name_order() ? "firstname, lastname" : "lastname, firstname";  | 
                                                        
| 1697 | 1697 | |
| 1698 | 1698 |              if ($get_count) { | 
                                                        
@@ -1729,8 +1729,8 @@ discard block  | 
                                                    ||
| 1729 | 1729 | ON (user.user_id = exe_user_id)  | 
                                                        
| 1730 | 1730 | WHERE  | 
                                                        
| 1731 | 1731 | te.status != 'incomplete' AND  | 
                                                        
| 1732 | - te.c_id = " . $course_id . " $session_id_and AND  | 
                                                        |
| 1733 | - ce.active <>-1 AND ce.c_id = " . $course_id . "  | 
                                                        |
| 1732 | + te.c_id = ".$course_id." $session_id_and AND  | 
                                                        |
| 1733 | + ce.active <>-1 AND ce.c_id = ".$course_id."  | 
                                                        |
| 1734 | 1734 | $exercise_where  | 
                                                        
| 1735 | 1735 | $extra_where_conditions  | 
                                                        
| 1736 | 1736 | ";  | 
                                                        
@@ -1757,12 +1757,12 @@ discard block  | 
                                                    ||
| 1757 | 1757 | $sqlFromOption  | 
                                                        
| 1758 | 1758 | WHERE  | 
                                                        
| 1759 | 1759 | user.user_id=tth.exe_user_id  | 
                                                        
| 1760 | - AND tth.c_id = " . $course_id . "  | 
                                                        |
| 1760 | + AND tth.c_id = ".$course_id."  | 
                                                        |
| 1761 | 1761 | $hotpotatoe_where  | 
                                                        
| 1762 | 1762 | $sqlWhereOption  | 
                                                        
| 1763 | -                    AND user.status NOT IN(" . api_get_users_status_ignored_in_reports( | 
                                                        |
| 1763 | +                    AND user.status NOT IN(".api_get_users_status_ignored_in_reports( | 
                                                        |
| 1764 | 1764 | 'string'  | 
                                                        
| 1765 | - ) . ")  | 
                                                        |
| 1765 | + ).")  | 
                                                        |
| 1766 | 1766 | ORDER BY  | 
                                                        
| 1767 | 1767 | tth.c_id ASC,  | 
                                                        
| 1768 | 1768 | tth.exe_date DESC";  | 
                                                        
@@ -1835,12 +1835,12 @@ discard block  | 
                                                    ||
| 1835 | 1835 | |
| 1836 | 1836 |                      if ($from_gradebook && ($is_allowedToEdit)) { | 
                                                        
| 1837 | 1837 | if (in_array(  | 
                                                        
| 1838 | - $results[$i]['username'] . $results[$i]['firstname'] . $results[$i]['lastname'],  | 
                                                        |
| 1838 | + $results[$i]['username'].$results[$i]['firstname'].$results[$i]['lastname'],  | 
                                                        |
| 1839 | 1839 | $users_array_id  | 
                                                        
| 1840 | 1840 |                          )) { | 
                                                        
| 1841 | 1841 | continue;  | 
                                                        
| 1842 | 1842 | }  | 
                                                        
| 1843 | - $users_array_id[] = $results[$i]['username'] . $results[$i]['firstname'] . $results[$i]['lastname'];  | 
                                                        |
| 1843 | + $users_array_id[] = $results[$i]['username'].$results[$i]['firstname'].$results[$i]['lastname'];  | 
                                                        |
| 1844 | 1844 | }  | 
                                                        
| 1845 | 1845 | |
| 1846 | 1846 | $lp_obj = isset($results[$i]['orig_lp_id']) && isset($lp_list[$results[$i]['orig_lp_id']]) ? $lp_list[$results[$i]['orig_lp_id']] : null;  | 
                                                        
@@ -1849,7 +1849,7 @@ discard block  | 
                                                    ||
| 1849 | 1849 |                      if ($lp_obj) { | 
                                                        
| 1850 | 1850 | $url = api_get_path(  | 
                                                        
| 1851 | 1851 | WEB_CODE_PATH  | 
                                                        
| 1852 | - ) . 'newscorm/lp_controller.php?' . api_get_cidreq() . '&action=view&lp_id=' . $results[$i]['orig_lp_id'];  | 
                                                        |
| 1852 | + ).'newscorm/lp_controller.php?'.api_get_cidreq().'&action=view&lp_id='.$results[$i]['orig_lp_id'];  | 
                                                        |
| 1853 | 1853 | $lp_name = Display::url(  | 
                                                        
| 1854 | 1854 | $lp_obj['lp_name'],  | 
                                                        
| 1855 | 1855 | $url,  | 
                                                        
@@ -1867,7 +1867,7 @@ discard block  | 
                                                    ||
| 1867 | 1867 | );  | 
                                                        
| 1868 | 1868 | |
| 1869 | 1869 |                          foreach ($group_list as $id) { | 
                                                        
| 1870 | - $group_name_list .= $clean_group_list[$id] . '<br/>';  | 
                                                        |
| 1870 | + $group_name_list .= $clean_group_list[$id].'<br/>';  | 
                                                        |
| 1871 | 1871 | }  | 
                                                        
| 1872 | 1872 | $results[$i]['group_name'] = $group_name_list;  | 
                                                        
| 1873 | 1873 | }  | 
                                                        
@@ -1923,7 +1923,7 @@ discard block  | 
                                                    ||
| 1923 | 1923 | }  | 
                                                        
| 1924 | 1924 | }  | 
                                                        
| 1925 | 1925 |                              if ($revised) { | 
                                                        
| 1926 | - $actions .= "<a href='exercise_show.php?" . api_get_cidreq() . "&action=edit&id=$id'>" .  | 
                                                        |
| 1926 | + $actions .= "<a href='exercise_show.php?".api_get_cidreq()."&action=edit&id=$id'>".  | 
                                                        |
| 1927 | 1927 | Display:: return_icon(  | 
                                                        
| 1928 | 1928 | 'edit.png',  | 
                                                        
| 1929 | 1929 |                                          get_lang('Edit'), | 
                                                        
@@ -1932,7 +1932,7 @@ discard block  | 
                                                    ||
| 1932 | 1932 | );  | 
                                                        
| 1933 | 1933 | $actions .= ' ';  | 
                                                        
| 1934 | 1934 |                              } else { | 
                                                        
| 1935 | - $actions .= "<a href='exercise_show.php?" . api_get_cidreq() . "&action=qualify&id=$id'>" .  | 
                                                        |
| 1935 | + $actions .= "<a href='exercise_show.php?".api_get_cidreq()."&action=qualify&id=$id'>".  | 
                                                        |
| 1936 | 1936 | Display:: return_icon(  | 
                                                        
| 1937 | 1937 | 'quiz.gif',  | 
                                                        
| 1938 | 1938 |                                          get_lang('Qualify') | 
                                                        
@@ -1942,11 +1942,11 @@ discard block  | 
                                                    ||
| 1942 | 1942 | $actions .= "</a>";  | 
                                                        
| 1943 | 1943 | |
| 1944 | 1944 |                              if ($filter == 2) { | 
                                                        
| 1945 | - $actions .= ' <a href="exercise_history.php?' . api_get_cidreq() . '&exe_id=' . $id . '">' .  | 
                                                        |
| 1945 | + $actions .= ' <a href="exercise_history.php?'.api_get_cidreq().'&exe_id='.$id.'">'.  | 
                                                        |
| 1946 | 1946 | Display:: return_icon(  | 
                                                        
| 1947 | 1947 | 'history.gif',  | 
                                                        
| 1948 | 1948 |                                          get_lang('ViewHistoryChange') | 
                                                        
| 1949 | - ) . '</a>';  | 
                                                        |
| 1949 | + ).'</a>';  | 
                                                        |
| 1950 | 1950 | }  | 
                                                        
| 1951 | 1951 | |
| 1952 | 1952 | //Admin can always delete the attempt  | 
                                                        
@@ -1957,31 +1957,31 @@ discard block  | 
                                                    ||
| 1957 | 1957 |                                      date('Y-m-d h:i:s'), | 
                                                        
| 1958 | 1958 | false  | 
                                                        
| 1959 | 1959 | );  | 
                                                        
| 1960 | - $actions .= '<a href="http://www.whatsmyip.org/ip-geo-location/?ip=' . $ip . '" target="_blank">  | 
                                                        |
| 1961 | -                                ' . Display::return_icon('info.png', $ip) . ' | 
                                                        |
| 1960 | + $actions .= '<a href="http://www.whatsmyip.org/ip-geo-location/?ip='.$ip.'" target="_blank">  | 
                                                        |
| 1961 | +                                ' . Display::return_icon('info.png', $ip).' | 
                                                        |
| 1962 | 1962 | </a>';  | 
                                                        
| 1963 | 1963 | |
| 1964 | - $delete_link = '<a href="exercise_report.php?' . api_get_cidreq() . '&filter_by_user=' . intval($_GET['filter_by_user']) . '&filter=' . $filter . '&exerciseId=' . $exercise_id . '&delete=delete&did=' . $id . '"  | 
                                                        |
| 1964 | + $delete_link = '<a href="exercise_report.php?'.api_get_cidreq().'&filter_by_user='.intval($_GET['filter_by_user']).'&filter='.$filter.'&exerciseId='.$exercise_id.'&delete=delete&did='.$id.'"  | 
                                                        |
| 1965 | 1965 | onclick="javascript:if(!confirm(\'' . sprintf(  | 
                                                        
| 1966 | 1966 |                                          get_lang('DeleteAttempt'), | 
                                                        
| 1967 | 1967 | $results[$i]['username'],  | 
                                                        
| 1968 | 1968 | $dt  | 
                                                        
| 1969 | - ) . '\')) return false;">' . Display:: return_icon(  | 
                                                        |
| 1969 | + ).'\')) return false;">'.Display:: return_icon(  | 
                                                        |
| 1970 | 1970 | 'delete.png',  | 
                                                        
| 1971 | 1971 |                                          get_lang('Delete') | 
                                                        
| 1972 | - ) . '</a>';  | 
                                                        |
| 1972 | + ).'</a>';  | 
                                                        |
| 1973 | 1973 | $delete_link = utf8_encode($delete_link);  | 
                                                        
| 1974 | 1974 | |
| 1975 | 1975 |                                  if (api_is_drh() && !api_is_platform_admin()) { | 
                                                        
| 1976 | 1976 | $delete_link = null;  | 
                                                        
| 1977 | 1977 | }  | 
                                                        
| 1978 | - $actions .= $delete_link . ' ';  | 
                                                        |
| 1978 | + $actions .= $delete_link.' ';  | 
                                                        |
| 1979 | 1979 | }  | 
                                                        
| 1980 | 1980 | |
| 1981 | 1981 |                          } else { | 
                                                        
| 1982 | 1982 | $attempt_url = api_get_path(  | 
                                                        
| 1983 | 1983 | WEB_CODE_PATH  | 
                                                        
| 1984 | - ) . 'exercice/result.php?' . api_get_cidreq() . '&id=' . $results[$i]['exe_id'] . '&id_session=' . $sessionId;  | 
                                                        |
| 1984 | + ).'exercice/result.php?'.api_get_cidreq().'&id='.$results[$i]['exe_id'].'&id_session='.$sessionId;  | 
                                                        |
| 1985 | 1985 | $attempt_link = Display::url(  | 
                                                        
| 1986 | 1986 |                                  get_lang('Show'), | 
                                                        
| 1987 | 1987 | $attempt_url,  | 
                                                        
@@ -2038,7 +2038,7 @@ discard block  | 
                                                    ||
| 2038 | 2038 | $hp_result = round(  | 
                                                        
| 2039 | 2039 | ($hpresults[$i][4] / ($hpresults[$i][5] != 0 ? $hpresults[$i][5] : 1)) * 100,  | 
                                                        
| 2040 | 2040 | 2  | 
                                                        
| 2041 | -                        ) . '% (' . $hpresults[$i][4] . ' / ' . $hpresults[$i][5] . ')'; | 
                                                        |
| 2041 | +                        ).'% ('.$hpresults[$i][4].' / '.$hpresults[$i][5].')'; | 
                                                        |
| 2042 | 2042 |                      if ($is_allowedToEdit) { | 
                                                        
| 2043 | 2043 | $list_info[] = array(  | 
                                                        
| 2044 | 2044 | $hpresults[$i][0],  | 
                                                        
@@ -2112,13 +2112,13 @@ discard block  | 
                                                    ||
| 2112 | 2112 | |
| 2113 | 2113 | $html = null;  | 
                                                        
| 2114 | 2114 |          if ($show_percentage) { | 
                                                        
| 2115 | -            $parent = '(' . $score . ' / ' . $weight . ')'; | 
                                                        |
| 2116 | - $html = $percentage . "% $parent";  | 
                                                        |
| 2115 | +            $parent = '('.$score.' / '.$weight.')'; | 
                                                        |
| 2116 | + $html = $percentage."% $parent";  | 
                                                        |
| 2117 | 2117 |              if ($show_only_percentage) { | 
                                                        
| 2118 | - $html = $percentage . "% ";  | 
                                                        |
| 2118 | + $html = $percentage."% ";  | 
                                                        |
| 2119 | 2119 | }  | 
                                                        
| 2120 | 2120 |          } else { | 
                                                        
| 2121 | - $html = $score . ' / ' . $weight;  | 
                                                        |
| 2121 | + $html = $score.' / '.$weight;  | 
                                                        |
| 2122 | 2122 | }  | 
                                                        
| 2123 | 2123 |          $html = Display::span($html, array('class' => 'score_exercise')); | 
                                                        
| 2124 | 2124 | |
@@ -2212,7 +2212,7 @@ discard block  | 
                                                    ||
| 2212 | 2212 |      { | 
                                                        
| 2213 | 2213 | $return = '-';  | 
                                                        
| 2214 | 2214 |          if ($value != '') { | 
                                                        
| 2215 | - $return = float_format($value * 100, 1) . ' %';  | 
                                                        |
| 2215 | + $return = float_format($value * 100, 1).' %';  | 
                                                        |
| 2216 | 2216 | }  | 
                                                        
| 2217 | 2217 | return $return;  | 
                                                        
| 2218 | 2218 | }  | 
                                                        
@@ -2291,7 +2291,7 @@ discard block  | 
                                                    ||
| 2291 | 2291 | }  | 
                                                        
| 2292 | 2292 | |
| 2293 | 2293 | $needle_where = !empty($search) ? " AND title LIKE '?' " : '';  | 
                                                        
| 2294 | - $needle = !empty($search) ? "%" . $search . "%" : '';  | 
                                                        |
| 2294 | + $needle = !empty($search) ? "%".$search."%" : '';  | 
                                                        |
| 2295 | 2295 | |
| 2296 | 2296 | // Show courses by active status  | 
                                                        
| 2297 | 2297 | $active_sql = '';  | 
                                                        
@@ -2306,7 +2306,7 @@ discard block  | 
                                                    ||
| 2306 | 2306 |          if ($search_all_sessions == true) { | 
                                                        
| 2307 | 2307 | $conditions = array(  | 
                                                        
| 2308 | 2308 | 'where' => array(  | 
                                                        
| 2309 | - $active_sql . ' c_id = ? ' . $needle_where . $time_conditions => array(  | 
                                                        |
| 2309 | + $active_sql.' c_id = ? '.$needle_where.$time_conditions => array(  | 
                                                        |
| 2310 | 2310 | $course_id,  | 
                                                        
| 2311 | 2311 | $needle  | 
                                                        
| 2312 | 2312 | )  | 
                                                        
@@ -2317,7 +2317,7 @@ discard block  | 
                                                    ||
| 2317 | 2317 |              if ($session_id == 0) { | 
                                                        
| 2318 | 2318 | $conditions = array(  | 
                                                        
| 2319 | 2319 | 'where' => array(  | 
                                                        
| 2320 | - $active_sql . ' session_id = ? AND c_id = ? ' . $needle_where . $time_conditions => array(  | 
                                                        |
| 2320 | + $active_sql.' session_id = ? AND c_id = ? '.$needle_where.$time_conditions => array(  | 
                                                        |
| 2321 | 2321 | $session_id,  | 
                                                        
| 2322 | 2322 | $course_id,  | 
                                                        
| 2323 | 2323 | $needle  | 
                                                        
@@ -2328,7 +2328,7 @@ discard block  | 
                                                    ||
| 2328 | 2328 |              } else { | 
                                                        
| 2329 | 2329 | $conditions = array(  | 
                                                        
| 2330 | 2330 | 'where' => array(  | 
                                                        
| 2331 | - $active_sql . ' (session_id = 0 OR session_id = ? ) AND c_id = ? ' . $needle_where . $time_conditions => array(  | 
                                                        |
| 2331 | + $active_sql.' (session_id = 0 OR session_id = ? ) AND c_id = ? '.$needle_where.$time_conditions => array(  | 
                                                        |
| 2332 | 2332 | $session_id,  | 
                                                        
| 2333 | 2333 | $course_id,  | 
                                                        
| 2334 | 2334 | $needle  | 
                                                        
@@ -2509,7 +2509,7 @@ discard block  | 
                                                    ||
| 2509 | 2509 | |
| 2510 | 2510 |              if ($return_string) { | 
                                                        
| 2511 | 2511 |                  if (!empty($position) && !empty($my_ranking)) { | 
                                                        
| 2512 | - $return_value = $position . '/' . count($my_ranking);  | 
                                                        |
| 2512 | + $return_value = $position.'/'.count($my_ranking);  | 
                                                        |
| 2513 | 2513 |                  } else { | 
                                                        
| 2514 | 2514 | $return_value = '-';  | 
                                                        
| 2515 | 2515 | }  | 
                                                        
@@ -2590,7 +2590,7 @@ discard block  | 
                                                    ||
| 2590 | 2590 | |
| 2591 | 2591 |              if ($return_string) { | 
                                                        
| 2592 | 2592 |                  if (!empty($position) && !empty($my_ranking)) { | 
                                                        
| 2593 | - return $position . '/' . count($my_ranking);  | 
                                                        |
| 2593 | + return $position.'/'.count($my_ranking);  | 
                                                        |
| 2594 | 2594 | }  | 
                                                        
| 2595 | 2595 | }  | 
                                                        
| 2596 | 2596 | return $return_value;  | 
                                                        
@@ -2996,7 +2996,7 @@ discard block  | 
                                                    ||
| 2996 | 2996 | $courseCondition = "  | 
                                                        
| 2997 | 2997 | INNER JOIN $courseUser cu  | 
                                                        
| 2998 | 2998 | ON cu.c_id = c.id AND cu.user_id = exe_user_id";  | 
                                                        
| 2999 | - $courseConditionWhere = " AND relation_type <> 2 AND cu.status = " . STUDENT;  | 
                                                        |
| 2999 | + $courseConditionWhere = " AND relation_type <> 2 AND cu.status = ".STUDENT;  | 
                                                        |
| 3000 | 3000 |          } else { | 
                                                        
| 3001 | 3001 | $courseCondition = "  | 
                                                        
| 3002 | 3002 | INNER JOIN $courseUserSession cu  | 
                                                        
@@ -3072,7 +3072,7 @@ discard block  | 
                                                    ||
| 3072 | 3072 | $courseCondition = "  | 
                                                        
| 3073 | 3073 | INNER JOIN $courseUser cu  | 
                                                        
| 3074 | 3074 | ON cu.c_id = c.id AND cu.user_id = exe_user_id";  | 
                                                        
| 3075 | - $courseConditionWhere = " AND relation_type <> 2 AND cu.status = " . STUDENT;  | 
                                                        |
| 3075 | + $courseConditionWhere = " AND relation_type <> 2 AND cu.status = ".STUDENT;  | 
                                                        |
| 3076 | 3076 |          } else { | 
                                                        
| 3077 | 3077 | $courseCondition = "  | 
                                                        
| 3078 | 3078 | INNER JOIN $courseUserSession cu  | 
                                                        
@@ -3165,7 +3165,7 @@ discard block  | 
                                                    ||
| 3165 | 3165 | $courseCondition = "  | 
                                                        
| 3166 | 3166 | INNER JOIN $courseUser cu  | 
                                                        
| 3167 | 3167 | ON cu.c_id = c.id AND cu.user_id = exe_user_id";  | 
                                                        
| 3168 | - $courseConditionWhere = " AND relation_type <> 2 AND cu.status = " . STUDENT;  | 
                                                        |
| 3168 | + $courseConditionWhere = " AND relation_type <> 2 AND cu.status = ".STUDENT;  | 
                                                        |
| 3169 | 3169 |          } else { | 
                                                        
| 3170 | 3170 | $courseCondition = "  | 
                                                        
| 3171 | 3171 | INNER JOIN $courseUserSession cu  | 
                                                        
@@ -3347,7 +3347,7 @@ discard block  | 
                                                    ||
| 3347 | 3347 | }  | 
                                                        
| 3348 | 3348 | }  | 
                                                        
| 3349 | 3349 | // adds the correct word, followed by ] to close the blank  | 
                                                        
| 3350 | - $answer .= ' / <font color="green"><b>' . $real_correct_tags[$i] . '</b></font>]';  | 
                                                        |
| 3350 | + $answer .= ' / <font color="green"><b>'.$real_correct_tags[$i].'</b></font>]';  | 
                                                        |
| 3351 | 3351 |              if (isset ($real_text[$i + 1])) { | 
                                                        
| 3352 | 3352 | $answer .= $real_text[$i + 1];  | 
                                                        
| 3353 | 3353 | }  | 
                                                        
@@ -3407,13 +3407,13 @@ discard block  | 
                                                    ||
| 3407 | 3407 | // check the default value of option  | 
                                                        
| 3408 | 3408 | $tabSelected = array($in_default => " selected='selected' ");  | 
                                                        
| 3409 | 3409 | $res = "";  | 
                                                        
| 3410 | - $res .= "<select name='$in_name' id='$in_name' onchange='" . $in_onchange . "' >";  | 
                                                        |
| 3411 | - $res .= "<option value='-1'" . $tabSelected["-1"] . ">-- " . get_lang(  | 
                                                        |
| 3410 | + $res .= "<select name='$in_name' id='$in_name' onchange='".$in_onchange."' >";  | 
                                                        |
| 3411 | + $res .= "<option value='-1'".$tabSelected["-1"].">-- ".get_lang(  | 
                                                        |
| 3412 | 3412 | 'AllGroups'  | 
                                                        
| 3413 | - ) . " --</option>";  | 
                                                        |
| 3414 | - $res .= "<option value='0'" . $tabSelected["0"] . ">- " . get_lang(  | 
                                                        |
| 3413 | + )." --</option>";  | 
                                                        |
| 3414 | + $res .= "<option value='0'".$tabSelected["0"].">- ".get_lang(  | 
                                                        |
| 3415 | 3415 | 'NotInAGroup'  | 
                                                        
| 3416 | - ) . " -</option>";  | 
                                                        |
| 3416 | + )." -</option>";  | 
                                                        |
| 3417 | 3417 | $tabGroups = GroupManager::get_group_list();  | 
                                                        
| 3418 | 3418 | $currentCatId = 0;  | 
                                                        
| 3419 | 3419 |          for ($i = 0; $i < count($tabGroups); $i++) { | 
                                                        
@@ -3421,10 +3421,10 @@ discard block  | 
                                                    ||
| 3421 | 3421 | $tabGroups[$i]["id"]  | 
                                                        
| 3422 | 3422 | );  | 
                                                        
| 3423 | 3423 |              if ($tabCategory["id"] != $currentCatId) { | 
                                                        
| 3424 | - $res .= "<option value='-1' disabled='disabled'>" . $tabCategory["title"] . "</option>";  | 
                                                        |
| 3424 | + $res .= "<option value='-1' disabled='disabled'>".$tabCategory["title"]."</option>";  | 
                                                        |
| 3425 | 3425 | $currentCatId = $tabCategory["id"];  | 
                                                        
| 3426 | 3426 | }  | 
                                                        
| 3427 | - $res .= "<option " . $tabSelected[$tabGroups[$i]["id"]] . "style='margin-left:40px' value='" . $tabGroups[$i]["id"] . "'>" . $tabGroups[$i]["name"] . "</option>";  | 
                                                        |
| 3427 | + $res .= "<option ".$tabSelected[$tabGroups[$i]["id"]]."style='margin-left:40px' value='".$tabGroups[$i]["id"]."'>".$tabGroups[$i]["name"]."</option>";  | 
                                                        |
| 3428 | 3428 | }  | 
                                                        
| 3429 | 3429 | $res .= "</select>";  | 
                                                        
| 3430 | 3430 | return $res;  | 
                                                        
@@ -3657,14 +3657,14 @@ discard block  | 
                                                    ||
| 3657 | 3657 |                  if ($show_results) { | 
                                                        
| 3658 | 3658 | $comnt = Event::get_comments($exe_id, $questionId);  | 
                                                        
| 3659 | 3659 |                      if (!empty($comnt)) { | 
                                                        
| 3660 | -                        echo '<b>' . get_lang('Feedback') . '</b>'; | 
                                                        |
| 3661 | - echo '<div id="question_feedback">' . $comnt . '</div>';  | 
                                                        |
| 3660 | +                        echo '<b>'.get_lang('Feedback').'</b>'; | 
                                                        |
| 3661 | + echo '<div id="question_feedback">'.$comnt.'</div>';  | 
                                                        |
| 3662 | 3662 | }  | 
                                                        
| 3663 | 3663 | }  | 
                                                        
| 3664 | 3664 | |
| 3665 | 3665 |                  if ($show_results) { | 
                                                        
| 3666 | 3666 | $score = array(  | 
                                                        
| 3667 | -                        'result' => get_lang('Score') . " : " . self::show_score( | 
                                                        |
| 3667 | +                        'result' => get_lang('Score')." : ".self::show_score( | 
                                                        |
| 3668 | 3668 | $my_total_score,  | 
                                                        
| 3669 | 3669 | $my_total_weight,  | 
                                                        
| 3670 | 3670 | false,  | 
                                                        
@@ -3732,9 +3732,9 @@ discard block  | 
                                                    ||
| 3732 | 3732 | }  | 
                                                        
| 3733 | 3733 | |
| 3734 | 3734 |          if ($show_all_but_expected_answer) { | 
                                                        
| 3735 | - $exercise_content .= "<div class='normal-message'>" . get_lang(  | 
                                                        |
| 3735 | + $exercise_content .= "<div class='normal-message'>".get_lang(  | 
                                                        |
| 3736 | 3736 | "ExerciseWithFeedbackWithoutCorrectionComment"  | 
                                                        
| 3737 | - ) . "</div>";  | 
                                                        |
| 3737 | + )."</div>";  | 
                                                        |
| 3738 | 3738 | }  | 
                                                        
| 3739 | 3739 | // Remove audio auto play from questions on results page - refs BT#7939  | 
                                                        
| 3740 | 3740 | $exercise_content = preg_replace(  | 
                                                        
@@ -3834,11 +3834,11 @@ discard block  | 
                                                    ||
| 3834 | 3834 | $ribbon_total_success_or_error = ' ribbon-total-error';  | 
                                                        
| 3835 | 3835 | }  | 
                                                        
| 3836 | 3836 | }  | 
                                                        
| 3837 | - $ribbon .= '<div class="total ' . $ribbon_total_success_or_error . '">';  | 
                                                        |
| 3837 | + $ribbon .= '<div class="total '.$ribbon_total_success_or_error.'">';  | 
                                                        |
| 3838 | 3838 |          } else { | 
                                                        
| 3839 | 3839 | $ribbon .= '<div class="total">';  | 
                                                        
| 3840 | 3840 | }  | 
                                                        
| 3841 | -        $ribbon .= '<h3>' . get_lang('YourTotalScore') . ": "; | 
                                                        |
| 3841 | +        $ribbon .= '<h3>'.get_lang('YourTotalScore').": "; | 
                                                        |
| 3842 | 3842 | $ribbon .= self::show_score($score, $weight, false, true);  | 
                                                        
| 3843 | 3843 | $ribbon .= '</h3>';  | 
                                                        
| 3844 | 3844 | $ribbon .= '</div>';  |