Completed
Push — 1.11.x ( 566ea6...b264ab )
by José
110:20 queued 69:00
created
main/gradebook/lib/be/attendancelink.class.php 2 patches
Spacing   +3 added lines, -3 removed lines patch added patch discarded remove patch
@@ -164,7 +164,7 @@  discard block
 block discarded – undo
164 164
             }
165 165
 		} else {
166 166
             // all students -> get average
167
-            $students = array();  // user list, needed to make sure we only
167
+            $students = array(); // user list, needed to make sure we only
168 168
             // take first attempts into account
169 169
             $rescount = 0;
170 170
             $sum = 0;
@@ -239,7 +239,7 @@  discard block
 block discarded – undo
239 239
 		$this->get_attendance_data();
240 240
 		$attendance_title = isset($this->attendance_data['name']) ? $this->attendance_data['name'] : '';
241 241
 		$attendance_qualify_title = isset($this->attendance_data['attendance_qualify_title']) ? $this->attendance_data['attendance_qualify_title'] : '';
242
-		if ( isset($attendance_qualify_title) && $attendance_qualify_title != '') {
242
+		if (isset($attendance_qualify_title) && $attendance_qualify_title != '') {
243 243
 			return $this->attendance_data['attendance_qualify_title'];
244 244
 		} else {
245 245
 			return $attendance_title;
@@ -279,7 +279,7 @@  discard block
 block discarded – undo
279 279
 		$sql = 'SELECT * FROM '.$this->get_attendance_table().' att
280 280
     			WHERE att.c_id = '.$this->course_id.' AND att.id = '.intval($this->get_ref_id()).' ';
281 281
 		$result = Database::query($sql);
282
-		$row = Database::fetch_array($result,'ASSOC');
282
+		$row = Database::fetch_array($result, 'ASSOC');
283 283
 		$attendance_id = $row['id'];
284 284
 		$url = api_get_path(WEB_PATH).'main/attendance/index.php?action=attendance_sheet_list&gradebook=view&attendance_id='.$attendance_id.'&session_id='.$session_id.'&cidReq='.$this->get_course_code();
285 285
 
Please login to merge, or discard this patch.
Indentation   +202 added lines, -202 removed lines patch added patch discarded remove patch
@@ -8,48 +8,48 @@  discard block
 block discarded – undo
8 8
  */
9 9
 class AttendanceLink extends AbstractLink
10 10
 {
11
-	private $attendance_table = null;
12
-	private $itemprop_table = null;
11
+    private $attendance_table = null;
12
+    private $itemprop_table = null;
13 13
 
14
-	/**
15
-	 * Constructor
16
-	 */
17
-	public function __construct()
18
-	{
19
-		parent::__construct();
20
-		$this->set_type(LINK_ATTENDANCE);
21
-	}
14
+    /**
15
+     * Constructor
16
+     */
17
+    public function __construct()
18
+    {
19
+        parent::__construct();
20
+        $this->set_type(LINK_ATTENDANCE);
21
+    }
22 22
 
23
-	/**
24
-	 * @return string
25
-	 */
26
-	public function get_type_name()
27
-	{
28
-		return get_lang('Attendance');
29
-	}
23
+    /**
24
+     * @return string
25
+     */
26
+    public function get_type_name()
27
+    {
28
+        return get_lang('Attendance');
29
+    }
30 30
 
31
-	/**
32
-	 * @return bool
33
-	 */
34
-	public function is_allowed_to_change_name()
35
-	{
36
-		return false;
37
-	}
31
+    /**
32
+     * @return bool
33
+     */
34
+    public function is_allowed_to_change_name()
35
+    {
36
+        return false;
37
+    }
38 38
 
39
-	/**
40
-	 * Generate an array of attendances that a teacher hasn't created a link for.
41
-	 * @return array 2-dimensional array - every element contains 2 subelements (id, name)
42
-	 * @todo seems to be depracated
43
-	 */
44
-	public function get_not_created_links()
45
-	{
46
-		return false;
47
-		if (empty($this->course_code)) {
48
-			die('Error in get_not_created_links() : course code not set');
49
-		}
50
-		$tbl_grade_links = Database :: get_main_table(TABLE_MAIN_GRADEBOOK_LINK);
39
+    /**
40
+     * Generate an array of attendances that a teacher hasn't created a link for.
41
+     * @return array 2-dimensional array - every element contains 2 subelements (id, name)
42
+     * @todo seems to be depracated
43
+     */
44
+    public function get_not_created_links()
45
+    {
46
+        return false;
47
+        if (empty($this->course_code)) {
48
+            die('Error in get_not_created_links() : course code not set');
49
+        }
50
+        $tbl_grade_links = Database :: get_main_table(TABLE_MAIN_GRADEBOOK_LINK);
51 51
 
52
-		$sql = 'SELECT att.id, att.name, att.attendance_qualify_title
52
+        $sql = 'SELECT att.id, att.name, att.attendance_qualify_title
53 53
 				FROM '.$this->get_attendance_table().' att
54 54
 				WHERE
55 55
 					att.c_id = '.$this->course_id.' AND
@@ -60,7 +60,7 @@  discard block
 block discarded – undo
60 60
 							course_code = "'.Database::escape_string($this->get_course_code()).'"
61 61
 					)
62 62
 				AND att.session_id='.api_get_session_id().'';
63
-		$result = Database::query($sql);
63
+        $result = Database::query($sql);
64 64
 
65 65
         $cats = array();
66 66
         while ($data = Database::fetch_array($result)) {
@@ -71,13 +71,13 @@  discard block
 block discarded – undo
71 71
             }
72 72
         }
73 73
 
74
-		return $cats;
75
-	}
74
+        return $cats;
75
+    }
76 76
 
77
-	/**
78
-	 * Generate an array of all attendances available.
79
-	 * @return array 2-dimensional array - every element contains 2 subelements (id, name)
80
-	 */
77
+    /**
78
+     * Generate an array of all attendances available.
79
+     * @return array 2-dimensional array - every element contains 2 subelements (id, name)
80
+     */
81 81
     public function get_all_links()
82 82
     {
83 83
         if (empty($this->course_code)) {
@@ -104,55 +104,55 @@  discard block
 block discarded – undo
104 104
         $my_cats = isset($cats) ? $cats : null;
105 105
 
106 106
         return $my_cats;
107
-	}
107
+    }
108 108
 
109
-	/**
110
-	 * Has anyone done this exercise yet ?
111
-	 */
112
-	public function has_results()
113
-	{
114
-		$tbl_attendance_result = Database :: get_course_table(TABLE_ATTENDANCE_RESULT);
115
-		$session_id = api_get_session_id();
116
-		$sql = 'SELECT count(*) AS number FROM '.$tbl_attendance_result."
109
+    /**
110
+     * Has anyone done this exercise yet ?
111
+     */
112
+    public function has_results()
113
+    {
114
+        $tbl_attendance_result = Database :: get_course_table(TABLE_ATTENDANCE_RESULT);
115
+        $session_id = api_get_session_id();
116
+        $sql = 'SELECT count(*) AS number FROM '.$tbl_attendance_result."
117 117
 				WHERE
118 118
 					session_id = $session_id AND
119 119
 					c_id = '.$this->course_id.' AND
120 120
 					attendance_id = '".intval($this->get_ref_id())."'";
121
-		$result = Database::query($sql);
122
-		$number = Database::fetch_row($result);
121
+        $result = Database::query($sql);
122
+        $number = Database::fetch_row($result);
123 123
 
124
-		return $number[0] != 0;
125
-	}
124
+        return $number[0] != 0;
125
+    }
126 126
 
127
-	/**
128
-	 * @param int $stud_id
129
-	 * @return array|null
130
-	 */
131
-	public function calc_score($stud_id = null, $type = null)
132
-	{
133
-		$tbl_attendance_result = Database::get_course_table(TABLE_ATTENDANCE_RESULT);
134
-		$session_id = api_get_session_id();
127
+    /**
128
+     * @param int $stud_id
129
+     * @return array|null
130
+     */
131
+    public function calc_score($stud_id = null, $type = null)
132
+    {
133
+        $tbl_attendance_result = Database::get_course_table(TABLE_ATTENDANCE_RESULT);
134
+        $session_id = api_get_session_id();
135 135
 
136
-		// get attendance qualify max
137
-		$sql = 'SELECT att.attendance_qualify_max
136
+        // get attendance qualify max
137
+        $sql = 'SELECT att.attendance_qualify_max
138 138
 		        FROM '.$this->get_attendance_table().' att
139 139
   				WHERE
140 140
   					att.c_id = '.$this->course_id.' AND
141 141
   					att.id = '.intval($this->get_ref_id()).' AND
142 142
   					att.session_id='.intval($session_id).'';
143
-		$query = Database::query($sql);
144
-		$attendance = Database::fetch_array($query, 'ASSOC');
143
+        $query = Database::query($sql);
144
+        $attendance = Database::fetch_array($query, 'ASSOC');
145 145
 
146
-		// Get results
147
-		$sql = 'SELECT *
146
+        // Get results
147
+        $sql = 'SELECT *
148 148
 		        FROM '.$tbl_attendance_result.'
149 149
   	    		WHERE c_id = '.$this->course_id.' AND attendance_id = '.intval($this->get_ref_id());
150
-		if (isset($stud_id)) {
151
-			$sql .= ' AND user_id = '.intval($stud_id);
152
-		}
153
-		$scores = Database::query($sql);
154
-		// for 1 student
155
-		if (isset($stud_id)) {
150
+        if (isset($stud_id)) {
151
+            $sql .= ' AND user_id = '.intval($stud_id);
152
+        }
153
+        $scores = Database::query($sql);
154
+        // for 1 student
155
+        if (isset($stud_id)) {
156 156
             if ($data = Database::fetch_array($scores, 'ASSOC')) {
157 157
                 return array(
158 158
                     $data['score'],
@@ -162,7 +162,7 @@  discard block
 block discarded – undo
162 162
                 //We sent the 0/attendance_qualify_max instead of null for correct calculations
163 163
                 return array(0, $attendance['attendance_qualify_max']);
164 164
             }
165
-		} else {
165
+        } else {
166 166
             // all students -> get average
167 167
             $students = array();  // user list, needed to make sure we only
168 168
             // take first attempts into account
@@ -171,144 +171,144 @@  discard block
 block discarded – undo
171 171
             $sumResult = 0;
172 172
             $bestResult = 0;
173 173
 
174
-			while ($data = Database::fetch_array($scores)) {
175
-				if (!(array_key_exists($data['user_id'], $students))) {
176
-					if ($attendance['attendance_qualify_max'] != 0) {
177
-						$students[$data['user_id']] = $data['score'];
178
-						$rescount++;
179
-						$sum += $data['score'] / $attendance['attendance_qualify_max'];
180
-						$sumResult += $data['score'];
181
-						if ($data['score'] > $bestResult) {
182
-							$bestResult = $data['score'];
183
-						}
184
-						$weight = $attendance['attendance_qualify_max'];
185
-					}
186
-				}
187
-			}
174
+            while ($data = Database::fetch_array($scores)) {
175
+                if (!(array_key_exists($data['user_id'], $students))) {
176
+                    if ($attendance['attendance_qualify_max'] != 0) {
177
+                        $students[$data['user_id']] = $data['score'];
178
+                        $rescount++;
179
+                        $sum += $data['score'] / $attendance['attendance_qualify_max'];
180
+                        $sumResult += $data['score'];
181
+                        if ($data['score'] > $bestResult) {
182
+                            $bestResult = $data['score'];
183
+                        }
184
+                        $weight = $attendance['attendance_qualify_max'];
185
+                    }
186
+                }
187
+            }
188 188
 
189
-			if ($rescount == 0) {
190
-				return null;
191
-			} else {
192
-				switch ($type) {
193
-					case 'best':
194
-						return array($bestResult, $weight);
195
-						break;
196
-					case 'average':
197
-						return array($sumResult / $rescount, $weight);
198
-						break;
199
-					case 'ranking':
200
-						return AbstractLink::getCurrentUserRanking($stud_id, $students);
201
-						break;
202
-					default:
203
-						return array($sum, $rescount);
204
-						break;
205
-				}
206
-			}
207
-		}
208
-	}
189
+            if ($rescount == 0) {
190
+                return null;
191
+            } else {
192
+                switch ($type) {
193
+                    case 'best':
194
+                        return array($bestResult, $weight);
195
+                        break;
196
+                    case 'average':
197
+                        return array($sumResult / $rescount, $weight);
198
+                        break;
199
+                    case 'ranking':
200
+                        return AbstractLink::getCurrentUserRanking($stud_id, $students);
201
+                        break;
202
+                    default:
203
+                        return array($sum, $rescount);
204
+                        break;
205
+                }
206
+            }
207
+        }
208
+    }
209 209
 
210
-	/**
211
-	 * Lazy load function to get the database table of the student publications
212
-	 */
213
-	private function get_attendance_table()
214
-	{
215
-		$this->attendance_table = Database::get_course_table(TABLE_ATTENDANCE);
216
-		return $this->attendance_table;
217
-	}
210
+    /**
211
+     * Lazy load function to get the database table of the student publications
212
+     */
213
+    private function get_attendance_table()
214
+    {
215
+        $this->attendance_table = Database::get_course_table(TABLE_ATTENDANCE);
216
+        return $this->attendance_table;
217
+    }
218 218
 
219
-	public function needs_name_and_description()
220
-	{
221
-		return false;
222
-	}
219
+    public function needs_name_and_description()
220
+    {
221
+        return false;
222
+    }
223 223
 
224
-	public function needs_max()
225
-	{
226
-		return false;
227
-	}
224
+    public function needs_max()
225
+    {
226
+        return false;
227
+    }
228 228
 
229
-	public function needs_results()
230
-	{
231
-		return false;
232
-	}
229
+    public function needs_results()
230
+    {
231
+        return false;
232
+    }
233 233
 
234
-	/**
235
-	 * @return string
236
-	 */
237
-	public function get_name()
238
-	{
239
-		$this->get_attendance_data();
240
-		$attendance_title = isset($this->attendance_data['name']) ? $this->attendance_data['name'] : '';
241
-		$attendance_qualify_title = isset($this->attendance_data['attendance_qualify_title']) ? $this->attendance_data['attendance_qualify_title'] : '';
242
-		if ( isset($attendance_qualify_title) && $attendance_qualify_title != '') {
243
-			return $this->attendance_data['attendance_qualify_title'];
244
-		} else {
245
-			return $attendance_title;
246
-		}
247
-	}
234
+    /**
235
+     * @return string
236
+     */
237
+    public function get_name()
238
+    {
239
+        $this->get_attendance_data();
240
+        $attendance_title = isset($this->attendance_data['name']) ? $this->attendance_data['name'] : '';
241
+        $attendance_qualify_title = isset($this->attendance_data['attendance_qualify_title']) ? $this->attendance_data['attendance_qualify_title'] : '';
242
+        if ( isset($attendance_qualify_title) && $attendance_qualify_title != '') {
243
+            return $this->attendance_data['attendance_qualify_title'];
244
+        } else {
245
+            return $attendance_title;
246
+        }
247
+    }
248 248
 
249
-	/**
250
-	 * @return string
251
-	 */
252
-	public function get_description()
253
-	{
254
-		return '';
255
-	}
249
+    /**
250
+     * @return string
251
+     */
252
+    public function get_description()
253
+    {
254
+        return '';
255
+    }
256 256
 
257
-	/**
258
-	 * Check if this still links to an exercise
259
-	 */
260
-	public function is_valid_link()
261
-	{
262
-		$session_id = api_get_session_id();
263
-		$sql = 'SELECT count(att.id) FROM '.$this->get_attendance_table().' att
257
+    /**
258
+     * Check if this still links to an exercise
259
+     */
260
+    public function is_valid_link()
261
+    {
262
+        $session_id = api_get_session_id();
263
+        $sql = 'SELECT count(att.id) FROM '.$this->get_attendance_table().' att
264 264
         		 WHERE att.c_id = '.$this->course_id.' AND att.id = '.intval($this->get_ref_id()).' ';
265
-		$result = Database::query($sql);
266
-		$number = Database::fetch_row($result);
267
-		return ($number[0] != 0);
268
-	}
265
+        $result = Database::query($sql);
266
+        $number = Database::fetch_row($result);
267
+        return ($number[0] != 0);
268
+    }
269 269
 
270
-	public function get_test_id()
271
-	{
272
-		return 'DEBUG:ID';
273
-	}
270
+    public function get_test_id()
271
+    {
272
+        return 'DEBUG:ID';
273
+    }
274 274
 
275
-	public function get_link()
276
-	{
277
-		//it was extracts the attendance id
278
-		$session_id = api_get_session_id();
279
-		$sql = 'SELECT * FROM '.$this->get_attendance_table().' att
275
+    public function get_link()
276
+    {
277
+        //it was extracts the attendance id
278
+        $session_id = api_get_session_id();
279
+        $sql = 'SELECT * FROM '.$this->get_attendance_table().' att
280 280
     			WHERE att.c_id = '.$this->course_id.' AND att.id = '.intval($this->get_ref_id()).' ';
281
-		$result = Database::query($sql);
282
-		$row = Database::fetch_array($result,'ASSOC');
283
-		$attendance_id = $row['id'];
284
-		$url = api_get_path(WEB_PATH).'main/attendance/index.php?action=attendance_sheet_list&gradebook=view&attendance_id='.$attendance_id.'&'.api_get_cidreq_params($this->get_course_code(), $session_id);
281
+        $result = Database::query($sql);
282
+        $row = Database::fetch_array($result,'ASSOC');
283
+        $attendance_id = $row['id'];
284
+        $url = api_get_path(WEB_PATH).'main/attendance/index.php?action=attendance_sheet_list&gradebook=view&attendance_id='.$attendance_id.'&'.api_get_cidreq_params($this->get_course_code(), $session_id);
285 285
 
286
-		return $url;
287
-	}
286
+        return $url;
287
+    }
288 288
 
289
-	/**
290
-	 * @return array|bool
291
-	 */
292
-	private function get_attendance_data()
293
-	{
294
-		$tbl_name = $this->get_attendance_table();
295
-		$session_id = api_get_session_id();
296
-		if ($tbl_name == '') {
297
-			return false;
298
-		} elseif (!isset($this->attendance_data)) {
299
-			$sql = 'SELECT * FROM '.$this->get_attendance_table().' att
289
+    /**
290
+     * @return array|bool
291
+     */
292
+    private function get_attendance_data()
293
+    {
294
+        $tbl_name = $this->get_attendance_table();
295
+        $session_id = api_get_session_id();
296
+        if ($tbl_name == '') {
297
+            return false;
298
+        } elseif (!isset($this->attendance_data)) {
299
+            $sql = 'SELECT * FROM '.$this->get_attendance_table().' att
300 300
 					WHERE att.c_id = '.$this->course_id.' AND att.id = '.intval($this->get_ref_id()).' ';
301
-			$query = Database::query($sql);
302
-			$this->attendance_data = Database::fetch_array($query);
303
-		}
304
-		return $this->attendance_data;
305
-	}
301
+            $query = Database::query($sql);
302
+            $this->attendance_data = Database::fetch_array($query);
303
+        }
304
+        return $this->attendance_data;
305
+    }
306 306
 
307
-	/**
308
-	 * @return string
309
-	 */
310
-	public function get_icon_name()
311
-	{
312
-		return 'attendance';
313
-	}
307
+    /**
308
+     * @return string
309
+     */
310
+    public function get_icon_name()
311
+    {
312
+        return 'attendance';
313
+    }
314 314
 }
Please login to merge, or discard this patch.
main/gradebook/lib/be/evallink.class.php 2 patches
Spacing   +4 added lines, -4 removed lines patch added patch discarded remove patch
@@ -47,10 +47,10 @@  discard block
 block discarded – undo
47 47
         $eval = $this->get_evaluation();
48 48
         // course/platform admin can go to the view_results page
49 49
         if (api_is_allowed_to_edit()) {
50
-            return 'gradebook_view_result.php?' . api_get_cidreq() . '&selecteval=' . $eval->get_id();
50
+            return 'gradebook_view_result.php?'.api_get_cidreq().'&selecteval='.$eval->get_id();
51 51
         } // students can go to the statistics page (if custom display enabled)
52 52
         elseif (ScoreDisplay :: instance()->is_custom()) {
53
-            return 'gradebook_statistics.php?' . api_get_cidreq() . '&selecteval=' . $eval->get_id();
53
+            return 'gradebook_statistics.php?'.api_get_cidreq().'&selecteval='.$eval->get_id();
54 54
         } else {
55 55
             return null;
56 56
         }
@@ -176,8 +176,8 @@  discard block
 block discarded – undo
176 176
                 $eval = new Evaluation();
177 177
                 $eval->set_category_id(-1);
178 178
                 $eval->set_date(api_get_utc_datetime()); // these values will be changed
179
-                $eval->set_weight(0);    //   when the link setter
180
-                $eval->set_visible(0);   //     is called
179
+                $eval->set_weight(0); //   when the link setter
180
+                $eval->set_visible(0); //     is called
181 181
                 $eval->set_id(-1); // a 'real' id will be set when eval is added to db
182 182
                 $eval->set_user_id($this->get_user_id());
183 183
                 $eval->set_course_code($this->get_course_code());
Please login to merge, or discard this patch.
Doc Comments   +9 added lines patch added patch discarded remove patch
@@ -117,6 +117,9 @@  discard block
 block discarded – undo
117 117
         }
118 118
     }
119 119
 
120
+    /**
121
+     * @param string $name
122
+     */
120 123
     public function set_name($name)
121 124
     {
122 125
         if ($this->is_valid_link()) {
@@ -124,6 +127,9 @@  discard block
 block discarded – undo
124 127
         }
125 128
     }
126 129
 
130
+    /**
131
+     * @param string $description
132
+     */
127 133
     public function set_description($description)
