Passed
Push — 1.10.x ( 04397c...5e25f1 )
by Angel Fernando Quiroz
181:14 queued 130:00
created
main/gradebook/lib/user_data_generator.class.php 1 patch
Indentation   +346 added lines, -346 removed lines patch added patch discarded remove patch
@@ -10,28 +10,28 @@  discard block
 block discarded – undo
10 10
  */
11 11
 class UserDataGenerator
12 12
 {
13
-	// Sorting types constants
14
-	const UDG_SORT_TYPE = 1;
15
-	const UDG_SORT_NAME = 2;
16
-	const UDG_SORT_COURSE = 4;
17
-	const UDG_SORT_CATEGORY = 8;
18
-	const UDG_SORT_AVERAGE = 16;
19
-	const UDG_SORT_SCORE = 32;
20
-	const UDG_SORT_MASK = 64;
21
-
22
-	const UDG_SORT_ASC = 128;
23
-	const UDG_SORT_DESC = 256;
24
-
25
-	private $items;
26
-	private $userid;
27
-
28
-	private $coursecodecache;
29
-	private $categorycache;
30
-	private $scorecache;
31
-	private $avgcache;
32
-
33
-	public function UserDataGenerator($userid, $evals = array(), $links = array())
34
-	{
13
+    // Sorting types constants
14
+    const UDG_SORT_TYPE = 1;
15
+    const UDG_SORT_NAME = 2;
16
+    const UDG_SORT_COURSE = 4;
17
+    const UDG_SORT_CATEGORY = 8;
18
+    const UDG_SORT_AVERAGE = 16;
19
+    const UDG_SORT_SCORE = 32;
20
+    const UDG_SORT_MASK = 64;
21
+
22
+    const UDG_SORT_ASC = 128;
23
+    const UDG_SORT_DESC = 256;
24
+
25
+    private $items;
26
+    private $userid;
27
+
28
+    private $coursecodecache;
29
+    private $categorycache;
30
+    private $scorecache;
31
+    private $avgcache;
32
+
33
+    public function UserDataGenerator($userid, $evals = array(), $links = array())
34
+    {
35 35
         $this->userid = $userid;
36 36
         $evals_filtered = array();
37 37
         $result = array();
@@ -62,330 +62,330 @@  discard block
 block discarded – undo
62 62
         $this->avgcache = null;
63 63
     }
64 64
 
65
-	/**
66
-	 * Get total number of items (rows)
67
-	 */
68
-	public function get_total_items_count()
69
-	{
70
-		return count($this->items);
71
-	}
72
-
73
-	/**
74
-	 * Get actual array data
75
-	 * @return array 2-dimensional array - each array contains the elements:
76
-	 * 0: eval/link object
77
-	 * 1: item name
78
-	 * 2: course name
79
-	 * 3: category name
80
-	 * 4: average score
81
-	 * 5: student's score
82
-	 * 6: student's score as custom display (only if custom scoring enabled)
83
-	 */
84
-	public function get_data($sorting = 0, $start = 0, $count = null, $ignore_score_color = false)
85
-	{
86
-		// do some checks on count, redefine if invalid value
87
-		if (!isset($count)) {
88
-			$count = count ($this->items) - $start;
89
-		}
90
-		if ($count < 0) {
91
-			$count = 0;
92
-		}
93
-		$allitems = $this->items;
94
-
95
-		// sort users array
96
-		if ($sorting & self :: UDG_SORT_TYPE) {
97
-			usort($allitems, array('UserDataGenerator', 'sort_by_type'));
98
-		}elseif ($sorting & self :: UDG_SORT_NAME) {
99
-			usort($allitems, array('UserDataGenerator', 'sort_by_name'));
100
-		} elseif ($sorting & self :: UDG_SORT_COURSE) {
101
-			usort($allitems, array('UserDataGenerator', 'sort_by_course'));
102
-		} elseif ($sorting & self :: UDG_SORT_CATEGORY) {
103
-			usort($allitems, array('UserDataGenerator', 'sort_by_category'));
104
-		} elseif ($sorting & self :: UDG_SORT_AVERAGE) {
105
-			// if user sorts on average scores, first calculate them and cache them
106
-			foreach ($allitems as $item) {
107
-				$this->avgcache[$item->get_item_type() . $item->get_id()]= $item->calc_score();
108
-			}
109
-			usort($allitems, array('UserDataGenerator', 'sort_by_average'));
110
-		} elseif ($sorting & self :: UDG_SORT_SCORE) {
111
-			// if user sorts on student's scores, first calculate them and cache them
112
-			foreach ($allitems as $item) {
113
-				$this->scorecache[$item->get_item_type() . $item->get_id()]
114
-					= $item->calc_score($this->userid);
115
-			}
116
-			usort($allitems, array('UserDataGenerator', 'sort_by_score'));
117
-		} elseif ($sorting & self :: UDG_SORT_MASK) {
118
-			// if user sorts on student's masks, first calculate scores and cache them
119
-			foreach ($allitems as $item) {
120
-				$this->scorecache[$item->get_item_type() . $item->get_id()]
121
-					= $item->calc_score($this->userid);
122
-			}
123
-			usort($allitems, array('UserDataGenerator', 'sort_by_mask'));
124
-		}
125
-
126
-		if ($sorting & self :: UDG_SORT_DESC) {
127
-			$allitems = array_reverse($allitems);
128
-		}
129
-		// select the items we have to display
130
-		$visibleitems = array_slice($allitems, $start, $count);
131
-
132
-		// fill score cache if not done yet
133
-		if (!isset ($this->scorecache)) {
134
-			foreach ($visibleitems as $item) {
135
-				$this->scorecache[$item->get_item_type() . $item->get_id()]
136
-					= $item->calc_score($this->userid);
137
-			}
138
-
139
-		}
140
-		// generate the data to display
141
-		$scoredisplay = ScoreDisplay :: instance();
142
-		$data = array();
143
-		foreach ($visibleitems as $item) {
144
-			$row = array ();
145
-			$row[] = $item;
146
-			$row[] = $item->get_name();
147
-			$row[] = $this->build_course_name($item);
148
-			$row[] = $this->build_category_name($item);
149
-			$row[] = $this->build_average_column($item, $ignore_score_color);
150
-			$row[] = $this->build_result_column($item, $ignore_score_color);
151
-			if ($scoredisplay->is_custom())
152
-				$row[] = $this->build_mask_column($item, $ignore_score_color);
153
-			$data[] = $row;
154
-		}
155
-		return $data;
156
-	}
157
-
158
-	/**
159
-	 * @param $item1
160
-	 * @param $item2
161
-	 * @return int
162
-	 */
163
-	function sort_by_type($item1, $item2)
164
-	{
165
-		if ($item1->get_item_type() == $item2->get_item_type()) {
166
-			return $this->sort_by_name($item1,$item2);
167
-		} else {
168
-			return ($item1->get_item_type() < $item2->get_item_type() ? -1 : 1);
169
-		}
170
-	}
171
-
172
-	/**
173
-	 * @param $item1
174
-	 * @param $item2
175
-	 * @return int
176
-	 */
177
-	function sort_by_course($item1, $item2)
178
-	{
179
-		$name1 = api_strtolower($this->get_course_name_from_code_cached($item1->get_course_code()));
180
-		$name2 = api_strtolower($this->get_course_name_from_code_cached($item2->get_course_code()));
181
-		return api_strnatcmp($name1, $name2);
182
-	}
183
-
184
-	/**
185
-	 * @param $item1
186
-	 * @param $item2
187
-	 * @return int
188
-	 */
189
-	function sort_by_category($item1, $item2)
190
-	{
191
-		$cat1 = $this->get_category_cached($item1->get_category_id());
192
-		$cat2 = $this->get_category_cached($item2->get_category_id());
193
-		$name1 = api_strtolower($this->get_category_name_to_display($cat1));
194
-		$name2 = api_strtolower($this->get_category_name_to_display($cat2));
195
-
196
-		return api_strnatcmp($name1, $name2);
197
-	}
198
-
199
-	/**
200
-	 * @param $item1
201
-	 * @param $item2
202
-	 * @return int
203
-	 */
204
-	function sort_by_name($item1, $item2)
205
-	{
206
-		return api_strnatcmp($item1->get_name(),$item2->get_name());
207
-	}
208
-
209
-	/**
210
-	 * @param $item1
211
-	 * @param $item2
212
-	 * @return int
213
-	 */
214
-	function sort_by_average($item1, $item2)
215
-	{
216
-		$score1 = $this->avgcache[$item1->get_item_type() . $item1->get_id()];
217
-		$score2 = $this->avgcache[$item2->get_item_type() . $item2->get_id()];
218
-
219
-		return $this->compare_scores($score1, $score2);
220
-	}
221
-
222
-	/**
223
-	 * @param $item1
224
-	 * @param $item2
225
-	 * @return int
226
-	 */
227
-	function sort_by_score($item1, $item2)
228
-	{
229
-		$score1 = $this->scorecache[$item1->get_item_type() . $item1->get_id()];
230
-		$score2 = $this->scorecache[$item2->get_item_type() . $item2->get_id()];
231
-
232
-		return $this->compare_scores($score1, $score2);
233
-	}
234
-
235
-	/**
236
-	 * @param $item1
237
-	 * @param $item2
238
-	 * @return int
239
-	 */
240
-	function sort_by_mask($item1, $item2)
241
-	{
242
-		$score1 = $this->scorecache[$item1->get_item_type() . $item1->get_id()];
243
-		$score2 = $this->scorecache[$item2->get_item_type() . $item2->get_id()];
244
-
245
-		return ScoreDisplay :: compare_scores_by_custom_display($score1, $score2);
246
-	}
247
-
248
-	/**
249
-	 * @param $score1
250
-	 * @param $score2
251
-	 * @return int
252
-	 */
253
-	function compare_scores($score1, $score2)
254
-	{
255
-		if (!isset($score1)) {
256
-			return (isset($score2) ? 1 : 0);
257
-		} elseif (!isset($score2)) {
258
-			return -1;
259
-		} elseif (($score1[0]/$score1[1]) == ($score2[0]/$score2[1])) {
260
-			return 0;
261
-		} else {
262
-			return (($score1[0]/$score1[1]) < ($score2[0]/$score2[1]) ? -1 : 1);
263
-		}
264
-	}
265
-
266
-	/**
267
-	 * @param $item
268
-	 * @return mixed
269
-	 */
270
-	private function build_course_name($item)
271
-	{
272
-		return $this->get_course_name_from_code_cached($item->get_course_code());
273
-	}
274
-
275
-	/**
276
-	 * @param $item
277
-	 * @return string
278
-	 */
279
-	private function build_category_name($item)
280
-	{
281
-		$cat = $this->get_category_cached($item->get_category_id());
282
-
283
-		return $this->get_category_name_to_display($cat);
284
-	}
285
-
286
-	/**
287
-	 * @param $item
288
-	 * @param $ignore_score_color
289
-	 * @return string
290
-	 */
291
-	private function build_average_column($item, $ignore_score_color)
292
-	{
293
-		if (isset($this->avgcache)) {
294
-			$avgscore = $this->avgcache[$item->get_item_type() . $item->get_id()];
295
-		} else {
296
-			$avgscore = $item->calc_score();
297
-		}
298
-
299
-		$scoredisplay = ScoreDisplay :: instance();
300
-		$displaytype = SCORE_AVERAGE;
301
-		/*if ($ignore_score_color)
65
+    /**
66
+     * Get total number of items (rows)
67
+     */
68
+    public function get_total_items_count()
69
+    {
70
+        return count($this->items);
71
+    }
72
+
73
+    /**
74
+     * Get actual array data
75
+     * @return array 2-dimensional array - each array contains the elements:
76
+     * 0: eval/link object
77
+     * 1: item name
78
+     * 2: course name
79
+     * 3: category name
80
+     * 4: average score
81
+     * 5: student's score
82
+     * 6: student's score as custom display (only if custom scoring enabled)
83
+     */
84
+    public function get_data($sorting = 0, $start = 0, $count = null, $ignore_score_color = false)
85
+    {
86
+        // do some checks on count, redefine if invalid value
87
+        if (!isset($count)) {
88
+            $count = count ($this->items) - $start;
89
+        }
90
+        if ($count < 0) {
91
+            $count = 0;
92
+        }
93
+        $allitems = $this->items;
94
+
95
+        // sort users array
96
+        if ($sorting & self :: UDG_SORT_TYPE) {
97
+            usort($allitems, array('UserDataGenerator', 'sort_by_type'));
98
+        }elseif ($sorting & self :: UDG_SORT_NAME) {
99
+            usort($allitems, array('UserDataGenerator', 'sort_by_name'));
100
+        } elseif ($sorting & self :: UDG_SORT_COURSE) {
101
+            usort($allitems, array('UserDataGenerator', 'sort_by_course'));
102
+        } elseif ($sorting & self :: UDG_SORT_CATEGORY) {
103
+            usort($allitems, array('UserDataGenerator', 'sort_by_category'));
104
+        } elseif ($sorting & self :: UDG_SORT_AVERAGE) {
105
+            // if user sorts on average scores, first calculate them and cache them
106
+            foreach ($allitems as $item) {
107
+                $this->avgcache[$item->get_item_type() . $item->get_id()]= $item->calc_score();
108
+            }
109
+            usort($allitems, array('UserDataGenerator', 'sort_by_average'));
110
+        } elseif ($sorting & self :: UDG_SORT_SCORE) {
111
+            // if user sorts on student's scores, first calculate them and cache them
112
+            foreach ($allitems as $item) {
113
+                $this->scorecache[$item->get_item_type() . $item->get_id()]
114
+                    = $item->calc_score($this->userid);
115
+            }
116
+            usort($allitems, array('UserDataGenerator', 'sort_by_score'));
117
+        } elseif ($sorting & self :: UDG_SORT_MASK) {
118
+            // if user sorts on student's masks, first calculate scores and cache them
119
+            foreach ($allitems as $item) {
120
+                $this->scorecache[$item->get_item_type() . $item->get_id()]
121
+                    = $item->calc_score($this->userid);
122
+            }
123
+            usort($allitems, array('UserDataGenerator', 'sort_by_mask'));
124
+        }
125
+
126
+        if ($sorting & self :: UDG_SORT_DESC) {
127
+            $allitems = array_reverse($allitems);
128
+        }
129
+        // select the items we have to display
130
+        $visibleitems = array_slice($allitems, $start, $count);
131
+
132
+        // fill score cache if not done yet
133
+        if (!isset ($this->scorecache)) {
134
+            foreach ($visibleitems as $item) {
135
+                $this->scorecache[$item->get_item_type() . $item->get_id()]
136
+                    = $item->calc_score($this->userid);
137
+            }
138
+
139
+        }
140
+        // generate the data to display
141
+        $scoredisplay = ScoreDisplay :: instance();
142
+        $data = array();
143
+        foreach ($visibleitems as $item) {
144
+            $row = array ();
145
+            $row[] = $item;
146
+            $row[] = $item->get_name();
147
+            $row[] = $this->build_course_name($item);
148
+            $row[] = $this->build_category_name($item);
149
+            $row[] = $this->build_average_column($item, $ignore_score_color);
150
+            $row[] = $this->build_result_column($item, $ignore_score_color);
151
+            if ($scoredisplay->is_custom())
152
+                $row[] = $this->build_mask_column($item, $ignore_score_color);
153
+            $data[] = $row;
154
+        }
155
+        return $data;
156
+    }
157
+
158
+    /**
159
+     * @param $item1
160
+     * @param $item2
161
+     * @return int
162
+     */
163
+    function sort_by_type($item1, $item2)
164
+    {
165
+        if ($item1->get_item_type() == $item2->get_item_type()) {
166
+            return $this->sort_by_name($item1,$item2);
167
+        } else {
168
+            return ($item1->get_item_type() < $item2->get_item_type() ? -1 : 1);
169
+        }
170
+    }
171
+
172
+    /**
173
+     * @param $item1
174
+     * @param $item2
175
+     * @return int
176
+     */
177
+    function sort_by_course($item1, $item2)
178
+    {
179
+        $name1 = api_strtolower($this->get_course_name_from_code_cached($item1->get_course_code()));
180
+        $name2 = api_strtolower($this->get_course_name_from_code_cached($item2->get_course_code()));
181
+        return api_strnatcmp($name1, $name2);
182
+    }
183
+
184
+    /**
185
+     * @param $item1
186
+     * @param $item2
187
+     * @return int
188
+     */
189
+    function sort_by_category($item1, $item2)
190
+    {
191
+        $cat1 = $this->get_category_cached($item1->get_category_id());
192
+        $cat2 = $this->get_category_cached($item2->get_category_id());
193
+        $name1 = api_strtolower($this->get_category_name_to_display($cat1));
194
+        $name2 = api_strtolower($this->get_category_name_to_display($cat2));
195
+
196
+        return api_strnatcmp($name1, $name2);
197
+    }
198
+
199
+    /**
200
+     * @param $item1
201
+     * @param $item2
202
+     * @return int
203
+     */
204
+    function sort_by_name($item1, $item2)
205
+    {
206
+        return api_strnatcmp($item1->get_name(),$item2->get_name());
207
+    }
208
+
209
+    /**
210
+     * @param $item1
211
+     * @param $item2
212
+     * @return int
213
+     */
214
+    function sort_by_average($item1, $item2)
215
+    {
216
+        $score1 = $this->avgcache[$item1->get_item_type() . $item1->get_id()];
217
+        $score2 = $this->avgcache[$item2->get_item_type() . $item2->get_id()];
218
+
219
+        return $this->compare_scores($score1, $score2);
220
+    }
221
+
222
+    /**
223
+     * @param $item1
224
+     * @param $item2
225
+     * @return int
226
+     */
227
+    function sort_by_score($item1, $item2)
228
+    {
229
+        $score1 = $this->scorecache[$item1->get_item_type() . $item1->get_id()];
230
+        $score2 = $this->scorecache[$item2->get_item_type() . $item2->get_id()];
231
+
232
+        return $this->compare_scores($score1, $score2);
233
+    }
234
+
235
+    /**
236
+     * @param $item1
237
+     * @param $item2
238
+     * @return int
239
+     */
240
+    function sort_by_mask($item1, $item2)
241
+    {
242
+        $score1 = $this->scorecache[$item1->get_item_type() . $item1->get_id()];
243
+        $score2 = $this->scorecache[$item2->get_item_type() . $item2->get_id()];
244
+
245
+        return ScoreDisplay :: compare_scores_by_custom_display($score1, $score2);
246
+    }
247
+
248
+    /**
249
+     * @param $score1
250
+     * @param $score2
251
+     * @return int
252
+     */
253
+    function compare_scores($score1, $score2)
254
+    {
255
+        if (!isset($score1)) {
256
+            return (isset($score2) ? 1 : 0);
257
+        } elseif (!isset($score2)) {
258
+            return -1;
259
+        } elseif (($score1[0]/$score1[1]) == ($score2[0]/$score2[1])) {
260
+            return 0;
261
+        } else {
262
+            return (($score1[0]/$score1[1]) < ($score2[0]/$score2[1]) ? -1 : 1);
263
+        }
264
+    }
265
+
266
+    /**
267
+     * @param $item
268
+     * @return mixed
269
+     */
270
+    private function build_course_name($item)
271
+    {
272
+        return $this->get_course_name_from_code_cached($item->get_course_code());
273
+    }
274
+
275
+    /**
276
+     * @param $item
277
+     * @return string
278
+     */
279
+    private function build_category_name($item)
280
+    {
281
+        $cat = $this->get_category_cached($item->get_category_id());
282
+
283
+        return $this->get_category_name_to_display($cat);
284
+    }
285
+
286
+    /**
287
+     * @param $item
288
+     * @param $ignore_score_color
289
+     * @return string
290
+     */
291
+    private function build_average_column($item, $ignore_score_color)
292
+    {
293
+        if (isset($this->avgcache)) {
294
+            $avgscore = $this->avgcache[$item->get_item_type() . $item->get_id()];
295
+        } else {
296
+            $avgscore = $item->calc_score();
297
+        }
298
+
299
+        $scoredisplay = ScoreDisplay :: instance();
300
+        $displaytype = SCORE_AVERAGE;
301
+        /*if ($ignore_score_color)
302 302
 			$displaytype |= SCORE_IGNORE_SPLIT;
303 303
         */
304
-		return $scoredisplay->display_score($avgscore, $displaytype);
305
-	}
306
-
307
-	/**
308
-	 * @param $item
309
-	 * @param $ignore_score_color
310
-	 * @return string
311
-	 */
312
-	private function build_result_column($item, $ignore_score_color)
313
-	{
314
-		$studscore = $this->scorecache[$item->get_item_type() . $item->get_id()];
315
-		$scoredisplay = ScoreDisplay :: instance();
316
-		$displaytype = SCORE_DIV_PERCENT;
317
-		if ($ignore_score_color) {
318
-			$displaytype |= SCORE_IGNORE_SPLIT;
319
-		}
320
-
321
-		return $scoredisplay->display_score($studscore, $displaytype, SCORE_ONLY_DEFAULT);
322
-	}
323
-
324
-	/**
325
-	 * @param $item
326
-	 * @param $ignore_score_color
327
-	 * @return string
328
-	 */
329
-	private function build_mask_column($item, $ignore_score_color)
330
-	{
331
-		$studscore = $this->scorecache[$item->get_item_type() . $item->get_id()];
332
-		$scoredisplay = ScoreDisplay :: instance();
333
-		$displaytype = SCORE_DIV_PERCENT;
334
-		if ($ignore_score_color) {
335
-			$displaytype |= SCORE_IGNORE_SPLIT;
336
-		}
337
-		return $scoredisplay->display_score($studscore, $displaytype, SCORE_ONLY_CUSTOM);
338
-	}
339
-
340
-	/**
341
-	 * @param $coursecode
342
-	 * @return mixed
343
-	 */
344
-	private function get_course_name_from_code_cached($coursecode)
345
-	{
346
-		if (isset ($this->coursecodecache)
347
-			&& isset ($this->coursecodecache[$coursecode])) {
348
-			return $this->coursecodecache[$coursecode];
349
-		} else {
350
-			$name = CourseManager::getCourseNameFromCode($coursecode);
351
-			$this->coursecodecache[$coursecode] = $name;
352
-			return $name;
353
-		}
354
-	}
355
-
356
-	/**
357
-	 * @param $category_id
358
-	 * @return null
359
-	 */
360
-	private function get_category_cached($category_id)
361
-	{
362
-		if (isset ($this->categorycache)
363
-			&& isset ($this->categorycache[$category_id])) {
364
-			return $this->categorycache[$category_id];
365
-		}else {
366
-			$cat = Category::load($category_id);
367
-			if (isset($cat)){
368
-				$this->categorycache[$category_id] = $cat[0];
369
-				return $cat[0];
370
-			}else
371
-				return null;
372
-		}
373
-	}
374
-
375
-	/**
376
-	 * @param $cat
377
-	 * @return string
378
-	 */
379
-	private function get_category_name_to_display($cat)
380
-	{
381
-		if (isset($cat)) {
382
-			if ($cat->get_parent_id() == '0' || $cat->get_parent_id() == null){
383
-				return '';
384
-			} else {
385
-				return $cat->get_name();
386
-			}
387
-		} else {
388
-			return '';
389
-		}
390
-	}
304
+        return $scoredisplay->display_score($avgscore, $displaytype);
305
+    }
306
+
307
+    /**
308
+     * @param $item
309
+     * @param $ignore_score_color
310
+     * @return string
311
+     */
312
+    private function build_result_column($item, $ignore_score_color)
313
+    {
314
+        $studscore = $this->scorecache[$item->get_item_type() . $item->get_id()];
315
+        $scoredisplay = ScoreDisplay :: instance();
316
+        $displaytype = SCORE_DIV_PERCENT;
317
+        if ($ignore_score_color) {
318
+            $displaytype |= SCORE_IGNORE_SPLIT;
319
+        }
320
+
321
+        return $scoredisplay->display_score($studscore, $displaytype, SCORE_ONLY_DEFAULT);
322
+    }
323
+
324
+    /**
325
+     * @param $item
326
+     * @param $ignore_score_color
327
+     * @return string
328
+     */
329
+    private function build_mask_column($item, $ignore_score_color)
330
+    {
331
+        $studscore = $this->scorecache[$item->get_item_type() . $item->get_id()];
332
+        $scoredisplay = ScoreDisplay :: instance();
333
+        $displaytype = SCORE_DIV_PERCENT;
334
+        if ($ignore_score_color) {
335
+            $displaytype |= SCORE_IGNORE_SPLIT;
336
+        }
337
+        return $scoredisplay->display_score($studscore, $displaytype, SCORE_ONLY_CUSTOM);
338
+    }
339
+
340
+    /**
341
+     * @param $coursecode
342
+     * @return mixed
343
+     */
344
+    private function get_course_name_from_code_cached($coursecode)
345
+    {
346
+        if (isset ($this->coursecodecache)
347
+            && isset ($this->coursecodecache[$coursecode])) {
348
+            return $this->coursecodecache[$coursecode];
349
+        } else {
350
+            $name = CourseManager::getCourseNameFromCode($coursecode);
351
+            $this->coursecodecache[$coursecode] = $name;
352
+            return $name;
353
+        }
354
+    }
355
+
356
+    /**
357
+     * @param $category_id
358
+     * @return null
359
+     */
360
+    private function get_category_cached($category_id)
361
+    {
362
+        if (isset ($this->categorycache)
363
+            && isset ($this->categorycache[$category_id])) {
364
+            return $this->categorycache[$category_id];
365
+        }else {
366
+            $cat = Category::load($category_id);
367
+            if (isset($cat)){
368
+                $this->categorycache[$category_id] = $cat[0];
369
+                return $cat[0];
370
+            }else
371
+                return null;
372
+        }
373
+    }
374
+
375
+    /**
376
+     * @param $cat
377
+     * @return string
378
+     */
379
+    private function get_category_name_to_display($cat)
380
+    {
381
+        if (isset($cat)) {
382
+            if ($cat->get_parent_id() == '0' || $cat->get_parent_id() == null){
383
+                return '';
384
+            } else {
385
+                return $cat->get_name();
386
+            }
387
+        } else {
388
+            return '';
389
+        }
390
+    }
391 391
 }
Please login to merge, or discard this patch.
main/gradebook/lib/fe/userform.class.php 1 patch
Indentation   +63 added lines, -63 removed lines patch added patch discarded remove patch
@@ -9,71 +9,71 @@
 block discarded – undo
9 9
  */
10 10
 class UserForm extends FormValidator
11 11
 {
12
-	const TYPE_USER_INFO= 1;
13
-	const TYPE_SIMPLE_SEARCH = 3;
14
-	/**
15
-	 * Builds a form containing form items based on a given parameter
16
-	 * @param int form_type 1 = user_info
17
-	 * @param user array
18
-	 * @param string form name
19
-	 * @param method
20
-	 * @param action
21
-	 */
22
-	public function UserForm($form_type, $user, $form_name, $method= 'post', $action= null)
23
-	{
24
-		parent :: __construct($form_name, $method, $action);
25
-		$this->form_type= $form_type;
26
-		if (isset ($user)) {
27
-			$this->user_info= $user;
28
-		}
29
-		if (isset ($result_object)) {
30
-			$this->result_object= $result_object;
31
-		}
32
-		if ($this->form_type == self :: TYPE_USER_INFO) {
33
-			$this->build_user_info_form();
34
-		}
35
-		elseif ($this->form_type == self :: TYPE_SIMPLE_SEARCH) {
36
-			$this->build_simple_search();
37
-		}
38
-		$this->setDefaults();
39
-	}
12
+    const TYPE_USER_INFO= 1;
13
+    const TYPE_SIMPLE_SEARCH = 3;
14
+    /**
15
+     * Builds a form containing form items based on a given parameter
16
+     * @param int form_type 1 = user_info
17
+     * @param user array
18
+     * @param string form name
19
+     * @param method
20
+     * @param action
21
+     */
22
+    public function UserForm($form_type, $user, $form_name, $method= 'post', $action= null)
23
+    {
24
+        parent :: __construct($form_name, $method, $action);
25
+        $this->form_type= $form_type;
26
+        if (isset ($user)) {
27
+            $this->user_info= $user;
28
+        }
29
+        if (isset ($result_object)) {
30
+            $this->result_object= $result_object;
31
+        }
32
+        if ($this->form_type == self :: TYPE_USER_INFO) {
33
+            $this->build_user_info_form();
34
+        }
35
+        elseif ($this->form_type == self :: TYPE_SIMPLE_SEARCH) {
36
+            $this->build_simple_search();
37
+        }
38
+        $this->setDefaults();
39
+    }
40 40
 
41
-	protected function build_simple_search()
42
-	{
43
-		if (isset($_GET['search']) && (!empty($_GET['search']))) {
44
-			$this->setDefaults(array(
45
-				'keyword' => Security::remove_XSS($_GET['search'])
46
-			));
47
-		}
48
-		$renderer =& $this->defaultRenderer();
49
-		$renderer->setCustomElementTemplate('<span>{element}</span> ');
50
-		$this->addElement('text','keyword','');
51
-		$this->addButtonSearch(get_lang('Search'), 'submit');
52
-	}
41
+    protected function build_simple_search()
42
+    {
43
+        if (isset($_GET['search']) && (!empty($_GET['search']))) {
44
+            $this->setDefaults(array(
45
+                'keyword' => Security::remove_XSS($_GET['search'])
46
+            ));
47
+        }
48
+        $renderer =& $this->defaultRenderer();
49
+        $renderer->setCustomElementTemplate('<span>{element}</span> ');
50
+        $this->addElement('text','keyword','');
51
+        $this->addButtonSearch(get_lang('Search'), 'submit');
52
+    }
53 53
 
54
-	protected function build_user_info_form()
55
-	{
56
-		if (api_is_western_name_order()) {
57
-			$this->addElement('static', 'fname', get_lang('FirstName'), $this->user_info['firstname']);
58
-			$this->addElement('static', 'lname', get_lang('LastName'), $this->user_info['lastname']);
59
-		} else {
60
-			$this->addElement('static', 'lname', get_lang('LastName'), $this->user_info['lastname']);
61
-			$this->addElement('static', 'fname', get_lang('FirstName'), $this->user_info['firstname']);
62
-		}
63
-		$this->addElement('static', 'uname', get_lang('UserName'), $this->user_info['username']);
64
-		$this->addElement('static', 'email', get_lang('Email'), '<a href="mailto:' . $this->user_info['email'] . '">' . $this->user_info['email'] . '</a>');
65
-		$this->addElement('static', 'ofcode', get_lang('OfficialCode'), $this->user_info['official_code']);
66
-		$this->addElement('static', 'phone', get_lang('Phone'), $this->user_info['phone']);
67
-		$this->addButtonSave(get_lang('Back'), 'submit');
68
-	}
54
+    protected function build_user_info_form()
55
+    {
56
+        if (api_is_western_name_order()) {
57
+            $this->addElement('static', 'fname', get_lang('FirstName'), $this->user_info['firstname']);
58
+            $this->addElement('static', 'lname', get_lang('LastName'), $this->user_info['lastname']);
59
+        } else {
60
+            $this->addElement('static', 'lname', get_lang('LastName'), $this->user_info['lastname']);
61
+            $this->addElement('static', 'fname', get_lang('FirstName'), $this->user_info['firstname']);
62
+        }
63
+        $this->addElement('static', 'uname', get_lang('UserName'), $this->user_info['username']);
64
+        $this->addElement('static', 'email', get_lang('Email'), '<a href="mailto:' . $this->user_info['email'] . '">' . $this->user_info['email'] . '</a>');
65
+        $this->addElement('static', 'ofcode', get_lang('OfficialCode'), $this->user_info['official_code']);
66
+        $this->addElement('static', 'phone', get_lang('Phone'), $this->user_info['phone']);
67
+        $this->addButtonSave(get_lang('Back'), 'submit');
68
+    }
69 69
 
70
-	function display()
71
-	{
72
-		parent :: display();
73
-	}
70
+    function display()
71
+    {
72
+        parent :: display();
73
+    }
74 74
 
75
-	function setDefaults($defaults= array(), $filter = null)
76
-	{
77
-		parent :: setDefaults($defaults, $filter);
78
-	}
75
+    function setDefaults($defaults= array(), $filter = null)
76
+    {
77
+        parent :: setDefaults($defaults, $filter);
78
+    }
79 79
 }
Please login to merge, or discard this patch.
main/gradebook/lib/fe/displaygradebook.php 1 patch
Indentation   +1 added lines, -1 removed lines patch added patch discarded remove patch
@@ -558,7 +558,7 @@
 block discarded – undo
558 558
                     $my_api_cidreq = 'cidReq=' . $my_category['course_code'];
559 559
                 }
