Completed
Push — 1.10.x ( 2be62b...254ea6 )
by Angel Fernando Quiroz
133:23 queued 88:52
created
main/coursecopy/classes/CourseArchiver.class.php 1 patch
Doc Comments   +1 added lines, -1 removed lines patch added patch discarded remove patch
@@ -173,7 +173,7 @@
 block discarded – undo
173 173
 
174 174
     /**
175 175
      * @param array $file
176
-     * @return bool|string
176
+     * @return string|false
177 177
      */
178 178
     public static function import_uploaded_file($file)
179 179
     {
Please login to merge, or discard this patch.
main/coursecopy/classes/DummyCourseCreator.class.php 2 patches
Doc Comments   +1 added lines patch added patch discarded remove patch
@@ -280,6 +280,7 @@
 block discarded – undo
280 280
 	}
281 281
 	/**
282 282
 	 * Get dummy titles, descriptions and texts
283
+	 * @param string $type
283 284
 	 */
284 285
 	function get_dummy_content($type)
285 286
 	{
Please login to merge, or discard this patch.
Indentation   +279 added lines, -279 removed lines patch added patch discarded remove patch
@@ -20,289 +20,289 @@
 block discarded – undo
20 20
  */
21 21
 class DummyCourseCreator
22 22
 {
23
-	/**
24
-	 * The dummy course
25
-	 */
26
-	public $course;
27
-	/**
28
-	 *
29
-	 */
30
-	public $default_property = array();
23
+    /**
24
+     * The dummy course
25
+     */
26
+    public $course;
27
+    /**
28
+     *
29
+     */
30
+    public $default_property = array();
31 31
 
32
-	/**
33
-	 * Create the dummy course
34
-	 */
35
-	public function create_dummy_course($course_code)
36
-	{
37
-		$this->default_property['insert_user_id'] = '1';
38
-		$this->default_property['insert_date'] = date('Y-m-d H:i:s');
39
-		$this->default_property['lastedit_date'] = date('Y-m-d H:i:s');
40
-		$this->default_property['lastedit_user_id'] = '1';
41
-		$this->default_property['to_group_id'] = '0';
42
-		$this->default_property['to_user_id'] = null;
43
-		$this->default_property['visibility'] = '1';
44
-		$this->default_property['start_visible'] = '0000-00-00 00:00:00';
45
-		$this->default_property['end_visible'] =  '0000-00-00 00:00:00';
32
+    /**
33
+     * Create the dummy course
34
+     */
35
+    public function create_dummy_course($course_code)
36
+    {
37
+        $this->default_property['insert_user_id'] = '1';
38
+        $this->default_property['insert_date'] = date('Y-m-d H:i:s');
39
+        $this->default_property['lastedit_date'] = date('Y-m-d H:i:s');
40
+        $this->default_property['lastedit_user_id'] = '1';
41
+        $this->default_property['to_group_id'] = '0';
42
+        $this->default_property['to_user_id'] = null;
43
+        $this->default_property['visibility'] = '1';
44
+        $this->default_property['start_visible'] = '0000-00-00 00:00:00';
45
+        $this->default_property['end_visible'] =  '0000-00-00 00:00:00';
46 46
 
47
-		$course = api_get_course_info($course_code);
48
-		$this->course = new Course();
49
-		$tmp_path = api_get_path(SYS_COURSE_PATH).$course['directory'].'/document/tmp_'.uniqid('');
50
-		@mkdir($tmp_path, api_get_permissions_for_new_directories(), true);
51
-		$this->course->backup_path = $tmp_path;
52
-		$this->create_dummy_links();
53
-		$this->create_dummy_events();
54
-		$this->create_dummy_forums();
55
-		$this->create_dummy_announcements();
56
-		$this->create_dummy_documents();
57
-		$this->create_dummy_learnpaths();
58
-		$cr = new CourseRestorer($this->course);
59
-		$cr->set_file_option(FILE_OVERWRITE);
60
-		$cr->restore($course_code);
61
-		rmdirr($tmp_path);
62
-	}
63
-	/**
64
-	 * Create dummy documents
65
-	 */
66
-	function create_dummy_documents()
67
-	{
68
-		$course = api_get_course_info();
69
-		$course_doc_path = $this->course->backup_path.'/document/';
70
-		$number_of_documents = rand(10, 30);
71
-		$extensions = array ('html', 'doc');
72
-		$directories = array();
73
-		$property = $this->default_property;
74
-		$property['lastedit_type'] = 'DocumentAdded';
75
-		$property['tool'] = TOOL_DOCUMENT;
76
-		$doc_id = 0;
77
-		for ($doc_id = 1; $doc_id < $number_of_documents; $doc_id ++)
78
-		{
79
-			$path = '';
80
-			$doc_type = rand(0, count($extensions) - 1);
81
-			$extension = $extensions[$doc_type];
82
-			$filename = $this->get_dummy_content('title').'_'.$doc_id.'.'.$extension;
83
-			$content = $this->get_dummy_content('text');
84
-			$dirs = rand(0, 3);
85
-			for ($i = 0; $i < $dirs; $i ++)
86
-			{
87
-				$path .= 'directory/';
88
-				$directories[$path] = 1;
89
-			}
90
-			$dir_to_make = $course_doc_path.$path;
91
-			if (!is_dir($dir_to_make))
92
-			{
93
-				@mkdir($dir_to_make, api_get_permissions_for_new_directories(), true);
94
-			}
95
-			$file = $course_doc_path.$path.$filename;
96
-			$fp = fopen($file, 'w');
97
-			fwrite($fp, $content);
98
-			fclose($fp);
99
-			$size = filesize($file);
100
-			$document = new Document($doc_id, '/'.$path.$filename,$this->get_dummy_content('description'),$this->get_dummy_content('title'), 'file', $size);
101
-			$document->item_properties[] = $property;
102
-			$this->course->add_resource($document);
103
-		}
104
-		foreach($directories as $path => $flag)
105
-		{
106
-			$path = substr($path,0,strlen($path)-1);
107
-			$document = new Document($doc_id++,'/'.$path, $this->get_dummy_content('description'),$this->get_dummy_content('title'),'folder',0);
108
-			$property['lastedit_type'] = 'FolderCreated';
109
-			$document->item_properties[] = $property;
110
-			$this->course->add_resource($document);
111
-		}
112
-	}
113
-	/**
114
-	 * Create dummy announcements
115
-	 */
116
-	function create_dummy_announcements()
117
-	{
118
-		$property = $this->default_property;
119
-		$property['lastedit_type'] = 'AnnouncementAdded';
120
-		$property['tool'] = TOOL_ANNOUNCEMENT;
121
-		$number_of_announcements = rand(10, 30);
122
-		for ($i = 0; $i < $number_of_announcements; $i ++)
123
-		{
124
-			$time = mktime(rand(1, 24), rand(1, 60), 0, rand(1, 12), rand(1, 28), intval(date('Y')));
125
-			$date = date('Y-m-d', $time);
126
-			$announcement = new Announcement($i,$this->get_dummy_content('title'),$this->get_dummy_content('text'), $date,0);
127
-			$announcement->item_properties[] = $property;
128
-			$this->course->add_resource($announcement);
129
-		}
130
-	}
131
-	/**
132
-	 * Create dummy events
133
-	 */
134
-	function create_dummy_events()
135
-	{
136
-		$number_of_events = rand(10, 30);
137
-		$property = $this->default_property;
138
-		$property['lastedit_type'] = 'AgendaAdded';
139
-		$property['tool'] = TOOL_CALENDAR_EVENT;
140
-		for ($i = 0; $i < $number_of_events; $i ++)
141
-		{
142
-			$hour = rand(1,24);
143
-			$minute = rand(1,60);
144
-			$second = rand(1,60);
145
-			$day = rand(1,28);
146
-			$month = rand(1,12);
147
-			$year = intval(date('Y'));
148
-			$time = mktime($hour,$minute,$second,$month,$day,$year);
149
-			$start_date = date('Y-m-d H:m:s', $time);
150
-			$hour = rand($hour,24);
151
-			$minute = rand($minute,60);
152
-			$second = rand($second,60);
153
-			$day = rand($day,28);
154
-			$month = rand($month,12);
155
-			$year = intval(date('Y'));
156
-			$time = mktime($hour,$minute,$second,$month,$day,$year);
157
-			$end_date = date('Y-m-d H:m:s', $time);
158
-			$event = new CalendarEvent(
159
-				$i,
160
-				$this->get_dummy_content('title'),
161
-				$this->get_dummy_content('text'),
162
-				$start_date,
163
-				$end_date
164
-			);
165
-			$event->item_properties[] = $property;
166
-			$this->course->add_resource($event);
167
-		}
168
-	}
169
-	/**
170
-	 * Create dummy links
171
-	 */
172
-	function create_dummy_links()
173
-	{
174
-		// create categorys
175
-		$number_of_categories = rand(5, 10);
176
-		for ($i = 0; $i < $number_of_categories; $i ++)
177
-		{
178
-			$linkcat = new LinkCategory($i, $this->get_dummy_content('title'), $this->get_dummy_content('description'),$i);
179
-			$this->course->add_resource($linkcat);
180
-		}
181
-		// create links
182
-		$number_of_links = rand(5, 50);
183
-		$on_homepage = rand(0,20) == 0 ? 1 : 0;
184
-		$property = $this->default_property;
185
-		$property['lastedit_type'] = 'LinkAdded';
186
-		$property['tool'] = TOOL_LINK;
187
-		for ($i = 0; $i < $number_of_links; $i ++)
188
-		{
189
-			$link = new Link($i, $this->get_dummy_content('title'), 'http://www.google.com/search?q='.$this->get_dummy_content('title'), $this->get_dummy_content('description'), rand(0, $number_of_categories -1),$on_homepage);
190
-			$link->item_properties[] = $property;
191
-			$this->course->add_resource($link);
192
-		}
193
-	}
194
-	/**
195
-	 * Create dummy forums
196
-	 */
197
-	function create_dummy_forums()
198
-	{
199
-		$number_of_categories = rand(2, 6);
200
-		$number_of_forums = rand(5, 50);
201
-		$number_of_topics = rand(30, 100);
202
-		$number_of_posts = rand(100, 1000);
203
-		$last_forum_post = array ();
204
-		$last_topic_post = array ();
205
-		// create categorys
206
-		$order = 1;
207
-		for ($i = 1; $i <= $number_of_categories; $i ++)
208
-		{
209
-			$forumcat = new ForumCategory($i, $this->get_dummy_content('title'), $this->get_dummy_content('description'), $order, 0, 0);
210
-			$this->course->add_resource($forumcat);
211
-			$order++;
212
-		}
213
-		// create posts
214
-		for ($post_id = 1; $post_id <= $number_of_posts; $post_id ++)
215
-		{
216
-			$topic_id = rand(1, $number_of_topics);
217
-			$last_topic_post[$topic_id] = $post_id;
218
-			$post = new ForumPost($post_id, $this->get_dummy_content('title'), $this->get_dummy_content('text'), date('Y-m-d H:i:s'), 1, 'Portal Administrator', 0, 0, $topic_id, 0, 1);
219
-			$this->course->add_resource($post);
220
-		}
221
-		// create topics
222
-		for ($topic_id = 1; $topic_id <= $number_of_topics; $topic_id ++)
223
-		{
224
-			$forum_id = rand(1, $number_of_forums);
225
-			$last_forum_post[$forum_id] = $last_topic_post[$topic_id];
226
-			$topic = new ForumTopic($topic_id, $this->get_dummy_content('title'), '2011-03-31 12:10:00', 'Chamilo', 'Administrator', 0, $forum_id, $last_topic_post[$topic_id]);
227
-			$this->course->add_resource($topic);
228
-		}
229
-		// create forums
230
-		for ($forum_id = 1; $forum_id <= $number_of_forums; $forum_id ++)
231
-		{
232
-			$forum = new Forum($forum_id, $this->get_dummy_content('title'),$this->get_dummy_content('description'), rand(1, $number_of_categories), $last_forum_post[$forum_id]);
233
-			$this->course->add_resource($forum);
234
-		}
235
-	}
236
-	/**
237
-	 * Create dummy learnpaths
238
-	 */
239
-	function create_dummy_learnpaths()
240
-	{
241
-		$number_of_learnpaths = rand(3,5);
242
-		$global_item_id = 1;
243
-		for($i=1; $i<=$number_of_learnpaths;$i++)
244
-		{
245
-		$chapters = array();
246
-		$number_of_chapters = rand(1,6);
247
-		for($chapter_id = 1; $chapter_id <= $number_of_chapters; $chapter_id++)
248
-		{
249
-			$chapter['name'] = $this->get_dummy_content('title');
250
-			$chapter['description'] = $this->get_dummy_content('description');
251
-			$chapter['display_order'] = $chapter_id;
252
-			$chapter['items'] = array();
253
-			$number_of_items = rand(5,20);
254
-			for( $item_id = 1; $item_id<$number_of_items; $item_id++)
255
-			{
256
-				$types = array(RESOURCE_ANNOUNCEMENT, RESOURCE_EVENT, RESOURCE_DOCUMENT,RESOURCE_LINK,RESOURCE_FORUM,RESOURCE_FORUMPOST,RESOURCE_FORUMTOPIC);
257
-				$type = $types[rand(0,count($types)-1)];
258
-				$resources = $this->course->resources[$type];
259
-				$resource = $resources[rand(0,count($resources)-1)];
260
-				$item = array();
261
-				$item['type'] = $resource->type;
262
-				$item['id'] = $resource->source_id;
263
-				$item['display_order'] = $item_id;
264
-				$item['title'] = $this->get_dummy_content('title');
265
-				$item['description'] = $this->get_dummy_content('description');
266
-				$item['ref_id'] = $global_item_id;
267
-				if( rand(0,5) == 1 && $item_id > 1)
268
-				{
269
-					$item['prereq_type'] = 'i';
270
-					$item['prereq'] = rand($global_item_id - $item_id,$global_item_id-1);
271
-				}
272
-				$chapter['items'][] = $item;
273
-				$global_item_id++;
274
-			}
275
-			$chapters[] = $chapter;
276
-		}
277
-		$lp = new CourseCopyLearnpath($i,$this->get_dummy_content('title'),$this->get_dummy_content('description'),1,$chapters);
278
-		$this->course->add_resource($lp);
279
-		}
280
-	}
281
-	/**
282
-	 * Get dummy titles, descriptions and texts
283
-	 */
284
-	function get_dummy_content($type)
285
-	{
286
-		$dummy_text = 'Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Quisque lectus. Duis sodales. Vivamus et nunc. Phasellus interdum est a lorem. Fusce venenatis luctus lectus. Mauris quis turpis ac erat rhoncus suscipit. Phasellus elit dui, semper at, porta ut, egestas ac, enim. Quisque pellentesque, nisl nec consequat mollis, ipsum justo pellentesque nibh, non faucibus odio ante at lorem. Donec vitae pede ut felis ultricies semper. Suspendisse velit nibh, interdum quis, gravida nec, dapibus ac, leo. Cras id sem ut tellus tincidunt scelerisque. Aenean ac magna feugiat dolor accumsan dignissim. Integer eget nisl.
47
+        $course = api_get_course_info($course_code);
48
+        $this->course = new Course();
49
+        $tmp_path = api_get_path(SYS_COURSE_PATH).$course['directory'].'/document/tmp_'.uniqid('');
50
+        @mkdir($tmp_path, api_get_permissions_for_new_directories(), true);
51
+        $this->course->backup_path = $tmp_path;
52
+        $this->create_dummy_links();
53
+        $this->create_dummy_events();
54
+        $this->create_dummy_forums();
55
+        $this->create_dummy_announcements();
56
+        $this->create_dummy_documents();
57
+        $this->create_dummy_learnpaths();
58
+        $cr = new CourseRestorer($this->course);
59
+        $cr->set_file_option(FILE_OVERWRITE);
60
+        $cr->restore($course_code);
61
+        rmdirr($tmp_path);
62
+    }
63
+    /**
64
+     * Create dummy documents
65
+     */
66
+    function create_dummy_documents()
67
+    {
68
+        $course = api_get_course_info();
69
+        $course_doc_path = $this->course->backup_path.'/document/';
70
+        $number_of_documents = rand(10, 30);
71
+        $extensions = array ('html', 'doc');
72
+        $directories = array();
73
+        $property = $this->default_property;
74
+        $property['lastedit_type'] = 'DocumentAdded';
75
+        $property['tool'] = TOOL_DOCUMENT;
76
+        $doc_id = 0;
77
+        for ($doc_id = 1; $doc_id < $number_of_documents; $doc_id ++)
78
+        {
79
+            $path = '';
80
+            $doc_type = rand(0, count($extensions) - 1);
81
+            $extension = $extensions[$doc_type];
82
+            $filename = $this->get_dummy_content('title').'_'.$doc_id.'.'.$extension;
83
+            $content = $this->get_dummy_content('text');
84
+            $dirs = rand(0, 3);
85
+            for ($i = 0; $i < $dirs; $i ++)
86
+            {
87
+                $path .= 'directory/';
88
+                $directories[$path] = 1;
89
+            }
90
+            $dir_to_make = $course_doc_path.$path;
91
+            if (!is_dir($dir_to_make))
92
+            {
93
+                @mkdir($dir_to_make, api_get_permissions_for_new_directories(), true);
94
+            }
95
+            $file = $course_doc_path.$path.$filename;
96
+            $fp = fopen($file, 'w');
97
+            fwrite($fp, $content);
98
+            fclose($fp);
99
+            $size = filesize($file);
100
+            $document = new Document($doc_id, '/'.$path.$filename,$this->get_dummy_content('description'),$this->get_dummy_content('title'), 'file', $size);
101
+            $document->item_properties[] = $property;
102
+            $this->course->add_resource($document);
103
+        }
104
+        foreach($directories as $path => $flag)
105
+        {
106
+            $path = substr($path,0,strlen($path)-1);
107
+            $document = new Document($doc_id++,'/'.$path, $this->get_dummy_content('description'),$this->get_dummy_content('title'),'folder',0);
108
+            $property['lastedit_type'] = 'FolderCreated';
109
+            $document->item_properties[] = $property;
110
+            $this->course->add_resource($document);
111
+        }
112
+    }
113
+    /**
114
+     * Create dummy announcements
115
+     */
116
+    function create_dummy_announcements()
117
+    {
118
+        $property = $this->default_property;
119
+        $property['lastedit_type'] = 'AnnouncementAdded';
120
+        $property['tool'] = TOOL_ANNOUNCEMENT;
121
+        $number_of_announcements = rand(10, 30);
122
+        for ($i = 0; $i < $number_of_announcements; $i ++)
123
+        {
124
+            $time = mktime(rand(1, 24), rand(1, 60), 0, rand(1, 12), rand(1, 28), intval(date('Y')));
125
+            $date = date('Y-m-d', $time);
126
+            $announcement = new Announcement($i,$this->get_dummy_content('title'),$this->get_dummy_content('text'), $date,0);
127
+            $announcement->item_properties[] = $property;
128
+            $this->course->add_resource($announcement);
129
+        }
130
+    }
131
+    /**
132
+     * Create dummy events
133
+     */
134
+    function create_dummy_events()
135
+    {
136
+        $number_of_events = rand(10, 30);
137
+        $property = $this->default_property;
138
+        $property['lastedit_type'] = 'AgendaAdded';
139
+        $property['tool'] = TOOL_CALENDAR_EVENT;
140
+        for ($i = 0; $i < $number_of_events; $i ++)
141
+        {
142
+            $hour = rand(1,24);
143
+            $minute = rand(1,60);
144
+            $second = rand(1,60);
145
+            $day = rand(1,28);
146
+            $month = rand(1,12);
147
+            $year = intval(date('Y'));
148
+            $time = mktime($hour,$minute,$second,$month,$day,$year);
149
+            $start_date = date('Y-m-d H:m:s', $time);
150
+            $hour = rand($hour,24);
151
+            $minute = rand($minute,60);
152
+            $second = rand($second,60);
153
+            $day = rand($day,28);
154
+            $month = rand($month,12);
155
+            $year = intval(date('Y'));
156
+            $time = mktime($hour,$minute,$second,$month,$day,$year);
157
+            $end_date = date('Y-m-d H:m:s', $time);
158
+            $event = new CalendarEvent(
159
+                $i,
160
+                $this->get_dummy_content('title'),
161
+                $this->get_dummy_content('text'),
162
+                $start_date,
163
+                $end_date
164
+            );
165
+            $event->item_properties[] = $property;
166
+            $this->course->add_resource($event);
167
+        }
168
+    }
169
+    /**
170
+     * Create dummy links
171
+     */
172
+    function create_dummy_links()
173
+    {
174
+        // create categorys
175
+        $number_of_categories = rand(5, 10);
176
+        for ($i = 0; $i < $number_of_categories; $i ++)
177
+        {
178
+            $linkcat = new LinkCategory($i, $this->get_dummy_content('title'), $this->get_dummy_content('description'),$i);
179
+            $this->course->add_resource($linkcat);
180
+        }
181
+        // create links
182
+        $number_of_links = rand(5, 50);
183
+        $on_homepage = rand(0,20) == 0 ? 1 : 0;
184
+        $property = $this->default_property;
185
+        $property['lastedit_type'] = 'LinkAdded';
186
+        $property['tool'] = TOOL_LINK;
187
+        for ($i = 0; $i < $number_of_links; $i ++)
188
+        {
189
+            $link = new Link($i, $this->get_dummy_content('title'), 'http://www.google.com/search?q='.$this->get_dummy_content('title'), $this->get_dummy_content('description'), rand(0, $number_of_categories -1),$on_homepage);
190
+            $link->item_properties[] = $property;
191
+            $this->course->add_resource($link);
192
+        }
193
+    }
194
+    /**
195
+     * Create dummy forums
196
+     */
197
+    function create_dummy_forums()
198
+    {
199
+        $number_of_categories = rand(2, 6);
200
+        $number_of_forums = rand(5, 50);
201
+        $number_of_topics = rand(30, 100);
202
+        $number_of_posts = rand(100, 1000);
203
+        $last_forum_post = array ();
204
+        $last_topic_post = array ();
205
+        // create categorys
206
+        $order = 1;
207
+        for ($i = 1; $i <= $number_of_categories; $i ++)
208
+        {
209
+            $forumcat = new ForumCategory($i, $this->get_dummy_content('title'), $this->get_dummy_content('description'), $order, 0, 0);
210
+            $this->course->add_resource($forumcat);
211
+            $order++;
212
+        }
213
+        // create posts
214
+        for ($post_id = 1; $post_id <= $number_of_posts; $post_id ++)
215
+        {
216
+            $topic_id = rand(1, $number_of_topics);
217
+            $last_topic_post[$topic_id] = $post_id;
218
+            $post = new ForumPost($post_id, $this->get_dummy_content('title'), $this->get_dummy_content('text'), date('Y-m-d H:i:s'), 1, 'Portal Administrator', 0, 0, $topic_id, 0, 1);
219
+            $this->course->add_resource($post);
220
+        }
221
+        // create topics
222
+        for ($topic_id = 1; $topic_id <= $number_of_topics; $topic_id ++)
223
+        {
224
+            $forum_id = rand(1, $number_of_forums);
225
+            $last_forum_post[$forum_id] = $last_topic_post[$topic_id];
226
+            $topic = new ForumTopic($topic_id, $this->get_dummy_content('title'), '2011-03-31 12:10:00', 'Chamilo', 'Administrator', 0, $forum_id, $last_topic_post[$topic_id]);
227
+            $this->course->add_resource($topic);
228
+        }
229
+        // create forums
230
+        for ($forum_id = 1; $forum_id <= $number_of_forums; $forum_id ++)
231
+        {
232
+            $forum = new Forum($forum_id, $this->get_dummy_content('title'),$this->get_dummy_content('description'), rand(1, $number_of_categories), $last_forum_post[$forum_id]);
233
+            $this->course->add_resource($forum);
234
+        }
235
+    }
236
+    /**
237
+     * Create dummy learnpaths
238
+     */
239
+    function create_dummy_learnpaths()
240
+    {
241
+        $number_of_learnpaths = rand(3,5);
242
+        $global_item_id = 1;
243
+        for($i=1; $i<=$number_of_learnpaths;$i++)
244
+        {
245
+        $chapters = array();
246
+        $number_of_chapters = rand(1,6);
247
+        for($chapter_id = 1; $chapter_id <= $number_of_chapters; $chapter_id++)
248
+        {
249
+            $chapter['name'] = $this->get_dummy_content('title');
250
+            $chapter['description'] = $this->get_dummy_content('description');
251
+            $chapter['display_order'] = $chapter_id;
252
+            $chapter['items'] = array();
253
+            $number_of_items = rand(5,20);
254
+            for( $item_id = 1; $item_id<$number_of_items; $item_id++)
255
+            {
256
+                $types = array(RESOURCE_ANNOUNCEMENT, RESOURCE_EVENT, RESOURCE_DOCUMENT,RESOURCE_LINK,RESOURCE_FORUM,RESOURCE_FORUMPOST,RESOURCE_FORUMTOPIC);
257
+                $type = $types[rand(0,count($types)-1)];
258
+                $resources = $this->course->resources[$type];
259
+                $resource = $resources[rand(0,count($resources)-1)];
260
+                $item = array();
261
+                $item['type'] = $resource->type;
262
+                $item['id'] = $resource->source_id;
263
+                $item['display_order'] = $item_id;
264
+                $item['title'] = $this->get_dummy_content('title');
265
+                $item['description'] = $this->get_dummy_content('description');
266
+                $item['ref_id'] = $global_item_id;
267
+                if( rand(0,5) == 1 && $item_id > 1)
268
+                {
269
+                    $item['prereq_type'] = 'i';
270
+                    $item['prereq'] = rand($global_item_id - $item_id,$global_item_id-1);
271
+                }
272
+                $chapter['items'][] = $item;
273
+                $global_item_id++;
274
+            }
275
+            $chapters[] = $chapter;
276
+        }
277
+        $lp = new CourseCopyLearnpath($i,$this->get_dummy_content('title'),$this->get_dummy_content('description'),1,$chapters);
278
+        $this->course->add_resource($lp);
279
+        }
280
+    }
281
+    /**
282
+     * Get dummy titles, descriptions and texts
283
+     */
284
+    function get_dummy_content($type)
285
+    {
286
+        $dummy_text = 'Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Quisque lectus. Duis sodales. Vivamus et nunc. Phasellus interdum est a lorem. Fusce venenatis luctus lectus. Mauris quis turpis ac erat rhoncus suscipit. Phasellus elit dui, semper at, porta ut, egestas ac, enim. Quisque pellentesque, nisl nec consequat mollis, ipsum justo pellentesque nibh, non faucibus odio ante at lorem. Donec vitae pede ut felis ultricies semper. Suspendisse velit nibh, interdum quis, gravida nec, dapibus ac, leo. Cras id sem ut tellus tincidunt scelerisque. Aenean ac magna feugiat dolor accumsan dignissim. Integer eget nisl.
287 287
 		Ut sit amet nulla. Vestibulum venenatis posuere mauris. Nullam magna leo, blandit luctus, consequat quis, gravida nec, justo. Nam pede. Etiam ut nisl. In at quam scelerisque sapien faucibus commodo. Class aptent taciti sociosqu ad litora torquent per conubia nostra, per inceptos hymenaeos. Proin mattis lorem quis nunc. Praesent placerat ligula id elit. Aenean blandit, purus sit amet pharetra auctor, libero orci rutrum felis, sit amet sodales mauris ipsum ultricies sapien. Vivamus wisi. Cras elit elit, ullamcorper ac, interdum nec, pulvinar nec, lacus. In lacus. Vivamus auctor, arcu vitae tincidunt porta, eros lacus tristique justo, vitae semper risus neque eget massa. Vivamus turpis.
288 288
 		Aenean ac wisi non enim aliquam scelerisque. Praesent eget mi. Vestibulum volutpat pulvinar justo. Phasellus sapien ante, pharetra id, bibendum sed, porta non, purus. Maecenas leo velit, luctus quis, porta non, feugiat sit amet, sapien. Proin vitae augue ut massa adipiscing placerat. Morbi ac risus. Proin dapibus eros egestas quam. Fusce fermentum lobortis elit. Duis lectus tellus, convallis nec, lobortis vel, accumsan ut, nunc. Nunc est. Donec ullamcorper laoreet quam.
289 289
 		Class aptent taciti sociosqu ad litora torquent per conubia nostra, per inceptos hymenaeos. Suspendisse potenti. Mauris mi. Vivamus risus lacus, faucibus sit amet, sollicitudin a, blandit et, justo. In hendrerit. Sed imperdiet, eros at fringilla tempor, turpis augue semper enim, quis rhoncus nibh enim quis dui. Sed massa sapien, mattis et, laoreet sit amet, dignissim nec, urna. Integer laoreet quam quis lectus. Curabitur convallis gravida dui. Nam metus. Ut sit amet augue in nibh interdum scelerisque. Donec venenatis, lacus et pulvinar euismod, libero massa condimentum pede, commodo tristique nunc massa eu quam. Donec vulputate. Aenean in nibh. Phasellus porttitor. Donec molestie, sem ac porttitor vulputate, mauris dui egestas libero, ac lobortis dolor sem vel ligula. Nam vulputate pretium libero. Cras accumsan. Vivamus lacinia sapien sit amet elit.
290 290
 		Duis bibendum elementum justo. Duis posuere. Fusce nulla odio, posuere eget, condimentum nec, venenatis eu, elit. In hac habitasse platea dictumst. Aenean ac sem in enim imperdiet feugiat. Integer tincidunt lectus at elit. Integer magna lacus, vehicula quis, eleifend eget, suscipit vitae, leo. Nunc porta augue nec enim. Curabitur vehicula volutpat enim. Aliquam consequat. Vestibulum rhoncus tellus vitae erat. Integer est. Quisque fermentum leo nec odio. Suspendisse lobortis sollicitudin augue. Nullam urna mi, suscipit eu, sagittis laoreet, ultrices ac, sem. Aliquam enim tortor, hendrerit non, cursus a, tristique sit amet, sapien. Suspendisse potenti. Aenean semper placerat neque.';
291
-		switch($type)
292
-		{
293
-		 case 'description':
294
-		 	$descriptions = explode(".",$dummy_text);
295
-		 	return $descriptions[rand(0,count($descriptions)-1)];
296
-		 	break;
297
-		 case 'title':
298
-		 	$dummy_text = str_replace(array("\n",'.',',',"\t"),array(' ','','',' '),$dummy_text);
299
-		 	$titles = explode(" ",$dummy_text);
300
-		 	return trim($titles[rand(0,count($titles)-1)]);
301
-		 	break;
302
-		 case 'text':
303
-		 	$texts = explode("\n",$dummy_text);
304
-		 	return $texts[rand(0,count($texts)-1)];
305
-		 	break;
306
-		}
307
-	}
291
+        switch($type)
292
+        {
293
+            case 'description':
294
+             $descriptions = explode(".",$dummy_text);
295
+                return $descriptions[rand(0,count($descriptions)-1)];
296
+                break;
297
+            case 'title':
298
+             $dummy_text = str_replace(array("\n",'.',',',"\t"),array(' ','','',' '),$dummy_text);
299
+                $titles = explode(" ",$dummy_text);
300
+                return trim($titles[rand(0,count($titles)-1)]);
301
+                break;
302
+            case 'text':
303
+             $texts = explode("\n",$dummy_text);
304
+                return $texts[rand(0,count($texts)-1)];
305
+                break;
306
+        }
307
+    }
308 308
 }
Please login to merge, or discard this patch.
main/exercice/oral_expression.class.php 1 patch
Doc Comments   +1 added lines, -1 removed lines patch added patch discarded remove patch
@@ -58,7 +58,7 @@
 block discarded – undo
58 58
      * @param null $feedback_type
59 59
      * @param null $counter
60 60
      * @param null $score
61
-     * @return null|string
61
+     * @return string
62 62
      */
63 63
     function return_header($feedback_type = null, $counter = null, $score = null)
64 64
     {
Please login to merge, or discard this patch.
main/gradebook/lib/be/learnpathlink.class.php 2 patches
Doc Comments   +1 added lines, -1 removed lines patch added patch discarded remove patch
@@ -95,7 +95,7 @@
 block discarded – undo
95 95
 
96 96
 	/**
97 97
 	 * Get the progress of this learnpath. Only the last attempt are taken into account.
98
-	 * @param $stud_id student id (default: all students who have results - then the average is returned)
98
+	 * @param integer $stud_id student id (default: all students who have results - then the average is returned)
99 99
 	 * @return	array (score, max) if student is given
100 100
 	 * 			array (sum of scores, number of scores) otherwise
101 101
 	 * 			or null if no scores available
Please login to merge, or discard this patch.
Indentation   +242 added lines, -242 removed lines patch added patch discarded remove patch
@@ -9,260 +9,260 @@
 block discarded – undo
9 9
  */
10 10
 class LearnpathLink extends AbstractLink
11 11
 {
12
-	private $course_info = null;
13
-	private $learnpath_table = null;
14
-	private $learnpath_data = null;
15
-
16
-	/**
17
-	 * Constructor
18
-	 */
19
-	public function __construct()
20
-	{
21
-		parent::__construct();
22
-		$this->set_type(LINK_LEARNPATH);
23
-	}
24
-
25
-	/**
26
-	 * Generate an array of learnpaths that a teacher hasn't created a link for.
27
-	 * @return array 2-dimensional array - every element contains 2 subelements (id, name)
28
-	 */
29
-	public function get_not_created_links()
30
-	{
31
-		return false;
32
-		if (empty($this->course_code))
33
-			die('Error in get_not_created_links() : course code not set');
34
-
35
-		$tbl_grade_links = Database :: get_main_table(TABLE_MAIN_GRADEBOOK_LINK);
36
-
37
-		$sql = 'SELECT id, name from '.$this->get_learnpath_table().' lp
12
+    private $course_info = null;
13
+    private $learnpath_table = null;
14
+    private $learnpath_data = null;
15
+
16
+    /**
17
+     * Constructor
18
+     */
19
+    public function __construct()
20
+    {
21
+        parent::__construct();
22
+        $this->set_type(LINK_LEARNPATH);
23
+    }
24
+
25
+    /**
26
+     * Generate an array of learnpaths that a teacher hasn't created a link for.
27
+     * @return array 2-dimensional array - every element contains 2 subelements (id, name)
28
+     */
29
+    public function get_not_created_links()
30
+    {
31
+        return false;
32
+        if (empty($this->course_code))
33
+            die('Error in get_not_created_links() : course code not set');
34
+
35
+        $tbl_grade_links = Database :: get_main_table(TABLE_MAIN_GRADEBOOK_LINK);
36
+
37
+        $sql = 'SELECT id, name from '.$this->get_learnpath_table().' lp
38 38
 				WHERE c_id = '.$this->course_id.' AND id NOT IN '
39
-			.' (SELECT ref_id FROM '.$tbl_grade_links
40
-			.' WHERE type = '.LINK_LEARNPATH
41
-			." AND course_code = '".$this->get_course_code()."'"
42
-			.') AND lp.session_id='.api_get_session_id().'';
43
-
44
-		$result = Database::query($sql);
45
-
46
-		$cats=array();
47
-		while ($data=Database::fetch_array($result)) {
48
-			$cats[] = array ($data['id'], $data['name']);
49
-		}
50
-
51
-		return $cats;
52
-	}
53
-
54
-	/**
55
-	 * Generate an array of all learnpaths available.
56
-	 * @return array 2-dimensional array - every element contains 2 subelements (id, name)
57
-	 */
58
-	public function get_all_links()
59
-	{
60
-		if (empty($this->course_code))
61
-			die('Error in get_not_created_links() : course code not set');
62
-
63
-		$session_id = api_get_session_id();
64
-		if (empty($session_id)) {
65
-			$session_condition = api_get_session_condition(0, true);
66
-		} else {
67
-			$session_condition = api_get_session_condition($session_id, true, true);
68
-		}
69
-
70
-		$sql = 'SELECT id, name FROM '.$this->get_learnpath_table().'
39
+            .' (SELECT ref_id FROM '.$tbl_grade_links
40
+            .' WHERE type = '.LINK_LEARNPATH
41
+            ." AND course_code = '".$this->get_course_code()."'"
42
+            .') AND lp.session_id='.api_get_session_id().'';
43
+
44
+        $result = Database::query($sql);
45
+
46
+        $cats=array();
47
+        while ($data=Database::fetch_array($result)) {
48
+            $cats[] = array ($data['id'], $data['name']);
49
+        }
50
+
51
+        return $cats;
52
+    }
53
+
54
+    /**
55
+     * Generate an array of all learnpaths available.
56
+     * @return array 2-dimensional array - every element contains 2 subelements (id, name)
57
+     */
58
+    public function get_all_links()
59
+    {
60
+        if (empty($this->course_code))
61
+            die('Error in get_not_created_links() : course code not set');
62
+
63
+        $session_id = api_get_session_id();
64
+        if (empty($session_id)) {
65
+            $session_condition = api_get_session_condition(0, true);
66
+        } else {
67
+            $session_condition = api_get_session_condition($session_id, true, true);
68
+        }
69
+
70
+        $sql = 'SELECT id, name FROM '.$this->get_learnpath_table().'
71 71
                 WHERE c_id = '.$this->course_id.' '.$session_condition.' ';
72
-		$result = Database::query($sql);
72
+        $result = Database::query($sql);
73 73
 
74
-		$cats = array();
75
-		while ($data=Database::fetch_array($result)) {
76
-			$cats[] = array ($data['id'], $data['name']);
77
-		}
74
+        $cats = array();
75
+        while ($data=Database::fetch_array($result)) {
76
+            $cats[] = array ($data['id'], $data['name']);
77
+        }
78 78
 
79
-		return $cats;
80
-	}
79
+        return $cats;
80
+    }
81 81
 
82 82
 
83
-	/**
84
-	 * Has anyone used this learnpath yet ?
85
-	 */
86
-	public function has_results()
87
-	{
88
-		$tbl_stats = Database::get_course_table(TABLE_LP_VIEW);
89
-		$sql = "SELECT count(id) AS number FROM $tbl_stats
83
+    /**
84
+     * Has anyone used this learnpath yet ?
85
+     */
86
+    public function has_results()
87
+    {
88
+        $tbl_stats = Database::get_course_table(TABLE_LP_VIEW);
89
+        $sql = "SELECT count(id) AS number FROM $tbl_stats
90 90
 				WHERE c_id = ".$this->course_id." AND lp_id = ".$this->get_ref_id();
91
-		$result = Database::query($sql);
92
-		$number = Database::fetch_array($result,'NUM');
93
-		return ($number[0] != 0);
94
-	}
95
-
96
-	/**
97
-	 * Get the progress of this learnpath. Only the last attempt are taken into account.
98
-	 * @param $stud_id student id (default: all students who have results - then the average is returned)
99
-	 * @return	array (score, max) if student is given
100
-	 * 			array (sum of scores, number of scores) otherwise
101
-	 * 			or null if no scores available
102
-	 */
103
-	public function calc_score($stud_id = null, $type = null)
104
-	{
105
-		$tbl_stats = Database::get_course_table(TABLE_LP_VIEW);
106
-		$session_id = api_get_session_id();
107
-
108
-		$sql = "SELECT * FROM $tbl_stats
91
+        $result = Database::query($sql);
92
+        $number = Database::fetch_array($result,'NUM');
93
+        return ($number[0] != 0);
94
+    }
95
+
96
+    /**
97
+     * Get the progress of this learnpath. Only the last attempt are taken into account.
98
+     * @param $stud_id student id (default: all students who have results - then the average is returned)
99
+     * @return	array (score, max) if student is given
100
+     * 			array (sum of scores, number of scores) otherwise
101
+     * 			or null if no scores available
102
+     */
103
+    public function calc_score($stud_id = null, $type = null)
104
+    {
105
+        $tbl_stats = Database::get_course_table(TABLE_LP_VIEW);
106
+        $session_id = api_get_session_id();
107
+
108
+        $sql = "SELECT * FROM $tbl_stats
109 109
                 WHERE
110 110
                 	c_id = ".$this->course_id." AND
111 111
                     lp_id = ".$this->get_ref_id()." AND
112 112
                     session_id = $session_id ";
113 113
 
114
-		if (isset($stud_id))
115
-			$sql .= ' AND user_id = '.intval($stud_id);
116
-
117
-		// order by id, that way the student's first attempt is accessed first
118
-		$sql .= ' ORDER BY view_count DESC';
119
-
120
-		$scores = Database::query($sql);
121
-		// for 1 student
122
-		if (isset($stud_id)) {
123
-			if ($data = Database::fetch_assoc($scores)) {
124
-				return array ($data['progress'], 100);
125
-			} else
126
-				return null;
127
-		} else {
128
-			// all students -> get average
129
-			$students = array();  // user list, needed to make sure we only
130
-			// take first attempts into account
131
-			$rescount = 0;
132
-			$sum = 0;
133
-			$bestResult = 0;
134
-			$sumResult = 0;
135
-			while ($data = Database::fetch_array($scores)) {
136
-				if (!(array_key_exists($data['user_id'], $students))) {
137
-					$students[$data['user_id']] = $data['progress'];
138
-					$rescount++;
139
-					$sum += $data['progress'] / 100;
140
-					$sumResult += $data['progress'];
141
-
142
-					if ($data['progress'] > $bestResult) {
143
-						$bestResult = $data['progress'];
144
-					}
145
-				}
146
-			}
147
-
148
-			if ($rescount == 0) {
149
-				return null;
150
-			} else {
151
-
152
-				switch ($type) {
153
-					case 'best':
154
-						return array($bestResult, 100);
155
-						break;
156
-					case 'average':
157
-						return array($sumResult/$rescount, 100);
158
-						break;
159
-					case 'ranking':
160
-						return AbstractLink::getCurrentUserRanking($stud_id, $students);
161
-						break;
162
-					default:
163
-						return array($sum, $rescount);
164
-						break;
165
-				}
166
-			}
167
-		}
168
-	}
169
-
170
-	/**
171
-	 * Get URL where to go to if the user clicks on the link.
172
-	 */
173
-	public function get_link()
174
-	{
175
-		$url = api_get_path(WEB_PATH).'main/newscorm/lp_controller.php?cidReq='.$this->get_course_code().'&gradebook=view';
176
-		$session_id = api_get_session_id();
177
-		if (!api_is_allowed_to_edit() || $this->calc_score(api_get_user_id()) == null) {
178
-			$url .= '&action=view&session_id='.$session_id.'&lp_id='.$this->get_ref_id();
179
-		} else {
180
-			$url .= '&action=build&session_id='.$session_id.'&lp_id='.$this->get_ref_id();
181
-		}
182
-		return $url;
183
-	}
184
-
185
-	/**
186
-	 * Get name to display: same as learnpath title
187
-	 */
188
-	public function get_name()
189
-	{
190
-		$data = $this->get_learnpath_data();
191
-		return $data['name'];
192
-	}
193
-
194
-	/**
195
-	 * Get description to display: same as learnpath description
196
-	 */
197
-	public function get_description()
198
-	{
199
-		$data = $this->get_learnpath_data();
200
-		return $data['description'];
201
-	}
202
-
203
-	/**
204
-	 * Check if this still links to a learnpath
205
-	 */
206
-	public function is_valid_link() {
207
-		$sql = 'SELECT count(id) FROM '.$this->get_learnpath_table().'
114
+        if (isset($stud_id))
115
+            $sql .= ' AND user_id = '.intval($stud_id);
116
+
117
+        // order by id, that way the student's first attempt is accessed first
118
+        $sql .= ' ORDER BY view_count DESC';
119
+
120
+        $scores = Database::query($sql);
121
+        // for 1 student
122
+        if (isset($stud_id)) {
123
+            if ($data = Database::fetch_assoc($scores)) {
124
+                return array ($data['progress'], 100);
125
+            } else
126
+                return null;
127
+        } else {
128
+            // all students -> get average
129
+            $students = array();  // user list, needed to make sure we only
130
+            // take first attempts into account
131
+            $rescount = 0;
132
+            $sum = 0;
133
+            $bestResult = 0;
134
+            $sumResult = 0;
135
+            while ($data = Database::fetch_array($scores)) {
136
+                if (!(array_key_exists($data['user_id'], $students))) {
137
+                    $students[$data['user_id']] = $data['progress'];
138
+                    $rescount++;
139
+                    $sum += $data['progress'] / 100;
140
+                    $sumResult += $data['progress'];
141
+
142
+                    if ($data['progress'] > $bestResult) {
143
+                        $bestResult = $data['progress'];
144
+                    }
145
+                }
146
+            }
147
+
148
+            if ($rescount == 0) {
149
+                return null;
150
+            } else {
151
+
152
+                switch ($type) {
153
+                    case 'best':
154
+                        return array($bestResult, 100);
155
+                        break;
156
+                    case 'average':
157
+                        return array($sumResult/$rescount, 100);
158
+                        break;
159
+                    case 'ranking':
160
+                        return AbstractLink::getCurrentUserRanking($stud_id, $students);
161
+                        break;
162
+                    default:
163
+                        return array($sum, $rescount);
164
+                        break;
165
+                }
166
+            }
167
+        }
168
+    }
169
+
170
+    /**
171
+     * Get URL where to go to if the user clicks on the link.
172
+     */
173
+    public function get_link()
174
+    {
175
+        $url = api_get_path(WEB_PATH).'main/newscorm/lp_controller.php?cidReq='.$this->get_course_code().'&gradebook=view';
176
+        $session_id = api_get_session_id();
177
+        if (!api_is_allowed_to_edit() || $this->calc_score(api_get_user_id()) == null) {
178
+            $url .= '&action=view&session_id='.$session_id.'&lp_id='.$this->get_ref_id();
179
+        } else {
180
+            $url .= '&action=build&session_id='.$session_id.'&lp_id='.$this->get_ref_id();
181
+        }
182
+        return $url;
183
+    }
184
+
185
+    /**
186
+     * Get name to display: same as learnpath title
187
+     */
188
+    public function get_name()
189
+    {
190
+        $data = $this->get_learnpath_data();
191
+        return $data['name'];
192
+    }
193
+
194
+    /**
195
+     * Get description to display: same as learnpath description
196
+     */
197
+    public function get_description()
198
+    {
199
+        $data = $this->get_learnpath_data();
200
+        return $data['description'];
201
+    }
202
+
203
+    /**
204
+     * Check if this still links to a learnpath
205
+     */
206
+    public function is_valid_link() {
207
+        $sql = 'SELECT count(id) FROM '.$this->get_learnpath_table().'
208 208
                 WHERE c_id = '.$this->course_id.' AND id = '.$this->get_ref_id().' ';
209
-		$result = Database::query($sql);
210
-		$number = Database::fetch_row($result,'NUM');
211
-		return ($number[0] != 0);
212
-	}
213
-
214
-	public function get_type_name()
215
-	{
216
-		return get_lang('LearningPaths');
217
-	}
218
-
219
-	public function needs_name_and_description()
220
-	{
221
-		return false;
222
-	}
223
-
224
-	public function needs_max()
225
-	{
226
-		return false;
227
-	}
228
-
229
-	public function needs_results()
230
-	{
231
-		return false;
232
-	}
233
-
234
-	public function is_allowed_to_change_name()
235
-	{
236
-		return false;
237
-	}
238
-
239
-	// INTERNAL FUNCTIONS
240
-
241
-	/**
242
-	 * Lazy load function to get the database table of the learnpath
243
-	 */
244
-	private function get_learnpath_table()
245
-	{
246
-		$this->learnpath_table = Database :: get_course_table(TABLE_LP_MAIN);
247
-		return $this->learnpath_table;
248
-	}
249
-
250
-	/**
251
-	 * Lazy load function to get the database contents of this learnpath
252
-	 */
253
-	private function get_learnpath_data()
254
-	{
255
-		if (!isset($this->learnpath_data)) {
256
-			$sql = 'SELECT * FROM '.$this->get_learnpath_table().'
209
+        $result = Database::query($sql);
210
+        $number = Database::fetch_row($result,'NUM');
211
+        return ($number[0] != 0);
212
+    }
213
+
214
+    public function get_type_name()
215
+    {
216
+        return get_lang('LearningPaths');
217
+    }
218
+
219
+    public function needs_name_and_description()
220
+    {
221
+        return false;
222
+    }
223
+
224
+    public function needs_max()
225
+    {
226
+        return false;
227
+    }
228
+
229
+    public function needs_results()
230
+    {
231
+        return false;
232
+    }
233
+
234
+    public function is_allowed_to_change_name()
235
+    {
236
+        return false;
237
+    }
238
+
239
+    // INTERNAL FUNCTIONS
240
+
241
+    /**
242
+     * Lazy load function to get the database table of the learnpath
243
+     */
244
+    private function get_learnpath_table()
245
+    {
246
+        $this->learnpath_table = Database :: get_course_table(TABLE_LP_MAIN);
247
+        return $this->learnpath_table;
248
+    }
249
+
250
+    /**
251
+     * Lazy load function to get the database contents of this learnpath
252
+     */
253
+    private function get_learnpath_data()
254
+    {
255
+        if (!isset($this->learnpath_data)) {
256
+            $sql = 'SELECT * FROM '.$this->get_learnpath_table().'
257 257
                     WHERE c_id = '.$this->course_id.' AND id = '.$this->get_ref_id().' ';
258
-			$result = Database::query($sql);
259
-			$this->learnpath_data = Database::fetch_array($result);
260
-		}
261
-		return $this->learnpath_data;
262
-	}
263
-
264
-	public function get_icon_name()
265
-	{
266
-		return 'learnpath';
267
-	}
258
+            $result = Database::query($sql);
259
+            $this->learnpath_data = Database::fetch_array($result);
260
+        }
261
+        return $this->learnpath_data;
262
+    }
263
+
264
+    public function get_icon_name()
265
+    {
266
+        return 'learnpath';
267
+    }
268 268
 }
Please login to merge, or discard this patch.
main/gradebook/lib/fe/gradebooktable.class.php 1 patch
Doc Comments   +3 added lines, -1 removed lines patch added patch discarded remove patch
@@ -32,6 +32,8 @@  discard block
 block discarded – undo
32 32
      * @param array $evals
33 33
      * @param array $links
34 34
      * @param null $addparams
35
+     * @param boolean $showTeacherView
36
+     * @param integer $userId
35 37
      */
36 38
     public function __construct(
37 39
         $currentcat,
@@ -895,7 +897,7 @@  discard block
 block discarded – undo
895 897
 
896 898
     /**
897 899
      * @param $item
898
-     * @return mixed
900
+     * @return string|null
899 901
      */
900 902
     private function build_course_code($item)
901 903
     {
Please login to merge, or discard this patch.
main/gradebook/lib/user_data_generator.class.php 2 patches
Doc Comments   +5 added lines, -4 removed lines patch added patch discarded remove patch
@@ -72,6 +72,7 @@  discard block
 block discarded – undo
72 72
 
73 73
 	/**
74 74
 	 * Get actual array data
75
+	 * @param integer $count
75 76
 	 * @return array 2-dimensional array - each array contains the elements:
76 77
 	 * 0: eval/link object
77 78
 	 * 1: item name
@@ -285,7 +286,7 @@  discard block
 block discarded – undo
285 286
 
286 287
 	/**
287 288
 	 * @param $item
288
-	 * @param $ignore_score_color
289
+	 * @param boolean $ignore_score_color
289 290
 	 * @return string
290 291
 	 */
291 292
 	private function build_average_column($item, $ignore_score_color)
@@ -306,7 +307,7 @@  discard block
 block discarded – undo
306 307
 
307 308
 	/**
308 309
 	 * @param $item
309
-	 * @param $ignore_score_color
310
+	 * @param boolean $ignore_score_color
310 311
 	 * @return string
311 312
 	 */
312 313
 	private function build_result_column($item, $ignore_score_color)
@@ -323,7 +324,7 @@  discard block
 block discarded – undo
323 324
 
324 325
 	/**
325 326
 	 * @param $item
326
-	 * @param $ignore_score_color
327
+	 * @param boolean $ignore_score_color
327 328
 	 * @return string
328 329
 	 */
329 330
 	private function build_mask_column($item, $ignore_score_color)
@@ -339,7 +340,7 @@  discard block
 block discarded – undo
339 340
 
340 341
 	/**
341 342
 	 * @param $coursecode
342
-	 * @return mixed
343
+	 * @return string
343 344
 	 */
344 345
 	private function get_course_name_from_code_cached($coursecode)
345 346
 	{
Please login to merge, or discard this 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/inc/lib/AnnouncementManager.php 2 patches
Doc Comments   +9 added lines, -5 removed lines patch added patch discarded remove patch
@@ -18,7 +18,7 @@  discard block
 block discarded – undo
18 18
     }
19 19
 
20 20
     /**
21
-     * @return array
21
+     * @return string[]
22 22
      */
23 23
     public static function get_tags()
24 24
     {
@@ -40,7 +40,7 @@  discard block
 block discarded – undo
40 40
      * @param string    $course_code
41 41
      * @param int       $session_id
42 42
      *
43
-     * @return mixed
43
+     * @return string
44 44
      */
45 45
     public static function parse_content($userId, $content, $course_code, $session_id = 0)
46 46
     {
@@ -349,7 +349,7 @@  discard block
 block discarded – undo
349 349
      * @param array	    uploaded file $_FILES
350 350
      * @param string    Comment describing the attachment
351 351
      * @param bool  $sendToUsersInSession
352
-     * @return int      false on failure, ID of the announcement on success
352
+     * @return false|string      false on failure, ID of the announcement on success
353 353
      */
354 354
     public static function add_announcement(
355 355
         $emailTitle,
@@ -460,7 +460,7 @@  discard block
 block discarded – undo
460 460
      * @param $to_users
461 461
      * @param array $file
462 462
      * @param string $file_comment
463
-     * @return bool|int
463
+     * @return false|string
464 464
      */
465 465
     public static function add_group_announcement(
466 466
         $emailTitle,
@@ -699,7 +699,7 @@  discard block
 block discarded – undo
699 699
 
700 700
     /**
701 701
      * @param int $insert_id
702
-     * @return bool
702
+     * @return false|null
703 703
      */
704 704
     public static function update_mail_sent($insert_id)
705 705
     {
@@ -719,6 +719,7 @@  discard block
 block discarded – undo
719 719
      * Gets all announcements from a user by course
720 720
      * @param	string course db
721 721
      * @param	int user id
722
+     * @param integer $user_id
722 723
      * @return	array html with the content and count of announcements or false otherwise
723 724
      */
724 725
     public static function get_all_annoucement_by_user_course($course_code, $user_id)
@@ -1184,6 +1185,7 @@  discard block
 block discarded – undo
1184 1185
      * has been sent to
1185 1186
      * @param    string  The tool (announcement, agenda, ...)
1186 1187
      * @param    int     ID of the element of the corresponding type
1188
+     * @param string $tool
1187 1189
      * @return   array   Array of users and groups to whom the element has been sent
1188 1190
      */
1189 1191
     public static function sent_to($tool, $id)
@@ -1308,6 +1310,8 @@  discard block
 block discarded – undo
1308 1310
      * @param int attach id
1309 1311
      * @param array uploaded file $_FILES
1310 1312
      * @param string file comment
1313
+     * @param integer $id_attach
1314
+     * @param string $file_comment
1311 1315
      * @return int
1312 1316
      */
1313 1317
     public static function edit_announcement_attachment_file($id_attach, $file, $file_comment)
Please login to merge, or discard this patch.
Indentation   +1 added lines, -1 removed lines patch added patch discarded remove patch
@@ -1510,7 +1510,7 @@
 block discarded – undo
1510 1510
                             ip.to_user_id=$user_id OR (ip.to_group_id IS NULL OR ip.to_group_id IN (0, ".implode(", ", $group_memberships)."))
1511 1511
                         ) ";
1512 1512
                     } else {
1513
-                       $cond_user_id = " AND (
1513
+                        $cond_user_id = " AND (
1514 1514
                             ip.to_user_id=$user_id OR (ip.to_group_id IS NULL OR ip.to_group_id IN (0, ".api_get_group_id()."))
1515 1515
                         )";
1516 1516
                     }
Please login to merge, or discard this patch.
main/inc/lib/course_home.lib.php 1 patch
Doc Comments   +3 added lines, -2 removed lines patch added patch discarded remove patch
@@ -213,7 +213,7 @@  discard block
 block discarded – undo
213 213
     /**
214 214
      * Displays the tools of a certain category.
215 215
      *
216
-     * @return void
216
+     * @return string
217 217
      * @param string $course_tool_category	contains the category of tools to display:
218 218
      * "Public", "PublicButHide", "courseAdmin", "claroAdmin"
219 219
      */
@@ -650,7 +650,7 @@  discard block
 block discarded – undo
650 650
      * @param array $all_tools_list List of tools as returned by get_tools_category()
651 651
      * @param bool  $rows
652 652
      *
653
-     * @return void
653
+     * @return string
654 654
      */
655 655
     public static function show_tools_category($all_tools_list, $rows = false)
656 656
     {
@@ -1194,6 +1194,7 @@  discard block
 block discarded – undo
1194 1194
 
1195 1195
     /**
1196 1196
      * Show a toolbar with shortcuts to the course tool
1197
+     * @param integer $orientation
1197 1198
      */
1198 1199
     public static function show_navigation_tool_shortcuts($orientation = SHORTCUTS_HORIZONTAL)
1199 1200
     {
Please login to merge, or discard this patch.
main/inc/lib/diagnoser.lib.php 2 patches
Doc Comments   +6 added lines patch added patch discarded remove patch
@@ -351,6 +351,12 @@
 block discarded – undo
351 351
 
352 352
     /**
353 353
      * Additional functions needed for fast integration
354
+     * @param integer $status
355
+     * @param string $section
356
+     * @param string $title
357
+     * @param string $url
358
+     * @param string|null $formatter
359
+     * @param string $comment
354 360
      */
355 361
     public function build_setting($status, $section, $title, $url, $current_value, $expected_value, $formatter, $comment, $img_path = null) {
356 362
         switch ($status) {
Please login to merge, or discard this patch.
Indentation   +13 added lines, -13 removed lines patch added patch discarded remove patch
@@ -401,19 +401,19 @@
 block discarded – undo
401 401
 
402 402
     public function format_yes_no_optional($value)
403 403
     {
404
-    	$return = '';
405
-    	switch($value) {
406
-     		case 0:
407
-     			$return = get_lang('No');
408
-     			break;
409
-     		case 1:
410
-     			$return = get_lang('Yes');
411
-     			break;
412
-			case 2:
413
-				$return = get_lang('Optional');
414
-				break;
415
-    	}
416
-    	return $return;
404
+        $return = '';
405
+        switch($value) {
406
+                case 0:
407
+                 $return = get_lang('No');
408
+                    break;
409
+                case 1:
410
+                 $return = get_lang('Yes');
411
+                    break;
412
+            case 2:
413
+                $return = get_lang('Optional');
414
+                break;
415
+        }
416
+        return $return;
417 417
 
418 418
     }
419 419
 
Please login to merge, or discard this patch.