128 134
     {
129 135
         if ($this->is_valid_link()) {
@@ -131,6 +137,9 @@  discard block
 block discarded – undo
131 137
         }
132 138
     }
133 139
 
140
+    /**
141
+     * @param integer $max
142
+     */
134 143
     public function set_max($max)
135 144
     {
136 145
         if ($this->is_valid_link()) {
Please login to merge, or discard this patch.
main/gradebook/lib/be/surveylink.class.php 2 patches
Spacing   +2 added lines, -2 removed lines patch added patch discarded remove patch
@@ -75,7 +75,7 @@  discard block
 block discarded – undo
75 75
 			$links[] = array(
76 76
 				$data['survey_id'],
77 77
 				api_trunc_str(
78
-					$data['code'] . ': ' . self::html_to_text($data['title']),
78
+					$data['code'].': '.self::html_to_text($data['title']),
79 79
 					80
80 80
 				)
81 81
 			);
@@ -121,7 +121,7 @@  discard block
 block discarded – undo
121 121
 	/**
122 122
 	 * Has anyone done this survey yet?
123 123
 	 */
124
-	public function has_results($stud_id=null)
124
+	public function has_results($stud_id = null)
125 125
 	{
126 126
 		$ref_id = intval($this->get_ref_id());
127 127
 		$session_id = api_get_session_id();
Please login to merge, or discard this patch.
Indentation   +246 added lines, -246 removed lines patch added patch discarded remove patch
@@ -8,98 +8,98 @@  discard block
 block discarded – undo
8 8
  */
9 9
 class SurveyLink extends AbstractLink
10 10
 {
11
-	private $survey_table = null;
12
-
13
-	/**
14
-	 * Constructor
15
-	 */
16
-	public function __construct()
17
-	{
18
-		parent::__construct();
19
-		$this->set_type(LINK_SURVEY);
20
-	}
21
-
22
-	/**
23
-	 * @return string
24
-	 */
25
-	public function get_name()
26
-	{
27
-		$this->get_survey_data();
11
+    private $survey_table = null;
12
+
13
+    /**
14
+     * Constructor
15
+     */
16
+    public function __construct()
17
+    {
18
+        parent::__construct();
19
+        $this->set_type(LINK_SURVEY);
20
+    }
21
+
22
+    /**
23
+     * @return string
24
+     */
25
+    public function get_name()
26
+    {
27
+        $this->get_survey_data();
28 28
 		
29
-		return $this->survey_data['code'].': '.self::html_to_text($this->survey_data['title']);
30
-	}
31
-
32
-	public function get_description()
33
-	{
34
-		$this->get_survey_data();
35
-		return $this->survey_data['subtitle'];
36
-	}
37
-
38
-	public function get_type_name()
39
-	{
40
-		return get_lang('Survey');
41
-	}
42
-
43
-	public function is_allowed_to_change_name()
44
-	{
45
-		return false;
46
-	}
47
-
48
-	public function needs_name_and_description()
49
-	{
50
-		return false;
51
-	}
52
-
53
-	public function needs_max()
54
-	{
55
-		return false;
56
-	}
57
-
58
-	public function needs_results()
59
-	{
60
-		return false;
61
-	}
62
-
63
-	/**
64
-	 * Generates an array of all surveys available.
65
-	 * @return array 2-dimensional array - every element contains 2 subelements (id, name)
66
-	 */
67
-	public function get_all_links()
68
-	{
69
-		if (empty($this->course_code)) {
70
-			die('Error in get_all_links() : course code not set');
71
-		}
72
-		$tbl_survey = $this->get_survey_table();
73
-		$session_id = api_get_session_id();
74
-		$course_id = api_get_course_int_id();
75
-		$sql = 'SELECT survey_id, title, code FROM '.$tbl_survey.'
29
+        return $this->survey_data['code'].': '.self::html_to_text($this->survey_data['title']);
30
+    }
31
+
32
+    public function get_description()
33
+    {
34
+        $this->get_survey_data();
35
+        return $this->survey_data['subtitle'];
36
+    }
37
+
38
+    public function get_type_name()
39
+    {
40
+        return get_lang('Survey');
41
+    }
42
+
43
+    public function is_allowed_to_change_name()
44
+    {
45
+        return false;
46
+    }
47
+
48
+    public function needs_name_and_description()
49
+    {
50
+        return false;
51
+    }
52
+
53
+    public function needs_max()
54
+    {
55
+        return false;
56
+    }
57
+
58
+    public function needs_results()
59
+    {
60
+        return false;
61
+    }
62
+
63
+    /**
64
+     * Generates an array of all surveys available.
65
+     * @return array 2-dimensional array - every element contains 2 subelements (id, name)
66
+     */
67
+    public function get_all_links()
68
+    {
69
+        if (empty($this->course_code)) {
70
+            die('Error in get_all_links() : course code not set');
71
+        }
72
+        $tbl_survey = $this->get_survey_table();
73
+        $session_id = api_get_session_id();
74
+        $course_id = api_get_course_int_id();
75
+        $sql = 'SELECT survey_id, title, code FROM '.$tbl_survey.'
76 76
 				WHERE c_id = '.$course_id.' AND session_id = '.intval($session_id).'';
77
-		$result = Database::query($sql);
78
-		while ($data = Database::fetch_array($result)) {
79
-			$links[] = array(
80
-				$data['survey_id'],
81
-				api_trunc_str(
82
-					$data['code'] . ': ' . self::html_to_text($data['title']),
83
-					80
84
-				)
85
-			);
86
-		}
87
-
88
-		return isset($links) ? $links : null;
89
-	}
90
-
91
-	/**
92
-	 * Generates an array of surveys that a teacher hasn't created a link for.
93
-	 * @return array 2-dimensional array - every element contains 2 subelements (id, name)
94
-	 */
95
-	public function get_not_created_links()
96
-	{
97
-		if (empty($this->course_code)) {
98
-			die('Error in get_not_created_links() : course code not set');
99
-		}
100
-		$tbl_grade_links = Database :: get_main_table(TABLE_MAIN_GRADEBOOK_LINK);
101
-
102
-		$sql = 'SELECT survey_id, title, code
77
+        $result = Database::query($sql);
78
+        while ($data = Database::fetch_array($result)) {
79
+            $links[] = array(
80
+                $data['survey_id'],
81
+                api_trunc_str(
82
+                    $data['code'] . ': ' . self::html_to_text($data['title']),
83
+                    80
84
+                )
85
+            );
86
+        }
87
+
88
+        return isset($links) ? $links : null;
89
+    }
90
+
91
+    /**
92
+     * Generates an array of surveys that a teacher hasn't created a link for.
93
+     * @return array 2-dimensional array - every element contains 2 subelements (id, name)
94
+     */
95
+    public function get_not_created_links()
96
+    {
97
+        if (empty($this->course_code)) {
98
+            die('Error in get_not_created_links() : course code not set');
99
+        }
100
+        $tbl_grade_links = Database :: get_main_table(TABLE_MAIN_GRADEBOOK_LINK);
101
+
102
+        $sql = 'SELECT survey_id, title, code
103 103
     			FROM '.$this->get_survey_table().' AS srv
104 104
 				WHERE survey_id NOT IN
105 105
 					(
@@ -110,28 +110,28 @@  discard block
 block discarded – undo
110 110
 					)
111 111
 					AND srv.session_id = '.api_get_session_id();
112 112
 
113
-		$result = Database::query($sql);
114
-
115
-		$links = array();
116
-		while ($data = Database::fetch_array($result)) {
117
-			$links[] = array(
118
-				$data['survey_id'],
119
-				api_trunc_str($data['code'].': '.self::html_to_text($data['title']), 80)
120
-			);
121
-		}
122
-		return $links;
123
-	}
124
-
125
-	/**
126
-	 * Has anyone done this survey yet?
127
-	 */
128
-	public function has_results($stud_id=null)
129
-	{
130
-		$ref_id = intval($this->get_ref_id());
131
-		$session_id = api_get_session_id();
132
-		$tbl_survey = Database::get_course_table(TABLE_SURVEY);
133
-		$tbl_survey_invitation = Database::get_course_table(TABLE_SURVEY_INVITATION);
134
-		$sql = "SELECT
113
+        $result = Database::query($sql);
114
+
115
+        $links = array();
116
+        while ($data = Database::fetch_array($result)) {
117
+            $links[] = array(
118
+                $data['survey_id'],
119
+                api_trunc_str($data['code'].': '.self::html_to_text($data['title']), 80)
120
+            );
121
+        }
122
+        return $links;
123
+    }
124
+
125
+    /**
126
+     * Has anyone done this survey yet?
127
+     */
128
+    public function has_results($stud_id=null)
129
+    {
130
+        $ref_id = intval($this->get_ref_id());
131
+        $session_id = api_get_session_id();
132
+        $tbl_survey = Database::get_course_table(TABLE_SURVEY);
133
+        $tbl_survey_invitation = Database::get_course_table(TABLE_SURVEY_INVITATION);
134
+        $sql = "SELECT
135 135
 				COUNT(i.answered)
136 136
 				FROM $tbl_survey AS s
137 137
 				JOIN $tbl_survey_invitation AS i ON s.code = i.survey_code
@@ -141,30 +141,30 @@  discard block
 block discarded – undo
141 141
 					s.survey_id = $ref_id AND
142 142
 					i.session_id = $session_id";
143 143
 
144
-		$sql_result = Database::query($sql);
145
-		$data = Database::fetch_array($sql_result);
144
+        $sql_result = Database::query($sql);
145
+        $data = Database::fetch_array($sql_result);
146 146
 
147
-		return ($data[0] != 0);
148
-	}
147
+        return ($data[0] != 0);
148
+    }
149 149
 
150
-	/**
151
-	 * @param int $stud_id
152
-	 * @return array|null
153
-	 */
154
-	public function calc_score($stud_id = null, $type = null)
155
-	{
156
-		// Note: Max score is assumed to be always 1 for surveys,
157
-		// only student's participation is to be taken into account.
158
-		$max_score = 1;
150
+    /**
151
+     * @param int $stud_id
152
+     * @return array|null
153
+     */
154
+    public function calc_score($stud_id = null, $type = null)
155
+    {
156
+        // Note: Max score is assumed to be always 1 for surveys,
157
+        // only student's participation is to be taken into account.
158
+        $max_score = 1;
159 159
 
160
-		$ref_id = intval($this->get_ref_id());
161
-		$session_id = api_get_session_id();
162
-		$tbl_survey = Database::get_course_table(TABLE_SURVEY);
163
-		$tbl_survey_invitation = Database::get_course_table(TABLE_SURVEY_INVITATION);
160
+        $ref_id = intval($this->get_ref_id());
161
+        $session_id = api_get_session_id();
162
+        $tbl_survey = Database::get_course_table(TABLE_SURVEY);
163
+        $tbl_survey_invitation = Database::get_course_table(TABLE_SURVEY_INVITATION);
164 164
 
165
-		$get_individual_score = !is_null($stud_id);
165
+        $get_individual_score = !is_null($stud_id);
166 166
 
167
-		$sql = "SELECT i.answered
167
+        $sql = "SELECT i.answered
168 168
 				FROM $tbl_survey AS s
169 169
 				JOIN $tbl_survey_invitation AS i
170 170
 				ON s.code = i.survey_code
@@ -175,131 +175,131 @@  discard block
 block discarded – undo
175 175
 					i.session_id = $session_id
176 176
 				";
177 177
 
178
-		if ($get_individual_score) {
179
-			$sql .= ' AND i.user = '.intval($stud_id);
180
-		}
181
-
182
-		$sql_result = Database::query($sql);
183
-
184
-		if ($get_individual_score) {
185
-			// for 1 student
186
-			if ($data = Database::fetch_array($sql_result)) {
187
-				return array($data['answered'] ? $max_score : 0, $max_score);
188
-			}
189
-			return array(0, $max_score);
190
-		} else {
191
-			// for all the students -> get average
192
-			$rescount = 0;
193
-			$sum = 0;
194
-			$bestResult = 0;
195
-			$weight = 0;
196
-			while ($data = Database::fetch_array($sql_result)) {
197
-				$sum += $data['answered'] ? $max_score : 0;
198
-				$rescount++;
199
-				if ($data['answered'] > $bestResult) {
200
-					$bestResult = $data['answered'];
201
-					$weight = $assignment['qualification'];
202
-				}
203
-			}
204
-			$sum = $sum / $max_score;
205
-
206
-			if ($rescount == 0) {
207
-				return null;
208
-			}
209
-
210
-			switch ($type) {
211
-				case 'best':
212
-					return array($bestResult, $rescount);
213
-					break;
214
-				case 'average':
215
-					return array($sum, $rescount);
216
-					break;
217
-				case 'ranking':
218
-					return null;
219
-					break;
220
-				default:
221
-					return array($sum, $rescount);
222
-					break;
223
-			}
224
-		}
225
-	}
226
-
227
-	/**
228
-	 * Lazy load function to get the database table of the surveys
229
-	 */
230
-	private function get_survey_table()
231
-	{
232
-		$this->survey_table = Database :: get_course_table(TABLE_SURVEY);
233
-		return $this->survey_table;
234
-	}
235
-
236
-	/**
237
-	 * Check if this still links to a survey
238
-	 */
239
-	public function is_valid_link()
240
-	{
241
-		$session_id = api_get_session_id();
242
-		$sql = 'SELECT count(survey_id) FROM '.$this->get_survey_table().'
178
+        if ($get_individual_score) {
179
+            $sql .= ' AND i.user = '.intval($stud_id);
180
+        }
181
+
182
+        $sql_result = Database::query($sql);
183
+
184
+        if ($get_individual_score) {
185
+            // for 1 student
186
+            if ($data = Database::fetch_array($sql_result)) {
187
+                return array($data['answered'] ? $max_score : 0, $max_score);
188
+            }
189
+            return array(0, $max_score);
190
+        } else {
191
+            // for all the students -> get average
192
+            $rescount = 0;
193
+            $sum = 0;
194
+            $bestResult = 0;
195
+            $weight = 0;
196
+            while ($data = Database::fetch_array($sql_result)) {
197
+                $sum += $data['answered'] ? $max_score : 0;
198
+                $rescount++;
199
+                if ($data['answered'] > $bestResult) {
200
+                    $bestResult = $data['answered'];
201
+                    $weight = $assignment['qualification'];
202
+                }
203
+            }
204
+            $sum = $sum / $max_score;
205
+
206
+            if ($rescount == 0) {
207
+                return null;
208
+            }
209
+
210
+            switch ($type) {
211
+                case 'best':
212
+                    return array($bestResult, $rescount);
213
+                    break;
214
+                case 'average':
215
+                    return array($sum, $rescount);
216
+                    break;
217
+                case 'ranking':
218
+                    return null;
219
+                    break;
220
+                default:
221
+                    return array($sum, $rescount);
222
+                    break;
223
+            }
224
+        }
225
+    }
226
+
227
+    /**
228
+     * Lazy load function to get the database table of the surveys
229
+     */
230
+    private function get_survey_table()
231
+    {
232
+        $this->survey_table = Database :: get_course_table(TABLE_SURVEY);
233
+        return $this->survey_table;
234
+    }
235
+
236
+    /**
237
+     * Check if this still links to a survey
238
+     */
239
+    public function is_valid_link()
240
+    {
241
+        $session_id = api_get_session_id();
242
+        $sql = 'SELECT count(survey_id) FROM '.$this->get_survey_table().'
243 243
         		 WHERE
244 244
         		 	c_id = '.$this->course_id.' AND
245 245
         		 	survey_id = '.intval($this->get_ref_id()).' AND
246 246
         		 	session_id='.intval($session_id).'';
247
-		$result = Database::query($sql);
248
-		$number = Database::fetch_row($result);
249
-		return ($number[0] != 0);
250
-	}
251
-
252
-	public function get_test_id()
253
-	{
254
-		return 'DEBUG:ID';
255
-	}
256
-
257
-	public function get_link()
258
-	{
259
-		if (api_is_allowed_to_edit()) { // Let students make access only through "Surveys" tool.
260
-			$tbl_name = $this->get_survey_table();
261
-			$session_id = api_get_session_id();
262
-			if ($tbl_name != '') {
263
-				$sql = 'SELECT survey_id FROM '.$this->get_survey_table().'
247
+        $result = Database::query($sql);
248
+        $number = Database::fetch_row($result);
249
+        return ($number[0] != 0);
250
+    }
251
+
252
+    public function get_test_id()
253
+    {
254
+        return 'DEBUG:ID';
255
+    }
256
+
257
+    public function get_link()
258
+    {
259
+        if (api_is_allowed_to_edit()) { // Let students make access only through "Surveys" tool.
260
+            $tbl_name = $this->get_survey_table();
261
+            $session_id = api_get_session_id();
262
+            if ($tbl_name != '') {
263
+                $sql = 'SELECT survey_id FROM '.$this->get_survey_table().'
264 264
     					WHERE
265 265
     						c_id = '.$this->course_id.' AND
266 266
     						survey_id = '.intval($this->get_ref_id()).' AND
267 267
     						session_id = '.intval($session_id).' ';
268
-				$result = Database::query($sql);
269
-				$row = Database::fetch_array($result, 'ASSOC');
270
-				$survey_id = $row['survey_id'];
271
-				return api_get_path(WEB_PATH).'main/survey/reporting.php?'.api_get_cidreq_params($this->get_course_code(), $session_id).'&survey_id='.$survey_id;
272
-			}
273
-		}
274
-		return null;
275
-	}
276
-
277
-	private function get_survey_data()
278
-	{
279
-		$tbl_name = $this->get_survey_table();
280
-		$session_id = api_get_session_id();
281
-		if ($tbl_name == '') {
282
-			return false;
283
-		} elseif (!isset($this->survey_data)) {
284
-			$sql = 'SELECT * FROM '.$tbl_name.'
268
+                $result = Database::query($sql);
269
+                $row = Database::fetch_array($result, 'ASSOC');
270
+                $survey_id = $row['survey_id'];
271
+                return api_get_path(WEB_PATH).'main/survey/reporting.php?'.api_get_cidreq_params($this->get_course_code(), $session_id).'&survey_id='.$survey_id;
272
+            }
273
+        }
274
+        return null;
275
+    }
276
+
277
+    private function get_survey_data()
278
+    {
279
+        $tbl_name = $this->get_survey_table();
280
+        $session_id = api_get_session_id();
281
+        if ($tbl_name == '') {
282
+            return false;
283
+        } elseif (!isset($this->survey_data)) {
284
+            $sql = 'SELECT * FROM '.$tbl_name.'
285 285
 					WHERE
286 286
 						c_id = '.$this->course_id.' AND
287 287
 						survey_id = '.intval($this->get_ref_id()).' AND
288 288
 						session_id='.intval($session_id).'';
289
-			$query = Database::query($sql);
290
-			$this->survey_data = Database::fetch_array($query);
291
-		}
292
-		return $this->survey_data;
293
-	}
294
-
295
-	public function get_icon_name()
296
-	{
297
-		return 'survey';
298
-	}
299
-
300
-	private static function html_to_text($string)
301
-	{
302
-		return strip_tags($string);
303
-		//return trim(api_html_entity_decode(strip_tags(str_ireplace(array('<p>', '</p>', '<br />', '<br/>', '<br>'), array('', ' ', ' ', ' ', ' '), $string)), ENT_QUOTES));
304
-	}
289
+            $query = Database::query($sql);
290
+            $this->survey_data = Database::fetch_array($query);
291
+        }
292
+        return $this->survey_data;
293
+    }
294
+
295
+    public function get_icon_name()
296
+    {
297
+        return 'survey';
298
+    }
299
+
300
+    private static function html_to_text($string)
301
+    {
302
+        return strip_tags($string);
303
+        //return trim(api_html_entity_decode(strip_tags(str_ireplace(array('<p>', '</p>', '<br />', '<br/>', '<br>'), array('', ' ', ' ', ' ', ' '), $string)), ENT_QUOTES));
304
+    }
305 305
 }
Please login to merge, or discard this patch.
main/gradebook/lib/be/linkfactory.class.php 2 patches
Spacing   +2 added lines, -2 removed lines patch added patch discarded remove patch
@@ -58,7 +58,7 @@  discard block
 block discarded – undo
58 58
      * @param string $name_mask search string
59 59
      * @return array link objects matching the search criterium
60 60
      */
61
-    public function find_links($name_mask,$selectcat)
61
+    public function find_links($name_mask, $selectcat)
62 62
     {
63 63
         return AbstractLink::find_links($name_mask, $selectcat);
64 64
     }
@@ -98,7 +98,7 @@  discard block
 block discarded – undo
98 98
     public static function get_all_types()
99 99
     {
100 100
         //LINK_DROPBOX,
101
-        return array (
101
+        return array(
102 102
             LINK_EXERCISE,
103 103
             //LINK_DROPBOX,
104 104
             LINK_HOTPOTATOES,
Please login to merge, or discard this patch.
Doc Comments   +1 added lines, -1 removed lines patch added patch discarded remove patch
@@ -93,7 +93,7 @@
 block discarded – undo
93 93
 
94 94
     /**
95 95
      * Return an array of all known link types
96
-     * @return array
96
+     * @return integer[]
97 97
      */
98 98
     public static function get_all_types()
99 99
     {
Please login to merge, or discard this patch.
main/gradebook/lib/be/forumthreadlink.class.php 2 patches
Spacing   +15 added lines, -15 removed lines patch added patch discarded remove patch
@@ -84,8 +84,8 @@  discard block
 block discarded – undo
84 84
 			die('Error in get_not_created_links() : course code not set');
85 85
 		}
86 86
 
87
-		$tbl_grade_links 	= Database :: get_course_table(TABLE_FORUM_THREAD);
88
-		$tbl_item_property	= Database :: get_course_table(TABLE_ITEM_PROPERTY);
87
+		$tbl_grade_links = Database :: get_course_table(TABLE_FORUM_THREAD);
88
+		$tbl_item_property = Database :: get_course_table(TABLE_ITEM_PROPERTY);
89 89
 		$session_id = api_get_session_id();
90 90
 
91 91
 		if ($session_id) {
@@ -108,10 +108,10 @@  discard block
 block discarded – undo
108 108
 		$result = Database::query($sql);
109 109
 
110 110
 		while ($data = Database::fetch_array($result)) {
111
-			if ( isset($data['thread_title_qualify']) and $data['thread_title_qualify']!=""){
112
-				$cats[] = array ($data['thread_id'], $data['thread_title_qualify']);
111
+			if (isset($data['thread_title_qualify']) and $data['thread_title_qualify'] != "") {
112
+				$cats[] = array($data['thread_id'], $data['thread_title_qualify']);
113 113
 			} else {
114
-				$cats[] = array ($data['thread_id'], $data['thread_title']);
114
+				$cats[] = array($data['thread_id'], $data['thread_title']);
115 115
 			}
116 116
 		}
117 117
 		$my_cats = isset($cats) ? $cats : null;
@@ -193,11 +193,11 @@  discard block
 block discarded – undo
193 193
                 if (empty($counter) || $counter <= 2) {
194 194
                     return array(0, $assignment['thread_qualify_max']);
195 195
                 }
196
-                return [$score/$counter, $assignment['thread_qualify_max']];
196
+                return [$score / $counter, $assignment['thread_qualify_max']];
197 197
             }
198 198
 		} else {
199 199
 			// All students -> get average
200
-			$students = array();  // user list, needed to make sure we only
200
+			$students = array(); // user list, needed to make sure we only
201 201
 			// take first attempts into account
202 202
 			$counter = 0;
203 203
 			$sum = 0;
@@ -228,7 +228,7 @@  discard block
 block discarded – undo
228 228
 						return array($bestResult, $weight);
229 229
 						break;
230 230
 					case 'average':
231
-						return array($sumResult/$counter, $weight);
231
+						return array($sumResult / $counter, $weight);
232 232
 						break;
233 233
 					case 'ranking':
234 234
 						return AbstractLink::getCurrentUserRanking($stud_id, $students);
@@ -270,9 +270,9 @@  discard block
 block discarded – undo
270 270
 	public function get_name()
271 271
 	{
272 272
 		$this->get_exercise_data();
273
-		$thread_title=isset($this->exercise_data['thread_title']) ? $this->exercise_data['thread_title'] : '';
274
-		$thread_title_qualify=isset($this->exercise_data['thread_title_qualify']) ? $this->exercise_data['thread_title_qualify'] : '';
275
-		if ( isset($thread_title_qualify) && $thread_title_qualify!="") {
273
+		$thread_title = isset($this->exercise_data['thread_title']) ? $this->exercise_data['thread_title'] : '';
274
+		$thread_title_qualify = isset($this->exercise_data['thread_title_qualify']) ? $this->exercise_data['thread_title_qualify'] : '';
275
+		if (isset($thread_title_qualify) && $thread_title_qualify != "") {
276 276
 			return $this->exercise_data['thread_title_qualify'];
277 277
 		} else {
278 278
 			return $thread_title;
@@ -284,7 +284,7 @@  discard block
 block discarded – undo
284 284
      */
285 285
 	public function get_description()
286 286
 	{
287
-		return '';//$this->exercise_data['description'];
287
+		return ''; //$this->exercise_data['description'];
288 288
 	}
289 289
 
290 290
 	/**
@@ -310,8 +310,8 @@  discard block
 block discarded – undo
310 310
 		$sql = 'SELECT * FROM '.$this->get_forum_thread_table()."
311 311
     			WHERE c_id = '.$this->course_id.' AND thread_id = '".$this->get_ref_id()."' AND session_id = ".api_get_session_id()."";
312 312
 		$result = Database::query($sql);
313
-		$row    = Database::fetch_array($result,'ASSOC');
314
-		$forum_id=$row['forum_id'];
313
+		$row    = Database::fetch_array($result, 'ASSOC');
314
+		$forum_id = $row['forum_id'];
315 315
 
316 316
 		$url = api_get_path(WEB_PATH).'main/forum/viewthread.php?cidReq='.$this->get_course_code().'&thread='.$this->get_ref_id().'&gradebook=view&forum='.$forum_id;
317 317
 		return $url;
@@ -342,7 +342,7 @@  discard block
 block discarded – undo
342 342
 
343 343
 	function save_linked_data()
344 344
 	{
345
-		$weight = (float)$this->get_weight();
345
+		$weight = (float) $this->get_weight();
346 346
 		$ref_id = $this->get_ref_id();
347 347
 
348 348
 		if (!empty($ref_id)) {
Please login to merge, or discard this patch.
Indentation   +260 added lines, -260 removed lines patch added patch discarded remove patch
@@ -10,54 +10,54 @@  discard block
 block discarded – undo
10 10
  */
11 11
 class ForumThreadLink extends AbstractLink
12 12
 {
13
-	private $forum_thread_table = null;
14
-	private $itemprop_table = null;
15
-
16
-	/**
17
-	 * Constructor
18
-	 */
19
-	public function __construct()
20
-	{
21
-		parent::__construct();
22
-		$this->set_type(LINK_FORUM_THREAD);
23
-	}
24
-
25
-	/**
26
-	 * @return string
27
-	 */
28
-	public function get_type_name()
29
-	{
30
-		return get_lang('ForumThreads');
31
-	}
32
-
33
-	/**
34
-	 * @return bool
35
-	 */
36
-	public function is_allowed_to_change_name()
37
-	{
38
-		return false;
39
-	}
40
-
41
-	/**
42
-	 * Generate an array of exercises that a teacher hasn't created a link for.
43
-	 * @return array 2-dimensional array - every element contains 2 subelements (id, name)
44
-	 */
45
-	public function get_not_created_links()
46
-	{
47
-		if (empty($this->course_code)) {
48
-			die('Error in get_not_created_links() : course code not set');
49
-		}
50
-
51
-		$tbl_grade_links = Database :: get_main_table(TABLE_MAIN_GRADEBOOK_LINK);
52
-
53
-		$sql = 'SELECT thread_id,thread_title,thread_title_qualify FROM '.$this->get_forum_thread_table()
54
-			.' forum_thread WHERE thread_id NOT IN'
55
-			.' (SELECT ref_id FROM '.$tbl_grade_links
56
-			.' WHERE type = '.LINK_FORUM_THREAD
57
-			." AND c_id = ".intval($this->course_id)
58
-			.') AND forum_thread.session_id='.api_get_session_id().'';
59
-
60
-		$result = Database::query($sql);
13
+    private $forum_thread_table = null;
14
+    private $itemprop_table = null;
15
+
16
+    /**
17
+     * Constructor
18
+     */
19
+    public function __construct()
20
+    {
21
+        parent::__construct();
22
+        $this->set_type(LINK_FORUM_THREAD);
23
+    }
24
+
25
+    /**
26
+     * @return string
27
+     */
28
+    public function get_type_name()
29
+    {
30
+        return get_lang('ForumThreads');
31
+    }
32
+
33
+    /**
34
+     * @return bool
35
+     */
36
+    public function is_allowed_to_change_name()
37
+    {
38
+        return false;
39
+    }
40
+
41
+    /**
42
+     * Generate an array of exercises that a teacher hasn't created a link for.
43
+     * @return array 2-dimensional array - every element contains 2 subelements (id, name)
44
+     */
45
+    public function get_not_created_links()
46
+    {
47
+        if (empty($this->course_code)) {
48
+            die('Error in get_not_created_links() : course code not set');
49
+        }
50
+
51
+        $tbl_grade_links = Database :: get_main_table(TABLE_MAIN_GRADEBOOK_LINK);
52
+
53
+        $sql = 'SELECT thread_id,thread_title,thread_title_qualify FROM '.$this->get_forum_thread_table()
54
+            .' forum_thread WHERE thread_id NOT IN'
55
+            .' (SELECT ref_id FROM '.$tbl_grade_links
56
+            .' WHERE type = '.LINK_FORUM_THREAD
57
+            ." AND c_id = ".intval($this->course_id)
58
+            .') AND forum_thread.session_id='.api_get_session_id().'';
59
+
60
+        $result = Database::query($sql);
61 61
 
62 62
         $cats = array();
63 63
         while ($data = Database::fetch_array($result)) {
@@ -72,29 +72,29 @@  discard block
 block discarded – undo
72 72
         }
73 73
 
74 74
         return $cats;
75
-	}
76
-
77
-	/**
78
-	 * Generate an array of all exercises available.
79
-	 * @return array 2-dimensional array - every element contains 2 subelements (id, name)
80
-	 */
81
-	public function get_all_links()
82
-	{
83
-		if (empty($this->course_code)) {
84
-			die('Error in get_not_created_links() : course code not set');
85
-		}
86
-
87
-		$tbl_grade_links 	= Database :: get_course_table(TABLE_FORUM_THREAD);
88
-		$tbl_item_property	= Database :: get_course_table(TABLE_ITEM_PROPERTY);
89
-		$session_id = api_get_session_id();
90
-
91
-		if ($session_id) {
92
-			$session_condition = 'tl.session_id='.api_get_session_id();
93
-		} else {
94
-			$session_condition = '(tl.session_id = 0 OR tl.session_id IS NULL)';
95
-		}
96
-
97
-		$sql = 'SELECT tl.thread_id, tl.thread_title, tl.thread_title_qualify
75
+    }
76
+
77
+    /**
78
+     * Generate an array of all exercises available.
79
+     * @return array 2-dimensional array - every element contains 2 subelements (id, name)
80
+     */
81
+    public function get_all_links()
82
+    {
83
+        if (empty($this->course_code)) {
84
+            die('Error in get_not_created_links() : course code not set');
85
+        }
86
+
87
+        $tbl_grade_links 	= Database :: get_course_table(TABLE_FORUM_THREAD);
88
+        $tbl_item_property	= Database :: get_course_table(TABLE_ITEM_PROPERTY);
89
+        $session_id = api_get_session_id();
90
+
91
+        if ($session_id) {
92
+            $session_condition = 'tl.session_id='.api_get_session_id();
93
+        } else {
94
+            $session_condition = '(tl.session_id = 0 OR tl.session_id IS NULL)';
95
+        }
96
+
97
+        $sql = 'SELECT tl.thread_id, tl.thread_title, tl.thread_title_qualify
98 98
 				FROM '.$tbl_grade_links.' tl INNER JOIN '.$tbl_item_property.' ip
99 99
 				ON (tl.thread_id = ip.ref AND tl.c_id = ip.c_id )
100 100
 				WHERE
@@ -105,24 +105,24 @@  discard block
 block discarded – undo
105 105
                     '.$session_condition.'
106 106
                 ';
107 107
 
108
-		$result = Database::query($sql);
108
+        $result = Database::query($sql);
109 109
 
110
-		while ($data = Database::fetch_array($result)) {
111
-			if ( isset($data['thread_title_qualify']) and $data['thread_title_qualify']!=""){
112
-				$cats[] = array ($data['thread_id'], $data['thread_title_qualify']);
113
-			} else {
114
-				$cats[] = array ($data['thread_id'], $data['thread_title']);
115
-			}
116
-		}
117
-		$my_cats = isset($cats) ? $cats : null;
110
+        while ($data = Database::fetch_array($result)) {
111
+            if ( isset($data['thread_title_qualify']) and $data['thread_title_qualify']!=""){
112
+                $cats[] = array ($data['thread_id'], $data['thread_title_qualify']);
113
+            } else {
114
+                $cats[] = array ($data['thread_id'], $data['thread_title']);
115
+            }
116
+        }
117
+        $my_cats = isset($cats) ? $cats : null;
118 118
 
119
-		return $my_cats;
120
-	}
119
+        return $my_cats;
120
+    }
121 121
 
122 122
     /**
123
-    * Has anyone done this exercise yet ?
124
-    * @return boolean
125
-    */
123
+     * Has anyone done this exercise yet ?
124
+     * @return boolean
125
+     */
126 126
     public function has_results()
127 127
     {
128 128
         $table = Database :: get_course_table(TABLE_FORUM_POST);
@@ -134,40 +134,40 @@  discard block
 block discarded – undo
134 134
         $number = Database::fetch_row($result);
135 135
 
136 136
         return $number[0] != 0;
137
-	}
137
+    }
138 138
 
139
-	/**
140
-	 * @param int    $stud_id
139
+    /**
140
+     * @param int    $stud_id
141 141
      * @param string $type
142 142
      *
143
-	 * @return array|null
144
-	 */
145
-	public function calc_score($stud_id = null, $type = null)
146
-	{
143
+     * @return array|null
144
+     */
145
+    public function calc_score($stud_id = null, $type = null)
146
+    {
147 147
         require_once api_get_path(SYS_CODE_PATH).'forum/forumfunction.inc.php';
148 148
         $threadInfo = get_thread_information($this->get_ref_id());
149 149
 
150
-		$thread_qualify = Database :: get_course_table(TABLE_FORUM_THREAD_QUALIFY);
150
+        $thread_qualify = Database :: get_course_table(TABLE_FORUM_THREAD_QUALIFY);
151 151
 
152
-		$sql = 'SELECT thread_qualify_max
152
+        $sql = 'SELECT thread_qualify_max
153 153
 		        FROM '.Database :: get_course_table(TABLE_FORUM_THREAD)."
154 154
   				WHERE c_id = ".$this->course_id." AND thread_id = '".$this->get_ref_id()."'";
155
-		$query = Database::query($sql);
156
-		$assignment = Database::fetch_array($query);
155
+        $query = Database::query($sql);
156
+        $assignment = Database::fetch_array($query);
157 157
 
158
-		$sql = "SELECT * FROM $thread_qualify
158
+        $sql = "SELECT * FROM $thread_qualify
159 159
 				WHERE c_id = ".$this->course_id." AND thread_id = ".$this->get_ref_id();
160
-		if (isset($stud_id)) {
161
-			$sql .= ' AND user_id = '.intval($stud_id);
162
-		}
160
+        if (isset($stud_id)) {
161
+            $sql .= ' AND user_id = '.intval($stud_id);
162
+        }
163 163
 
164
-		// order by id, that way the student's first attempt is accessed first
165
-		$sql .= ' ORDER BY qualify_time DESC';
164
+        // order by id, that way the student's first attempt is accessed first
165
+        $sql .= ' ORDER BY qualify_time DESC';
166 166
 
167
-		$scores = Database::query($sql);
167
+        $scores = Database::query($sql);
168 168
 
169
-		// for 1 student
170
-		if (isset($stud_id)) {
169
+        // for 1 student
170
+        if (isset($stud_id)) {
171 171
             if ($threadInfo['thread_peer_qualify'] == 0) {
172 172
                 // Classic way of calculate score
173 173
                 if ($data = Database::fetch_array($scores)) {
@@ -195,175 +195,175 @@  discard block
 block discarded – undo
195 195
                 }
196 196
                 return [$score/$counter, $assignment['thread_qualify_max']];
197 197
             }
198
-		} else {
199
-			// All students -> get average
200
-			$students = array();  // user list, needed to make sure we only
201
-			// take first attempts into account
202
-			$counter = 0;
203
-			$sum = 0;
204
-			$bestResult = 0;
205
-			$weight = 0;
206
-			$sumResult = 0;
207
-
208
-			while ($data = Database::fetch_array($scores)) {
209
-				if (!(array_key_exists($data['user_id'], $students))) {
210
-					if ($assignment['thread_qualify_max'] != 0) {
211
-						$students[$data['user_id']] = $data['qualify'];
212
-						$counter++;
213
-						$sum += $data['qualify'] / $assignment['thread_qualify_max'];
214
-						$sumResult += $data['qualify'];
215
-						if ($data['qualify'] > $bestResult) {
216
-							$bestResult = $data['qualify'];
217
-						}
218
-						$weight = $assignment['thread_qualify_max'];
219
-					}
220
-				}
221
-			}
222
-
223
-			if ($counter == 0) {
224
-				return null;
225
-			} else {
226
-				switch ($type) {
227
-					case 'best':
228
-						return array($bestResult, $weight);
229
-						break;
230
-					case 'average':
231
-						return array($sumResult/$counter, $weight);
232
-						break;
233
-					case 'ranking':
234
-						return AbstractLink::getCurrentUserRanking($stud_id, $students);
235
-						break;
236
-					default:
237
-						return array($sum, $counter);
238
-						break;
239
-				}
240
-			}
241
-		}
242
-	}
243
-
244
-	/**
245
-	 * Lazy load function to get the database table of the student publications
246
-	 */
247
-	private function get_forum_thread_table()
248
-	{
249
-		return $this->forum_thread_table = Database :: get_course_table(TABLE_FORUM_THREAD);
250
-	}
251
-
252
-	public function needs_name_and_description()
253
-	{
254
-		return false;
255
-	}
256
-
257
-	public function needs_max()
258
-	{
259
-		return false;
260
-	}
261
-
262
-	public function needs_results()
263
-	{
264
-		return false;
265
-	}
198
+        } else {
199
+            // All students -> get average
200
+            $students = array();  // user list, needed to make sure we only
201
+            // take first attempts into account
202
+            $counter = 0;
203
+            $sum = 0;
204
+            $bestResult = 0;
205
+            $weight = 0;
206
+            $sumResult = 0;
207
+
208
+            while ($data = Database::fetch_array($scores)) {
209
+                if (!(array_key_exists($data['user_id'], $students))) {
210
+                    if ($assignment['thread_qualify_max'] != 0) {
211
+                        $students[$data['user_id']] = $data['qualify'];
212
+                        $counter++;
213
+                        $sum += $data['qualify'] / $assignment['thread_qualify_max'];
214
+                        $sumResult += $data['qualify'];
215
+                        if ($data['qualify'] > $bestResult) {
216
+                            $bestResult = $data['qualify'];
217
+                        }
218
+                        $weight = $assignment['thread_qualify_max'];
219
+                    }
220
+                }
221
+            }
222
+
223
+            if ($counter == 0) {
224
+                return null;
225
+            } else {
226
+                switch ($type) {
227
+                    case 'best':
228
+                        return array($bestResult, $weight);
229
+                        break;
230
+                    case 'average':
231
+                        return array($sumResult/$counter, $weight);
232
+                        break;
233
+                    case 'ranking':
234
+                        return AbstractLink::getCurrentUserRanking($stud_id, $students);
235
+                        break;
236
+                    default:
237
+                        return array($sum, $counter);
238
+                        break;
239
+                }
240
+            }
241
+        }
242
+    }
243
+
244
+    /**
245
+     * Lazy load function to get the database table of the student publications
246
+     */
247
+    private function get_forum_thread_table()
248
+    {
249
+        return $this->forum_thread_table = Database :: get_course_table(TABLE_FORUM_THREAD);
250
+    }
251
+
252
+    public function needs_name_and_description()
253
+    {
254
+        return false;
255
+    }
256
+
257
+    public function needs_max()
258
+    {
259
+        return false;
260
+    }
261
+
262
+    public function needs_results()
263
+    {
264
+        return false;
265
+    }
266 266
 
267 267
     /**
268 268
      * @return string
269 269
      */
270
-	public function get_name()
271
-	{
272
-		$this->get_exercise_data();
273
-		$thread_title=isset($this->exercise_data['thread_title']) ? $this->exercise_data['thread_title'] : '';
274
-		$thread_title_qualify=isset($this->exercise_data['thread_title_qualify']) ? $this->exercise_data['thread_title_qualify'] : '';
275
-		if ( isset($thread_title_qualify) && $thread_title_qualify!="") {
276
-			return $this->exercise_data['thread_title_qualify'];
277
-		} else {
278
-			return $thread_title;
279
-		}
280
-	}
270
+    public function get_name()
271
+    {
272
+        $this->get_exercise_data();
273
+        $thread_title=isset($this->exercise_data['thread_title']) ? $this->exercise_data['thread_title'] : '';
274
+        $thread_title_qualify=isset($this->exercise_data['thread_title_qualify']) ? $this->exercise_data['thread_title_qualify'] : '';
275
+        if ( isset($thread_title_qualify) && $thread_title_qualify!="") {
276
+            return $this->exercise_data['thread_title_qualify'];
277
+        } else {
278
+            return $thread_title;
279
+        }
280
+    }
281 281
 
282 282
     /**
283 283
      * @return string
284 284
      */
285
-	public function get_description()
286
-	{
287
-		return '';//$this->exercise_data['description'];
288
-	}
289
-
290
-	/**
291
-	 * Check if this still links to an exercise
292
-	 */
293
-	public function is_valid_link()
294
-	{
295
-		$sql = 'SELECT count(id) from '.$this->get_forum_thread_table().'
285
+    public function get_description()
286
+    {
287
+        return '';//$this->exercise_data['description'];
288
+    }
289
+
290
+    /**
291
+     * Check if this still links to an exercise
292
+     */
293
+    public function is_valid_link()
294
+    {
295
+        $sql = 'SELECT count(id) from '.$this->get_forum_thread_table().'
296 296
         		WHERE c_id = '.$this->course_id.' AND thread_id = '.$this->get_ref_id().' AND session_id='.api_get_session_id().'';
297
-		$result = Database::query($sql);
298
-		$number = Database::fetch_row($result);
299
-		return ($number[0] != 0);
300
-	}
301
-
302
-	public function get_test_id()
303
-	{
304
-		return 'DEBUG:ID';
305
-	}
306
-
307
-	public function get_link()
308
-	{
309
-		$sessionId = api_get_session_id();
310
-		//it was extracts the forum id
311
-		$sql = 'SELECT * FROM '.$this->get_forum_thread_table()."
297
+        $result = Database::query($sql);
298
+        $number = Database::fetch_row($result);
299
+        return ($number[0] != 0);
300
+    }
301
+
302
+    public function get_test_id()
303
+    {
304
+        return 'DEBUG:ID';
305
+    }
306
+
307
+    public function get_link()
308
+    {
309
+        $sessionId = api_get_session_id();
310
+        //it was extracts the forum id
311
+        $sql = 'SELECT * FROM '.$this->get_forum_thread_table()."
312 312
     			WHERE c_id = '.$this->course_id.' AND thread_id = '".$this->get_ref_id()."' AND session_id = ".$sessionId."";
313
-		$result = Database::query($sql);
314
-		$row    = Database::fetch_array($result,'ASSOC');
315
-		$forum_id=$row['forum_id'];
316
-
317
-		$url = api_get_path(WEB_PATH).'main/forum/viewthread.php?'.api_get_cidreq_params($this->get_course_code(), $sessionId).'&thread='.$this->get_ref_id().'&gradebook=view&forum='.$forum_id;
318
-		return $url;
319
-	}
320
-
321
-	private function get_exercise_data()
322
-	{
323
-		$session_id = api_get_session_id();
324
-		if ($session_id) {
325
-			$session_condition = 'session_id='.api_get_session_id();
326
-		} else {
327
-			$session_condition = '(session_id = 0 OR session_id IS NULL)';
328
-		}
329
-
330
-		if (!isset($this->exercise_data)) {
331
-			$sql = 'SELECT * FROM '.$this->get_forum_thread_table().'
313
+        $result = Database::query($sql);
314
+        $row    = Database::fetch_array($result,'ASSOC');
315
+        $forum_id=$row['forum_id'];
316
+
317
+        $url = api_get_path(WEB_PATH).'main/forum/viewthread.php?'.api_get_cidreq_params($this->get_course_code(), $sessionId).'&thread='.$this->get_ref_id().'&gradebook=view&forum='.$forum_id;
318
+        return $url;
319
+    }
320
+
321
+    private function get_exercise_data()
322
+    {
323
+        $session_id = api_get_session_id();
324
+        if ($session_id) {
325
+            $session_condition = 'session_id='.api_get_session_id();
326
+        } else {
327
+            $session_condition = '(session_id = 0 OR session_id IS NULL)';
328
+        }
329
+
330
+        if (!isset($this->exercise_data)) {
331
+            $sql = 'SELECT * FROM '.$this->get_forum_thread_table().'
332 332
                     WHERE c_id = '.$this->course_id.' AND  thread_id = '.$this->get_ref_id().' AND '.$session_condition;
333
-			$query = Database::query($sql);
334
-			$this->exercise_data = Database::fetch_array($query);
335
-		}
336
-		return $this->exercise_data;
337
-	}
338
-
339
-	public function get_icon_name()
340
-	{
341
-		return 'forum';
342
-	}
343
-
344
-	function save_linked_data()
345
-	{
346
-		$weight = (float)$this->get_weight();
347
-		$ref_id = $this->get_ref_id();
348
-
349
-		if (!empty($ref_id)) {
350
-			$sql = 'UPDATE '.$this->get_forum_thread_table().' SET thread_weight='.$weight.'
333
+            $query = Database::query($sql);
334
+            $this->exercise_data = Database::fetch_array($query);
335
+        }
336
+        return $this->exercise_data;
337
+    }
338
+
339
+    public function get_icon_name()
340
+    {
341
+        return 'forum';
342
+    }
343
+
344
+    function save_linked_data()
345
+    {
346
+        $weight = (float)$this->get_weight();
347
+        $ref_id = $this->get_ref_id();
348
+
349
+        if (!empty($ref_id)) {
350
+            $sql = 'UPDATE '.$this->get_forum_thread_table().' SET thread_weight='.$weight.'
351 351
                     WHERE c_id = '.$this->course_id.' AND thread_id= '.$ref_id;
352
-			Database::query($sql);
353
-		}
354
-	}
355
-
356
-	function delete_linked_data()
357
-	{
358
-		$ref_id = $this->get_ref_id();
359
-		if (!empty($ref_id)) {
360
-			//Cleans forum
361
-			$sql = 'UPDATE '.$this->get_forum_thread_table().' SET
352
+            Database::query($sql);
353
+        }
354
+    }
355
+
356
+    function delete_linked_data()
357
+    {
358
+        $ref_id = $this->get_ref_id();
359
+        if (!empty($ref_id)) {
360
+            //Cleans forum
361
+            $sql = 'UPDATE '.$this->get_forum_thread_table().' SET
362 362
 			        thread_qualify_max = 0,
363 363
 			        thread_weight = 0,
364 364
 			        thread_title_qualify = ""
365 365
                     WHERE c_id = '.$this->course_id.' AND thread_id= '.$ref_id;
366
-			Database::query($sql);
367
-		}
368
-	}
366
+            Database::query($sql);
367
+        }
368
+    }
369 369
 }
Please login to merge, or discard this patch.
main/gradebook/lib/be/result.class.php 2 patches
Spacing   +29 added lines, -29 removed lines patch added patch discarded remove patch
@@ -90,23 +90,23 @@  discard block
 block discarded – undo
90 90
         if (is_null($id) && is_null($user_id) && !is_null($evaluation_id)) {
91 91
             // Verified_if_exist_evaluation
92 92
             $sql = 'SELECT COUNT(*) AS count
93
-                    FROM ' . $tbl_grade_results . '
94
-                    WHERE evaluation_id="' . Database::escape_string($evaluation_id) . '";';
93
+                    FROM ' . $tbl_grade_results.'
94
+                    WHERE evaluation_id="' . Database::escape_string($evaluation_id).'";';
95 95
             $result = Database::query($sql);
96 96
             $existEvaluation = Database::result($result, 0, 0);
97 97
 
98 98
             if ($existEvaluation != 0) {
99 99
                 if ($sessionId) {
100 100
                     $sql = 'SELECT c_id, user_id as user_id, status
101
-                            FROM ' . $tbl_session_rel_course_user . '
101
+                            FROM ' . $tbl_session_rel_course_user.'
102 102
 							WHERE
103 103
 							    status= 0 AND
104
-							    c_id = "' . api_get_course_int_id() . '" AND
104
+							    c_id = "' . api_get_course_int_id().'" AND
105 105
 							    session_id = ' . $sessionId;
106 106
                 } else {
107 107
                     $sql = 'SELECT c_id, user_id, status
108
-                            FROM ' . $tbl_course_rel_course . '
109
-                            WHERE status ="' . STUDENT . '" AND c_id = "' . api_get_course_int_id() . '" ';
108
+                            FROM ' . $tbl_course_rel_course.'
109
+                            WHERE status ="' . STUDENT.'" AND c_id = "'.api_get_course_int_id().'" ';
110 110
                 }
111 111
 
112 112
                 $res_course_rel_user = Database::query($sql);
@@ -116,15 +116,15 @@  discard block
 block discarded – undo
116 116
                 $current_date = api_get_utc_datetime();
117 117
                 for ($i = 0; $i < count($list_user_course_list); $i++) {
118 118
                     $sql_verified = 'SELECT COUNT(*) AS count
119
-                                    FROM ' . $tbl_grade_results . '
119
+                                    FROM ' . $tbl_grade_results.'
120 120
                                     WHERE
121
-                                        user_id="' . intval($list_user_course_list[$i]['user_id']) . '" AND
122
-                                        evaluation_id="' . intval($evaluation_id) . '";';
121
+                                        user_id="' . intval($list_user_course_list[$i]['user_id']).'" AND
122
+                                        evaluation_id="' . intval($evaluation_id).'";';
123 123
                     $res_verified = Database::query($sql_verified);
124 124
                     $info_verified = Database::result($res_verified, 0, 0);
125 125
                     if ($info_verified == 0) {
126
-                        $sql_insert = 'INSERT INTO ' . $tbl_grade_results . '(user_id,evaluation_id,created_at,score)
127
-									   VALUES ("' . intval($list_user_course_list[$i]['user_id']) . '","' . intval($evaluation_id) . '","' . $current_date . '",0);';
126
+                        $sql_insert = 'INSERT INTO '.$tbl_grade_results.'(user_id,evaluation_id,created_at,score)
127
+									   VALUES ("' . intval($list_user_course_list[$i]['user_id']).'","'.intval($evaluation_id).'","'.$current_date.'",0);';
128 128
                         Database::query($sql_insert);
129 129
                     }
130 130
                 }
@@ -148,16 +148,16 @@  discard block
 block discarded – undo
148 148
 
149 149
         $paramcount = 0;
150 150
         if (!empty($id)) {
151
-            $sql.= ' WHERE gr.id = ' . intval($id);
152
-            $paramcount ++;
151
+            $sql .= ' WHERE gr.id = '.intval($id);
152
+            $paramcount++;
153 153
         }
154 154
         if (!empty($user_id)) {
155 155
             if ($paramcount != 0)
156 156
                 $sql .= ' AND';
157 157
             else
158 158
                 $sql .= ' WHERE';
159
-            $sql .= ' gr.user_id = ' . intval($user_id);
160
-            $paramcount ++;
159
+            $sql .= ' gr.user_id = '.intval($user_id);
160
+            $paramcount++;
161 161
         }
162 162
         if (!empty($evaluation_id)) {
163 163
             if ($paramcount != 0) {
@@ -165,8 +165,8 @@  discard block
 block discarded – undo
165 165
             } else {
166 166
                 $sql .= ' WHERE';
167 167
             }
168
-            $sql .= ' gr.evaluation_id = ' . intval($evaluation_id);
169
-            $paramcount ++;
168
+            $sql .= ' gr.evaluation_id = '.intval($evaluation_id);
169
+            $paramcount++;
170 170
         }
171 171
         $sql .= ' ORDER BY u.lastname, u.firstname';
172 172
         $result = Database::query($sql);
@@ -191,17 +191,17 @@  discard block
 block discarded – undo
191 191
     {
192 192
         if (isset($this->user_id) && isset($this->evaluation)) {
193 193
             $tbl_grade_results = Database :: get_main_table(TABLE_MAIN_GRADEBOOK_RESULT);
194
-            $sql = "INSERT INTO " . $tbl_grade_results
194
+            $sql = "INSERT INTO ".$tbl_grade_results
195 195
                 . " (user_id, evaluation_id,
196 196
 					created_at";
197 197
             if (isset($this->score)) {
198 198
                 $sql .= ",score";
199 199
             }
200 200
             $sql .= ") VALUES
201
-					(" . (int) $this->get_user_id() . ", " . (int) $this->get_evaluation_id()
202
-                . ", '" . $this->get_date() . "' ";
201
+					(" . (int) $this->get_user_id().", ".(int) $this->get_evaluation_id()
202
+                . ", '".$this->get_date()."' ";
203 203
             if (isset($this->score)) {
204
-                $sql .= ", " . $this->get_score();
204
+                $sql .= ", ".$this->get_score();
205 205
             }
206 206
             $sql .= ")";
207 207
             Database::query($sql);
@@ -222,16 +222,16 @@  discard block
 block discarded – undo
222 222
             $arr_result = $result->load(null, $userid, $evaluationid);
223 223
             $arr = get_object_vars($arr_result[0]);
224 224
 
225
-            $sql = 'INSERT INTO ' . $tbl_grade_results_log
225
+            $sql = 'INSERT INTO '.$tbl_grade_results_log
226 226
                 . ' (id_result,user_id, evaluation_id,created_at';
227 227
             if (isset($arr['score'])) {
228 228
                 $sql .= ',score';
229 229
             }
230 230
             $sql .= ') VALUES
231
-					(' . (int) $arr['id'] . ',' . (int) $arr['user_id'] . ', ' . (int) $arr['evaluation']
232
-                . ", '" . api_get_utc_datetime() . "'";
231
+					(' . (int) $arr['id'].','.(int) $arr['user_id'].', '.(int) $arr['evaluation']
232
+                . ", '".api_get_utc_datetime()."'";
233 233
             if (isset($arr['score'])) {
234
-                $sql .= ', ' . $arr['score'];
234
+                $sql .= ', '.$arr['score'];
235 235
             }
236 236
             $sql .= ')';
237 237
 
@@ -247,16 +247,16 @@  discard block
 block discarded – undo
247 247
     public function save()
248 248
     {
249 249
         $tbl_grade_results = Database :: get_main_table(TABLE_MAIN_GRADEBOOK_RESULT);
250
-        $sql = 'UPDATE ' . $tbl_grade_results . '
250
+        $sql = 'UPDATE '.$tbl_grade_results.'
251 251
                 SET user_id = ' . $this->get_user_id()
252
-            . ', evaluation_id = ' . $this->get_evaluation_id()
252
+            . ', evaluation_id = '.$this->get_evaluation_id()
253 253
             . ', score = ';
254 254
         if (isset($this->score)) {
255 255
             $sql .= $this->get_score();
256 256
         } else {
257 257
             $sql .= 'null';
258 258
         }
259
-        $sql .= ' WHERE id = ' . $this->id;
259
+        $sql .= ' WHERE id = '.$this->id;
260 260
         // no need to update creation date
261 261
         Database::query($sql);
262 262
     }
@@ -267,7 +267,7 @@  discard block
 block discarded – undo
267 267
     public function delete()
268 268
     {
269 269
         $tbl_grade_results = Database :: get_main_table(TABLE_MAIN_GRADEBOOK_RESULT);
270
-        $sql = 'DELETE FROM ' . $tbl_grade_results . ' WHERE id = ' . $this->id;
270
+        $sql = 'DELETE FROM '.$tbl_grade_results.' WHERE id = '.$this->id;
271 271
         Database::query($sql);
272 272
     }
273 273
 }
Please login to merge, or discard this patch.
Braces   +5 added lines, -4 removed lines patch added patch discarded remove patch
@@ -152,10 +152,11 @@
 block discarded – undo
152 152
             $paramcount ++;
153 153
         }
154 154
         if (!empty($user_id)) {
155
-            if ($paramcount != 0)
156
-                $sql .= ' AND';
157
-            else
158
-                $sql .= ' WHERE';
155
+            if ($paramcount != 0) {
156
+                            $sql .= ' AND';
157
+            } else {
158
+                            $sql .= ' WHERE';
159
+            }
159 160
             $sql .= ' gr.user_id = ' . intval($user_id);
160 161
             $paramcount ++;
161 162
         }
Please login to merge, or discard this patch.
main/gradebook/lib/be/studentpublicationlink.class.php 2 patches
Spacing   +10 added lines, -10 removed lines patch added patch discarded remove patch
@@ -84,9 +84,9 @@  discard block
 block discarded – undo
84 84
 
85 85
 		$result = Database::query($sql);
86 86
 
87
-		$cats=array();
88
-		while ($data=Database::fetch_array($result)) {
89
-			$cats[] = array ($data['id'], $data['url']);
87
+		$cats = array();
88
+		while ($data = Database::fetch_array($result)) {
89
+			$cats[] = array($data['id'], $data['url']);
90 90
 		}
91 91
 		return $cats;
92 92
 	}
@@ -127,9 +127,9 @@  discard block
 block discarded – undo
127 127
 			if (empty($work_name)) {
128 128
 				$work_name = basename($data['url']);
129 129
 			}
130
-			$cats[] = array ($data['id'], $work_name);
130
+			$cats[] = array($data['id'], $work_name);
131 131
 		}
132
-		$cats=isset($cats) ? $cats : array();
132
+		$cats = isset($cats) ? $cats : array();
133 133
 		return $cats;
134 134
 	}
135 135
 
@@ -178,7 +178,7 @@  discard block
 block discarded – undo
178 178
     				c_id = '.$this->course_id.' AND
179 179
     				active = 1 AND
180 180
     				parent_id = "'.$parentId.'" AND
181
-    				session_id = '.api_get_session_id() .' AND
181
+    				session_id = '.api_get_session_id().' AND
182 182
     				qualificator_id <> 0
183 183
 				';
184 184
 		if (!empty($stud_id)) {
@@ -212,7 +212,7 @@  discard block
 block discarded – undo
212 212
 				return '';
213 213
 			}
214 214
 		} else {
215
-			$students = array();  // user list, needed to make sure we only
215
+			$students = array(); // user list, needed to make sure we only
216 216
 			// take first attempts into account
217 217
 			$rescount = 0;
218 218
 			$sum = 0;
@@ -245,7 +245,7 @@  discard block
 block discarded – undo
245 245
 						return array($bestResult, $weight);
246 246
 						break;
247 247
 					case 'average':
248
-						return array($sumResult/$rescount, $weight);
248
+						return array($sumResult / $rescount, $weight);
249 249
 						break;
250 250
 					case 'ranking':
251 251
 						return AbstractLink::getCurrentUserRanking($stud_id, $students);
@@ -307,7 +307,7 @@  discard block
 block discarded – undo
307 307
 	{
308 308
 		$tbl_name = $this->get_studpub_table();
309 309
 		$course_info = api_get_course_info($this->get_course_code());
310
-		if ($tbl_name=='') {
310
+		if ($tbl_name == '') {
311 311
 			return false;
312 312
 		} elseif (!isset($this->exercise_data)) {
313 313
 			$sql = 'SELECT * FROM '.$this->get_studpub_table()."
@@ -346,7 +346,7 @@  discard block
 block discarded – undo
346 346
 
347 347
 	public function save_linked_data()
348 348
 	{
349
-		$weight = (float)$this->get_weight();
349
+		$weight = (float) $this->get_weight();
350 350
 		$ref_id = $this->get_ref_id();
351 351
 
352 352
 		if (!empty($ref_id)) {
Please login to merge, or discard this patch.
Indentation   +318 added lines, -318 removed lines patch added patch discarded remove patch
@@ -8,102 +8,102 @@  discard block
 block discarded – undo
8 8
  */
9 9
 class StudentPublicationLink extends AbstractLink
10 10
 {
11
-	private $studpub_table = null;
12
-	private $itemprop_table = null;
13
-
14
-	/**
15
-	 * Constructor
16
-	 */
17
-	public function __construct()
18
-	{
19
-		parent::__construct();
20
-		$this->set_type(LINK_STUDENTPUBLICATION);
21
-	}
22
-
23
-	/**
24
-	 *
25
-	 * Returns the URL of a document
26
-	 * This function is loaded when using a gradebook as a tab (gradebook = -1)
27
-	 * see issue #2705
28
-	 *
29
-	 */
30
-	public function get_view_url($stud_id)
31
-	{
32
-		// find a file uploaded by the given student,
33
-		// with the same title as the evaluation name
34
-
35
-		$eval = $this->get_evaluation();
36
-		$stud_id = intval($stud_id);
37
-
38
-		$sql = 'SELECT pub.url
11
+    private $studpub_table = null;
12
+    private $itemprop_table = null;
13
+
14
+    /**
15
+     * Constructor
16
+     */
17
+    public function __construct()
18
+    {
19
+        parent::__construct();
20
+        $this->set_type(LINK_STUDENTPUBLICATION);
21
+    }
22
+
23
+    /**
24
+     *
25
+     * Returns the URL of a document
26
+     * This function is loaded when using a gradebook as a tab (gradebook = -1)
27
+     * see issue #2705
28
+     *
29
+     */
30
+    public function get_view_url($stud_id)
31
+    {
32
+        // find a file uploaded by the given student,
33
+        // with the same title as the evaluation name
34
+
35
+        $eval = $this->get_evaluation();
36
+        $stud_id = intval($stud_id);
37
+
38
+        $sql = 'SELECT pub.url
39 39
 				FROM '.$this->get_itemprop_table().' prop, '.$this->get_studpub_table().' pub'
40
-			." WHERE
40
+            ." WHERE
41 41
 					prop.c_id = ".$this->course_id." AND
42 42
 					pub.c_id = ".$this->course_id." AND
43 43
 					prop.tool = 'work'"
44
-			.' AND prop.insert_user_id = '.$stud_id
45
-			.' AND prop.ref = pub.id'
46
-			." AND pub.title = '".Database::escape_string($eval->get_name())."' AND pub.session_id=".api_get_session_id()."";
47
-
48
-		$result = Database::query($sql);
49
-		if ($fileurl = Database::fetch_row($result)) {
50
-			return null;
51
-		} else {
52
-			return null;
53
-		}
54
-	}
55
-
56
-	public function get_type_name()
57
-	{
58
-		return get_lang('Works');
59
-	}
60
-
61
-	public function is_allowed_to_change_name()
62
-	{
63
-		return false;
64
-	}
65
-
66
-	/**
67
-	 * Generate an array of exercises that a teacher hasn't created a link for.
68
-	 * @return array 2-dimensional array - every element contains 2 subelements (id, name)
69
-	 */
70
-	public function get_not_created_links()
71
-	{
72
-		return false;
73
-		if (empty($this->course_code)) {
74
-			die('Error in get_not_created_links() : course code not set');
75
-		}
76
-		$tbl_grade_links = Database :: get_main_table(TABLE_MAIN_GRADEBOOK_LINK);
77
-
78
-		$sql = 'SELECT id, url from '.$this->get_studpub_table()
79
-			.' pup WHERE c_id = '.$this->course_id.' AND has_properties != '."''".' AND id NOT IN'
80
-			.' (SELECT ref_id FROM '.$tbl_grade_links
81
-			.' WHERE type = '.LINK_STUDENTPUBLICATION
82
-			." AND course_code = '".Database::escape_string($this->get_course_code())."'"
83
-			.') AND pub.session_id='.api_get_session_id().'';
84
-
85
-		$result = Database::query($sql);
86
-
87
-		$cats=array();
88
-		while ($data=Database::fetch_array($result)) {
89
-			$cats[] = array ($data['id'], $data['url']);
90
-		}
91
-		return $cats;
92
-	}
93
-
94
-	/**
95
-	 * Generate an array of all exercises available.
96
-	 * @return array 2-dimensional array - every element contains 2 subelements (id, name)
97
-	 */
98
-	public function get_all_links()
99
-	{
100
-		if (empty($this->course_code)) {
101
-			die('Error in get_not_created_links() : course code not set');
102
-		}
103
-		$tbl_grade_links = Database :: get_course_table(TABLE_STUDENT_PUBLICATION);
104
-
105
-		$session_id = api_get_session_id();
106
-		/*
44
+            .' AND prop.insert_user_id = '.$stud_id
45
+            .' AND prop.ref = pub.id'
46
+            ." AND pub.title = '".Database::escape_string($eval->get_name())."' AND pub.session_id=".api_get_session_id()."";
47
+
48
+        $result = Database::query($sql);
49
+        if ($fileurl = Database::fetch_row($result)) {
50
+            return null;
51
+        } else {
52
+            return null;
53
+        }
54
+    }
55
+
56
+    public function get_type_name()
57
+    {
58
+        return get_lang('Works');
59
+    }
60
+
61
+    public function is_allowed_to_change_name()
62
+    {
63
+        return false;
64
+    }
65
+
66
+    /**
67
+     * Generate an array of exercises that a teacher hasn't created a link for.
68
+     * @return array 2-dimensional array - every element contains 2 subelements (id, name)
69
+     */
70
+    public function get_not_created_links()
71
+    {
72
+        return false;
73
+        if (empty($this->course_code)) {
74
+            die('Error in get_not_created_links() : course code not set');
75
+        }
76
+        $tbl_grade_links = Database :: get_main_table(TABLE_MAIN_GRADEBOOK_LINK);
77
+
78
+        $sql = 'SELECT id, url from '.$this->get_studpub_table()
79
+            .' pup WHERE c_id = '.$this->course_id.' AND has_properties != '."''".' AND id NOT IN'
80
+            .' (SELECT ref_id FROM '.$tbl_grade_links
81
+            .' WHERE type = '.LINK_STUDENTPUBLICATION
82
+            ." AND course_code = '".Database::escape_string($this->get_course_code())."'"
83
+            .') AND pub.session_id='.api_get_session_id().'';
84
+
85
+        $result = Database::query($sql);
86
+
87
+        $cats=array();
88
+        while ($data=Database::fetch_array($result)) {
89
+            $cats[] = array ($data['id'], $data['url']);
90
+        }
91
+        return $cats;
92
+    }
93
+
94
+    /**
95
+     * Generate an array of all exercises available.
96
+     * @return array 2-dimensional array - every element contains 2 subelements (id, name)
97
+     */
98
+    public function get_all_links()
99
+    {
100
+        if (empty($this->course_code)) {
101
+            die('Error in get_not_created_links() : course code not set');
102
+        }
103
+        $tbl_grade_links = Database :: get_course_table(TABLE_STUDENT_PUBLICATION);
104
+
105
+        $session_id = api_get_session_id();
106
+        /*
107 107
         if (empty($session_id)) {
108 108
             $session_condition = api_get_session_condition(0, true);
109 109
         } else {
@@ -112,68 +112,68 @@  discard block
 block discarded – undo
112 112
         $sql = "SELECT id, url, title FROM $tbl_grade_links
113 113
                 WHERE c_id = {$this->course_id}  AND filetype='folder' AND active = 1 $session_condition ";*/
114 114
 
115
-		//Only show works from the session
116
-		//AND has_properties != ''
117
-		$sql = "SELECT id, url, title FROM $tbl_grade_links
115
+        //Only show works from the session
116
+        //AND has_properties != ''
117
+        $sql = "SELECT id, url, title FROM $tbl_grade_links
118 118
 				WHERE
119 119
 					c_id = {$this->course_id} AND
120 120
 					active = 1 AND
121 121
 					filetype='folder' AND
122 122
 					session_id = ".api_get_session_id()."";
123 123
 
124
-		$result = Database::query($sql);
125
-		while ($data = Database::fetch_array($result)) {
126
-			$work_name = $data['title'];
127
-			if (empty($work_name)) {
128
-				$work_name = basename($data['url']);
129
-			}
130
-			$cats[] = array ($data['id'], $work_name);
131
-		}
132
-		$cats=isset($cats) ? $cats : array();
133
-		return $cats;
134
-	}
135
-
136
-	/**
137
-	 * Has anyone done this exercise yet ?
138
-	 */
139
-	public function has_results()
140
-	{
141
-		$tbl_grade_links = Database :: get_course_table(TABLE_STUDENT_PUBLICATION);
142
-		$sql = 'SELECT count(*) AS number FROM '.$tbl_grade_links."
124
+        $result = Database::query($sql);
125
+        while ($data = Database::fetch_array($result)) {
126
+            $work_name = $data['title'];
127
+            if (empty($work_name)) {
128
+                $work_name = basename($data['url']);
129
+            }
130
+            $cats[] = array ($data['id'], $work_name);
131
+        }
132
+        $cats=isset($cats) ? $cats : array();
133
+        return $cats;
134
+    }
135
+
136
+    /**
137
+     * Has anyone done this exercise yet ?
138
+     */
139
+    public function has_results()
140
+    {
141
+        $tbl_grade_links = Database :: get_course_table(TABLE_STUDENT_PUBLICATION);
142
+        $sql = 'SELECT count(*) AS number FROM '.$tbl_grade_links."
143 143
 				WHERE 	c_id 		= {$this->course_id} AND
144 144
 						parent_id 	= '".intval($this->get_ref_id())."' AND
145 145
 						session_id	=".api_get_session_id()."";
146
-		$result = Database::query($sql);
147
-		$number = Database::fetch_row($result);
148
-		return ($number[0] != 0);
149
-	}
150
-
151
-	/**
152
-	 * @param null $stud_id
153
-	 * @return array|null
154
-	 */
155
-	public function calc_score($stud_id = null, $type = null)
156
-	{
157
-		$stud_id = intval($stud_id);
158
-		$table = Database::get_course_table(TABLE_STUDENT_PUBLICATION);
159
-		$sql = 'SELECT * FROM '.$table."
146
+        $result = Database::query($sql);
147
+        $number = Database::fetch_row($result);
148
+        return ($number[0] != 0);
149
+    }
150
+
151
+    /**
152
+     * @param null $stud_id
153
+     * @return array|null
154
+     */
155
+    public function calc_score($stud_id = null, $type = null)
156
+    {
157
+        $stud_id = intval($stud_id);
158
+        $table = Database::get_course_table(TABLE_STUDENT_PUBLICATION);
159
+        $sql = 'SELECT * FROM '.$table."
160 160
     			WHERE
161 161
     				c_id = {$this->course_id} AND
162 162
     				id  = '".intval($this->get_ref_id())."' AND
163 163
     				session_id	= ".api_get_session_id()."
164 164
 				"
165
-		;
165
+        ;
166 166
 
167
-		$query = Database::query($sql);
168
-		$assignment = Database::fetch_array($query);
167
+        $query = Database::query($sql);
168
+        $assignment = Database::fetch_array($query);
169 169
 
170
-		if (count($assignment) == 0) {
171
-			$parentId = '0';
172
-		} else {
173
-			$parentId = $assignment['id'];
174
-		}
170
+        if (count($assignment) == 0) {
171
+            $parentId = '0';
172
+        } else {
173
+            $parentId = $assignment['id'];
174
+        }
175 175
 
176
-		$sql = 'SELECT * FROM '.$table.'
176
+        $sql = 'SELECT * FROM '.$table.'
177 177
     			WHERE
178 178
     				c_id = '.$this->course_id.' AND
179 179
     				active = 1 AND
@@ -181,191 +181,191 @@  discard block
 block discarded – undo
181 181
     				session_id = '.api_get_session_id() .' AND
182 182
     				qualificator_id <> 0
183 183
 				';
184
-		if (!empty($stud_id)) {
185
-			$sql .= " AND user_id = $stud_id ";
186
-		}
187
-
188
-		$order = api_get_setting('student_publication_to_take_in_gradebook');
189
-
190
-		switch ($order) {
191
-			case 'last':
192
-				// latest attempt
193
-				$sql .= ' ORDER BY sent_date DESC';
194
-				break;
195
-			case 'first':
196
-			default:
197
-				// first attempt
198
-				$sql .= ' ORDER BY id';
199
-				break;
200
-		}
201
-
202
-		$scores = Database::query($sql);
203
-
204
-		// for 1 student
205
-		if (!empty($stud_id)) {
206
-			if ($data = Database::fetch_array($scores)) {
207
-				return array(
208
-					$data['qualification'],
209
-					$assignment['qualification']
210
-				);
211
-			} else {
212
-				return '';
213
-			}
214
-		} else {
215
-			$students = array();  // user list, needed to make sure we only
216
-			// take first attempts into account
217
-			$rescount = 0;
218
-			$sum = 0;
219
-			$bestResult = 0;
220
-			$weight = 0;
221
-			$sumResult = 0;
222
-			$myResult = 0;
223
-
224
-			while ($data = Database::fetch_array($scores)) {
225
-				if (!(array_key_exists($data['user_id'], $students))) {
226
-					if ($assignment['qualification'] != 0) {
227
-						$students[$data['user_id']] = $data['qualification'];
228
-						$rescount++;
229
-						$sum += $data['qualification'] / $assignment['qualification'];
230
-						$sumResult += $data['qualification'];
231
-
232
-						if ($data['qualification'] > $bestResult) {
233
-							$bestResult = $data['qualification'];
234
-						}
235
-						$weight = $assignment['qualification'];
236
-					}
237
-				}
238
-			}
239
-
240
-			if ($rescount == 0) {
241
-				return null;
242
-			} else {
243
-				switch ($type) {
244
-					case 'best':
245
-						return array($bestResult, $weight);
246
-						break;
247
-					case 'average':
248
-						return array($sumResult/$rescount, $weight);
249
-						break;
250
-					case 'ranking':
251
-						return AbstractLink::getCurrentUserRanking($stud_id, $students);
252
-						break;
253
-					default:
254
-						return array($sum, $rescount);
255
-						break;
256
-				}
257
-			}
258
-		}
259
-	}
260
-
261
-	/**
262
-	 * Lazy load function to get the database table of the student publications
263
-	 */
264
-	private function get_studpub_table()
265
-	{
266
-		return $this->studpub_table = Database :: get_course_table(TABLE_STUDENT_PUBLICATION);
267
-	}
268
-
269
-	/**
270
-	 * Lazy load function to get the database table of the item properties
271
-	 */
272
-	private function get_itemprop_table()
273
-	{
274
-		return $this->itemprop_table = Database :: get_course_table(TABLE_ITEM_PROPERTY);
275
-	}
276
-
277
-	public function needs_name_and_description()
278
-	{
279
-		return false;
280
-	}
281
-
282
-	public function get_name()
283
-	{
284
-		$this->get_exercise_data();
285
-		return (isset($this->exercise_data['title']) && !empty($this->exercise_data['title'])) ? $this->exercise_data['title'] : get_lang('Untitled');
286
-	}
287
-
288
-	public function get_description()
289
-	{
290
-		$this->get_exercise_data();
291
-		return isset($this->exercise_data['description']) ? $this->exercise_data['description'] : null;
292
-	}
293
-
294
-	public function get_test_id()
295
-	{
296
-		return 'DEBUG:ID';
297
-	}
298
-
299
-	public function get_link()
300
-	{
301
-		$session_id = api_get_session_id();
302
-		$url = api_get_path(WEB_PATH).'main/work/work.php?'.api_get_cidreq_params($this->get_course_code(), $session_id).'&id='.$this->exercise_data['id'].'&gradebook=view';
303
-
304
-		return $url;
305
-	}
306
-
307
-	private function get_exercise_data()
308
-	{
309
-		$tbl_name = $this->get_studpub_table();
310
-		$course_info = api_get_course_info($this->get_course_code());
311
-		if ($tbl_name=='') {
312
-			return false;
313
-		} elseif (!isset($this->exercise_data)) {
314
-			$sql = 'SELECT * FROM '.$this->get_studpub_table()."
184
+        if (!empty($stud_id)) {
185
+            $sql .= " AND user_id = $stud_id ";
186
+        }
187
+
188
+        $order = api_get_setting('student_publication_to_take_in_gradebook');
189
+
190
+        switch ($order) {
191
+            case 'last':
192
+                // latest attempt
193
+                $sql .= ' ORDER BY sent_date DESC';
194
+                break;
195
+            case 'first':
196
+            default:
197
+                // first attempt
198
+                $sql .= ' ORDER BY id';
199
+                break;
200
+        }
201
+
202
+        $scores = Database::query($sql);
203
+
204
+        // for 1 student
205
+        if (!empty($stud_id)) {
206
+            if ($data = Database::fetch_array($scores)) {
207
+                return array(
208
+                    $data['qualification'],
209
+                    $assignment['qualification']
210
+                );
211
+            } else {
212
+                return '';
213
+            }
214
+        } else {
215
+            $students = array();  // user list, needed to make sure we only
216
+            // take first attempts into account
217
+            $rescount = 0;
218
+            $sum = 0;
219
+            $bestResult = 0;
220
+            $weight = 0;
221
+            $sumResult = 0;
222
+            $myResult = 0;
223
+
224
+            while ($data = Database::fetch_array($scores)) {
225
+                if (!(array_key_exists($data['user_id'], $students))) {
226
+                    if ($assignment['qualification'] != 0) {
227
+                        $students[$data['user_id']] = $data['qualification'];
228
+                        $rescount++;
229
+                        $sum += $data['qualification'] / $assignment['qualification'];
230
+                        $sumResult += $data['qualification'];
231
+
232
+                        if ($data['qualification'] > $bestResult) {
233
+                            $bestResult = $data['qualification'];
234
+                        }
235
+                        $weight = $assignment['qualification'];
236
+                    }
237
+                }
238
+            }
239
+
240
+            if ($rescount == 0) {
241
+                return null;
242
+            } else {
243
+                switch ($type) {
244
+                    case 'best':
245
+                        return array($bestResult, $weight);
246
+                        break;
247
+                    case 'average':
248
+                        return array($sumResult/$rescount, $weight);
249
+                        break;
250
+                    case 'ranking':
251
+                        return AbstractLink::getCurrentUserRanking($stud_id, $students);
252
+                        break;
253
+                    default:
254
+                        return array($sum, $rescount);
255
+                        break;
256
+                }
257
+            }
258
+        }
259
+    }
260
+
261
+    /**
262
+     * Lazy load function to get the database table of the student publications
263
+     */
264
+    private function get_studpub_table()
265
+    {
266
+        return $this->studpub_table = Database :: get_course_table(TABLE_STUDENT_PUBLICATION);
267
+    }
268
+
269
+    /**
270
+     * Lazy load function to get the database table of the item properties
271
+     */
272
+    private function get_itemprop_table()
273
+    {
274
+        return $this->itemprop_table = Database :: get_course_table(TABLE_ITEM_PROPERTY);
275
+    }
276
+
277
+    public function needs_name_and_description()
278
+    {
279
+        return false;
280
+    }
281
+
282
+    public function get_name()
283
+    {
284
+        $this->get_exercise_data();
285
+        return (isset($this->exercise_data['title']) && !empty($this->exercise_data['title'])) ? $this->exercise_data['title'] : get_lang('Untitled');
286
+    }
287
+
288
+    public function get_description()
289
+    {
290
+        $this->get_exercise_data();
291
+        return isset($this->exercise_data['description']) ? $this->exercise_data['description'] : null;
292
+    }
293
+
294
+    public function get_test_id()
295
+    {
296
+        return 'DEBUG:ID';
297
+    }
298
+
299
+    public function get_link()
300
+    {
301
+        $session_id = api_get_session_id();
302
+        $url = api_get_path(WEB_PATH).'main/work/work.php?'.api_get_cidreq_params($this->get_course_code(), $session_id).'&id='.$this->exercise_data['id'].'&gradebook=view';
303
+
304
+        return $url;
305
+    }
306
+
307
+    private function get_exercise_data()
308
+    {
309
+        $tbl_name = $this->get_studpub_table();
310
+        $course_info = api_get_course_info($this->get_course_code());
311
+        if ($tbl_name=='') {
312
+            return false;
313
+        } elseif (!isset($this->exercise_data)) {
314
+            $sql = 'SELECT * FROM '.$this->get_studpub_table()."
315 315
 					WHERE
316 316
 					 	c_id ='".$course_info['real_id']."' AND
317 317
 					 	id = '".intval($this->get_ref_id())."' ";
318
-			$query = Database::query($sql);
319
-			$this->exercise_data = Database::fetch_array($query);
320
-		}
321
-		return $this->exercise_data;
322
-	}
323
-
324
-	public function needs_max()
325
-	{
326
-		return false;
327
-	}
328
-
329
-	public function needs_results()
330
-	{
331
-		return false;
332
-	}
333
-
334
-	public function is_valid_link()
335
-	{
336
-		$sql = 'SELECT count(id) FROM '.$this->get_studpub_table().'
318
+            $query = Database::query($sql);
319
+            $this->exercise_data = Database::fetch_array($query);
320
+        }
321
+        return $this->exercise_data;
322
+    }
323
+
324
+    public function needs_max()
325
+    {
326
+        return false;
327
+    }
328
+
329
+    public function needs_results()
330
+    {
331
+        return false;
332
+    }
333
+
334
+    public function is_valid_link()
335
+    {
336
+        $sql = 'SELECT count(id) FROM '.$this->get_studpub_table().'
337 337
     			WHERE c_id = "'.$this->course_id.'" AND id = '.intval($this->get_ref_id()).'';
338
-		$result = Database::query($sql);
339
-		$number = Database::fetch_row($result);
340
-		return ($number[0] != 0);
341
-	}
342
-
343
-	public function get_icon_name()
344
-	{
345
-		return 'studentpublication';
346
-	}
347
-
348
-	public function save_linked_data()
349
-	{
350
-		$weight = (float)$this->get_weight();
351
-		$ref_id = $this->get_ref_id();
352
-
353
-		if (!empty($ref_id)) {
354
-			//Cleans works
355
-			$sql = 'UPDATE '.$this->get_studpub_table().' SET weight= '.$weight.'
338
+        $result = Database::query($sql);
339
+        $number = Database::fetch_row($result);
340
+        return ($number[0] != 0);
341
+    }
342
+
343
+    public function get_icon_name()
344
+    {
345
+        return 'studentpublication';
346
+    }
347
+
348
+    public function save_linked_data()
349
+    {
350
+        $weight = (float)$this->get_weight();
351
+        $ref_id = $this->get_ref_id();
352
+
353
+        if (!empty($ref_id)) {
354
+            //Cleans works
355
+            $sql = 'UPDATE '.$this->get_studpub_table().' SET weight= '.$weight.'
356 356
                     WHERE c_id = '.$this->course_id.' AND id ='.$ref_id;
357
-			Database::query($sql);
358
-		}
359
-	}
360
-
361
-	public function delete_linked_data()
362
-	{
363
-		$ref_id = $this->get_ref_id();
364
-		if (!empty($ref_id)) {
365
-			//Cleans works
366
-			$sql = 'UPDATE '.$this->get_studpub_table().' SET weight=0
357
+            Database::query($sql);
358
+        }
359
+    }
360
+
361
+    public function delete_linked_data()
362
+    {
363
+        $ref_id = $this->get_ref_id();
364
+        if (!empty($ref_id)) {
365
+            //Cleans works
366
+            $sql = 'UPDATE '.$this->get_studpub_table().' SET weight=0
367 367
                     WHERE c_id = '.$this->course_id.' AND id ='.$ref_id;
368
-			Database::query($sql);
369
-		}
370
-	}
368
+            Database::query($sql);
369
+        }
370
+    }
371 371
 }
Please login to merge, or discard this patch.
main/gradebook/lib/be/evaluation.class.php 4 patches
Spacing   +27 added lines, -27 removed lines patch added patch discarded remove patch
@@ -223,36 +223,36 @@  discard block
 block discarded – undo
223 223
 		$paramcount = 0;
224 224
 
225 225
 		if (isset ($id)) {
226
-			$sql.= ' WHERE id = '.intval($id);
227
-			$paramcount ++;
226
+			$sql .= ' WHERE id = '.intval($id);
227
+			$paramcount++;
228 228
 		}
229 229
 
230 230
 		if (isset ($user_id)) {
231 231
 			if ($paramcount != 0) $sql .= ' AND';
232 232
 			else $sql .= ' WHERE';
233 233
 			$sql .= ' user_id = '.intval($user_id);
234
-			$paramcount ++;
234
+			$paramcount++;
235 235
 		}
236 236
 
237 237
 		if (isset ($course_code) && $course_code <> '-1') {
238 238
 			if ($paramcount != 0) $sql .= ' AND';
239 239
 			else $sql .= ' WHERE';
240 240
 			$sql .= " course_code = '".Database::escape_string($course_code)."'";
241
-			$paramcount ++;
241
+			$paramcount++;
242 242
 		}
243 243
 
244 244
 		if (isset ($category_id)) {
245 245
 			if ($paramcount != 0) $sql .= ' AND';
246 246
 			else $sql .= ' WHERE';
247 247
 			$sql .= ' category_id = '.intval($category_id);
248
-			$paramcount ++;
248
+			$paramcount++;
249 249
 		}
250 250
 
251 251
 		if (isset ($visible)) {
252 252
 			if ($paramcount != 0) $sql .= ' AND';
253 253
 			else $sql .= ' WHERE';
254 254
 			$sql .= ' visible = '.intval($visible);
255
-			$paramcount ++;
255
+			$paramcount++;
256 256
 		}
257 257
 
258 258
 		if (isset ($locked)) {
@@ -278,7 +278,7 @@  discard block
 block discarded – undo
278 278
 		$alleval = array();
279 279
 		if (Database::num_rows($result)) {
280 280
 			while ($data = Database::fetch_array($result)) {
281
-				$eval= new Evaluation();
281
+				$eval = new Evaluation();
282 282
 				$eval->set_id($data['id']);
283 283
 				$eval->set_name($data['name']);
284 284
 				$eval->set_description($data['description']);
@@ -363,7 +363,7 @@  discard block
 block discarded – undo
363 363
 			$tbl_grade_evaluations = Database :: get_main_table(TABLE_MAIN_GRADEBOOK_EVALUATION);
364 364
 			$tbl_grade_linkeval_log = Database :: get_main_table(TABLE_MAIN_GRADEBOOK_LINKEVAL_LOG);
365 365
 			$eval = new Evaluation();
366
-			$dateobject = $eval->load($idevaluation,null,null,null,null);
366
+			$dateobject = $eval->load($idevaluation, null, null, null, null);
367 367
 			$arreval = get_object_vars($dateobject[0]);
368 368
 			if (!empty($arreval['id'])) {
369 369
 				$sql = 'SELECT weight from '.$tbl_grade_evaluations.'
@@ -397,7 +397,7 @@  discard block
 block discarded – undo
397 397
 			.', description = ';
398 398
 		if (isset($this->description)) {
399 399
 			$sql .= "'".Database::escape_string($this->get_description())."'";
400
-		}else {
400
+		} else {
401 401
 			$sql .= 'null';
402 402
 		}
403 403
 		$sql .= ', user_id = '.intval($this->get_user_id())
@@ -468,17 +468,17 @@  discard block
 block discarded – undo
468 468
 				$sql .= ' AND user_id = '.api_get_user_id();
469 469
 			}
470 470
 
471
-		}else {
471
+		} else {
472 472
 			$sql .= ' AND user_id = '.api_get_user_id();
473 473
 		}
474 474
 
475 475
 		if (!isset ($parent)) {
476
-			$sql.= ' AND category_id is null';
476
+			$sql .= ' AND category_id is null';
477 477
 		} else {
478
-			$sql.= ' AND category_id = '.intval($parent);
478
+			$sql .= ' AND category_id = '.intval($parent);
479 479
 		}
480 480
 		$result = Database::query($sql);
481
-		$number=Database::fetch_row($result);
481
+		$number = Database::fetch_row($result);
482 482
 
483 483
 		return $number[0] != 0;
484 484
 	}
@@ -494,7 +494,7 @@  discard block
 block discarded – undo
494 494
 				FROM '.$tbl_grade_results.'
495 495
 				WHERE evaluation_id = '.intval($this->id);
496 496
 		$result = Database::query($sql);
497
-		$number=Database::fetch_row($result);
497
+		$number = Database::fetch_row($result);
498 498
 
499 499
 		return ($number[0] != 0);
500 500
 	}
@@ -544,7 +544,7 @@  discard block
 block discarded – undo
544 544
             $results = isset($data[$key]) ? $data[$key] : null;
545 545
 
546 546
             if ($useSession == false) {
547
-                $results  = null;
547
+                $results = null;
548 548
             }
549 549
 			if (empty($results)) {
550 550
 				$results = Result::load(null, $stud_id, $this->id);
@@ -570,7 +570,7 @@  discard block
 block discarded – undo
570 570
             $data = Session::read('calc_score');
571 571
             $allResults = isset($data[$key]) ? $data[$key] : null;
572 572
             if ($useSession == false) {
573
-                $allResults  = null;
573
+                $allResults = null;
574 574
             }
575 575
 			if (empty($allResults)) {
576 576
 				$allResults = Result::load(null, null, $this->id);
@@ -602,7 +602,7 @@  discard block
 block discarded – undo
602 602
 					return array($bestResult, $weight);
603 603
 					break;
604 604
 				case 'average':
605
-					return array($sumResult/$count, $weight);
605
+					return array($sumResult / $count, $weight);
606 606
 					break;
607 607
 				case 'ranking':
608 608
                     $students = array();
@@ -640,17 +640,17 @@  discard block
 block discarded – undo
640 640
 		$targets[] = $root;
641 641
 
642 642
 		if (isset($this->course_code) && !empty($this->course_code)) {
643
-			$crscats = Category::load(null,null,$this->course_code,0);
643
+			$crscats = Category::load(null, null, $this->course_code, 0);
644 644
 			foreach ($crscats as $cat) {
645
-				$targets[] = array ($cat->get_id(), $cat->get_name(), $level+1);
646
-				$targets = $this->add_target_subcategories($targets, $level+1, $cat->get_id());
645
+				$targets[] = array($cat->get_id(), $cat->get_name(), $level + 1);
646
+				$targets = $this->add_target_subcategories($targets, $level + 1, $cat->get_id());
647 647
 			}
648 648
 		}
649 649
 
650
-		$indcats = Category::load(null,$user,0,0);
650
+		$indcats = Category::load(null, $user, 0, 0);
651 651
 		foreach ($indcats as $cat) {
652
-			$targets[] = array ($cat->get_id(), $cat->get_name(), $level+1);
653
-			$targets = $this->add_target_subcategories($targets, $level+1, $cat->get_id());
652
+			$targets[] = array($cat->get_id(), $cat->get_name(), $level + 1);
653
+			$targets = $this->add_target_subcategories($targets, $level + 1, $cat->get_id());
654 654
 		}
655 655
 
656 656
 		return $targets;
@@ -661,10 +661,10 @@  discard block
 block discarded – undo
661 661
 	 */
662 662
 	private function add_target_subcategories($targets, $level, $catid)
663 663
 	{
664
-		$subcats = Category::load(null,null,null,$catid);
664
+		$subcats = Category::load(null, null, null, $catid);
665 665
 		foreach ($subcats as $cat) {
666
-			$targets[] = array ($cat->get_id(), $cat->get_name(), $level+1);
667
-			$targets = $this->add_target_subcategories($targets, $level+1, $cat->get_id());
666
+			$targets[] = array($cat->get_id(), $cat->get_name(), $level + 1);
667
+			$targets = $this->add_target_subcategories($targets, $level + 1, $cat->get_id());
668 668
 		}
669 669
 		return $targets;
670 670
 	}
@@ -743,7 +743,7 @@  discard block
 block discarded – undo
743 743
 	 * @return array evaluation objects matching the search criterium
744 744
 	 * @todo can be written more efficiently using a new (but very complex) sql query
745 745
 	 */
746
-	public function find_evaluations($name_mask,$selectcat)
746
+	public function find_evaluations($name_mask, $selectcat)
747 747
 	{
748 748
 		$rootcat = Category::load($selectcat);
749 749
 		$evals = $rootcat[0]->get_evaluations((api_is_allowed_to_create_course() ? null : api_get_user_id()), true);
Please login to merge, or discard this patch.
Braces   +27 added lines, -12 removed lines patch added patch discarded remove patch
@@ -228,36 +228,51 @@  discard block
 block discarded – undo
228 228
 		}
229 229
 
230 230
 		if (isset ($user_id)) {
231
-			if ($paramcount != 0) $sql .= ' AND';
232
-			else $sql .= ' WHERE';
231
+			if ($paramcount != 0) {
232
+			    $sql .= ' AND';
233
+			} else {
234
+			    $sql .= ' WHERE';
235
+			}
233 236
 			$sql .= ' user_id = '.intval($user_id);
234 237
 			$paramcount ++;
235 238
 		}
236 239
 
237 240
 		if (isset ($course_code) && $course_code <> '-1') {
238
-			if ($paramcount != 0) $sql .= ' AND';
239
-			else $sql .= ' WHERE';
241
+			if ($paramcount != 0) {
242
+			    $sql .= ' AND';
243
+			} else {
244
+			    $sql .= ' WHERE';
245
+			}
240 246
 			$sql .= " course_code = '".Database::escape_string($course_code)."'";
241 247
 			$paramcount ++;
242 248
 		}
243 249
 
244 250
 		if (isset ($category_id)) {
245
-			if ($paramcount != 0) $sql .= ' AND';
246
-			else $sql .= ' WHERE';
251
+			if ($paramcount != 0) {
252
+			    $sql .= ' AND';
253
+			} else {
254
+			    $sql .= ' WHERE';
255
+			}
247 256
 			$sql .= ' category_id = '.intval($category_id);
248 257
 			$paramcount ++;
249 258
 		}
250 259
 
251 260
 		if (isset ($visible)) {
252
-			if ($paramcount != 0) $sql .= ' AND';
253
-			else $sql .= ' WHERE';
261
+			if ($paramcount != 0) {
262
+			    $sql .= ' AND';
263
+			} else {
264
+			    $sql .= ' WHERE';
265
+			}
254 266
 			$sql .= ' visible = '.intval($visible);
255 267
 			$paramcount ++;
256 268
 		}
257 269
 
258 270
 		if (isset ($locked)) {
259
-			if ($paramcount != 0) $sql .= ' AND';
260
-			else $sql .= ' WHERE';
271
+			if ($paramcount != 0) {
272
+			    $sql .= ' AND';
273
+			} else {
274
+			    $sql .= ' WHERE';
275
+			}
261 276
 			$sql .= ' locked = '.intval($locked);
262 277
 		}
263 278
 
@@ -397,7 +412,7 @@  discard block
 block discarded – undo
397 412
 			.', description = ';
398 413
 		if (isset($this->description)) {
399 414
 			$sql .= "'".Database::escape_string($this->get_description())."'";
400
-		}else {
415
+		} else {
401 416
 			$sql .= 'null';
402 417
 		}
403 418
 		$sql .= ', user_id = '.intval($this->get_user_id())
@@ -468,7 +483,7 @@  discard block
 block discarded – undo
468 483
 				$sql .= ' AND user_id = '.api_get_user_id();
469 484
 			}
470 485
 
471
-		}else {
486
+		} else {
472 487
 			$sql .= ' AND user_id = '.api_get_user_id();
473 488
 		}
474 489
 
Please login to merge, or discard this patch.
Doc Comments   +1 added lines, -1 removed lines patch added patch discarded remove patch
@@ -273,7 +273,7 @@
 block discarded – undo
273 273
 
274 274
 
275 275
 	/**
276
-	 * @param array $result
276
+	 * @param Doctrine\DBAL\Driver\Statement|null $result
277 277
 	 * @return array
278 278
 	 */
279 279
 	private static function create_evaluation_objects_from_sql_result($result)
Please login to merge, or discard this patch.
Indentation   +748 added lines, -748 removed lines patch added patch discarded remove patch
@@ -9,367 +9,367 @@  discard block
 block discarded – undo
9 9
  */
10 10
 class Evaluation implements GradebookItem
11 11
 {
12
-	private $id;
13
-	private $name;
14
-	private $description;
15
-	private $user_id;
16
-	private $course_code;
17
-	/** @var Category */
18
-	private $category;
19
-	private $created_at;
20
-	private $weight;
21
-	private $eval_max;
22
-	private $visible;
23
-	private $sessionId;
24
-	public $studentList;
25
-
26
-	/**
27
-	 * Construct
28
-	 */
29
-	public function __construct()
30
-	{
31
-	}
32
-
33
-	/**
34
-	 * @return Category
35
-	 */
36
-	public function getCategory()
37
-	{
38
-		return $this->category;
39
-	}
40
-
41
-	/**
42
-	 * @param Category $category
43
-	 */
44
-	public function setCategory($category)
45
-	{
46
-		$this->category = $category;
47
-	}
48
-
49
-	/**
50
-	 * @return int
51
-	 */
52
-	public function get_category_id()
53
-	{
54
-		return $this->category->get_id();
55
-	}
56
-
57
-	/**
58
-	 * @param int $category_id
59
-	 */
60
-	public function set_category_id($category_id)
61
-	{
62
-		$categories = Category::load($category_id);
63
-		if (isset($categories[0])) {
64
-			$this->setCategory($categories[0]);
65
-		}
66
-	}
67
-
68
-	/**
69
-	 * @return int
70
-	 */
71
-	public function get_id()
72
-	{
73
-		return $this->id;
74
-	}
75
-
76
-	/**
77
-	 * @return string
78
-	 */
79
-	public function get_name()
80
-	{
81
-		return $this->name;
82
-	}
83
-
84
-	/**
85
-	 * @return string
86
-	 */
87
-	public function get_description()
88
-	{
89
-		return $this->description;
90
-	}
91
-
92
-	public function get_user_id()
93
-	{
94
-		return $this->user_id;
95
-	}
96
-
97
-	public function get_course_code()
98
-	{
99
-		return $this->course_code;
100
-	}
101
-
102
-	/**
103
-	 * @return int
104
-	 */
105
-	public function getSessionId()
106
-	{
107
-		return $this->sessionId;
108
-	}
109
-
110
-	/**
111
-	 * @param int $sessionId
112
-	 */
113
-	public function setSessionId($sessionId)
114
-	{
115
-		$this->sessionId = intval($sessionId);
116
-	}
117
-
118
-	public function get_date()
119
-	{
120
-		return $this->created_at;
121
-	}
122
-
123
-	public function get_weight()
124
-	{
125
-		return $this->weight;
126
-	}
127
-
128
-	public function get_max()
129
-	{
130
-		return $this->eval_max;
131
-	}
132
-
133
-	public function get_type()
134
-	{
135
-		return $this->type;
136
-	}
137
-
138
-	public function is_visible()
139
-	{
140
-		return $this->visible;
141
-	}
142
-
143
-	public function get_locked()
144
-	{
145
-		return $this->locked;
146
-	}
147
-
148
-	public function is_locked()
149
-	{
150
-		return isset($this->locked) && $this->locked == 1 ? true : false;
151
-	}
152
-
153
-	public function set_id($id)
154
-	{
155
-		$this->id = $id;
156
-	}
157
-
158
-	public function set_name($name)
159
-	{
160
-		$this->name = $name;
161
-	}
162
-
163
-	public function set_description($description)
164
-	{
165
-		$this->description = $description;
166
-	}
167
-
168
-	public function set_user_id($user_id)
169
-	{
170
-		$this->user_id = $user_id;
171
-	}
172
-
173
-	public function set_course_code($course_code)
174
-	{
175
-		$this->course_code = $course_code;
176
-	}
177
-
178
-	public function set_date($date)
179
-	{
180
-		$this->created_at = $date;
181
-	}
182
-
183
-	public function set_weight($weight)
184
-	{
185
-		$this->weight = $weight;
186
-	}
187
-
188
-	public function set_max($max)
189
-	{
190
-		$this->eval_max = $max;
191
-	}
192
-
193
-	public function set_visible($visible)
194
-	{
195
-		$this->visible = $visible;
196
-	}
197
-
198
-	public function set_type($type)
199
-	{
200
-		$this->type = $type;
201
-	}
202
-
203
-	public function set_locked($locked)
204
-	{
205
-		$this->locked = $locked;
206
-	}
207
-
208
-	/**
209
-	 * Retrieve evaluations and return them as an array of Evaluation objects
210
-	 * @param int $id evaluation id
211
-	 * @param int $user_id user id (evaluation owner)
212
-	 * @param string $course_code course code
213
-	 * @param int $category_id parent category
214
-	 * @param integer $visible visible
215
-	 */
216
-	public static function load(
217
-		$id = null,
218
-		$user_id = null,
219
-		$course_code = null,
220
-		$category_id = null,
221
-		$visible = null,
222
-		$locked = null
223
-	) {
224
-		$tbl_grade_evaluations = Database :: get_main_table(TABLE_MAIN_GRADEBOOK_EVALUATION);
225
-		$sql = 'SELECT * FROM '.$tbl_grade_evaluations;
226
-		$paramcount = 0;
227
-
228
-		if (isset ($id)) {
229
-			$sql.= ' WHERE id = '.intval($id);
230
-			$paramcount ++;
231
-		}
232
-
233
-		if (isset ($user_id)) {
234
-			if ($paramcount != 0) $sql .= ' AND';
235
-			else $sql .= ' WHERE';
236
-			$sql .= ' user_id = '.intval($user_id);
237
-			$paramcount ++;
238
-		}
239
-
240
-		if (isset ($course_code) && $course_code <> '-1') {
241
-			if ($paramcount != 0) $sql .= ' AND';
242
-			else $sql .= ' WHERE';
243
-			$sql .= " course_code = '".Database::escape_string($course_code)."'";
244
-			$paramcount ++;
245
-		}
246
-
247
-		if (isset ($category_id)) {
248
-			if ($paramcount != 0) $sql .= ' AND';
249
-			else $sql .= ' WHERE';
250
-			$sql .= ' category_id = '.intval($category_id);
251
-			$paramcount ++;
252
-		}
253
-
254
-		if (isset ($visible)) {
255
-			if ($paramcount != 0) $sql .= ' AND';
256
-			else $sql .= ' WHERE';
257
-			$sql .= ' visible = '.intval($visible);
258
-			$paramcount ++;
259
-		}
260
-
261
-		if (isset ($locked)) {
262
-			if ($paramcount != 0) $sql .= ' AND';
263
-			else $sql .= ' WHERE';
264
-			$sql .= ' locked = '.intval($locked);
265
-		}
266
-
267
-		$result = Database::query($sql);
268
-		$alleval = Evaluation::create_evaluation_objects_from_sql_result($result);
269
-
270
-		return $alleval;
271
-	}
272
-
273
-
274
-
275
-	/**
276
-	 * @param array $result
277
-	 * @return array
278
-	 */
279
-	private static function create_evaluation_objects_from_sql_result($result)
280
-	{
281
-		$alleval = array();
282
-		if (Database::num_rows($result)) {
283
-			while ($data = Database::fetch_array($result)) {
284
-				$eval= new Evaluation();
285
-				$eval->set_id($data['id']);
286
-				$eval->set_name($data['name']);
287
-				$eval->set_description($data['description']);
288
-				$eval->set_user_id($data['user_id']);
289
-				$eval->set_course_code($data['course_code']);
290
-				$eval->set_category_id($data['category_id']);
291
-				$eval->set_date(api_get_local_time($data['created_at']));
292
-				$eval->set_weight($data['weight']);
293
-				$eval->set_max($data['max']);
294
-				$eval->set_visible($data['visible']);
295
-				$eval->set_type($data['type']);
296
-				$eval->set_locked($data['locked']);
297
-				$eval->setSessionId(api_get_session_id());
298
-
299
-				$alleval[] = $eval;
300
-			}
301
-		}
302
-
303
-		return $alleval;
304
-	}
305
-
306
-	/**
307
-	 * Insert this evaluation into the database
308
-	 */
309
-	public function add()
310
-	{
311
-		if (isset($this->name) &&
312
-			isset($this->user_id) &&
313
-			isset($this->weight) &&
314
-			isset ($this->eval_max) &&
315
-			isset($this->visible)
316
-		) {
317
-			$tbl_grade_evaluations = Database :: get_main_table(TABLE_MAIN_GRADEBOOK_EVALUATION);
318
-
319
-			$sql = 'INSERT INTO '.$tbl_grade_evaluations
320
-				.' (name, user_id, weight, max, visible';
321
-			if (isset($this->description)) {
322
-				$sql .= ',description';
323
-			}
324
-			if (isset($this->course_code)) {
325
-				$sql .= ', course_code';
326
-			}
327
-			if (isset($this->category)) {
328
-				$sql .= ', category_id';
329
-			}
330
-			$sql .= ', created_at';
331
-			$sql .= ',type';
332
-			$sql .= ") VALUES ('".Database::escape_string($this->get_name())."'"
333
-				.','.intval($this->get_user_id())
334
-				.','.floatval($this->get_weight())
335
-				.','.intval($this->get_max())
336
-				.','.intval($this->is_visible());
337
-			if (isset($this->description)) {
338
-				$sql .= ",'".Database::escape_string($this->get_description())."'";
339
-			}
340
-			if (isset($this->course_code)) {
341
-				$sql .= ",'".Database::escape_string($this->get_course_code())."'";
342
-			}
343
-			if (isset($this->category)) {
344
-				$sql .= ','.intval($this->get_category_id());
345
-			}
346
-			if (empty($this->type)) {
347
-				$this->type = 'evaluation';
348
-			}
349
-			$sql .= ", '".api_get_utc_datetime()."'";
350
-			$sql .= ',\''.Database::escape_string($this->type).'\'';
351
-			$sql .= ")";
352
-
353
-			Database::query($sql);
354
-			$this->set_id(Database::insert_id());
355
-		} else {
356
-			die('Error in Evaluation add: required field empty');
357
-		}
358
-	}
359
-
360
-	/**
361
-	 * @param int $idevaluation
362
-	 */
363
-	public function add_evaluation_log($idevaluation)
364
-	{
365
-		if (!empty($idevaluation)) {
366
-			$tbl_grade_evaluations = Database :: get_main_table(TABLE_MAIN_GRADEBOOK_EVALUATION);
367
-			$tbl_grade_linkeval_log = Database :: get_main_table(TABLE_MAIN_GRADEBOOK_LINKEVAL_LOG);
368
-			$eval = new Evaluation();
369
-			$dateobject = $eval->load($idevaluation,null,null,null,null);
370
-			$arreval = get_object_vars($dateobject[0]);
371
-			if (!empty($arreval['id'])) {
372
-				$sql = 'SELECT weight from '.$tbl_grade_evaluations.'
12
+    private $id;
13
+    private $name;
14
+    private $description;
15
+    private $user_id;
16
+    private $course_code;
17
+    /** @var Category */
18
+    private $category;
19
+    private $created_at;
20
+    private $weight;
21
+    private $eval_max;
22
+    private $visible;
23
+    private $sessionId;
24
+    public $studentList;
25
+
26
+    /**
27
+     * Construct
28
+     */
29
+    public function __construct()
30
+    {
31
+    }
32
+
33
+    /**
34
+     * @return Category
35
+     */
36
+    public function getCategory()
37
+    {
38
+        return $this->category;
39
+    }
40
+
41
+    /**
42
+     * @param Category $category
43
+     */
44
+    public function setCategory($category)
45
+    {
46
+        $this->category = $category;
47
+    }
48
+
49
+    /**
50
+     * @return int
51
+     */
52
+    public function get_category_id()
53
+    {
54
+        return $this->category->get_id();
55
+    }
56
+
57
+    /**
58
+     * @param int $category_id
59
+     */
60
+    public function set_category_id($category_id)
61
+    {
62
+        $categories = Category::load($category_id);
63
+        if (isset($categories[0])) {
64
+            $this->setCategory($categories[0]);
65
+        }
66
+    }
67
+
68
+    /**
69
+     * @return int
70
+     */
71
+    public function get_id()
72
+    {
73
+        return $this->id;
74
+    }
75
+
76
+    /**
77
+     * @return string
78
+     */
79
+    public function get_name()
80
+    {
81
+        return $this->name;
82
+    }
83
+
84
+    /**
85
+     * @return string
86
+     */
87
+    public function get_description()
88
+    {
89
+        return $this->description;
90
+    }
91
+
92
+    public function get_user_id()
93
+    {
94
+        return $this->user_id;
95
+    }
96
+
97
+    public function get_course_code()
98
+    {
99
+        return $this->course_code;
100
+    }
101
+
102
+    /**
103
+     * @return int
104
+     */
105
+    public function getSessionId()
106
+    {
107
+        return $this->sessionId;
108
+    }
109
+
110
+    /**
111
+     * @param int $sessionId
112
+     */
113
+    public function setSessionId($sessionId)
114
+    {
115
+        $this->sessionId = intval($sessionId);
116
+    }
117
+
118
+    public function get_date()
119
+    {
120
+        return $this->created_at;
121
+    }
122
+
123
+    public function get_weight()
124
+    {
125
+        return $this->weight;
126
+    }
127
+
128
+    public function get_max()
129
+    {
130
+        return $this->eval_max;
131
+    }
132
+
133
+    public function get_type()
134
+    {
135
+        return $this->type;
136
+    }
137
+
138
+    public function is_visible()
139
+    {
140
+        return $this->visible;
141
+    }
142
+
143
+    public function get_locked()
144
+    {
145
+        return $this->locked;
146
+    }
147
+
148
+    public function is_locked()
149
+    {
150
+        return isset($this->locked) && $this->locked == 1 ? true : false;
151
+    }
152
+
153
+    public function set_id($id)
154
+    {
155
+        $this->id = $id;
156
+    }
157
+
158
+    public function set_name($name)
159
+    {
160
+        $this->name = $name;
161
+    }
162
+
163
+    public function set_description($description)
164
+    {
165
+        $this->description = $description;
166
+    }
167
+
168
+    public function set_user_id($user_id)
169
+    {
170
+        $this->user_id = $user_id;
171
+    }
172
+
173
+    public function set_course_code($course_code)
174
+    {
175
+        $this->course_code = $course_code;
176
+    }
177
+
178
+    public function set_date($date)
179
+    {
180
+        $this->created_at = $date;
181
+    }
182
+
183
+    public function set_weight($weight)
184
+    {
185
+        $this->weight = $weight;
186
+    }
187
+
188
+    public function set_max($max)
189
+    {
190
+        $this->eval_max = $max;
191
+    }
192
+
193
+    public function set_visible($visible)
194
+    {
195
+        $this->visible = $visible;
196
+    }
197
+
198
+    public function set_type($type)
199
+    {
200
+        $this->type = $type;
201
+    }
202
+
203
+    public function set_locked($locked)
204
+    {
205
+        $this->locked = $locked;
206
+    }
207
+
208
+    /**
209
+     * Retrieve evaluations and return them as an array of Evaluation objects
210
+     * @param int $id evaluation id
211
+     * @param int $user_id user id (evaluation owner)
212
+     * @param string $course_code course code
213
+     * @param int $category_id parent category
214
+     * @param integer $visible visible
215
+     */
216
+    public static function load(
217
+        $id = null,
218
+        $user_id = null,
219
+        $course_code = null,
220
+        $category_id = null,
221
+        $visible = null,
222
+        $locked = null
223
+    ) {
224
+        $tbl_grade_evaluations = Database :: get_main_table(TABLE_MAIN_GRADEBOOK_EVALUATION);
225
+        $sql = 'SELECT * FROM '.$tbl_grade_evaluations;
226
+        $paramcount = 0;
227
+
228
+        if (isset ($id)) {
229
+            $sql.= ' WHERE id = '.intval($id);
230
+            $paramcount ++;
231
+        }
232
+
233
+        if (isset ($user_id)) {
234
+            if ($paramcount != 0) $sql .= ' AND';
235
+            else $sql .= ' WHERE';
236
+            $sql .= ' user_id = '.intval($user_id);
237
+            $paramcount ++;
238
+        }
239
+
240
+        if (isset ($course_code) && $course_code <> '-1') {
241
+            if ($paramcount != 0) $sql .= ' AND';
242
+            else $sql .= ' WHERE';
243
+            $sql .= " course_code = '".Database::escape_string($course_code)."'";
244
+            $paramcount ++;
245
+        }
246
+
247
+        if (isset ($category_id)) {
248
+            if ($paramcount != 0) $sql .= ' AND';
249
+            else $sql .= ' WHERE';
250
+            $sql .= ' category_id = '.intval($category_id);
251
+            $paramcount ++;
252
+        }
253
+
254
+        if (isset ($visible)) {
255
+            if ($paramcount != 0) $sql .= ' AND';
256
+            else $sql .= ' WHERE';
257
+            $sql .= ' visible = '.intval($visible);
258
+            $paramcount ++;
259
+        }
260
+
261
+        if (isset ($locked)) {
262
+            if ($paramcount != 0) $sql .= ' AND';
263
+            else $sql .= ' WHERE';
264
+            $sql .= ' locked = '.intval($locked);
265
+        }
266
+
267
+        $result = Database::query($sql);
268
+        $alleval = Evaluation::create_evaluation_objects_from_sql_result($result);
269
+
270
+        return $alleval;
271
+    }
272
+
273
+
274
+
275
+    /**
276
+     * @param array $result
277
+     * @return array
278
+     */
279
+    private static function create_evaluation_objects_from_sql_result($result)
280
+    {
281
+        $alleval = array();
282
+        if (Database::num_rows($result)) {
283
+            while ($data = Database::fetch_array($result)) {
284
+                $eval= new Evaluation();
285
+                $eval->set_id($data['id']);
286
+                $eval->set_name($data['name']);
287
+                $eval->set_description($data['description']);
288
+                $eval->set_user_id($data['user_id']);
289
+                $eval->set_course_code($data['course_code']);
290
+                $eval->set_category_id($data['category_id']);
291
+                $eval->set_date(api_get_local_time($data['created_at']));
292
+                $eval->set_weight($data['weight']);
293
+                $eval->set_max($data['max']);
294
+                $eval->set_visible($data['visible']);
295
+                $eval->set_type($data['type']);
296
+                $eval->set_locked($data['locked']);
297
+                $eval->setSessionId(api_get_session_id());
298
+
299
+                $alleval[] = $eval;
300
+            }
301
+        }
302
+
303
+        return $alleval;
304
+    }
305
+
306
+    /**
307
+     * Insert this evaluation into the database
308
+     */
309
+    public function add()
310
+    {
311
+        if (isset($this->name) &&
312
+            isset($this->user_id) &&
313
+            isset($this->weight) &&
314
+            isset ($this->eval_max) &&
315
+            isset($this->visible)
316
+        ) {
317
+            $tbl_grade_evaluations = Database :: get_main_table(TABLE_MAIN_GRADEBOOK_EVALUATION);
318
+
319
+            $sql = 'INSERT INTO '.$tbl_grade_evaluations
320
+                .' (name, user_id, weight, max, visible';
321
+            if (isset($this->description)) {
322
+                $sql .= ',description';
323
+            }
324
+            if (isset($this->course_code)) {
325
+                $sql .= ', course_code';
326
+            }
327
+            if (isset($this->category)) {
328
+                $sql .= ', category_id';
329
+            }
330
+            $sql .= ', created_at';
331
+            $sql .= ',type';
332
+            $sql .= ") VALUES ('".Database::escape_string($this->get_name())."'"
333
+                .','.intval($this->get_user_id())
334
+                .','.floatval($this->get_weight())
335
+                .','.intval($this->get_max())
336
+                .','.intval($this->is_visible());
337
+            if (isset($this->description)) {
338
+                $sql .= ",'".Database::escape_string($this->get_description())."'";
339
+            }
340
+            if (isset($this->course_code)) {
341
+                $sql .= ",'".Database::escape_string($this->get_course_code())."'";
342
+            }
343
+            if (isset($this->category)) {
344
+                $sql .= ','.intval($this->get_category_id());
345
+            }
346
+            if (empty($this->type)) {
347
+                $this->type = 'evaluation';
348
+            }
349
+            $sql .= ", '".api_get_utc_datetime()."'";
350
+            $sql .= ',\''.Database::escape_string($this->type).'\'';
351
+            $sql .= ")";
352
+
353
+            Database::query($sql);
354
+            $this->set_id(Database::insert_id());
355
+        } else {
356
+            die('Error in Evaluation add: required field empty');
357
+        }
358
+    }
359
+
360
+    /**
361
+     * @param int $idevaluation
362
+     */
363
+    public function add_evaluation_log($idevaluation)
364
+    {
365
+        if (!empty($idevaluation)) {
366
+            $tbl_grade_evaluations = Database :: get_main_table(TABLE_MAIN_GRADEBOOK_EVALUATION);
367
+            $tbl_grade_linkeval_log = Database :: get_main_table(TABLE_MAIN_GRADEBOOK_LINKEVAL_LOG);
368
+            $eval = new Evaluation();
369
+            $dateobject = $eval->load($idevaluation,null,null,null,null);
370
+            $arreval = get_object_vars($dateobject[0]);
371
+            if (!empty($arreval['id'])) {
372
+                $sql = 'SELECT weight from '.$tbl_grade_evaluations.'
373 373
                         WHERE id='.$arreval['id'];
374 374
                 $rs = Database::query($sql);
375 375
                 $row_old_weight = Database::fetch_array($rs, 'ASSOC');
@@ -385,426 +385,426 @@  discard block
 block discarded – undo
385 385
                     'user_id_log' => api_get_user_id()
386 386
                 ];
387 387
                 Database::insert($tbl_grade_linkeval_log, $params);
388
-			}
389
-		}
390
-	}
391
-
392
-	/**
393
-	 * Update the properties of this evaluation in the database
394
-	 */
395
-	public function save()
396
-	{
397
-		$tbl_grade_evaluations = Database :: get_main_table(TABLE_MAIN_GRADEBOOK_EVALUATION);
398
-		$sql = 'UPDATE '.$tbl_grade_evaluations
399
-			." SET name = '".Database::escape_string($this->get_name())."'"
400
-			.', description = ';
401
-		if (isset($this->description)) {
402
-			$sql .= "'".Database::escape_string($this->get_description())."'";
403
-		}else {
404
-			$sql .= 'null';
405
-		}
406
-		$sql .= ', user_id = '.intval($this->get_user_id())
407
-			.', course_code = ';
408
-		if (isset($this->course_code)) {
409
-			$sql .= "'".Database::escape_string($this->get_course_code())."'";
410
-		} else {
411
-			$sql .= 'null';
412
-		}
413
-		$sql .= ', category_id = ';
414
-		if (isset($this->category)) {
415
-			$sql .= intval($this->get_category_id());
416
-		} else {
417
-			$sql .= 'null';
418
-		}
419
-		$sql .= ', weight = "'.Database::escape_string($this->get_weight()).'" '
420
-			.', max = '.intval($this->get_max())
421
-			.', visible = '.intval($this->is_visible())
422
-			.' WHERE id = '.intval($this->id);
423
-		//recorded history
424
-
425
-		$eval_log = new Evaluation();
426
-		$eval_log->add_evaluation_log($this->id);
427
-		Database::query($sql);
428
-	}
429
-
430
-	/**
431
-	 * Delete this evaluation from the database
432
-	 */
433
-	public function delete()
434
-	{
435
-		$tbl_grade_evaluations = Database :: get_main_table(TABLE_MAIN_GRADEBOOK_EVALUATION);
436
-		$sql = 'DELETE FROM '.$tbl_grade_evaluations.' WHERE id = '.intval($this->id);
437
-		Database::query($sql);
438
-	}
439
-
440
-	/**
441
-	 * Check if an evaluation name (with the same parent category) already exists
442
-	 * @param $name name to check (if not given, the name property of this object will be checked)
443
-	 * @param $parent parent category
444
-	 */
445
-	public function does_name_exist($name, $parent)
446
-	{
447
-		if (!isset ($name)) {
448
-			$name = $this->name;
449
-			$parent = $this->category;
450
-		}
451
-		$tbl_grade_evaluations = Database :: get_main_table(TABLE_MAIN_GRADEBOOK_EVALUATION);
452
-		$sql = 'SELECT count(id) AS number'
453
-			.' FROM '.$tbl_grade_evaluations
454
-			." WHERE name = '".Database::escape_string($name)."'";
455
-
456
-		if (api_is_allowed_to_edit()) {
457
-			$parent = Category::load($parent);
458
-			$code = $parent[0]->get_course_code();
459
-			$courseInfo = api_get_course_info($code);
460
-			$courseId = $courseInfo['real_id'];
461
-
462
-			if (isset($code) && $code != '0') {
463
-				$main_course_user_table = Database :: get_main_table(TABLE_MAIN_COURSE_USER);
464
-				$sql .= ' AND user_id IN (
388
+            }
389
+        }
390
+    }
391
+
392
+    /**
393
+     * Update the properties of this evaluation in the database
394
+     */
395
+    public function save()
396
+    {
397
+        $tbl_grade_evaluations = Database :: get_main_table(TABLE_MAIN_GRADEBOOK_EVALUATION);
398
+        $sql = 'UPDATE '.$tbl_grade_evaluations
399
+            ." SET name = '".Database::escape_string($this->get_name())."'"
400
+            .', description = ';
401
+        if (isset($this->description)) {
402
+            $sql .= "'".Database::escape_string($this->get_description())."'";
403
+        }else {
404
+            $sql .= 'null';
405
+        }
406
+        $sql .= ', user_id = '.intval($this->get_user_id())
407
+            .', course_code = ';
408
+        if (isset($this->course_code)) {
409
+            $sql .= "'".Database::escape_string($this->get_course_code())."'";
410
+        } else {
411
+            $sql .= 'null';
412
+        }
413
+        $sql .= ', category_id = ';
414
+        if (isset($this->category)) {
415
+            $sql .= intval($this->get_category_id());
416
+        } else {
417
+            $sql .= 'null';
418
+        }
419
+        $sql .= ', weight = "'.Database::escape_string($this->get_weight()).'" '
420
+            .', max = '.intval($this->get_max())
421
+            .', visible = '.intval($this->is_visible())
422
+            .' WHERE id = '.intval($this->id);
423
+        //recorded history
424
+
425
+        $eval_log = new Evaluation();
426
+        $eval_log->add_evaluation_log($this->id);
427
+        Database::query($sql);
428
+    }
429
+
430
+    /**
431
+     * Delete this evaluation from the database
432
+     */
433
+    public function delete()
434
+    {
435
+        $tbl_grade_evaluations = Database :: get_main_table(TABLE_MAIN_GRADEBOOK_EVALUATION);
436
+        $sql = 'DELETE FROM '.$tbl_grade_evaluations.' WHERE id = '.intval($this->id);
437
+        Database::query($sql);
438
+    }
439
+
440
+    /**
441
+     * Check if an evaluation name (with the same parent category) already exists
442
+     * @param $name name to check (if not given, the name property of this object will be checked)
443
+     * @param $parent parent category
444
+     */
445
+    public function does_name_exist($name, $parent)
446
+    {
447
+        if (!isset ($name)) {
448
+            $name = $this->name;
449
+            $parent = $this->category;
450
+        }
451
+        $tbl_grade_evaluations = Database :: get_main_table(TABLE_MAIN_GRADEBOOK_EVALUATION);
452
+        $sql = 'SELECT count(id) AS number'
453
+            .' FROM '.$tbl_grade_evaluations
454
+            ." WHERE name = '".Database::escape_string($name)."'";
455
+
456
+        if (api_is_allowed_to_edit()) {
457
+            $parent = Category::load($parent);
458
+            $code = $parent[0]->get_course_code();
459
+            $courseInfo = api_get_course_info($code);
460
+            $courseId = $courseInfo['real_id'];
461
+
462
+            if (isset($code) && $code != '0') {
463
+                $main_course_user_table = Database :: get_main_table(TABLE_MAIN_COURSE_USER);
464
+                $sql .= ' AND user_id IN (
465 465
 					 SELECT user_id FROM '.$main_course_user_table.'
466 466
 					 WHERE
467 467
 						c_id = '.$courseId.' AND
468 468
 						status = '.COURSEMANAGER.'
469 469
 					)';
470
-			} else {
471
-				$sql .= ' AND user_id = '.api_get_user_id();
472
-			}
473
-
474
-		}else {
475
-			$sql .= ' AND user_id = '.api_get_user_id();
476
-		}
477
-
478
-		if (!isset ($parent)) {
479
-			$sql.= ' AND category_id is null';
480
-		} else {
481
-			$sql.= ' AND category_id = '.intval($parent);
482
-		}
483
-		$result = Database::query($sql);
484
-		$number=Database::fetch_row($result);
485
-
486
-		return $number[0] != 0;
487
-	}
488
-
489
-	/**
490
-	 * Are there any results for this evaluation yet ?
491
-	 * The 'max' property should not be changed then.
492
-	 */
493
-	public function has_results()
494
-	{
495
-		$tbl_grade_results = Database :: get_main_table(TABLE_MAIN_GRADEBOOK_RESULT);
496
-		$sql = 'SELECT count(id) AS number
470
+            } else {
471
+                $sql .= ' AND user_id = '.api_get_user_id();
472
+            }
473
+
474
+        }else {
475
+            $sql .= ' AND user_id = '.api_get_user_id();
476
+        }
477
+
478
+        if (!isset ($parent)) {
479
+            $sql.= ' AND category_id is null';
480
+        } else {
481
+            $sql.= ' AND category_id = '.intval($parent);
482
+        }
483
+        $result = Database::query($sql);
484
+        $number=Database::fetch_row($result);
485
+
486
+        return $number[0] != 0;
487
+    }
488
+
489
+    /**
490
+     * Are there any results for this evaluation yet ?
491
+     * The 'max' property should not be changed then.
492
+     */
493
+    public function has_results()
494
+    {
495
+        $tbl_grade_results = Database :: get_main_table(TABLE_MAIN_GRADEBOOK_RESULT);
496
+        $sql = 'SELECT count(id) AS number
497 497
 				FROM '.$tbl_grade_results.'
498 498
 				WHERE evaluation_id = '.intval($this->id);
499
-		$result = Database::query($sql);
500
-		$number=Database::fetch_row($result);
501
-
502
-		return ($number[0] != 0);
503
-	}
504
-
505
-	/**
506
-	 * Delete all results for this evaluation
507
-	 */
508
-	public function delete_results()
509
-	{
510
-		$tbl_grade_results = Database :: get_main_table(TABLE_MAIN_GRADEBOOK_RESULT);
511
-		$sql = 'DELETE FROM '.$tbl_grade_results.'
499
+        $result = Database::query($sql);
500
+        $number=Database::fetch_row($result);
501
+
502
+        return ($number[0] != 0);
503
+    }
504
+
505
+    /**
506
+     * Delete all results for this evaluation
507
+     */
508
+    public function delete_results()
509
+    {
510
+        $tbl_grade_results = Database :: get_main_table(TABLE_MAIN_GRADEBOOK_RESULT);
511
+        $sql = 'DELETE FROM '.$tbl_grade_results.'
512 512
 				WHERE evaluation_id = '.intval($this->id);
513
-		Database::query($sql);
514
-	}
515
-
516
-	/**
517
-	 * Delete this evaluation and all underlying results.
518
-	 */
519
-	public function delete_with_results()
520
-	{
521
-		$this->delete_results();
522
-		$this->delete();
523
-	}
524
-
525
-	/**
526
-	 * Check if the given score is possible for this evaluation
527
-	 */
528
-	public function is_valid_score($score)
529
-	{
530
-		return is_numeric($score) && $score >= 0 && $score <= $this->eval_max;
531
-	}
532
-
533
-	/**
534
-	 * Calculate the score of this evaluation
535
-	 * @param int $stud_id (default: all students who have results for this eval - then the average is returned)
536
-	 * @param string $type (best, average, ranking)
537
-	 * @return	array (score, max) if student is given
538
-	 * 			array (sum of scores, number of scores) otherwise
539
-	 * 			or null if no scores available
540
-	 */
541
-	public function calc_score($stud_id = null, $type = null)
542
-	{
513
+        Database::query($sql);
514
+    }
515
+
516
+    /**
517
+     * Delete this evaluation and all underlying results.
518
+     */
519
+    public function delete_with_results()
520
+    {
521
+        $this->delete_results();
522
+        $this->delete();
523
+    }
524
+
525
+    /**
526
+     * Check if the given score is possible for this evaluation
527
+     */
528
+    public function is_valid_score($score)
529
+    {
530
+        return is_numeric($score) && $score >= 0 && $score <= $this->eval_max;
531
+    }
532
+
533
+    /**
534
+     * Calculate the score of this evaluation
535
+     * @param int $stud_id (default: all students who have results for this eval - then the average is returned)
536
+     * @param string $type (best, average, ranking)
537
+     * @return	array (score, max) if student is given
538
+     * 			array (sum of scores, number of scores) otherwise
539
+     * 			or null if no scores available
540
+     */
541
+    public function calc_score($stud_id = null, $type = null)
542
+    {
543 543
         $useSession = true;
544
-		if (isset($stud_id) && empty($type)) {
545
-			$key = 'result_score_student_list_'.api_get_course_int_id().'_'.api_get_session_id().'_'.$this->id.'_'.$stud_id;
546
-			$data = Session::read('calc_score');
544
+        if (isset($stud_id) && empty($type)) {
545
+            $key = 'result_score_student_list_'.api_get_course_int_id().'_'.api_get_session_id().'_'.$this->id.'_'.$stud_id;
546
+            $data = Session::read('calc_score');
547 547
             $results = isset($data[$key]) ? $data[$key] : null;
548 548
 
549 549
             if ($useSession == false) {
550 550
                 $results  = null;
551 551
             }
552
-			if (empty($results)) {
553
-				$results = Result::load(null, $stud_id, $this->id);
554
-				Session::write('calc_score', array($key => $results));
555
-			}
556
-
557
-			$score = 0;
558
-			/** @var Result $res */
559
-			foreach ($results as $res) {
560
-				$score = $res->get_score();
561
-			}
562
-
563
-			return array($score, $this->get_max());
564
-		} else {
565
-
566
-			$count = 0;
567
-			$sum = 0;
568
-			$bestResult = 0;
569
-			$weight = 0;
570
-			$sumResult = 0;
571
-
572
-			$key = 'result_score_student_list_'.api_get_course_int_id().'_'.api_get_session_id().'_'.$this->id;
552
+            if (empty($results)) {
553
+                $results = Result::load(null, $stud_id, $this->id);
554
+                Session::write('calc_score', array($key => $results));
555
+            }
556
+
557
+            $score = 0;
558
+            /** @var Result $res */
559
+            foreach ($results as $res) {
560
+                $score = $res->get_score();
561
+            }
562
+
563
+            return array($score, $this->get_max());
564
+        } else {
565
+
566
+            $count = 0;
567
+            $sum = 0;
568
+            $bestResult = 0;
569
+            $weight = 0;
570
+            $sumResult = 0;
571
+
572
+            $key = 'result_score_student_list_'.api_get_course_int_id().'_'.api_get_session_id().'_'.$this->id;
573 573
             $data = Session::read('calc_score');
574 574
             $allResults = isset($data[$key]) ? $data[$key] : null;
575 575
             if ($useSession == false) {
576 576
                 $allResults  = null;
577 577
             }
578
-			if (empty($allResults)) {
579
-				$allResults = Result::load(null, null, $this->id);
580
-				Session::write($key, $allResults);
581
-			}
582
-
583
-			$students = array();
584
-			/** @var Result $res */
585
-			foreach ($allResults as $res) {
586
-				$score = $res->get_score();
587
-				if (!empty($score) || $score == '0') {
588
-					$count++;
589
-					$sum += $score / $this->get_max();
590
-					$sumResult += $score;
591
-					if ($score > $bestResult) {
592
-						$bestResult = $score;
593
-					}
594
-					$weight = $this->get_max();
595
-				}
596
-				$students[$res->get_user_id()] = $score;
597
-			}
598
-
599
-			if (empty($count)) {
600
-				return null;
601
-			}
602
-
603
-			switch ($type) {
604
-				case 'best':
605
-					return array($bestResult, $weight);
606
-					break;
607
-				case 'average':
608
-					return array($sumResult/$count, $weight);
609
-					break;
610
-				case 'ranking':
578
+            if (empty($allResults)) {
579
+                $allResults = Result::load(null, null, $this->id);
580
+                Session::write($key, $allResults);
581
+            }
582
+
583
+            $students = array();
584
+            /** @var Result $res */
585
+            foreach ($allResults as $res) {
586
+                $score = $res->get_score();
587
+                if (!empty($score) || $score == '0') {
588
+                    $count++;
589
+                    $sum += $score / $this->get_max();
590
+                    $sumResult += $score;
591
+                    if ($score > $bestResult) {
592
+                        $bestResult = $score;
593
+                    }
594
+                    $weight = $this->get_max();
595
+                }
596
+                $students[$res->get_user_id()] = $score;
597
+            }
598
+
599
+            if (empty($count)) {
600
+                return null;
601
+            }
602
+
603
+            switch ($type) {
604
+                case 'best':
605
+                    return array($bestResult, $weight);
606
+                    break;
607
+                case 'average':
608
+                    return array($sumResult/$count, $weight);
609
+                    break;
610
+                case 'ranking':
611 611
                     $students = array();
612 612
                     /** @var Result $res */
613 613
                     foreach ($allResults as $res) {
614 614
                         $score = $res->get_score();
615 615
                         $students[$res->get_user_id()] = $score;
616 616
                     }
617
-					return AbstractLink::getCurrentUserRanking($stud_id, $students);
618
-					break;
619
-				default:
620
-					return array($sum, $count);
621
-					break;
622
-			}
623
-		}
624
-	}
625
-
626
-	/**
627
-	 * Generate an array of possible categories where this evaluation can be moved to.
628
-	 * Notice: its own parent will be included in the list: it's up to the frontend
629
-	 * to disable this element.
630
-	 * @return array 2-dimensional array - every element contains 3 subelements (id, name, level)
631
-	 */
632
-	public function get_target_categories()
633
-	{
634
-		// - course independent evaluation
635
-		//   -> movable to root or other course independent categories
636
-		// - evaluation inside a course
637
-		//   -> movable to root, independent categories or categories inside the course
638
-		$user = (api_is_platform_admin() ? null : api_get_user_id());
639
-		$targets = array();
640
-		$level = 0;
641
-
642
-		$root = array(0, get_lang('RootCat'), $level);
643
-		$targets[] = $root;
644
-
645
-		if (isset($this->course_code) && !empty($this->course_code)) {
646
-			$crscats = Category::load(null,null,$this->course_code,0);
647
-			foreach ($crscats as $cat) {
648
-				$targets[] = array ($cat->get_id(), $cat->get_name(), $level+1);
649
-				$targets = $this->add_target_subcategories($targets, $level+1, $cat->get_id());
650
-			}
651
-		}
652
-
653
-		$indcats = Category::load(null,$user,0,0);
654
-		foreach ($indcats as $cat) {
655
-			$targets[] = array ($cat->get_id(), $cat->get_name(), $level+1);
656
-			$targets = $this->add_target_subcategories($targets, $level+1, $cat->get_id());
657
-		}
658
-
659
-		return $targets;
660
-	}
661
-
662
-	/**
663
-	 * Internal function used by get_target_categories()
664
-	 * @param integer $level
665
-	 */
666
-	private function add_target_subcategories($targets, $level, $catid)
667
-	{
668
-		$subcats = Category::load(null,null,null,$catid);
669
-		foreach ($subcats as $cat) {
670
-			$targets[] = array ($cat->get_id(), $cat->get_name(), $level+1);
671
-			$targets = $this->add_target_subcategories($targets, $level+1, $cat->get_id());
672
-		}
673
-		return $targets;
674
-	}
675
-
676
-	/**
677
-	 * Move this evaluation to the given category.
678
-	 * If this evaluation moves from inside a course to outside,
679
-	 * its course code is also changed.
680
-	 */
681
-	public function move_to_cat($cat)
682
-	{
683
-		$this->set_category_id($cat->get_id());
684
-		if ($this->get_course_code() != $cat->get_course_code()) {
685
-			$this->set_course_code($cat->get_course_code());
686
-		}
687
-		$this->save();
688
-	}
689
-
690
-	/**
691
-	 * Retrieve evaluations where a student has results for
692
-	 * and return them as an array of Evaluation objects
693
-	 * @param int $cat_id parent category (use 'null' to retrieve them in all categories)
694
-	 * @param int $stud_id student id
695
-	 */
696
-	public static function get_evaluations_with_result_for_student($cat_id = null, $stud_id)
697
-	{
698
-		$tbl_grade_evaluations = Database :: get_main_table(TABLE_MAIN_GRADEBOOK_EVALUATION);
699
-		$tbl_grade_results = Database :: get_main_table(TABLE_MAIN_GRADEBOOK_RESULT);
700
-
701
-		$sql = 'SELECT * FROM '.$tbl_grade_evaluations.'
617
+                    return AbstractLink::getCurrentUserRanking($stud_id, $students);
618
+                    break;
619
+                default:
620
+                    return array($sum, $count);
621
+                    break;
622
+            }
623
+        }
624
+    }
625
+
626
+    /**
627
+     * Generate an array of possible categories where this evaluation can be moved to.
628
+     * Notice: its own parent will be included in the list: it's up to the frontend
629
+     * to disable this element.
630
+     * @return array 2-dimensional array - every element contains 3 subelements (id, name, level)
631
+     */
632
+    public function get_target_categories()
633
+    {
634
+        // - course independent evaluation
635
+        //   -> movable to root or other course independent categories
636
+        // - evaluation inside a course
637
+        //   -> movable to root, independent categories or categories inside the course
638
+        $user = (api_is_platform_admin() ? null : api_get_user_id());
639
+        $targets = array();
640
+        $level = 0;
641
+
642
+        $root = array(0, get_lang('RootCat'), $level);
643
+        $targets[] = $root;
644
+
645
+        if (isset($this->course_code) && !empty($this->course_code)) {
646
+            $crscats = Category::load(null,null,$this->course_code,0);
647
+            foreach ($crscats as $cat) {
648
+                $targets[] = array ($cat->get_id(), $cat->get_name(), $level+1);
649
+                $targets = $this->add_target_subcategories($targets, $level+1, $cat->get_id());
650
+            }
651
+        }
652
+
653
+        $indcats = Category::load(null,$user,0,0);
654
+        foreach ($indcats as $cat) {
655
+            $targets[] = array ($cat->get_id(), $cat->get_name(), $level+1);
656
+            $targets = $this->add_target_subcategories($targets, $level+1, $cat->get_id());
657
+        }
658
+
659
+        return $targets;
660
+    }
661
+
662
+    /**
663
+     * Internal function used by get_target_categories()
664
+     * @param integer $level
665
+     */
666
+    private function add_target_subcategories($targets, $level, $catid)
667
+    {
668
+        $subcats = Category::load(null,null,null,$catid);
669
+        foreach ($subcats as $cat) {
670
+            $targets[] = array ($cat->get_id(), $cat->get_name(), $level+1);
671
+            $targets = $this->add_target_subcategories($targets, $level+1, $cat->get_id());
672
+        }
673
+        return $targets;
674
+    }
675
+
676
+    /**
677
+     * Move this evaluation to the given category.
678
+     * If this evaluation moves from inside a course to outside,
679
+     * its course code is also changed.
680
+     */
681
+    public function move_to_cat($cat)
682
+    {
683
+        $this->set_category_id($cat->get_id());
684
+        if ($this->get_course_code() != $cat->get_course_code()) {
685
+            $this->set_course_code($cat->get_course_code());
686
+        }
687
+        $this->save();
688
+    }
689
+
690
+    /**
691
+     * Retrieve evaluations where a student has results for
692
+     * and return them as an array of Evaluation objects
693
+     * @param int $cat_id parent category (use 'null' to retrieve them in all categories)
694
+     * @param int $stud_id student id
695
+     */
696
+    public static function get_evaluations_with_result_for_student($cat_id = null, $stud_id)
697
+    {
698
+        $tbl_grade_evaluations = Database :: get_main_table(TABLE_MAIN_GRADEBOOK_EVALUATION);
699
+        $tbl_grade_results = Database :: get_main_table(TABLE_MAIN_GRADEBOOK_RESULT);
700
+
701
+        $sql = 'SELECT * FROM '.$tbl_grade_evaluations.'
702 702
 				WHERE id IN (
703 703
 					SELECT evaluation_id FROM '.$tbl_grade_results.'
704 704
 					WHERE user_id = '.intval($stud_id).' AND score IS NOT NULL
705 705
 				)';
706
-		if (!api_is_allowed_to_edit()) {
707
-			$sql .= ' AND visible = 1';
708
-		}
709
-		if (isset($cat_id)) {
710
-			$sql .= ' AND category_id = '.intval($cat_id);
711
-		} else {
712
-			$sql .= ' AND category_id >= 0';
713
-		}
714
-
715
-		$result = Database::query($sql);
716
-		$alleval = Evaluation::create_evaluation_objects_from_sql_result($result);
717
-
718
-		return $alleval;
719
-	}
720
-
721
-	/**
722
-	 * Get a list of students that do not have a result record for this evaluation
723
-	 */
724
-	public function get_not_subscribed_students($first_letter_user = '')
725
-	{
726
-		$tbl_user = Database :: get_main_table(TABLE_MAIN_USER);
727
-		$tbl_grade_results = Database :: get_main_table(TABLE_MAIN_GRADEBOOK_RESULT);
728
-
729
-		$sql = 'SELECT user_id,lastname,firstname,username FROM '.$tbl_user
730
-			." WHERE lastname LIKE '".Database::escape_string($first_letter_user)."%'"
731
-			.' AND status = '.STUDENT
732
-			.' AND user_id NOT IN'
733
-			.' (SELECT user_id FROM '.$tbl_grade_results
734
-			.' WHERE evaluation_id = '.intval($this->id)
735
-			.' )'
736
-			.' ORDER BY lastname';
737
-
738
-		$result = Database::query($sql);
739
-		$users = Database::store_result($result);
740
-
741
-		return $users;
742
-	}
743
-
744
-	/**
745
-	 * Find evaluations by name
746
-	 * @param string $name_mask search string
747
-	 * @return array evaluation objects matching the search criterium
748
-	 * @todo can be written more efficiently using a new (but very complex) sql query
749
-	 */
750
-	public function find_evaluations($name_mask,$selectcat)
751
-	{
752
-		$rootcat = Category::load($selectcat);
753
-		$evals = $rootcat[0]->get_evaluations((api_is_allowed_to_create_course() ? null : api_get_user_id()), true);
754
-		$foundevals = array();
755
-		foreach ($evals as $eval) {
756
-			if (!(api_strpos(api_strtolower($eval->get_name()), api_strtolower($name_mask)) === false)) {
757
-				$foundevals[] = $eval;
758
-			}
759
-		}
760
-		return $foundevals;
761
-	}
762
-
763
-	public function get_item_type()
764
-	{
765
-		return 'E';
766
-	}
767
-
768
-	public function get_icon_name()
769
-	{
770
-		return $this->has_results() ? 'evalnotempty' : 'evalempty';
771
-	}
772
-
773
-	/**
774
-	 * Locks an evaluation, only one who can unlock it is the platform administrator.
775
-	 * @param int locked 1 or unlocked 0
776
-	 *
777
-	 **/
778
-	function lock($locked)
779
-	{
780
-		$table_evaluation = Database::get_main_table(TABLE_MAIN_GRADEBOOK_EVALUATION);
781
-		$sql = "UPDATE $table_evaluation SET locked = '".intval($locked)."' WHERE id='".intval($this->id)."'";
782
-		Database::query($sql);
783
-	}
784
-
785
-	function check_lock_permissions()
786
-	{
787
-		if (api_is_platform_admin()) {
788
-			return true;
789
-		} else {
790
-			if ($this->is_locked()) {
791
-				api_not_allowed();
792
-			}
793
-		}
794
-	}
795
-
796
-	function delete_linked_data()
797
-	{
798
-
799
-	}
706
+        if (!api_is_allowed_to_edit()) {
707
+            $sql .= ' AND visible = 1';
708
+        }
709
+        if (isset($cat_id)) {
710
+            $sql .= ' AND category_id = '.intval($cat_id);
711
+        } else {
712
+            $sql .= ' AND category_id >= 0';
713
+        }
714
+
715
+        $result = Database::query($sql);
716
+        $alleval = Evaluation::create_evaluation_objects_from_sql_result($result);
717
+
718
+        return $alleval;
719
+    }
720
+
721
+    /**
722
+     * Get a list of students that do not have a result record for this evaluation
723
+     */
724
+    public function get_not_subscribed_students($first_letter_user = '')
725
+    {
726
+        $tbl_user = Database :: get_main_table(TABLE_MAIN_USER);
727
+        $tbl_grade_results = Database :: get_main_table(TABLE_MAIN_GRADEBOOK_RESULT);
728
+
729
+        $sql = 'SELECT user_id,lastname,firstname,username FROM '.$tbl_user
730
+            ." WHERE lastname LIKE '".Database::escape_string($first_letter_user)."%'"
731
+            .' AND status = '.STUDENT
732
+            .' AND user_id NOT IN'
733
+            .' (SELECT user_id FROM '.$tbl_grade_results
734
+            .' WHERE evaluation_id = '.intval($this->id)
735
+            .' )'
736
+            .' ORDER BY lastname';
737
+
738
+        $result = Database::query($sql);
739
+        $users = Database::store_result($result);
740
+
741
+        return $users;
742
+    }
743
+
744
+    /**
745
+     * Find evaluations by name
746
+     * @param string $name_mask search string
747
+     * @return array evaluation objects matching the search criterium
748
+     * @todo can be written more efficiently using a new (but very complex) sql query
749
+     */
750
+    public function find_evaluations($name_mask,$selectcat)
751
+    {
752
+        $rootcat = Category::load($selectcat);
753
+        $evals = $rootcat[0]->get_evaluations((api_is_allowed_to_create_course() ? null : api_get_user_id()), true);
754
+        $foundevals = array();
755
+        foreach ($evals as $eval) {
756
+            if (!(api_strpos(api_strtolower($eval->get_name()), api_strtolower($name_mask)) === false)) {
757
+                $foundevals[] = $eval;
758
+            }
759
+        }
760
+        return $foundevals;
761
+    }
762
+
763
+    public function get_item_type()
764
+    {
765
+        return 'E';
766
+    }
767
+
768
+    public function get_icon_name()
769
+    {
770
+        return $this->has_results() ? 'evalnotempty' : 'evalempty';
771
+    }
772
+
773
+    /**
774
+     * Locks an evaluation, only one who can unlock it is the platform administrator.
775
+     * @param int locked 1 or unlocked 0
776
+     *
777
+     **/
778
+    function lock($locked)
779
+    {
780
+        $table_evaluation = Database::get_main_table(TABLE_MAIN_GRADEBOOK_EVALUATION);
781
+        $sql = "UPDATE $table_evaluation SET locked = '".intval($locked)."' WHERE id='".intval($this->id)."'";
782
+        Database::query($sql);
783
+    }
784
+
785
+    function check_lock_permissions()
786
+    {
787
+        if (api_is_platform_admin()) {
788
+            return true;
789
+        } else {
790
+            if ($this->is_locked()) {
791
+                api_not_allowed();
792
+            }
793
+        }
794
+    }
795
+
796
+    function delete_linked_data()
797
+    {
798
+
799
+    }
800 800
 
801 801
     public function getStudentList()
802 802
     {
803 803
         return $this->studentList;
804 804
     }
805 805
 
806
-	public function setStudentList($list)
807
-	{
808
-		$this->studentList = $list;
809
-	}
806
+    public function setStudentList($list)
807
+    {
808
+        $this->studentList = $list;
809
+    }
810 810
 }
Please login to merge, or discard this patch.
main/gradebook/lib/results_data_generator.class.php 1 patch
Spacing   +11 added lines, -11 removed lines patch added patch discarded remove patch
@@ -38,7 +38,7 @@  discard block
 block discarded – undo
38 38
     /**
39 39
      * Get total number of results (rows)
40 40
      */
41
-    public function get_total_results_count ()
41
+    public function get_total_results_count()
42 42
     {
43 43
         return count($this->results);
44 44
     }
@@ -53,12 +53,12 @@  discard block
 block discarded – undo
53 53
      * 4 ['score']     : student's score
54 54
      * 5 ['display']   : custom score display (only if custom scoring enabled)
55 55
      */
56
-    public function get_data ($sorting = 0, $start = 0, $count = null, $ignore_score_color = false, $pdf=false)
56
+    public function get_data($sorting = 0, $start = 0, $count = null, $ignore_score_color = false, $pdf = false)
57 57
     {
58 58
         // do some checks on count, redefine if invalid value
59 59
         $number_decimals = api_get_setting('gradebook_number_decimals');
60 60
         if (!isset($count)) {
61
-            $count = count ($this->results) - $start;
61
+            $count = count($this->results) - $start;
62 62
         }
63 63
         if ($count < 0) {
64 64
             $count = 0;
@@ -66,11 +66,11 @@  discard block
 block discarded – undo
66 66
         $scoredisplay = ScoreDisplay :: instance();
67 67
         // generate actual data array
68 68
         $table = array();
69
-        foreach($this->results as $result) {
69
+        foreach ($this->results as $result) {
70 70
             $user = array();
71 71
             $info = api_get_user_info($result->get_user_id());
72 72
             $user['id'] = $result->get_user_id();
73
-            if ($pdf){
73
+            if ($pdf) {
74 74
                 $user['username'] = $info['username'];
75 75
             }
76 76
             $user['result_id'] = $result->get_id();
@@ -92,7 +92,7 @@  discard block
 block discarded – undo
92 92
                 true
93 93
             )
94 94
             );
95
-            if ($pdf && $number_decimals == null){
95
+            if ($pdf && $number_decimals == null) {
96 96
                 $user['scoreletter'] = $result->get_score();
97 97
             }
98 98
             if ($scoredisplay->is_custom()) {
@@ -132,13 +132,13 @@  discard block
 block discarded – undo
132 132
      * @param bool  Whether we want to ignore the score color
133 133
      * @result string The score as we want to show it
134 134
      */
135
-    private function get_score_display ($score, $realscore, $ignore_score_color = false)
135
+    private function get_score_display($score, $realscore, $ignore_score_color = false)
136 136
     {
137 137
         if ($score != null) {
138 138
             $scoredisplay = ScoreDisplay :: instance();
139 139
             $type = SCORE_CUSTOM;
140 140
             if ($realscore === true) {
141
-                $type = SCORE_DIV_PERCENT ;
141
+                $type = SCORE_DIV_PERCENT;
142 142
             }
143 143
 
144 144
             return $scoredisplay->display_score(
@@ -172,10 +172,10 @@  discard block
 block discarded – undo
172 172
         }
173 173
     }
174 174
 
175
-    function sort_by_mask ($item1, $item2)
175
+    function sort_by_mask($item1, $item2)
176 176
     {
177
-        $score1 = (isset($item1['score']) ? array($item1['score'],$this->evaluation->get_max()) : null);
178
-        $score2 = (isset($item2['score']) ? array($item2['score'],$this->evaluation->get_max()) : null);
177
+        $score1 = (isset($item1['score']) ? array($item1['score'], $this->evaluation->get_max()) : null);
178
+        $score2 = (isset($item2['score']) ? array($item2['score'], $this->evaluation->get_max()) : null);
179 179
         return ScoreDisplay :: compare_scores_by_custom_display($score1, $score2);
180 180
     }
181 181
 }
Please login to merge, or discard this patch.