560 560
                 if ($show_add_link && !$message_resource) {
561
-                   $actionsLeft .= '<a href="gradebook_add_eval.php?' . $my_api_cidreq . '&selectcat=' . $catobj->get_id() . '" >' .
561
+                    $actionsLeft .= '<a href="gradebook_add_eval.php?' . $my_api_cidreq . '&selectcat=' . $catobj->get_id() . '" >' .
562 562
                         Display::return_icon('new_evaluation.png', get_lang('NewEvaluation'), '', ICON_SIZE_MEDIUM) . '</a>';
563 563
                     $cats = Category :: load($selectcat);
564 564
 
Please login to merge, or discard this patch.
main/gradebook/lib/fe/linkform.class.php 1 patch
Indentation   +117 added lines, -117 removed lines patch added patch discarded remove patch
@@ -10,133 +10,133 @@
 block discarded – undo
10 10
  */
11 11
 class LinkForm extends FormValidator
12 12
 {
13
-	const TYPE_CREATE = 1;
14
-	const TYPE_MOVE = 2;
15
-	/** @var Category */
16
-	private $category_object;
17
-	private $link_object;
18
-	private $extra;
13
+    const TYPE_CREATE = 1;
14
+    const TYPE_MOVE = 2;
15
+    /** @var Category */
16
+    private $category_object;
17
+    private $link_object;
18
+    private $extra;
19 19
 
20
-	/**
21
-	 * Builds a form containing form items based on a given parameter
22
-	 * @param int form_type 1=choose link
23
-	 * @param obj cat_obj the category object
24
-	 * @param string form name
25
-	 * @param method
26
-	 * @param action
27
-	 */
28
-	public function LinkForm(
29
-		$form_type,
30
-		$category_object,
31
-		$link_object,
32
-		$form_name,
33
-		$method = 'post',
34
-		$action = null,
35
-		$extra = null
36
-	) {
37
-		parent :: __construct($form_name, $method, $action);
20
+    /**
21
+     * Builds a form containing form items based on a given parameter
22
+     * @param int form_type 1=choose link
23
+     * @param obj cat_obj the category object
24
+     * @param string form name
25
+     * @param method
26
+     * @param action
27
+     */
28
+    public function LinkForm(
29
+        $form_type,
30
+        $category_object,
31
+        $link_object,
32
+        $form_name,
33
+        $method = 'post',
34
+        $action = null,
35
+        $extra = null
36
+    ) {
37
+        parent :: __construct($form_name, $method, $action);
38 38
 
39
-		if (isset ($category_object)) {
40
-			$this->category_object = $category_object;
41
-		} else {
42
-			if (isset($link_object)) {
43
-				$this->link_object = $link_object;
44
-			}
45
-		}
39
+        if (isset ($category_object)) {
40
+            $this->category_object = $category_object;
41
+        } else {
42
+            if (isset($link_object)) {
43
+                $this->link_object = $link_object;
44
+            }
45
+        }
46 46
 
47
-		if (isset ($extra)) {
48
-			$this->extra = $extra;
49
-		}
50
-		if ($form_type == self :: TYPE_CREATE) {
51
-			$this->build_create();
52
-		} elseif ($form_type == self :: TYPE_MOVE) {
53
-			$this->build_move();
54
-		}
55
-	}
47
+        if (isset ($extra)) {
48
+            $this->extra = $extra;
49
+        }
50
+        if ($form_type == self :: TYPE_CREATE) {
51
+            $this->build_create();
52
+        } elseif ($form_type == self :: TYPE_MOVE) {
53
+            $this->build_move();
54
+        }
55
+    }
56 56
 
57
-	protected function build_move()
58
-	{
59
-		$renderer =& $this->defaultRenderer();
60
-		$renderer->setCustomElementTemplate('<span>{element}</span> ');
61
-		$this->addElement('static',null,null,'"'.$this->link_object->get_name().'" ');
62
-		$this->addElement('static',null,null,get_lang('MoveTo').' : ');
63
-		$select = $this->addElement('select','move_cat',null,null);
64
-		$line = '';
65
-		foreach ($this->link_object->get_target_categories() as $cat) {
66
-			for ($i=0;$i<$cat[2];$i++) {
67
-				$line .= '&mdash;';
68
-			}
69
-			$select->addoption($line.' '.$cat[1],$cat[0]);
70
-			$line = '';
71
-		}
72
-		$this->addElement('submit', null, get_lang('Ok'));
73
-	}
57
+    protected function build_move()
58
+    {
59
+        $renderer =& $this->defaultRenderer();
60
+        $renderer->setCustomElementTemplate('<span>{element}</span> ');
61
+        $this->addElement('static',null,null,'"'.$this->link_object->get_name().'" ');
62
+        $this->addElement('static',null,null,get_lang('MoveTo').' : ');
63
+        $select = $this->addElement('select','move_cat',null,null);
64
+        $line = '';
65
+        foreach ($this->link_object->get_target_categories() as $cat) {
66
+            for ($i=0;$i<$cat[2];$i++) {
67
+                $line .= '&mdash;';
68
+            }
69
+            $select->addoption($line.' '.$cat[1],$cat[0]);
70
+            $line = '';
71
+        }
72
+        $this->addElement('submit', null, get_lang('Ok'));
73
+    }
74 74
 
75
-	/**
76
-	 * Builds the form
77
-	 */
78
-	protected function build_create()
79
-	{
80
-		$this->addElement('header', get_lang('MakeLink'));
81
-		$select = $this->addElement(
82
-			'select',
83
-			'select_link',
84
-			get_lang('ChooseLink'),
85
-			null,
86
-			array('onchange' => 'document.create_link.submit()')
87
-		);
75
+    /**
76
+     * Builds the form
77
+     */
78
+    protected function build_create()
79
+    {
80
+        $this->addElement('header', get_lang('MakeLink'));
81
+        $select = $this->addElement(
82
+            'select',
83
+            'select_link',
84
+            get_lang('ChooseLink'),
85
+            null,
86
+            array('onchange' => 'document.create_link.submit()')
87
+        );
88 88
 
89
-		$linkTypes = LinkFactory::get_all_types();
89
+        $linkTypes = LinkFactory::get_all_types();
90 90
 
91
-		$select->addoption('['.get_lang('ChooseLink').']', 0);
91
+        $select->addoption('['.get_lang('ChooseLink').']', 0);
92 92
 
93
-		$courseCode = $this->category_object->get_course_code();
93
+        $courseCode = $this->category_object->get_course_code();
94 94
 
95
-		foreach ($linkTypes as $linkType) {
96
-			// The hot potatoe link will be added "inside" the exercise option.
97
-			if ($linkType == LINK_HOTPOTATOES) {
98
-				continue;
99
-			}
100
-			$link = $this->createLink($linkType, $courseCode);
101
-			// disable this element if the link works with a dropdownlist
102
-			// and if there are no links left
103
-			if (!$link->needs_name_and_description() && count($link->get_all_links()) == '0') {
104
-				$select->addoption($link->get_type_name(), $linkType, 'disabled');
105
-			} else {
106
-				if ($link->get_type() == LINK_EXERCISE) {
107
-					// Adding exercise
108
-					$select->addoption($link->get_type_name(), $linkType);
109
-					// Adding hot potatoes
110
-					$linkHot = $this->createLink(LINK_HOTPOTATOES, $courseCode);
111
-					$select->addoption(
112
-						'&nbsp;&nbsp;&nbsp;'.$linkHot->get_type_name(),
113
-						LINK_HOTPOTATOES
114
-					);
115
-				} else {
116
-					$select->addoption($link->get_type_name(), $linkType);
117
-				}
118
-			}
119
-		}
95
+        foreach ($linkTypes as $linkType) {
96
+            // The hot potatoe link will be added "inside" the exercise option.
97
+            if ($linkType == LINK_HOTPOTATOES) {
98
+                continue;
99
+            }
100
+            $link = $this->createLink($linkType, $courseCode);
101
+            // disable this element if the link works with a dropdownlist
102
+            // and if there are no links left
103
+            if (!$link->needs_name_and_description() && count($link->get_all_links()) == '0') {
104
+                $select->addoption($link->get_type_name(), $linkType, 'disabled');
105
+            } else {
106
+                if ($link->get_type() == LINK_EXERCISE) {
107
+                    // Adding exercise
108
+                    $select->addoption($link->get_type_name(), $linkType);
109
+                    // Adding hot potatoes
110
+                    $linkHot = $this->createLink(LINK_HOTPOTATOES, $courseCode);
111
+                    $select->addoption(
112
+                        '&nbsp;&nbsp;&nbsp;'.$linkHot->get_type_name(),
113
+                        LINK_HOTPOTATOES
114
+                    );
115
+                } else {
116
+                    $select->addoption($link->get_type_name(), $linkType);
117
+                }
118
+            }
119
+        }
120 120
 
121
-		if (isset($this->extra)) {
122
-			$this->setDefaults(array('select_link' => $this->extra));
123
-		}
124
-	}
121
+        if (isset($this->extra)) {
122
+            $this->setDefaults(array('select_link' => $this->extra));
123
+        }
124
+    }
125 125
 
126
-	/**
127
-	 * @param $link
128
-	 * @param $courseCode
129
-	 * @return AttendanceLink|DropboxLink|ExerciseLink|ForumThreadLink|LearnpathLink|null|StudentPublicationLink|SurveyLink
130
-	 */
131
-	private function createLink($link, $courseCode)
132
-	{
133
-		$link = LinkFactory::create($link);
134
-		if (!empty($courseCode)) {
135
-			$link->set_course_code($courseCode);
136
-		} elseif(!empty($_GET['course_code'])) {
137
-			$link->set_course_code(Database::escape_string($_GET['course_code'], null, false));
138
-		}
126
+    /**
127
+     * @param $link
128
+     * @param $courseCode
129
+     * @return AttendanceLink|DropboxLink|ExerciseLink|ForumThreadLink|LearnpathLink|null|StudentPublicationLink|SurveyLink
130
+     */
131
+    private function createLink($link, $courseCode)
132
+    {
133
+        $link = LinkFactory::create($link);
134
+        if (!empty($courseCode)) {
135
+            $link->set_course_code($courseCode);
136
+        } elseif(!empty($_GET['course_code'])) {
137
+            $link->set_course_code(Database::escape_string($_GET['course_code'], null, false));
138
+        }
139 139
 
140
-		return $link;
141
-	}
140
+        return $link;
141
+    }
142 142
 }
Please login to merge, or discard this patch.
main/gradebook/lib/fe/resulttable.class.php 1 patch
Indentation   +149 added lines, -149 removed lines patch added patch discarded remove patch
@@ -10,162 +10,162 @@
 block discarded – undo
10 10
  */
11 11
 class ResultTable extends SortableTable
12 12
 {
13
-	private $datagen;
14
-	private $evaluation;
15
-	private $allresults;
16
-	private $iscourse;
17
-
18
-	/**
19
-	 * Constructor
20
-	 */
13
+    private $datagen;
14
+    private $evaluation;
15
+    private $allresults;
16
+    private $iscourse;
17
+
18
+    /**
19
+     * Constructor
20
+     */
21 21
     public function ResultTable ($evaluation, $results = array(), $iscourse, $addparams = null,$forprint = false)
22
-	{
23
-    	parent :: __construct ('resultlist', null, null, (api_is_western_name_order() xor api_sort_by_first_name()) ? 2 : 1);
24
-
25
-		$this->datagen = new ResultsDataGenerator($evaluation, $results, true);
26
-
27
-		$this->evaluation = $evaluation;
28
-		$this->iscourse = $iscourse;
29
-		$this->forprint = $forprint;
30
-
31
-		if (isset ($addparams))  {
32
-			$this->set_additional_parameters($addparams);
33
-		}
34
-		$scoredisplay = ScoreDisplay :: instance();
35
-		$column= 0;
36
-		if ($this->iscourse == '1') {
37
-			$this->set_header($column++, '', false);
38
-			$this->set_form_actions(array (
39
-					'delete' => get_lang('Delete')
40
-			));
41
-		}
42
-		if (api_is_western_name_order()) {
43
-			$this->set_header($column++, get_lang('FirstName'));
44
-			$this->set_header($column++, get_lang('LastName'));
45
-		} else {
46
-			$this->set_header($column++, get_lang('LastName'));
47
-			$this->set_header($column++, get_lang('FirstName'));
48
-		}
49
-		$this->set_header($column++, get_lang('Score'));
50
-		if ($scoredisplay->is_custom()) {
51
-			$this->set_header($column++, get_lang('Display'));
52
-		}
53
-		if (!$this->forprint) {
54
-			$this->set_header($column++, get_lang('Modify'),false);
55
-		}
22
+    {
23
+        parent :: __construct ('resultlist', null, null, (api_is_western_name_order() xor api_sort_by_first_name()) ? 2 : 1);
24
+
25
+        $this->datagen = new ResultsDataGenerator($evaluation, $results, true);
26
+
27
+        $this->evaluation = $evaluation;
28
+        $this->iscourse = $iscourse;
29
+        $this->forprint = $forprint;
30
+
31
+        if (isset ($addparams))  {
32
+            $this->set_additional_parameters($addparams);
33
+        }
34
+        $scoredisplay = ScoreDisplay :: instance();
35
+        $column= 0;
36
+        if ($this->iscourse == '1') {
37
+            $this->set_header($column++, '', false);
38
+            $this->set_form_actions(array (
39
+                    'delete' => get_lang('Delete')
40
+            ));
41
+        }
42
+        if (api_is_western_name_order()) {
43
+            $this->set_header($column++, get_lang('FirstName'));
44
+            $this->set_header($column++, get_lang('LastName'));
45
+        } else {
46
+            $this->set_header($column++, get_lang('LastName'));
47
+            $this->set_header($column++, get_lang('FirstName'));
48
+        }
49
+        $this->set_header($column++, get_lang('Score'));
50
+        if ($scoredisplay->is_custom()) {
51
+            $this->set_header($column++, get_lang('Display'));
52
+        }
53
+        if (!$this->forprint) {
54
+            $this->set_header($column++, get_lang('Modify'),false);
55
+        }
56 56
     }
57 57
 
58 58
 
59
-	/**
60
-	 * Function used by SortableTable to get total number of items in the table
61
-	 */
62
-	function get_total_number_of_items () {
63
-		return $this->datagen->get_total_results_count();
64
-	}
65
-
66
-	/**
67
-	 * Function used by SortableTable to generate the data to display
68
-	 */
69
-	function get_table_data ($from = 1, $per_page = null, $column = null, $direction = null, $sort = null) {
70
-
71
-		$is_western_name_order = api_is_western_name_order();
72
-		$scoredisplay = ScoreDisplay :: instance();
73
-
74
-		// determine sorting type
75
-		$col_adjust = $this->iscourse == '1' ? 1 : 0;
76
-
77
-		switch ($this->column) {
78
-			// first name or last name
79
-			case (0 + $col_adjust):
80
-				if ($is_western_name_order) {
81
-					$sorting = ResultsDataGenerator :: RDG_SORT_FIRSTNAME;
82
-				} else {
83
-					$sorting = ResultsDataGenerator :: RDG_SORT_LASTNAME;
84
-				}
85
-				break;
59
+    /**
60
+     * Function used by SortableTable to get total number of items in the table
61
+     */
62
+    function get_total_number_of_items () {
63
+        return $this->datagen->get_total_results_count();
64
+    }
65
+
66
+    /**
67
+     * Function used by SortableTable to generate the data to display
68
+     */
69
+    function get_table_data ($from = 1, $per_page = null, $column = null, $direction = null, $sort = null) {
70
+
71
+        $is_western_name_order = api_is_western_name_order();
72
+        $scoredisplay = ScoreDisplay :: instance();
73
+
74
+        // determine sorting type
75
+        $col_adjust = $this->iscourse == '1' ? 1 : 0;
76
+
77
+        switch ($this->column) {
86 78
             // first name or last name
87
-			case (1 + $col_adjust):
88
-				if ($is_western_name_order) {
89
-					$sorting = ResultsDataGenerator :: RDG_SORT_LASTNAME;
90
-				} else {
91
-					$sorting = ResultsDataGenerator :: RDG_SORT_FIRSTNAME;
92
-				}
93
-				break;
79
+            case (0 + $col_adjust):
80
+                if ($is_western_name_order) {
81
+                    $sorting = ResultsDataGenerator :: RDG_SORT_FIRSTNAME;
82
+                } else {
83
+                    $sorting = ResultsDataGenerator :: RDG_SORT_LASTNAME;
84
+                }
85
+                break;
86
+            // first name or last name
87
+            case (1 + $col_adjust):
88
+                if ($is_western_name_order) {
89
+                    $sorting = ResultsDataGenerator :: RDG_SORT_LASTNAME;
90
+                } else {
91
+                    $sorting = ResultsDataGenerator :: RDG_SORT_FIRSTNAME;
92
+                }
93
+                break;
94 94
             //Score
95
-			case (2 + $col_adjust):
96
-				$sorting = ResultsDataGenerator :: RDG_SORT_SCORE;
97
-				break;
98
-			case (3 + $col_adjust):
99
-				$sorting = ResultsDataGenerator :: RDG_SORT_MASK;
100
-				break;
101
-		}
102
-
103
-		if ($this->direction == 'DESC') {
104
-			$sorting |= ResultsDataGenerator :: RDG_SORT_DESC;
105
-		} else {
106
-			$sorting |= ResultsDataGenerator :: RDG_SORT_ASC;
107
-		}
108
-
109
-		$data_array = $this->datagen->get_data($sorting, $from, $this->per_page);
110
-
111
-		// generate the data to display
112
-		$sortable_data = array();
113
-		foreach ($data_array as $item) {
114
-			$row = array ();
115
-			if ($this->iscourse == '1') {
116
-				 $row[] = $item['result_id'];
117
-			}
118
-			if ($is_western_name_order) {
119
-				$row[] = $item['firstname'];
120
-				$row[] = $item['lastname'];
121
-			} else {
122
-				$row[] = $item['lastname'];
123
-				$row[] = $item['firstname'];
124
-			}
125
-
126
-			$row[] =  Display::bar_progress($item['percentage_score'], false, $item['score']);
95
+            case (2 + $col_adjust):
96
+                $sorting = ResultsDataGenerator :: RDG_SORT_SCORE;
97
+                break;
98
+            case (3 + $col_adjust):
99
+                $sorting = ResultsDataGenerator :: RDG_SORT_MASK;
100
+                break;
101
+        }
102
+
103
+        if ($this->direction == 'DESC') {
104
+            $sorting |= ResultsDataGenerator :: RDG_SORT_DESC;
105
+        } else {
106
+            $sorting |= ResultsDataGenerator :: RDG_SORT_ASC;
107
+        }
108
+
109
+        $data_array = $this->datagen->get_data($sorting, $from, $this->per_page);
110
+
111
+        // generate the data to display
112
+        $sortable_data = array();
113
+        foreach ($data_array as $item) {
114
+            $row = array ();
115
+            if ($this->iscourse == '1') {
116
+                    $row[] = $item['result_id'];
117
+            }
118
+            if ($is_western_name_order) {
119
+                $row[] = $item['firstname'];
120
+                $row[] = $item['lastname'];
121
+            } else {
122
+                $row[] = $item['lastname'];
123
+                $row[] = $item['firstname'];
124
+            }
125
+
126
+            $row[] =  Display::bar_progress($item['percentage_score'], false, $item['score']);
127 127
             //$row[] =  Display::bar_progress($item['percentage_score'], true);
128
-			if ($scoredisplay->is_custom()) {
129
-				$row[] = $item['display'];
130
-			}
131
-			if (!$this->forprint) {
132
-				$row[] = $this->build_edit_column ($item);
133
-			}
134
-			$sortable_data[] = $row;
135
-		}
136
-
137
-		return $sortable_data;
138
-	}
139
-
140
-	private function build_edit_column ($item)
141
-	{
142
-		$status=CourseManager::get_user_in_course_status(api_get_user_id(), api_get_course_id());
143
-		$locked_status = $this->evaluation->get_locked();
144
-		if (api_is_allowed_to_edit(null, true) && $locked_status == 0) {
145
-			//api_is_course_admin()
146
-			$edit_column = '<a href="' . api_get_self() . '?editres=' . $item['result_id'] . '&selecteval=' . $this->evaluation->get_id().'&'.api_get_cidreq().'">'.
147
-				Display::return_icon('edit.png', get_lang('Modify'),'','22').'</a>';
148
-			$edit_column .= ' <a href="' . api_get_self() . '?delete_mark=' . $item['result_id'] . '&selecteval=' . $this->evaluation->get_id().'&'.api_get_cidreq().'">'.
149
-				Display::return_icon('delete.png', get_lang('Delete'),'','22').'</a>';
150
-		}
151
-		if ($this->evaluation->get_course_code() == null) {
152
-			$edit_column.= '&nbsp;<a href="' . api_get_self() . '?resultdelete=' . $item['result_id'] . '&selecteval=' . $this->evaluation->get_id() . '" onclick="return confirmationuser();">
128
+            if ($scoredisplay->is_custom()) {
129
+                $row[] = $item['display'];
130
+            }
131
+            if (!$this->forprint) {
132
+                $row[] = $this->build_edit_column ($item);
133
+            }
134
+            $sortable_data[] = $row;
135
+        }
136
+
137
+        return $sortable_data;
138
+    }
139
+
140
+    private function build_edit_column ($item)
141
+    {
142
+        $status=CourseManager::get_user_in_course_status(api_get_user_id(), api_get_course_id());
143
+        $locked_status = $this->evaluation->get_locked();
144
+        if (api_is_allowed_to_edit(null, true) && $locked_status == 0) {
145
+            //api_is_course_admin()
146
+            $edit_column = '<a href="' . api_get_self() . '?editres=' . $item['result_id'] . '&selecteval=' . $this->evaluation->get_id().'&'.api_get_cidreq().'">'.
147
+                Display::return_icon('edit.png', get_lang('Modify'),'','22').'</a>';
148
+            $edit_column .= ' <a href="' . api_get_self() . '?delete_mark=' . $item['result_id'] . '&selecteval=' . $this->evaluation->get_id().'&'.api_get_cidreq().'">'.
149
+                Display::return_icon('delete.png', get_lang('Delete'),'','22').'</a>';
150
+        }
151
+        if ($this->evaluation->get_course_code() == null) {
152
+            $edit_column.= '&nbsp;<a href="' . api_get_self() . '?resultdelete=' . $item['result_id'] . '&selecteval=' . $this->evaluation->get_id() . '" onclick="return confirmationuser();">
153 153
 			<img src="../img/delete.gif" border="0" title="' . get_lang('Delete') . '" alt="" /></a>';
154
-		    $edit_column.= '&nbsp;<a href="user_stats.php?userid=' . $item['id'] . '&selecteval=' . $this->evaluation->get_id() . '&'.api_get_cidreq().'">
154
+            $edit_column.= '&nbsp;<a href="user_stats.php?userid=' . $item['id'] . '&selecteval=' . $this->evaluation->get_id() . '&'.api_get_cidreq().'">
155 155
 		    <img src="../img/statistics.gif" width="17px" border="0" title="' . get_lang('Statistics') . '" alt="" /></a>';
156
-		}
157
-		// Evaluation's origin is a link
158
-		if ($this->evaluation->get_category_id() < 0) {
159
-			$link = LinkFactory :: get_evaluation_link ($this->evaluation->get_id());
160
-
161
-			$doc_url = $link->get_view_url($item['id']);
162
-
163
-			if ($doc_url != null) {
164
-				$edit_column .= '&nbsp;<a href="'. $doc_url . '" target="_blank">'
165
-								.'<img src="'. api_get_path(WEB_CODE_PATH) . 'img/link.gif" border="0" title="' . get_lang('OpenDocument') . '" alt="" />'
166
-								.'</a>';
167
-			}
168
-		}
169
-		return $edit_column;
170
-	}
156
+        }
157
+        // Evaluation's origin is a link
158
+        if ($this->evaluation->get_category_id() < 0) {
159
+            $link = LinkFactory :: get_evaluation_link ($this->evaluation->get_id());
160
+
161
+            $doc_url = $link->get_view_url($item['id']);
162
+
163
+            if ($doc_url != null) {
164
+                $edit_column .= '&nbsp;<a href="'. $doc_url . '" target="_blank">'
165
+                                .'<img src="'. api_get_path(WEB_CODE_PATH) . 'img/link.gif" border="0" title="' . get_lang('OpenDocument') . '" alt="" />'
166
+                                .'</a>';
167
+            }
168
+        }
169
+        return $edit_column;
170
+    }
171 171
 }
Please login to merge, or discard this patch.
main/gradebook/lib/fe/linkaddeditform.class.php 1 patch
Indentation   +174 added lines, -174 removed lines patch added patch discarded remove patch
@@ -9,108 +9,108 @@  discard block
 block discarded – undo
9 9
  */
10 10
 class LinkAddEditForm extends FormValidator
11 11
 {
12
-	const TYPE_ADD  = 1;
13
-	const TYPE_EDIT = 2;
14
-
15
-	/**
16
-	 * Constructor
17
-	 * To add link, define category_object and link_type
18
-	 * To edit link, define link_object
19
-	 */
20
-	public function LinkAddEditForm(
21
-		$form_type,
22
-		$category_object,
23
-		$link_type,
24
-		$link_object,
25
-		$form_name,
26
-		$action = null
27
-	) {
28
-		parent :: __construct($form_name, 'post', $action);
29
-
30
-		// set or create link object
31
-		if (isset($link_object)) {
32
-			$link = $link_object;
33
-		} elseif (isset($link_type) && isset($category_object)) {
34
-			$link = LinkFactory :: create ($link_type);
35
-			$link->set_course_code(api_get_course_id());
36
-			$link->set_category_id($category_object[0]->get_id());
37
-		} else {
38
-			die ('LinkAddEditForm error: define link_type/category_object or link_object');
39
-		}
40
-
41
-		$defaults = array();
42
-		$this->addElement('hidden', 'zero', 0);
43
-
44
-		if (!empty($_GET['editlink'])) {
45
-			$this->addElement('header', '', get_lang('EditLink'));
46
-		}
47
-
48
-		// ELEMENT: name
49
-		if ($form_type == self :: TYPE_ADD || $link->is_allowed_to_change_name()) {
50
-			if ($link->needs_name_and_description()) {
51
-				$this->addText('name', get_lang('Name'), true, array('size'=>'40', 'maxlength'=>'40'));
52
-			} else {
53
-				$select = $this->addElement('select', 'select_link', get_lang('ChooseItem'));
54
-				foreach ($link->get_all_links() as $newlink) {
55
-					$select->addoption($newlink[1],$newlink[0]);
56
-				}
57
-			}
58
-		} else {
59
-			$this->addElement('label',get_lang('Name'),  '<span class="freeze">'.$link->get_name().' ['.$link->get_type_name().']</span>');
60
-			$this->addElement('hidden','name_link',$link->get_name(),array('id'=>'name_link'));
61
-		}
62
-
63
-		if (count($category_object) == 1) {
64
-			$this->addElement('hidden', 'select_gradebook', $category_object[0]->get_id());
65
-		} else {
66
-			$select_gradebook = $this->addElement(
67
-				'select',
68
-				'select_gradebook',
69
-				get_lang('SelectGradebook'),
70
-				array(),
71
-				array('id' => 'hide_category_id')
72
-			);
73
-			$this->addRule('select_gradebook', get_lang('ThisFieldIsRequired'), 'nonzero');
74
-
75
-			$default_weight = 0;
76
-			if (!empty($category_object)) {
77
-				foreach ($category_object as $my_cat) {
78
-
79
-					if ($my_cat->get_course_code() == api_get_course_id()) {
80
-						$grade_model_id = $my_cat->get_grade_model_id();
81
-						if (empty($grade_model_id)) {
82
-
83
-							if ($my_cat->get_parent_id() == 0 ) {
84
-								$default_weight = $my_cat->get_weight();
85
-								$select_gradebook->addoption(get_lang('Default'), $my_cat->get_id());
86
-							} else {
87
-								$select_gradebook->addoption($my_cat->get_name(), $my_cat->get_id());
88
-							}
89
-						} else {
90
-							$select_gradebook->addoption(get_lang('Select'), 0);
91
-						}
92
-						if ($link->get_category_id() == $my_cat->get_id()) {
93
-							$default_weight = $my_cat->get_weight();
94
-						}
95
-					}
96
-				}
97
-			}
98
-		}
99
-
100
-		$this->addText(
101
-			'weight_mask',
102
-			array(get_lang('Weight'), null, ' [0 .. <span id="max_weight">'.$category_object[0]->get_weight().'</span>] '),
103
-			true,
104
-			array(
105
-				'size' => '4',
106
-				'maxlength' => '5',
107
-				'class' => 'span1'
108
-			)
109
-		);
110
-
111
-		$this->addElement('hidden', 'weight');
112
-
113
-		/*
12
+    const TYPE_ADD  = 1;
13
+    const TYPE_EDIT = 2;
14
+
15
+    /**
16
+     * Constructor
17
+     * To add link, define category_object and link_type
18
+     * To edit link, define link_object
19
+     */
20
+    public function LinkAddEditForm(
21
+        $form_type,
22
+        $category_object,
23
+        $link_type,
24
+        $link_object,
25
+        $form_name,
26
+        $action = null
27
+    ) {
28
+        parent :: __construct($form_name, 'post', $action);
29
+
30
+        // set or create link object
31
+        if (isset($link_object)) {
32
+            $link = $link_object;
33
+        } elseif (isset($link_type) && isset($category_object)) {
34
+            $link = LinkFactory :: create ($link_type);
35
+            $link->set_course_code(api_get_course_id());
36
+            $link->set_category_id($category_object[0]->get_id());
37
+        } else {
38
+            die ('LinkAddEditForm error: define link_type/category_object or link_object');
39
+        }
40
+
41
+        $defaults = array();
42
+        $this->addElement('hidden', 'zero', 0);
43
+
44
+        if (!empty($_GET['editlink'])) {
45
+            $this->addElement('header', '', get_lang('EditLink'));
46
+        }
47
+
48
+        // ELEMENT: name
49
+        if ($form_type == self :: TYPE_ADD || $link->is_allowed_to_change_name()) {
50
+            if ($link->needs_name_and_description()) {
51
+                $this->addText('name', get_lang('Name'), true, array('size'=>'40', 'maxlength'=>'40'));
52
+            } else {
53
+                $select = $this->addElement('select', 'select_link', get_lang('ChooseItem'));
54
+                foreach ($link->get_all_links() as $newlink) {
55
+                    $select->addoption($newlink[1],$newlink[0]);
56
+                }
57
+            }
58
+        } else {
59
+            $this->addElement('label',get_lang('Name'),  '<span class="freeze">'.$link->get_name().' ['.$link->get_type_name().']</span>');
60
+            $this->addElement('hidden','name_link',$link->get_name(),array('id'=>'name_link'));
61
+        }
62
+
63
+        if (count($category_object) == 1) {
64
+            $this->addElement('hidden', 'select_gradebook', $category_object[0]->get_id());
65
+        } else {
66
+            $select_gradebook = $this->addElement(
67
+                'select',
68
+                'select_gradebook',
69
+                get_lang('SelectGradebook'),
70
+                array(),
71
+                array('id' => 'hide_category_id')
72
+            );
73
+            $this->addRule('select_gradebook', get_lang('ThisFieldIsRequired'), 'nonzero');
74
+
75
+            $default_weight = 0;
76
+            if (!empty($category_object)) {
77
+                foreach ($category_object as $my_cat) {
78
+
79
+                    if ($my_cat->get_course_code() == api_get_course_id()) {
80
+                        $grade_model_id = $my_cat->get_grade_model_id();
81
+                        if (empty($grade_model_id)) {
82
+
83
+                            if ($my_cat->get_parent_id() == 0 ) {
84
+                                $default_weight = $my_cat->get_weight();
85
+                                $select_gradebook->addoption(get_lang('Default'), $my_cat->get_id());
86
+                            } else {
87
+                                $select_gradebook->addoption($my_cat->get_name(), $my_cat->get_id());
88
+                            }
89
+                        } else {
90
+                            $select_gradebook->addoption(get_lang('Select'), 0);
91
+                        }
92
+                        if ($link->get_category_id() == $my_cat->get_id()) {
93
+                            $default_weight = $my_cat->get_weight();
94
+                        }
95
+                    }
96
+                }
97
+            }
98
+        }
99
+
100
+        $this->addText(
101
+            'weight_mask',
102
+            array(get_lang('Weight'), null, ' [0 .. <span id="max_weight">'.$category_object[0]->get_weight().'</span>] '),
103
+            true,
104
+            array(
105
+                'size' => '4',
106
+                'maxlength' => '5',
107
+                'class' => 'span1'
108
+            )
109
+        );
110
+
111
+        $this->addElement('hidden', 'weight');
112
+
113
+        /*
114 114
 
115 115
         // ELEMENT: weight
116 116
         $this->addText('weight', array(get_lang('Weight'), null, '/ <span id="max_weight">'.$default_weight.'</span>'), true, array (
@@ -119,76 +119,76 @@  discard block
 block discarded – undo
119 119
             'class' => 'span1'
120 120
         ));*/
121 121
 
122
-		$this->addRule('weight_mask',get_lang('OnlyNumbers'),'numeric');
123
-		$this->addRule(array ('weight_mask', 'zero'), get_lang('NegativeValue'), 'compare', '>=');
124
-		if ($form_type == self :: TYPE_EDIT) {
125
-			$parent_cat = Category :: load($link->get_category_id());
126
-
127
-			if ($parent_cat[0]->get_parent_id() == 0) {
128
-				$values['weight'] = $link->get_weight();
129
-			} else {
130
-				$cat = Category :: load($parent_cat[0]->get_parent_id());
131
-				//$global_weight = $cat[0]->get_weight();
132
-				//$values['weight'] = $link->get_weight()/$parent_cat[0]->get_weight()*$global_weight;
133
-				//var_dump($global_weight, $link->get_weight(), $parent_cat[0]->get_weight());
134
-				//$weight = $parent_cat[0]->get_weight()* $link->get_weight() / $global_weight;
135
-				//$values['weight'] = $weight;
136
-				$values['weight'] = $link->get_weight() ;
137
-			}
138
-			$defaults['weight_mask'] = $values['weight'] ;
139
-			$defaults['select_gradebook'] = $link->get_category_id();
140
-
141
-		}
142
-		// ELEMENT: max
143
-		if ($link->needs_max()) {
144
-			if ($form_type == self :: TYPE_EDIT && $link->has_results()) {
145
-				$this->addText('max', get_lang('QualificationNumeric'), false, array ('size' => '4','maxlength' => '5', 'disabled' => 'disabled'));
146
-			} else {
147
-				$this->addText('max', get_lang('QualificationNumeric'), true, array ('size' => '4','maxlength' => '5'));
148
-				$this->addRule('max', get_lang('OnlyNumbers'), 'numeric');
149
-				$this->addRule(array ('max', 'zero'), get_lang('NegativeValue'), 'compare', '>=');
150
-			}
151
-			if ($form_type == self :: TYPE_EDIT) {
152
-				$defaults['max'] = $link->get_max();
153
-			}
154
-		}
155
-
156
-		// ELEMENT: description
157
-		if ($link->needs_name_and_description()) {
158
-			$this->addElement('textarea', 'description', get_lang('Description'), array ('rows' => '3','cols' => '34'));
159
-			if ($form_type == self :: TYPE_EDIT) {
160
-				$defaults['description'] = $link->get_description();
161
-			}
162
-		}
163
-
164
-		// ELEMENT: visible
165
-		$visible = ($form_type == self :: TYPE_EDIT && $link->is_visible()) ? '1' : '0';
166
-		$this->addElement('checkbox', 'visible', null, get_lang('Visible'), $visible);
167
-		if ($form_type == self :: TYPE_EDIT) {
168
-			$defaults['visible'] = $link->is_visible();
169
-		}
170
-
171
-		// ELEMENT: add results
172
-		if ($form_type == self :: TYPE_ADD && $link->needs_results()) {
173
-			$this->addElement('checkbox', 'addresult', get_lang('AddResult'));
174
-		}
175
-		// submit button
176
-		if ($form_type == self :: TYPE_ADD) {
177
-			$this->addButtonCreate(get_lang('CreateLink'));
178
-		} else {
179
-			$this->addButtonUpdate(get_lang('LinkMod'));
180
-		}
181
-
182
-		if ($form_type == self :: TYPE_ADD) {
183
-			$setting = api_get_setting('tool_visible_by_default_at_creation');
184
-			$visibility_default = 1;
185
-			if (isset($setting['gradebook']) && $setting['gradebook'] == 'false') {
186
-				$visibility_default = 0;
187
-			}
188
-			$defaults['visible']  = $visibility_default;
189
-		}
190
-
191
-		// set default values
192
-		$this->setDefaults($defaults);
193
-	}
122
+        $this->addRule('weight_mask',get_lang('OnlyNumbers'),'numeric');
123
+        $this->addRule(array ('weight_mask', 'zero'), get_lang('NegativeValue'), 'compare', '>=');
124
+        if ($form_type == self :: TYPE_EDIT) {
125
+            $parent_cat = Category :: load($link->get_category_id());
126
+
127
+            if ($parent_cat[0]->get_parent_id() == 0) {
128
+                $values['weight'] = $link->get_weight();
129
+            } else {
130
+                $cat = Category :: load($parent_cat[0]->get_parent_id());
131
+                //$global_weight = $cat[0]->get_weight();
132
+                //$values['weight'] = $link->get_weight()/$parent_cat[0]->get_weight()*$global_weight;
133
+                //var_dump($global_weight, $link->get_weight(), $parent_cat[0]->get_weight());
134
+                //$weight = $parent_cat[0]->get_weight()* $link->get_weight() / $global_weight;
135
+                //$values['weight'] = $weight;
136
+                $values['weight'] = $link->get_weight() ;
137
+            }
138
+            $defaults['weight_mask'] = $values['weight'] ;
139
+            $defaults['select_gradebook'] = $link->get_category_id();
140
+
141
+        }
142
+        // ELEMENT: max
143
+        if ($link->needs_max()) {
144
+            if ($form_type == self :: TYPE_EDIT && $link->has_results()) {
145
+                $this->addText('max', get_lang('QualificationNumeric'), false, array ('size' => '4','maxlength' => '5', 'disabled' => 'disabled'));
146
+            } else {
147
+                $this->addText('max', get_lang('QualificationNumeric'), true, array ('size' => '4','maxlength' => '5'));
148
+                $this->addRule('max', get_lang('OnlyNumbers'), 'numeric');
149
+                $this->addRule(array ('max', 'zero'), get_lang('NegativeValue'), 'compare', '>=');
150
+            }
151
+            if ($form_type == self :: TYPE_EDIT) {
152
+                $defaults['max'] = $link->get_max();
153
+            }
154
+        }
155
+
156
+        // ELEMENT: description
157
+        if ($link->needs_name_and_description()) {
158
+            $this->addElement('textarea', 'description', get_lang('Description'), array ('rows' => '3','cols' => '34'));
159
+            if ($form_type == self :: TYPE_EDIT) {
160
+                $defaults['description'] = $link->get_description();
161
+            }
162
+        }
163
+
164
+        // ELEMENT: visible
165
+        $visible = ($form_type == self :: TYPE_EDIT && $link->is_visible()) ? '1' : '0';
166
+        $this->addElement('checkbox', 'visible', null, get_lang('Visible'), $visible);
167
+        if ($form_type == self :: TYPE_EDIT) {
168
+            $defaults['visible'] = $link->is_visible();
169
+        }
170
+
171
+        // ELEMENT: add results
172
+        if ($form_type == self :: TYPE_ADD && $link->needs_results()) {
173
+            $this->addElement('checkbox', 'addresult', get_lang('AddResult'));
174
+        }
175
+        // submit button
176
+        if ($form_type == self :: TYPE_ADD) {
177
+            $this->addButtonCreate(get_lang('CreateLink'));
178
+        } else {
179
+            $this->addButtonUpdate(get_lang('LinkMod'));
180
+        }
181
+
182
+        if ($form_type == self :: TYPE_ADD) {
183
+            $setting = api_get_setting('tool_visible_by_default_at_creation');
184
+            $visibility_default = 1;
185
+            if (isset($setting['gradebook']) && $setting['gradebook'] == 'false') {
186
+                $visibility_default = 0;
187
+            }
188
+            $defaults['visible']  = $visibility_default;
189
+        }
190
+
191
+        // set default values
192
+        $this->setDefaults($defaults);
193
+    }
194 194
 }
Please login to merge, or discard this patch.
main/gradebook/lib/fe/dataform.class.php 1 patch
Indentation   +91 added lines, -91 removed lines patch added patch discarded remove patch
@@ -8,102 +8,102 @@
 block discarded – undo
8 8
  */
9 9
 class DataForm extends FormValidator
10 10
 {
11
-	const TYPE_IMPORT = 1;
12
-	const TYPE_EXPORT = 2;
13
-	const TYPE_EXPORT_PDF = 3;
11
+    const TYPE_IMPORT = 1;
12
+    const TYPE_EXPORT = 2;
13
+    const TYPE_EXPORT_PDF = 3;
14 14
 
15
-	/**
16
-	 * Builds a form containing form items based on a given parameter
17
-	 * @param int form_type 1=import, 2=export
18
-	 * @param obj cat_obj the category object
19
-	 * @param obj res_obj the result object
20
-	 * @param string form name
21
-	 * @param method
22
-	 * @param action
23
-	 */
24
-	public function DataForm($form_type, $form_name, $method = 'post', $action = null, $target='', $locked_status)
25
-	{
26
-		parent :: __construct($form_name, $method, $action,$target);
27
-		$this->form_type = $form_type;
28
-		if ($this->form_type == self :: TYPE_IMPORT) {
29
-			$this->build_import_form();
30
-		} elseif ($this->form_type == self :: TYPE_EXPORT) {
31
-			if ($locked_status == 0) {
32
-				$this->build_export_form_option(false);
33
-			} else {
34
-				$this->build_export_form();
35
-			}
36
-		} elseif ($this->form_type == self :: TYPE_EXPORT_PDF) {
37
-			$this->build_pdf_export_form();
38
-		}
39
-		$this->setDefaults();
40
-	}
15
+    /**
16
+     * Builds a form containing form items based on a given parameter
17
+     * @param int form_type 1=import, 2=export
18
+     * @param obj cat_obj the category object
19
+     * @param obj res_obj the result object
20
+     * @param string form name
21
+     * @param method
22
+     * @param action
23
+     */
24
+    public function DataForm($form_type, $form_name, $method = 'post', $action = null, $target='', $locked_status)
25
+    {
26
+        parent :: __construct($form_name, $method, $action,$target);
27
+        $this->form_type = $form_type;
28
+        if ($this->form_type == self :: TYPE_IMPORT) {
29
+            $this->build_import_form();
30
+        } elseif ($this->form_type == self :: TYPE_EXPORT) {
31
+            if ($locked_status == 0) {
32
+                $this->build_export_form_option(false);
33
+            } else {
34
+                $this->build_export_form();
35
+            }
36
+        } elseif ($this->form_type == self :: TYPE_EXPORT_PDF) {
37
+            $this->build_pdf_export_form();
38
+        }
39
+        $this->setDefaults();
40
+    }
41 41
 
42
-	protected function build_pdf_export_form()
43
-	{
44
-		$renderer =& $this->defaultRenderer();
45
-		$renderer->setCustomElementTemplate('<span>{element}</span>');
46
-		$this->addElement('header', get_lang('ChooseOrientation'));
47
-		$this->addElement('radio', 'orientation', null, get_lang('Portrait'), 'portrait');
48
-		$this->addElement('radio', 'orientation', null, get_lang('Landscape'), 'landscape');
49
-		$this->addButtonExport(get_lang('Export'));
50
-		$this->setDefaults(array (
51
-			'orientation' => 'portrait'
52
-		));
53
-	}
42
+    protected function build_pdf_export_form()
43
+    {
44
+        $renderer =& $this->defaultRenderer();
45
+        $renderer->setCustomElementTemplate('<span>{element}</span>');
46
+        $this->addElement('header', get_lang('ChooseOrientation'));
47
+        $this->addElement('radio', 'orientation', null, get_lang('Portrait'), 'portrait');
48
+        $this->addElement('radio', 'orientation', null, get_lang('Landscape'), 'landscape');
49
+        $this->addButtonExport(get_lang('Export'));
50
+        $this->setDefaults(array (
51
+            'orientation' => 'portrait'
52
+        ));
53
+    }
54 54
 
55
-	protected function build_export_form()
56
-	{
57
-		$this->addElement('header', get_lang('ChooseFormat'));
58
-		$this->addElement('radio', 'file_type', get_lang('OutputFileType'), 'CSV (Comma-Separated Values)', 'csv');
59
-		$this->addElement('radio', 'file_type', null, 'XML (Extensible Markup Language)', 'xml');
60
-		$this->addElement('radio', 'file_type', null, 'PDF (Portable Document Format)', 'pdf');
61
-		$this->addButtonExport(get_lang('Export'));
62
-		$this->setDefaults(array (
63
-			'file_type' => 'csv'
64
-		));
65
-	}
55
+    protected function build_export_form()
56
+    {
57
+        $this->addElement('header', get_lang('ChooseFormat'));
58
+        $this->addElement('radio', 'file_type', get_lang('OutputFileType'), 'CSV (Comma-Separated Values)', 'csv');
59
+        $this->addElement('radio', 'file_type', null, 'XML (Extensible Markup Language)', 'xml');
60
+        $this->addElement('radio', 'file_type', null, 'PDF (Portable Document Format)', 'pdf');
61
+        $this->addButtonExport(get_lang('Export'));
62
+        $this->setDefaults(array (
63
+            'file_type' => 'csv'
64
+        ));
65
+    }
66 66
 
67
-	protected function build_export_form_option($show_pdf=true)
68
-	{
69
-		$this->addElement('header', get_lang('ChooseFormat'));
70
-		$this->addElement('radio', 'file_type', get_lang('OutputFileType'), 'CSV (Comma-Separated Values)', 'csv');
71
-		$this->addElement('radio', 'file_type', null, 'XML (Extensible Markup Language)', 'xml');
72
-		$this->addElement('radio', 'file_type', Display::return_icon('info3.gif',get_lang('ToExportMustLockEvaluation')), 'PDF (Portable Document Format)', 'pdf', array('disabled'));
73
-		$this->addButtonExport(get_lang('Export'));
74
-		$this->setDefaults(array (
75
-			'file_type' => 'csv'
76
-		));
77
-	}
67
+    protected function build_export_form_option($show_pdf=true)
68
+    {
69
+        $this->addElement('header', get_lang('ChooseFormat'));
70
+        $this->addElement('radio', 'file_type', get_lang('OutputFileType'), 'CSV (Comma-Separated Values)', 'csv');
71
+        $this->addElement('radio', 'file_type', null, 'XML (Extensible Markup Language)', 'xml');
72
+        $this->addElement('radio', 'file_type', Display::return_icon('info3.gif',get_lang('ToExportMustLockEvaluation')), 'PDF (Portable Document Format)', 'pdf', array('disabled'));
73
+        $this->addButtonExport(get_lang('Export'));
74
+        $this->setDefaults(array (
75
+            'file_type' => 'csv'
76
+        ));
77
+    }
78 78
 
79
-	protected function build_import_form()
80
-	{
81
-		$this->addElement('hidden', 'formSent');
82
-		$this->addElement('header', get_lang('ImportFileLocation'));
83
-		$this->addElement('file', 'import_file',get_lang('Location'));
84
-		$allowed_file_types = array (
85
-			'xml',
86
-			'csv'
87
-		);
88
-		//$this->addRule('file', get_lang('InvalidExtension') . ' (' . implode(',', $allowed_file_types) . ')', 'filetype', $allowed_file_types);
89
-		$this->addElement('radio', 'file_type', get_lang('FileType'), 'CSV (<a href="docs/example_csv.html" target="_blank">' . get_lang('ExampleCSVFile') . '</a>)', 'csv');
90
-		$this->addElement('radio', 'file_type', null, 'XML (<a href="docs/example_xml.html" target="_blank">' . get_lang('ExampleXMLFile') . '</a>)', 'xml');
91
-		$this->addElement('checkbox','overwrite', null,get_lang('OverwriteScores'));
92
-		$this->addElement('checkbox','ignoreerrors',null,get_lang('IgnoreErrors'));
93
-		$this->addButtonImport(get_lang('Ok'));
94
-		$this->setDefaults(array(
95
-			'formSent' => '1',
96
-			'file_type' => 'csv'
97
-		));
98
-	}
79
+    protected function build_import_form()
80
+    {
81
+        $this->addElement('hidden', 'formSent');
82
+        $this->addElement('header', get_lang('ImportFileLocation'));
83
+        $this->addElement('file', 'import_file',get_lang('Location'));
84
+        $allowed_file_types = array (
85
+            'xml',
86
+            'csv'
87
+        );
88
+        //$this->addRule('file', get_lang('InvalidExtension') . ' (' . implode(',', $allowed_file_types) . ')', 'filetype', $allowed_file_types);
89
+        $this->addElement('radio', 'file_type', get_lang('FileType'), 'CSV (<a href="docs/example_csv.html" target="_blank">' . get_lang('ExampleCSVFile') . '</a>)', 'csv');
90
+        $this->addElement('radio', 'file_type', null, 'XML (<a href="docs/example_xml.html" target="_blank">' . get_lang('ExampleXMLFile') . '</a>)', 'xml');
91
+        $this->addElement('checkbox','overwrite', null,get_lang('OverwriteScores'));
92
+        $this->addElement('checkbox','ignoreerrors',null,get_lang('IgnoreErrors'));
93
+        $this->addButtonImport(get_lang('Ok'));
94
+        $this->setDefaults(array(
95
+            'formSent' => '1',
96
+            'file_type' => 'csv'
97
+        ));
98
+    }
99 99
 
100
-	public function display()
101
-	{
102
-		parent :: display();
103
-	}
100
+    public function display()
101
+    {
102
+        parent :: display();
103
+    }
104 104
 
105
-	public function setDefaults($defaults = array(), $filter = null)
106
-	{
107
-		parent :: setDefaults($defaults, $filter);
108
-	}
105
+    public function setDefaults($defaults = array(), $filter = null)
106
+    {
107
+        parent :: setDefaults($defaults, $filter);
108
+    }
109 109
 }
Please login to merge, or discard this patch.
main/gradebook/lib/fe/usertable.class.php 1 patch
Indentation   +116 added lines, -116 removed lines patch added patch discarded remove patch
@@ -10,128 +10,128 @@
 block discarded – undo
10 10
  */
11 11
 class UserTable extends SortableTable
12 12
 {
13
-	private $userid;
14
-	private $datagen;
13
+    private $userid;
14
+    private $datagen;
15 15
 
16
-	/**
17
-	 * Constructor
18
-	 */
19
-	public function UserTable($userid, $evals = array(), $links = array(), $addparams = null)
20
-	{
21
-		parent :: __construct ('userlist', null, null, 0);
22
-		$this->userid = $userid;
23
-		$this->datagen = new UserDataGenerator($userid, $evals, $links);
24
-		if (isset($addparams)) {
25
-			$this->set_additional_parameters($addparams);
26
-		}
27
-		$column = 0;
28
-		$this->set_header($column++, get_lang('Type'));
29
-		$this->set_header($column++, get_lang('Evaluation'));
30
-		$this->set_header($column++, get_lang('Course'));
31
-		$this->set_header($column++, get_lang('Category'));
32
-		$this->set_header($column++, get_lang('EvaluationAverage'));
33
-		$this->set_header($column++, get_lang('Result'));
16
+    /**
17
+     * Constructor
18
+     */
19
+    public function UserTable($userid, $evals = array(), $links = array(), $addparams = null)
20
+    {
21
+        parent :: __construct ('userlist', null, null, 0);
22
+        $this->userid = $userid;
23
+        $this->datagen = new UserDataGenerator($userid, $evals, $links);
24
+        if (isset($addparams)) {
25
+            $this->set_additional_parameters($addparams);
26
+        }
27
+        $column = 0;
28
+        $this->set_header($column++, get_lang('Type'));
29
+        $this->set_header($column++, get_lang('Evaluation'));
30
+        $this->set_header($column++, get_lang('Course'));
31
+        $this->set_header($column++, get_lang('Category'));
32
+        $this->set_header($column++, get_lang('EvaluationAverage'));
33
+        $this->set_header($column++, get_lang('Result'));
34 34
 
35
-		$scoredisplay = ScoreDisplay :: instance();
36
-		if ($scoredisplay->is_custom()) {
37
-			$this->set_header($column++, get_lang('Display'));
38
-		}
39
-	}
35
+        $scoredisplay = ScoreDisplay :: instance();
36
+        if ($scoredisplay->is_custom()) {
37
+            $this->set_header($column++, get_lang('Display'));
38
+        }
39
+    }
40 40
 
41
-	/**
42
-	 * Function used by SortableTable to get total number of items in the table
43
-	 */
44
-	function get_total_number_of_items()
45
-	{
46
-		return $this->datagen->get_total_items_count();
47
-	}
41
+    /**
42
+     * Function used by SortableTable to get total number of items in the table
43
+     */
44
+    function get_total_number_of_items()
45
+    {
46
+        return $this->datagen->get_total_items_count();
47
+    }
48 48
 
49
-	/**
50
-	 * Function used by SortableTable to generate the data to display
51
-	 */
52
-	public function get_table_data($from = 1, $per_page = null, $column = null, $direction = null, $sort = null)
53
-	{
54
-		$scoredisplay = ScoreDisplay :: instance();
49
+    /**
50
+     * Function used by SortableTable to generate the data to display
51
+     */
52
+    public function get_table_data($from = 1, $per_page = null, $column = null, $direction = null, $sort = null)
53
+    {
54
+        $scoredisplay = ScoreDisplay :: instance();
55 55
 
56
-		// determine sorting type
57
-		switch ($this->column) {
58
-			// Type
59
-			case 0:
60
-				$sorting = UserDataGenerator :: UDG_SORT_TYPE;
61
-				break;
62
-			case 1:
63
-				$sorting = UserDataGenerator :: UDG_SORT_NAME;
64
-				break;
65
-			case 2:
66
-				$sorting = UserDataGenerator :: UDG_SORT_COURSE;
67
-				break;
68
-			case 3:
69
-				$sorting = UserDataGenerator :: UDG_SORT_CATEGORY;
70
-				break;
71
-			case 4:
72
-				$sorting = UserDataGenerator :: UDG_SORT_AVERAGE;
73
-				break;
74
-			case 5:
75
-				$sorting = UserDataGenerator :: UDG_SORT_SCORE;
76
-				break;
77
-			case 6:
78
-				$sorting = UserDataGenerator :: UDG_SORT_MASK;
79
-				break;
80
-		}
81
-		if ($this->direction == 'DESC') {
82
-			$sorting |= UserDataGenerator :: UDG_SORT_DESC;
83
-		} else {
84
-			$sorting |= UserDataGenerator :: UDG_SORT_ASC;
85
-		}
86
-		$data_array = $this->datagen->get_data($sorting, $from, $this->per_page);
87
-		// generate the data to display
88
-		$sortable_data = array();
89
-		foreach ($data_array as $data) {
90
-			if ($data[2]!="") {//filter by course removed
91
-				$row = array ();
92
-				$row[] = $this->build_type_column($data[0]);
93
-				$row[] = $this->build_name_link($data[0]);
94
-				$row[] = $data[2];
95
-				$row[] = $data[3];
96
-				$row[] = $data[4];
97
-				$row[] = $data[5];
98
-				if ($scoredisplay->is_custom())
99
-					$row[] = $data[6];
100
-				$sortable_data[] = $row;
101
-			}
102
-		}
56
+        // determine sorting type
57
+        switch ($this->column) {
58
+            // Type
59
+            case 0:
60
+                $sorting = UserDataGenerator :: UDG_SORT_TYPE;
61
+                break;
62
+            case 1:
63
+                $sorting = UserDataGenerator :: UDG_SORT_NAME;
64
+                break;
65
+            case 2:
66
+                $sorting = UserDataGenerator :: UDG_SORT_COURSE;
67
+                break;
68
+            case 3:
69
+                $sorting = UserDataGenerator :: UDG_SORT_CATEGORY;
70
+                break;
71
+            case 4:
72
+                $sorting = UserDataGenerator :: UDG_SORT_AVERAGE;
73
+                break;
74
+            case 5:
75
+                $sorting = UserDataGenerator :: UDG_SORT_SCORE;
76
+                break;
77
+            case 6:
78
+                $sorting = UserDataGenerator :: UDG_SORT_MASK;
79
+                break;
80
+        }
81
+        if ($this->direction == 'DESC') {
82
+            $sorting |= UserDataGenerator :: UDG_SORT_DESC;
83
+        } else {
84
+            $sorting |= UserDataGenerator :: UDG_SORT_ASC;
85
+        }
86
+        $data_array = $this->datagen->get_data($sorting, $from, $this->per_page);
87
+        // generate the data to display
88
+        $sortable_data = array();
89
+        foreach ($data_array as $data) {
90
+            if ($data[2]!="") {//filter by course removed
91
+                $row = array ();
92
+                $row[] = $this->build_type_column($data[0]);
93
+                $row[] = $this->build_name_link($data[0]);
94
+                $row[] = $data[2];
95
+                $row[] = $data[3];
96
+                $row[] = $data[4];
97
+                $row[] = $data[5];
98
+                if ($scoredisplay->is_custom())
99
+                    $row[] = $data[6];
100
+                $sortable_data[] = $row;
101
+            }
102
+        }
103 103
 
104
-		return $sortable_data;
105
-	}
104
+        return $sortable_data;
105
+    }
106 106
 
107
-	/**
108
-	 * @param $item
109
-	 * @return string
110
-	 */
111
-	private function build_type_column($item)
112
-	{
113
-		return GradebookUtils::build_type_icon_tag($item->get_icon_name());
114
-	}
107
+    /**
108
+     * @param $item
109
+     * @return string
110
+     */
111
+    private function build_type_column($item)
112
+    {
113
+        return GradebookUtils::build_type_icon_tag($item->get_icon_name());
114
+    }
115 115
 
116
-	/**
117
-	 * @param $item
118
-	 * @return string
119
-	 */
120
-	private function build_name_link($item)
121
-	{
122
-		switch ($item->get_item_type()) {
123
-			// evaluation
124
-			case 'E' :
125
-				return '&nbsp;'
126
-				. '<a href="gradebook_view_result.php?selecteval=' . $item->get_id() . '">'
127
-				. $item->get_name()
128
-				. '</a>';
129
-			// link
130
-			case 'L' :
131
-				return '&nbsp;<a href="' . $item->get_link() . '">'
132
-				. $item->get_name()
133
-				. '</a>'
134
-				. '&nbsp;[' . $item->get_type_name() . ']';
135
-		}
136
-	}
116
+    /**
117
+     * @param $item
118
+     * @return string
119
+     */
120
+    private function build_name_link($item)
121
+    {
122
+        switch ($item->get_item_type()) {
123
+            // evaluation
124
+            case 'E' :
125
+                return '&nbsp;'
126
+                . '<a href="gradebook_view_result.php?selecteval=' . $item->get_id() . '">'
127
+                . $item->get_name()
128
+                . '</a>';
129
+            // link
130
+            case 'L' :
131
+                return '&nbsp;<a href="' . $item->get_link() . '">'
132
+                . $item->get_name()
133
+                . '</a>'
134
+                . '&nbsp;[' . $item->get_type_name() . ']';
135
+        }
136
+    }
137 137
 }
Please login to merge, or discard this patch.
main/gradebook/lib/fe/scoredisplayform.class.php 1 patch
Indentation   +74 added lines, -74 removed lines patch added patch discarded remove patch
@@ -10,47 +10,47 @@  discard block
 block discarded – undo
10 10
  */
11 11
 class ScoreDisplayForm extends FormValidator
12 12
 {
13
-	/**
14
-	 * @param $form_name
15
-	 * @param null $action
16
-	 */
17
-	public function ScoreDisplayForm($form_name, $action= null)
18
-	{
19
-		parent :: __construct($form_name, 'post', $action);
20
-		$displayscore = ScoreDisplay :: instance();
21
-		$customdisplays = $displayscore->get_custom_score_display_settings();
22
-
23
-		$nr_items = (count($customdisplays)!='0') ? count($customdisplays) : '1';
24
-		$this->setDefaults(array (
13
+    /**
14
+     * @param $form_name
15
+     * @param null $action
16
+     */
17
+    public function ScoreDisplayForm($form_name, $action= null)
18
+    {
19
+        parent :: __construct($form_name, 'post', $action);
20
+        $displayscore = ScoreDisplay :: instance();
21
+        $customdisplays = $displayscore->get_custom_score_display_settings();
22
+
23
+        $nr_items = (count($customdisplays)!='0') ? count($customdisplays) : '1';
24
+        $this->setDefaults(array (
25 25
             'scorecolpercent' => $displayscore->get_color_split_value()
26
-		));
26
+        ));
27 27
 
28
-		$this->addElement('hidden', 'maxvalue', '100');
29
-		$this->addElement('hidden', 'minvalue', '0');
30
-		$counter= 1;
28
+        $this->addElement('hidden', 'maxvalue', '100');
29
+        $this->addElement('hidden', 'minvalue', '0');
30
+        $counter= 1;
31 31
 
32
-		//setting the default values
32
+        //setting the default values
33 33
 
34
-		if(is_array($customdisplays)) {
35
-			foreach ($customdisplays as $customdisplay) {
36
-				$this->setDefaults(array (
37
-					'endscore[' . $counter . ']' => $customdisplay['score'],
38
-					'displaytext[' . $counter . ']' => $customdisplay['display']
39
-				));
40
-				$counter++;
41
-			}
42
-		}
43
-		$scorecol = array();
34
+        if(is_array($customdisplays)) {
35
+            foreach ($customdisplays as $customdisplay) {
36
+                $this->setDefaults(array (
37
+                    'endscore[' . $counter . ']' => $customdisplay['score'],
38
+                    'displaytext[' . $counter . ']' => $customdisplay['display']
39
+                ));
40
+                $counter++;
41
+            }
42
+        }
43
+        $scorecol = array();
44 44
 
45
-		//settings for the colored score
46
-		$this->addElement('header', get_lang('ScoreEdit'));
45
+        //settings for the colored score
46
+        $this->addElement('header', get_lang('ScoreEdit'));
47 47
 
48 48
         if ($displayscore->is_coloring_enabled()) {
49 49
             $this->addElement('html', '<b>' . get_lang('ScoreColor') . '</b>');
50 50
             $this->addElement('text', 'scorecolpercent', array(get_lang('Below'), get_lang('WillColorRed'), '%'), array(
51 51
                 'size' => 5,
52 52
                 'maxlength' => 5,
53
-				'input-size' => 2
53
+                'input-size' => 2
54 54
             ));
55 55
 
56 56
             if (api_get_setting('teachers_can_change_score_settings') != 'true') {
@@ -62,25 +62,25 @@  discard block
 block discarded – undo
62 62
             $this->addRule(array('scorecolpercent','minvalue'), get_lang('UnderMin'), 'compare', '>');
63 63
         }
64 64
 
65
-		//Settings for the scoring system
65
+        //Settings for the scoring system
66 66
 
67
-		if ($displayscore->is_custom()) {
67
+        if ($displayscore->is_custom()) {
68 68
             $this->addElement('html', '<br /><b>' . get_lang('ScoringSystem') . '</b>');
69
-			$this->addElement('static', null, null, get_lang('ScoreInfo'));
70
-			$this->setDefaults(array(
71
-				'beginscore' => '0'
72
-			));
73
-			$this->addElement('text', 'beginscore', array(get_lang('Between'), null, '%'), array(
74
-				'size' => 5,
75
-				'maxlength' => 5,
76
-				'disabled' => 'disabled',
77
-				'input-size' => 2
78
-			));
79
-
80
-			for ($counter= 1; $counter <= 20; $counter++) {
81
-				$renderer =& $this->defaultRenderer();
82
-				$elementTemplateTwoLabel =
83
-				'<div id=' . $counter . ' style="display: '.(($counter<=$nr_items)?'inline':'none').';">
69
+            $this->addElement('static', null, null, get_lang('ScoreInfo'));
70
+            $this->setDefaults(array(
71
+                'beginscore' => '0'
72
+            ));
73
+            $this->addElement('text', 'beginscore', array(get_lang('Between'), null, '%'), array(
74
+                'size' => 5,
75
+                'maxlength' => 5,
76
+                'disabled' => 'disabled',
77
+                'input-size' => 2
78
+            ));
79
+
80
+            for ($counter= 1; $counter <= 20; $counter++) {
81
+                $renderer =& $this->defaultRenderer();
82
+                $elementTemplateTwoLabel =
83
+                '<div id=' . $counter . ' style="display: '.(($counter<=$nr_items)?'inline':'none').';">
84 84
 
85 85
 				<!-- BEGIN required --><span class="form_required">*</span> <!-- END required -->
86 86
 
@@ -105,7 +105,7 @@  discard block
 block discarded – undo
105 105
 
106 106
 				';
107 107
 
108
-				$elementTemplateTwoLabel2 ='
108
+                $elementTemplateTwoLabel2 ='
109 109
 				<div class="col-sm-2">
110 110
 					<!-- BEGIN error --><span class="form_error">{error}</span>
111 111
 					<!-- END error -->
@@ -118,33 +118,33 @@  discard block
 block discarded – undo
118 118
 				</div>
119 119
 				</div>';
120 120
 
121
-				$scorebetw = array();
122
-				$this->addElement('text', 'endscore[' . $counter . ']', null, array (
123
-					'size' => 5,
124
-					'maxlength' => 5,
125
-					'id' => 'txta-'.$counter,
126
-					'input-size' => 2
127
-				));
128
-
129
-				$this->addElement('text', 'displaytext[' . $counter . ']', null,array (
130
-					'size' => 40,
131
-					'maxlength' => 40,
132
-					'id' => 'txtb-'.$counter
133
-				));
134
-				$renderer->setElementTemplate($elementTemplateTwoLabel, 'endscore[' . $counter . ']');
135
-				$renderer->setElementTemplate($elementTemplateTwoLabel2, 'displaytext[' . $counter . ']');
136
-				$this->addRule('endscore[' . $counter . ']', get_lang('OnlyNumbers'), 'numeric');
137
-				$this->addRule(array ('endscore[' . $counter . ']', 'maxvalue'), get_lang('Over100'), 'compare', '<=');
138
-				$this->addRule(array ('endscore[' . $counter . ']', 'minvalue'), get_lang('UnderMin'), 'compare', '>');
139
-			}
140
-		}
121
+                $scorebetw = array();
122
+                $this->addElement('text', 'endscore[' . $counter . ']', null, array (
123
+                    'size' => 5,
124
+                    'maxlength' => 5,
125
+                    'id' => 'txta-'.$counter,
126
+                    'input-size' => 2
127
+                ));
128
+
129
+                $this->addElement('text', 'displaytext[' . $counter . ']', null,array (
130
+                    'size' => 40,
131
+                    'maxlength' => 40,
132
+                    'id' => 'txtb-'.$counter
133
+                ));
134
+                $renderer->setElementTemplate($elementTemplateTwoLabel, 'endscore[' . $counter . ']');
135
+                $renderer->setElementTemplate($elementTemplateTwoLabel2, 'displaytext[' . $counter . ']');
136
+                $this->addRule('endscore[' . $counter . ']', get_lang('OnlyNumbers'), 'numeric');
137
+                $this->addRule(array ('endscore[' . $counter . ']', 'maxvalue'), get_lang('Over100'), 'compare', '<=');
138
+                $this->addRule(array ('endscore[' . $counter . ']', 'minvalue'), get_lang('UnderMin'), 'compare', '>');
139
+            }
140
+        }
141 141
 
142 142
         if ($displayscore->is_custom()) {
143
-			$this->addButtonSave(get_lang('Ok'));
144
-		}
145
-	}
143
+            $this->addButtonSave(get_lang('Ok'));
144
+        }
145
+    }
146 146
 
147
-	function validate() {
148
-		return parent :: validate();
149
-	}
147
+    function validate() {
148
+        return parent :: validate();
149
+    }
150 150
 }
Please login to merge, or discard this patch.