Completed
Push — 1.11.x ( 772bf4...b5113d )
by José
28:31
created
main/tracking/question_course_report.php 1 patch
Indentation   +107 added lines, -107 removed lines patch added patch discarded remove patch
@@ -14,20 +14,20 @@  discard block
 block discarded – undo
14 14
 $is_allowedToTrack = $is_courseAdmin || $is_platformAdmin || $is_courseCoach || $is_sessionAdmin;
15 15
 
16 16
 if (!$is_allowedToTrack) {
17
-	Display :: display_header(null);
18
-	api_not_allowed();
19
-	Display :: display_footer();
17
+    Display :: display_header(null);
18
+    api_not_allowed();
19
+    Display :: display_footer();
20 20
 }
21 21
 
22 22
 $export_to_xls = false;
23 23
 if (isset($_GET['export'])) {
24
-	$export_to_xls = true;
24
+    $export_to_xls = true;
25 25
 }
26 26
 
27 27
 if (api_is_platform_admin() ) {
28
-	$global = true;
28
+    $global = true;
29 29
 } else {
30
-	$global = false;
30
+    $global = false;
31 31
 }
32 32
 $global = true;
33 33
 
@@ -45,14 +45,14 @@  discard block
 block discarded – undo
45 45
 $session_id = isset($_REQUEST['session_id']) ? intval($_REQUEST['session_id']) : null;
46 46
 
47 47
 if (empty($session_id)) {
48
-	$temp_course_list = CourseManager :: get_courses_list();
48
+    $temp_course_list = CourseManager :: get_courses_list();
49 49
 } else {
50
-	$temp_course_list = SessionManager::get_course_list_by_session_id($session_id);
50
+    $temp_course_list = SessionManager::get_course_list_by_session_id($session_id);
51 51
 }
52 52
 
53 53
 foreach ($temp_course_list  as $temp_course_item) {
54
-	$course_item = CourseManager ::get_course_information($temp_course_item['code']);
55
-	$course_select_list[$temp_course_item['code']]	= $course_item['title'];
54
+    $course_item = CourseManager ::get_course_information($temp_course_item['code']);
55
+    $course_select_list[$temp_course_item['code']]	= $course_item['title'];
56 56
 }
57 57
 
58 58
 //Get session list
@@ -95,132 +95,132 @@  discard block
 block discarded – undo
95 95
 $course_info = api_get_course_info($course_code);
96 96
 
97 97
 if (!empty($course_info)) {
98
-	$list = new LearnpathList('', $course_code);
99
-	$lp_list = $list->get_flat_list();
98
+    $list = new LearnpathList('', $course_code);
99
+    $lp_list = $list->get_flat_list();
100 100
 
101
-	$main_question_list = array();
101
+    $main_question_list = array();
102 102
 
103
-	foreach ($lp_list as $lp_id => $lp) {
103
+    foreach ($lp_list as $lp_id => $lp) {
104 104
         $exercise_list = Event::get_all_exercises_from_lp(
105 105
             $lp_id,
106 106
             $course_info['real_id']
107 107
         );
108 108
 
109
-		foreach ($exercise_list as $exercise) {
110
-			$my_exercise = new Exercise($course_info['real_id']);
111
-			$my_exercise->read($exercise['path']);
112
-			$question_list = $my_exercise->selectQuestionList();
113
-
114
-			$exercise_stats = Event::get_all_exercise_event_from_lp(
115
-				$exercise['path'],
116
-				$course_info['real_id'],
117
-				$session_id
118
-			);
119
-
120
-			foreach ($question_list as $question_id) {
121
-				$question_data = Question::read($question_id);
122
-				$main_question_list[$question_id] = $question_data;
123
-				$quantity_exercises = 0;
124
-				$question_result = 0;
125
-
126
-				foreach ($exercise_stats as $stats) {
127
-					if (!empty($stats['question_list'])) {
128
-						foreach($stats['question_list'] as $my_question_stat) {
129
-							if ($question_id == $my_question_stat['question_id']) {
130
-								$question_result =  $question_result + $my_question_stat['marks'];
131
-								$quantity_exercises++;
132
-							}
133
-						}
134
-					}
135
-				}
136
-
137
-				if (!empty($quantity_exercises)) {
138
-					// Score % average
139
-					$main_question_list[$question_id]->results = ($question_result / ($quantity_exercises));
140
-				} else {
141
-					$main_question_list[$question_id]->results = 0;
142
-				}
143
-
144
-				$main_question_list[$question_id]->quantity = $quantity_exercises;
145
-			}
146
-		}
147
-	}
109
+        foreach ($exercise_list as $exercise) {
110
+            $my_exercise = new Exercise($course_info['real_id']);
111
+            $my_exercise->read($exercise['path']);
112
+            $question_list = $my_exercise->selectQuestionList();
113
+
114
+            $exercise_stats = Event::get_all_exercise_event_from_lp(
115
+                $exercise['path'],
116
+                $course_info['real_id'],
117
+                $session_id
118
+            );
119
+
120
+            foreach ($question_list as $question_id) {
121
+                $question_data = Question::read($question_id);
122
+                $main_question_list[$question_id] = $question_data;
123
+                $quantity_exercises = 0;
124
+                $question_result = 0;
125
+
126
+                foreach ($exercise_stats as $stats) {
127
+                    if (!empty($stats['question_list'])) {
128
+                        foreach($stats['question_list'] as $my_question_stat) {
129
+                            if ($question_id == $my_question_stat['question_id']) {
130
+                                $question_result =  $question_result + $my_question_stat['marks'];
131
+                                $quantity_exercises++;
132
+                            }
133
+                        }
134
+                    }
135
+                }
136
+
137
+                if (!empty($quantity_exercises)) {
138
+                    // Score % average
139
+                    $main_question_list[$question_id]->results = ($question_result / ($quantity_exercises));
140
+                } else {
141
+                    $main_question_list[$question_id]->results = 0;
142
+                }
143
+
144
+                $main_question_list[$question_id]->quantity = $quantity_exercises;
145
+            }
146
+        }
147
+    }
148 148
 }
149 149
 
150 150
 if (!$export_to_xls) {
151
-	Display :: display_header(get_lang("MySpace"));
152
-	echo '<div class="actions">';
153
-	if ($global) {
154
-		echo MySpace::getTopMenu();
155
-	} else {
156
-		echo '<div style="float:left; clear:left">
151
+    Display :: display_header(get_lang("MySpace"));
152
+    echo '<div class="actions">';
153
+    if ($global) {
154
+        echo MySpace::getTopMenu();
155
+    } else {
156
+        echo '<div style="float:left; clear:left">
157 157
 				<a href="courseLog.php?'.api_get_cidreq().'&studentlist=true">'.
158 158
                     get_lang('StudentsTracking').'</a>&nbsp;|
159 159
 				<a href="courseLog.php?'.api_get_cidreq().'&studentlist=false">'.
160 160
                     get_lang('CourseTracking').'</a>&nbsp;';
161
-		echo '</div>';
162
-	}
163
-	echo '</div>';
161
+        echo '</div>';
162
+    }
163
+    echo '</div>';
164 164
 
165
-	if (api_is_platform_admin()) {
166
-		echo MySpace::getAdminActions();
167
-	}
168
-	echo '<br />';
169
-	echo '<h2>'.get_lang('LPQuestionListResults').'</h2>';
165
+    if (api_is_platform_admin()) {
166
+        echo MySpace::getAdminActions();
167
+    }
168
+    echo '<br />';
169
+    echo '<h2>'.get_lang('LPQuestionListResults').'</h2>';
170 170
 
171
-	$form->display();
171
+    $form->display();
172 172
 
173
-	if (empty($course_code)) {
174
-		Display::display_warning_message(get_lang('PleaseSelectACourse'));
175
-	}
173
+    if (empty($course_code)) {
174
+        Display::display_warning_message(get_lang('PleaseSelectACourse'));
175
+    }
176 176
 }
177 177
 
178 178
 $course_average = array();
179 179
 $counter = 0;
180 180
 
181 181
 if (!empty($main_question_list) && is_array($main_question_list)) {
182
-	$html_result .= '<table  class="data_table">';
183
-	$html_result .= '<tr><th>'.get_lang('Question').
182
+    $html_result .= '<table  class="data_table">';
183
+    $html_result .= '<tr><th>'.get_lang('Question').
184 184
                     Display :: return_icon('info3.gif', get_lang('QuestionsAreTakenFromLPExercises'), array('align' => 'absmiddle', 'hspace' => '3px')).'</th>';
185
-	$html_result .= '<th>'.$course_info['visual_code'].' '.get_lang('AverageScore').Display :: return_icon('info3.gif', get_lang('AllStudentsAttemptsAreConsidered'), array('align' => 'absmiddle', 'hspace' => '3px')).' </th>';
186
-	$html_result .= '<th>'.get_lang('Quantity').'</th>';
187
-
188
-	foreach ($main_question_list as $question) {
189
-		$total_student = 0;
190
-		$counter ++;
191
-		$s_css_class = 'row_even';
192
-		if ($counter % 2 ==0 ) {
193
-			$s_css_class = 'row_odd';
194
-		}
195
-		$html_result .= "<tr class='$s_css_class'>
185
+    $html_result .= '<th>'.$course_info['visual_code'].' '.get_lang('AverageScore').Display :: return_icon('info3.gif', get_lang('AllStudentsAttemptsAreConsidered'), array('align' => 'absmiddle', 'hspace' => '3px')).' </th>';
186
+    $html_result .= '<th>'.get_lang('Quantity').'</th>';
187
+
188
+    foreach ($main_question_list as $question) {
189
+        $total_student = 0;
190
+        $counter ++;
191
+        $s_css_class = 'row_even';
192
+        if ($counter % 2 ==0 ) {
193
+            $s_css_class = 'row_odd';
194
+        }
195
+        $html_result .= "<tr class='$s_css_class'>
196 196
 							<td >";
197
-		$question_title = trim($question->question);
198
-		if (empty($question_title)) {
199
-			$html_result .= get_lang('Untitled').' '.get_lang('Question').' #'.$question->id;
200
-		} else {
201
-			$html_result .= $question->question;
202
-		}
203
-
204
-		$html_result .= "</td>";
205
-		$html_result .= "<td>";
206
-		$html_result .= round($question->results, 2).' / '.$question->weighting;
207
-		$html_result .= "</td>";
208
-
209
-		$html_result .= "<td>";
210
-		$html_result .= $question->quantity;
211
-		$html_result .= "</td>";
212
-	}
213
-
214
-	$html_result .="</tr>";
215
-	$html_result .= '</table>';
197
+        $question_title = trim($question->question);
198
+        if (empty($question_title)) {
199
+            $html_result .= get_lang('Untitled').' '.get_lang('Question').' #'.$question->id;
200
+        } else {
201
+            $html_result .= $question->question;
202
+        }
203
+
204
+        $html_result .= "</td>";
205
+        $html_result .= "<td>";
206
+        $html_result .= round($question->results, 2).' / '.$question->weighting;
207
+        $html_result .= "</td>";
208
+
209
+        $html_result .= "<td>";
210
+        $html_result .= $question->quantity;
211
+        $html_result .= "</td>";
212
+    }
213
+
214
+    $html_result .="</tr>";
215
+    $html_result .= '</table>';
216 216
 } else {
217
-	if (!empty($course_code)) {
218
-		Display::display_warning_message(get_lang('NoResults'));
219
-	}
217
+    if (!empty($course_code)) {
218
+        Display::display_warning_message(get_lang('NoResults'));
219
+    }
220 220
 }
221 221
 
222 222
 if (!$export_to_xls) {
223
-	echo $html_result;
223
+    echo $html_result;
224 224
 }
225 225
 
226 226
 Display :: display_footer();
Please login to merge, or discard this patch.
main/course_description/course_description_controller.php 1 patch
Indentation   +2 added lines, -2 removed lines patch added patch discarded remove patch
@@ -156,7 +156,7 @@  discard block
 block discarded – undo
156 156
                 if (isset($_GET['id_session'])) {
157 157
                     $session_id = intval($_GET['id_session']);
158 158
                 }
159
-		        $course_description_data = $course_description->get_data_by_id(
159
+                $course_description_data = $course_description->get_data_by_id(
160 160
                     $id,
161 161
                     null,
162 162
                     $session_id
@@ -165,7 +165,7 @@  discard block
 block discarded – undo
165 165
                 $data['description_title'] = $course_description_data['description_title'];
166 166
                 $data['description_content'] = $course_description_data['description_content'];
167 167
                 $data['progress'] = $course_description_data['progress'];
168
-		        $data['descriptions'] = $course_description->get_data_by_description_type(
168
+                $data['descriptions'] = $course_description->get_data_by_description_type(
169 169
                     $description_type,
170 170
                     null,
171 171
                     $session_id
Please login to merge, or discard this patch.
main/user/resume_session.php 1 patch
Indentation   +49 added lines, -49 removed lines patch added patch discarded remove patch
@@ -60,9 +60,9 @@  discard block
 block discarded – undo
60 60
     $session_category = '';
61 61
 
62 62
     if (Database::num_rows($rs)>0) {
63
-    	$rows_session_category = Database::store_result($rs);
64
-    	$rows_session_category = $rows_session_category[0];
65
-    	$session_category = $rows_session_category['name'];
63
+        $rows_session_category = Database::store_result($rs);
64
+        $rows_session_category = $rows_session_category[0];
65
+        $session_category = $rows_session_category['name'];
66 66
     }
67 67
 
68 68
     $action = isset($_GET['action']) ? $_GET['action'] : null;
@@ -147,22 +147,22 @@  discard block
 block discarded – undo
147 147
     	<td><?php echo get_lang('Date'); ?> :</td>
148 148
     	<td>
149 149
     	<?php
150
-    		if ($session['access_start_date'] == '00-00-0000' && $session['access_end_date']== '00-00-0000' ) {
151
-    		    echo get_lang('NoTimeLimits');
150
+            if ($session['access_start_date'] == '00-00-0000' && $session['access_end_date']== '00-00-0000' ) {
151
+                echo get_lang('NoTimeLimits');
152 152
             }
153
-    		else {
153
+            else {
154 154
                 if ($session['access_start_date'] != '00-00-0000') {
155
-                	//$session['date_start'] = Display::tag('i', get_lang('NoTimeLimits'));
155
+                    //$session['date_start'] = Display::tag('i', get_lang('NoTimeLimits'));
156 156
                     $session['access_start_date'] =  get_lang('From').' '.$session['access_start_date'];
157 157
                 } else {
158
-                	$session['access_start_date'] = '';
158
+                    $session['access_start_date'] = '';
159 159
                 }
160 160
                 if ($session['access_end_date'] == '00-00-0000') {
161 161
                     $session['access_end_date'] ='';
162 162
                 } else {
163
-                	$session['access_end_date'] = get_lang('Until').' '.$session['access_end_date'];
163
+                    $session['access_end_date'] = get_lang('Until').' '.$session['access_end_date'];
164 164
                 }
165
-    			echo $session['access_start_date'].' '.$session['access_end_date'];
165
+                echo $session['access_start_date'].' '.$session['access_end_date'];
166 166
             }
167 167
             ?>
168 168
     	</td>
@@ -221,22 +221,22 @@  discard block
 block discarded – undo
221 221
     </tr>
222 222
     <?php
223 223
     if ($session['nbr_courses'] == 0) {
224
-    	echo '<tr>
224
+        echo '<tr>
225 225
             <td colspan="4">'.get_lang('NoCoursesForThisSession').'</td>
226 226
     		</tr>';
227 227
     } else {
228
-    	// select the courses
229
-    	$sql = "SELECT c.id, code,title,visual_code, nbr_users
228
+        // select the courses
229
+        $sql = "SELECT c.id, code,title,visual_code, nbr_users
230 230
     			FROM $tbl_course c,$tbl_session_rel_course sc
231 231
     			WHERE c.id = sc.c_id
232 232
     			AND	session_id='$id_session'
233 233
     			ORDER BY title";
234
-    	$result=Database::query($sql);
235
-    	$courses=Database::store_result($result);
236
-    	foreach ($courses as $course) {
237
-    		//select the number of users
234
+        $result=Database::query($sql);
235
+        $courses=Database::store_result($result);
236
+        foreach ($courses as $course) {
237
+            //select the number of users
238 238
 
239
-    		$sql = "SELECT count(*) FROM $tbl_session_rel_user sru, $tbl_session_rel_course_rel_user srcru
239
+            $sql = "SELECT count(*) FROM $tbl_session_rel_user sru, $tbl_session_rel_course_rel_user srcru
240 240
                     WHERE
241 241
                         srcru.user_id = sru.user_id AND
242 242
                         srcru.session_id = sru.session_id AND
@@ -244,49 +244,49 @@  discard block
 block discarded – undo
244 244
                         sru.relation_type<>".SESSION_RELATION_TYPE_RRHH." AND
245 245
                         srcru.session_id = '".intval($id_session)."'";
246 246
 
247
-    		$rs = Database::query($sql);
248
-    		$course['nbr_users'] = Database::result($rs,0,0);
247
+            $rs = Database::query($sql);
248
+            $course['nbr_users'] = Database::result($rs,0,0);
249 249
 
250
-    		// Get coachs of the courses in session
250
+            // Get coachs of the courses in session
251 251
 
252
-    		$sql = "SELECT user.lastname,user.firstname,user.username
252
+            $sql = "SELECT user.lastname,user.firstname,user.username
253 253
     		        FROM $tbl_session_rel_course_rel_user session_rcru, $tbl_user user
254 254
     				WHERE
255 255
     				    session_rcru.user_id = user.user_id AND
256 256
     				    session_rcru.session_id = '".intval($id_session)."' AND
257 257
     				    session_rcru.c_id ='".Database::escape_string($course['id'])."' AND
258 258
     				    session_rcru.status=2";
259
-    		$rs = Database::query($sql);
259
+            $rs = Database::query($sql);
260 260
 
261
-    		$coachs = array();
262
-    		if (Database::num_rows($rs) > 0) {
263
-    			while ($info_coach = Database::fetch_array($rs)) {
261
+            $coachs = array();
262
+            if (Database::num_rows($rs) > 0) {
263
+                while ($info_coach = Database::fetch_array($rs)) {
264 264
                     $coachs[] = api_get_person_name(
265 265
                             $info_coach['firstname'],
266 266
                             $info_coach['lastname']
267 267
                         ).' ('.$info_coach['username'].')';
268
-    			}
269
-    		} else {
270
-    			$coach = get_lang('None');
271
-    		}
272
-
273
-    		if (count($coachs) > 0) {
274
-    			$coach = implode('<br />',$coachs);
275
-    		} else {
276
-    			$coach = get_lang('None');
277
-    		}
278
-
279
-    		$orig_param = '&origin=resume_session';
280
-    		//hide_course_breadcrumb the parameter has been added to hide the
268
+                }
269
+            } else {
270
+                $coach = get_lang('None');
271
+            }
272
+
273
+            if (count($coachs) > 0) {
274
+                $coach = implode('<br />',$coachs);
275
+            } else {
276
+                $coach = get_lang('None');
277
+            }
278
+
279
+            $orig_param = '&origin=resume_session';
280
+            //hide_course_breadcrumb the parameter has been added to hide the
281 281
             // name of the course, that appeared in the default $interbreadcrumb
282
-    		echo '
282
+            echo '
283 283
     		<tr>
284 284
     			<td>'.Display::url($course['title'].' ('.$course['visual_code'].')', api_get_path(WEB_COURSE_PATH).$course['code'].'/?id_session='.$id_session),'</td>
285 285
     			<td>'.$coach.'</td>
286 286
     			<td>'.$course['nbr_users'].'</td>
287 287
 
288 288
     		</tr>';
289
-    	}
289
+        }
290 290
     }
291 291
     ?>
292 292
     </table>
@@ -307,11 +307,11 @@  discard block
 block discarded – undo
307 307
     <?php
308 308
 
309 309
     if ($session['nbr_users']==0) {
310
-    	echo '<tr>
310
+        echo '<tr>
311 311
     			<td colspan="2">'.get_lang('NoUsersForThisSession').'</td>
312 312
     		</tr>';
313 313
     } else {
314
-    	$order_clause = api_sort_by_first_name() ? ' ORDER BY firstname, lastname' : ' ORDER BY lastname, firstname';
314
+        $order_clause = api_sort_by_first_name() ? ' ORDER BY firstname, lastname' : ' ORDER BY lastname, firstname';
315 315
 
316 316
         if ($multiple_url_is_on) {
317 317
             $sql = "SELECT u.user_id, lastname, firstname, username, access_url_id
@@ -329,11 +329,11 @@  discard block
 block discarded – undo
329 329
                     AND su.session_id = ".$id_session.$order_clause;
330 330
         }
331 331
 
332
-    	$result = Database::query($sql);
333
-    	$users  = Database::store_result($result);
332
+        $result = Database::query($sql);
333
+        $users  = Database::store_result($result);
334 334
         // change breadcrumb in destination page
335
-    	$orig_param = '&origin=resume_session&id_session='.$id_session;
336
-    	foreach ($users as $user) {
335
+        $orig_param = '&origin=resume_session&id_session='.$id_session;
336
+        foreach ($users as $user) {
337 337
             $user_link = '';
338 338
             if (!empty($user['user_id'])) {
339 339
                 $user_link = '<a href="'.api_get_path(WEB_CODE_PATH).'admin/user_information.php?user_id='.intval($user['user_id']).'">'.
@@ -350,7 +350,7 @@  discard block
 block discarded – undo
350 350
                 }
351 351
             }
352 352
 
353
-    		echo '<tr>
353
+            echo '<tr>
354 354
                     <td width="90%">
355 355
                         '.$user_link.'
356 356
                     </td>
@@ -361,7 +361,7 @@  discard block
 block discarded – undo
361 361
                         '.$link_to_add_user_in_url.'
362 362
                     </td>
363 363
                     </tr>';
364
-    	}
364
+        }
365 365
     }
366 366
     ?>
367 367
     </table>
Please login to merge, or discard this patch.
main/user/session_list.php 1 patch
Indentation   +4 added lines, -4 removed lines patch added patch discarded remove patch
@@ -65,13 +65,13 @@  discard block
 block discarded – undo
65 65
         array('name'=>'access_end_date',       'index'=>'access_end_date',      'width'=>'40',   'align'=>'left', 'search' => 'true'),
66 66
         array('name'=>'coach_name',     'index'=>'coach_name',    'width'=>'80',   'align'=>'left', 'search' => 'false'),
67 67
         array('name'=>'status',         'index'=>'session_active','width'=>'40',   'align'=>'left', 'search' => 'true', 'stype'=>'select',
68
-          //for the bottom bar
68
+            //for the bottom bar
69 69
             'searchoptions' => array(
70 70
                 'defaultValue' => '1',
71 71
                 'value' => '1:'.get_lang('Active').';0:'.get_lang('Inactive')
72 72
             ),
73
-          //for the top bar
74
-          'editoptions' => array('value' => ':'.get_lang('All').';1:'.get_lang('Active').';0:'.get_lang('Inactive'))),
73
+            //for the top bar
74
+            'editoptions' => array('value' => ':'.get_lang('All').';1:'.get_lang('Active').';0:'.get_lang('Inactive'))),
75 75
         array('name'=>'visibility',     'index'=>'visibility',      'width'=>'40',   'align'=>'left', 'search' => 'false'),
76 76
         array('name'=>'actions',        'index'=>'actions',         'width'=>'100',  'align'=>'left','formatter'=>'action_formatter','sortable'=>'false', 'search' => 'false')
77 77
     );
@@ -86,7 +86,7 @@  discard block
 block discarded – undo
86 86
     //With this function we can add actions to the jgrid (edit, delete, etc)
87 87
     $action_links = 'function action_formatter(cellvalue, options, rowObject) {
88 88
          return \'&nbsp;<a href="add_users_to_session.php?page=session_list.php&id_session=\'+options.rowId+\'">'.Display::return_icon('user_subscribe_session.png',get_lang('SubscribeUsersToSession'),'',ICON_SIZE_SMALL).'</a>'.
89
-         '\';
89
+            '\';
90 90
     }';
91 91
     ?>
92 92
     <script>
Please login to merge, or discard this patch.
whoisonlinesession.php 1 patch
Indentation   +39 added lines, -39 removed lines patch added patch discarded remove patch
@@ -41,10 +41,10 @@  discard block
 block discarded – undo
41 41
 		</th>
42 42
 	</tr>
43 43
 <?php
44
-	$session_is_coach = array();
45
-	if (isset($_user['user_id']) && $_user['user_id'] != '') {
46
-		$_user['user_id'] = intval($_user['user_id']);
47
-		$sql = "SELECT DISTINCT session.id,
44
+    $session_is_coach = array();
45
+    if (isset($_user['user_id']) && $_user['user_id'] != '') {
46
+        $_user['user_id'] = intval($_user['user_id']);
47
+        $sql = "SELECT DISTINCT session.id,
48 48
 					name,
49 49
 					access_start_date,
50 50
 					access_end_date
@@ -53,13 +53,13 @@  discard block
 block discarded – undo
53 53
 					ON srcru.user_id = ".$_user['user_id']." AND srcru.status=2
54 54
 					AND session.id = srcru.session_id
55 55
 				ORDER BY access_start_date, access_end_date, name";
56
-		$result = Database::query($sql);
56
+        $result = Database::query($sql);
57 57
 
58
-		while ($session = Database:: fetch_array($result)) {
59
-			$session_is_coach[$session['id']] = $session;
60
-		}
58
+        while ($session = Database:: fetch_array($result)) {
59
+            $session_is_coach[$session['id']] = $session;
60
+        }
61 61
 
62
-		$sql = "SELECT DISTINCT session.id,
62
+        $sql = "SELECT DISTINCT session.id,
63 63
 					name,
64 64
 					access_start_date,
65 65
 					access_end_date
@@ -67,9 +67,9 @@  discard block
 block discarded – undo
67 67
 				WHERE session.id_coach = ".$_user['user_id']."
68 68
 				ORDER BY access_start_date, access_end_date, name";
69 69
         $result = Database::query($sql);
70
-		while ($session = Database:: fetch_array($result)) {
71
-			$session_is_coach[$session['id']] = $session;
72
-		}
70
+        while ($session = Database:: fetch_array($result)) {
71
+            $session_is_coach[$session['id']] = $session;
72
+        }
73 73
 
74 74
         if (empty($time_limit)) {
75 75
             $time_limit = api_get_setting('time_limit_whosonline');
@@ -82,7 +82,7 @@  discard block
 block discarded – undo
82 82
 
83 83
         $students_online = array();
84 84
         foreach ($session_is_coach as $session) {
85
-			$sql = "SELECT DISTINCT last_access.access_user_id,
85
+            $sql = "SELECT DISTINCT last_access.access_user_id,
86 86
 						last_access.access_date,
87 87
 						last_access.c_id,
88 88
 						last_access.access_session_id,
@@ -95,49 +95,49 @@  discard block
 block discarded – undo
95 95
 					AND access_date >= '$current_date'
96 96
 					GROUP BY access_user_id";
97 97
 
98
-			$result = Database::query($sql);
98
+            $result = Database::query($sql);
99 99
 
100
-			while($user_list = Database::fetch_array($result)) {
101
-				$students_online[$user_list['access_user_id']] = $user_list;
102
-			}
103
-		}
100
+            while($user_list = Database::fetch_array($result)) {
101
+                $students_online[$user_list['access_user_id']] = $user_list;
102
+            }
103
+        }
104 104
 
105
-		if (count($students_online) > 0) {
106
-			foreach ($students_online as $student_online) {
107
-				echo "<tr>
105
+        if (count($students_online) > 0) {
106
+            foreach ($students_online as $student_online) {
107
+                echo "<tr>
108 108
 						<td>
109 109
 					";
110
-				echo $student_online['name'];
111
-				echo "	</td>
110
+                echo $student_online['name'];
111
+                echo "	</td>
112 112
 						<td align='center'>
113 113
 					 ";
114
-				$courseInfo = api_get_course_info_by_id($student_online['c_id']);
115
-				echo $courseInfo['title'];
116
-				echo "	</td>
114
+                $courseInfo = api_get_course_info_by_id($student_online['c_id']);
115
+                echo $courseInfo['title'];
116
+                echo "	</td>
117 117
 						<td align='center'>
118 118
 					 ";
119
-							 if (!empty($student_online['email'])) {
120
-								echo $student_online['email'];
121
-							 } else {
122
-							 	echo get_lang('NoEmail');
123
-							 }
124
-				echo "	</td>
119
+                                if (!empty($student_online['email'])) {
120
+                                echo $student_online['email'];
121
+                                } else {
122
+                                    echo get_lang('NoEmail');
123
+                                }
124
+                echo "	</td>
125 125
 						<td align='center'>
126 126
 					 ";
127
-				echo '<a href="main/chat/chat.php?cidReq='.$courseInfo['code'].'&id_session='.$student_online['access_session_id'].'"> -> </a>';
128
-				echo "	</td>
127
+                echo '<a href="main/chat/chat.php?cidReq='.$courseInfo['code'].'&id_session='.$student_online['access_session_id'].'"> -> </a>';
128
+                echo "	</td>
129 129
 					</tr>
130 130
 					 ";
131
-			}
132
-		} else {
133
-			echo '	<tr>
131
+            }
132
+        } else {
133
+            echo '	<tr>
134 134
 						<td colspan="4">
135 135
 							'.get_lang('NoOnlineStudents').'
136 136
 						</td>
137 137
 					</tr>
138 138
 				 ';
139
-		}
140
-	}
139
+        }
140
+    }
141 141
 ?>
142 142
 </table>
143 143
 <?php
Please login to merge, or discard this patch.
plugin/pens/lib/pens/pens_request.php 1 patch
Indentation   +447 added lines, -447 removed lines patch added patch discarded remove patch
@@ -43,453 +43,453 @@
 block discarded – undo
43 43
 
44 44
 abstract class PENSRequest extends PENSMessage {
45 45
 
46
-	/**
47
-	 * PENS Version to be used. Currently, the only valid value is 1.0.0. Required.
48
-	 * @var string
49
-	 */
50
-	protected $_pens_version = null;
51
-	
52
-	/**
53
-	 * Command being used. The only valid values are collect, alert and receipt.Required
54
-	 * @var string
55
-	 */
56
-	protected $_command = null;
57
-	
58
-	/**
59
-	 * Package type being used. The only valid values are aicc-pkg, scorm-pif, ims-qti. Required
60
-	 * @var string
61
-	 */
62
-	protected $_package_type = null;
63
-	
64
-	/**
65
-	 * Package type version. Required
66
-	 * @var string
67
-	 */
68
-	protected $_package_type_version = null;
69
-	
70
-	/**
71
-	 * Package format. The only valid values are zip, url, jar, war and xml. Required
72
-	 * @var string
73
-	 */
74
-	protected $_package_format = null;
75
-	
76
-	/**
77
-	 * Package id. Requires a valid URI according to RFC 2396. Required
78
-	 * @var string
79
-	 */
80
-	protected $_package_id = null;
81
-	
82
-	/**
83
-	 * Package url. Requires a valid, fully qualified URL including transport protocol and filename extension. Required
84
-	 * @var string
85
-	 */
86
-	protected $_package_url = null;
87
-	
88
-	/**
89
-	 * User id required for system to retrieve package from URL. Optional.
90
-	 * @var string
91
-	 */
92
-	protected $_package_url_user_id = null;
93
-	
94
-	/**
95
-	 * Account required for system to retrieve package from URL. Optional.
96
-	 * @var string
97
-	 */
98
-	protected $_package_url_account = null;
99
-	
100
-	/**
101
-	 * Password required for system to retrieve package from URL. Optional.
102
-	 * @var string
103
-	 */
104
-	protected $_package_url_password = null;
105
-	
106
-	/**
107
-	 * Expiry date for package URL. ISO 8601 format expressed as UTC. Will be transformed into a PHP DateTime object during construction. Required
108
-	 * @var DateTime
109
-	 */
110
-	protected $_package_url_expiry = null;
111
-	
112
-	/**
113
-	 * Name or ID for client submitting the content package to the target system. Required.
114
-	 * @var string
115
-	 */
116
-	protected $_client = null;
117
-	
118
-	/**
119
-	 * User-id or sign-on for target system. Optional
120
-	 * @var string
121
-	 */
122
-	protected $_system_user_id = null;
123
-	
124
-	/**
125
-	 * Either a URL-encoded password token or the null string. If the 
126
-	 * target system requires a password and the null string value is 
127
-	 * passed, then the target system is responsible for prompting for a 
128
-	 * password for target system. Optional
129
-	 * @var string
130
-	 */
131
-	protected $_system_password = null;
132
-	
133
-	/**
134
-	 * URL to send acknowledgement receipt after collecting a package. Any URL, including mailto (as per RFC 2368 and RFC 2822). Required.
135
-	 * @var string
136
-	 */
137
-	protected $_receipt = null;
138
-	
139
-	/**
140
-	 * URL to send alerts to while processing the package. Any URL, including mailto (as per RFC 2368 and RFC 2822). Optional.
141
-	 * @var string
142
-	 */
143
-	protected $_alerts = null;
144
-	
145
-	/**
146
-	 * Unstructured character string that may be used to transfer vendor-specific data such as processing hints or deployment information. Optional.
147
-	 * @var string
148
-	 */
149
-	protected $_vendor_data = null;
150
-	
151
-	/**
152
-	 * Constructor
153
-	 * 
154
-	 * Constructs a PENSRequest based class using the arguments given
155
-	 * 
156
-	 * @param array Arguments
157
-	 */
158
-	public function __construct($arguments) {
159
-		$this->setPensVersion($arguments["pens-version"]);
160
-		$this->setPackageType($arguments["package-type"]);
161
-		$this->setPackageTypeVersion($arguments["package-type-version"]);
162
-		$this->setPackageFormat($arguments["package-format"]);
163
-		$this->setPackageId($arguments["package-id"]);
164
-		$this->setPackageUrl($arguments["package-url"]);
165
-		$this->setPackageUrlUserId($arguments["package-url-user-id"]);
166
-		$this->setPackageUrlAccount($arguments["package-url-account"]);
167
-		$this->setPackageUrlPassword($arguments["package-url-password"]);
168
-		$this->setPackageUrlExpiry($arguments["package-url-expiry"]);
169
-		$this->setClient($arguments["client"]);
170
-		$this->setSystemUserId($arguments["system-user-id"]);
171
-		$this->setSystemPassword($arguments["system-password"]);
172
-		$this->setReceipt($arguments["receipt"]);
173
-		$this->setAlerts($arguments["alerts"]);
174
-		$this->setVendorData($arguments["vendor-data"]);
175
-	}
176
-	
177
-	public function getPensVersion() {
178
-		return $this->_pens_version;
179
-	}
180
-	
181
-	/**
182
-	 * Sets the PENS version
183
-	 * 
184
-	 * @param string PENS version
185
-	 * 
186
-	 * @throws PENSException with code 2001 if invalid
187
-	 */
188
-	public function setPensVersion($pens_version) {
189
-		if($pens_version == PENSConfig::$version) {
190
-			$this->_pens_version = $pens_version;
191
-		} else {
192
-			throw new PENSException(2001);
193
-		}
194
-	}
195
-	
196
-	public function getCommand() {
197
-		return $this->_command;
198
-	}
199
-	
200
-	/**
201
-	 * Sets the command
202
-	 * 
203
-	 * @param string command
204
-	 * 
205
-	 * @throws PENSException with code 2002 if invalid
206
-	 */
207
-	protected function setCommand($command) {
208
-		if(in_array($command, PENSConfig::$allowed_commands)) {
209
-			$this->_command = $command;
210
-		} else {
211
-			throw new PENSException(2002);
212
-		}
213
-	}
214
-	
215
-	public function getPackageType() {
216
-		return $this->_package_type;
217
-	}
218
-	
219
-	/**
220
-	 * Sets the package type
221
-	 * 
222
-	 * @param string package type
223
-	 * 
224
-	 * @throws PENSException with code 2003 if invalid
225
-	 */
226
-	public function setPackageType($package_type) {
227
-		if(in_array($package_type, PENSConfig::$allowed_package_types)) {
228
-			$this->_package_type = $package_type;
229
-		} else {
230
-			throw new PENSException(2003);
231
-		}
232
-	}
233
-	
234
-	public function getPackageTypeVersion() {
235
-		return $this->_package_type_version;
236
-	}
237
-	
238
-	/**
239
-	 * Sets the package type version
240
-	 * 
241
-	 * @param string package type version
242
-	 * 
243
-	 * @throws PENSException with code 2004 if invalid
244
-	 */
245
-	public function setPackageTypeVersion($package_type_version) {
246
-		if(empty($package_type_version)) {
247
-			throw new PENSException(2004);
248
-		} else {
249
-			$this->_package_type_version = $package_type_version;
250
-		}
251
-	}
252
-	
253
-	public function getPackageFormat() {
254
-		return $this->_package_format;
255
-	}
256
-	
257
-	/**
258
-	 * Sets the package format
259
-	 * 
260
-	 * @param string package format
261
-	 * 
262
-	 * @throws PENSException with code 2005 if invalid
263
-	 */
264
-	public function setPackageFormat($package_format) {
265
-		if(in_array($package_format, PENSConfig::$allowed_package_formats)) {
266
-			$this->_package_format = $package_format;
267
-		} else {
268
-			throw new PENSException(2005);
269
-		}
270
-	}
271
-	
272
-	public function getPackageId() {
273
-		return $this->_package_id;
274
-	}
275
-	
276
-	/**
277
-	 * Sets the package Id
278
-	 * 
279
-	 * @param string package Id
280
-	 * 
281
-	 * @throws PENSException with code 2007 if invalid
282
-	 */
283
-	public function setPackageId($package_id) {
284
-		if (preg_match('/'.ABSOLUTEURI_2396.'/', $package_id)) {
285
-			$this->_package_id = $package_id;
286
-		} else {
287
-			throw new PENSException(2007);
288
-		}
289
-	}
290
-	
291
-	public function getPackageUrl() {
292
-		return $this->_package_url;
293
-	}
294
-	
295
-	/**
296
-	 * Sets the package url
297
-	 * 
298
-	 * @param string package url
299
-	 * 
300
-	 * @throws PENSException with code 2008 if invalid
301
-	 */
302
-	public function setPackageUrl($package_url) {
303
-		if (preg_match('/'.ABSOLUTEURI_2396.'/', $package_url) && substr($package_url, -4) == ".".$this->_package_format) {
304
-			$this->_package_url = $package_url;
305
-		} else {
306
-			throw new PENSException(2008);
307
-		}
308
-	}
309
-	
310
-	public function getFilename() {
311
-		return substr(strrchr($this->_package_url, "/"), 1);
312
-	}
313
-	
314
-	public function getPackageUrlUserId() {
315
-		return $this->_package_url_user_id;
316
-	}
317
-	
318
-	public function setPackageUrlUserId($package_url_user_id) {
319
-		if(!empty($package_url_user_id)) {
320
-			$this->_package_url_user_id = $package_url_user_id;
321
-		}
322
-	}
323
-	
324
-	public function getPackageUrlAccount() {
325
-		return $this->_package_url_account;
326
-	}
327
-	
328
-	public function setPackageUrlAccount($package_url_account) {
329
-		if(!empty($package_url_account)) {
330
-			$this->_package_url_account = $package_url_account;
331
-		}
332
-	}
333
-	
334
-	public function getPackageUrlPassword() {
335
-		return $this->_package_url_password;
336
-	}
337
-	
338
-	public function setPackageUrlPassword($package_url_password) {
339
-		if(!empty($package_url_password)) {
340
-			$this->_package_url_password = $package_url_password;
341
-		}
342
-	}
343
-	
344
-	public function getPackageUrlExpiry() {
345
-		return $this->_package_url_expiry;
346
-	}
347
-	
348
-	/**
349
-	 * Sets the package url expiry and transforms it into a php DateTime object
350
-	 * 
351
-	 * @param string package url expiry
352
-	 * 
353
-	 * @throws PENSException with code 2009 if invalid
354
-	 * @todo Perform a better validation of the date
355
-	 */
356
-	public function setPackageUrlExpiry($package_url_expiry) {
357
-		if(empty($package_url_expiry)) {
358
-			throw new PENSException(2009);
359
-		} else {
360
-			try {
361
-				$expiry = new DateTime($package_url_expiry, new DateTimeZone('UTC'));
362
-				$this->_package_url_expiry = $expiry;
363
-			} catch(Exception $e) {
364
-				throw new PENSException(2009);
365
-			}
366
-		}
367
-	}
368
-	
369
-	public function getClient() {
370
-		return $this->_client;
371
-	}
372
-	
373
-	/**
374
-	 * Sets the client
375
-	 * 
376
-	 * @param string client
377
-	 * 
378
-	 * @throws PENSException with code 2010 if invalid
379
-	 */
380
-	public function setClient($client) {
381
-		if(!empty($client)) {
382
-			$this->_client = $client;
383
-		} else {
384
-			throw new PENSException(2010);
385
-		}
386
-	}
387
-	
388
-	public function getSystemUserId() {
389
-		return $this->_system_user_id;
390
-	}
391
-	
392
-	public function setSystemUserId($system_user_id) {
393
-		if(!empty($system_user_id)) {
394
-			$this->_system_user_id = $system_user_id;
395
-		}
396
-	}
397
-	
398
-	public function getSystemPassword() {
399
-		return $this->_system_password;
400
-	}
401
-	
402
-	public function setSystemPassword($system_password) {
403
-		if(!empty($system_password)) {
404
-			$this->_system_password = $system_password;
405
-		}
406
-	}
407
-	
408
-	public function getReceipt() {
409
-		return $this->_receipt;
410
-	}
411
-	
412
-	/**
413
-	 * Sets the receipt url
414
-	 * 
415
-	 * @param string receipt url
416
-	 * 
417
-	 * @throws PENSException with code 2011 if invalid
418
-	 */
419
-	public function setReceipt($receipt) {
420
-		if($this instanceof PENSRequestCollect) {
421
-			if (preg_match('/'.ABSOLUTEURI_2396.'/', $receipt)) {
422
-				$this->_receipt = $receipt;
423
-			} else {
424
-				throw new PENSException(2011);
425
-			}
426
-		}
427
-	}
428
-	
429
-	public function getAlerts() {
430
-		return $this->_alerts;
431
-	}
432
-	
433
-	public function setAlerts($alerts) {
434
-		if(!empty($alerts)) {
435
-			if(preg_match('/'.ABSOLUTEURI_2396.'/', $alerts)) {
436
-				$this->_alerts = $alerts;
437
-			} else {
438
-				throw new PENSException(1201);
439
-			}
440
-		}
441
-	}
442
-	
443
-	public function getVendorData() {
444
-		return $this->_vendor_data;
445
-	}
446
-	
447
-	public function setVendorData($vendor_data) {
448
-		if(!empty($vendor_data)) {
449
-			$this->_vendor_data = $vendor_data;
450
-		}
451
-	}
452
-	
453
-	/**
454
-	 * Returns an associative that contains all the fields needed to send a
455
-	 * receipt or an alert to the client
456
-	 * 
457
-	 * @return array Associative array
458
-	 */
459
-	protected function getSendReceiptAlertArray() {
460
-		return array("pens-version" => $this->getPensVersion(),
461
-			"package-type" => $this->getPackageType(),
462
-			"package-type-version" => $this->getPackageTypeVersion(),
463
-			"package-format" => $this->getPackageFormat(),
464
-			"package-id" => $this->getPackageId(),
465
-			"package-url" => $this->getPackageUrl(),
466
-			"package-url-expiry" => $this->getPackageUrlExpiry()->format(DateTime::ISO8601),
467
-			"client" => $this->getClient());
468
-	}
469
-	
470
-	/**
471
-	 * Returns an associative that contains all the fields needed to send a
472
-	 * receipt to the client
473
-	 * 
474
-	 * @return array Associative array
475
-	 */
476
-	public function getSendReceiptArray() {
477
-		$receipt = $this->getSendReceiptAlertArray();
478
-		$receipt["command"] = "receipt";
479
-		return $receipt;
480
-	}
481
-	
482
-	/**
483
-	 * Returns an associative that contains all the fields needed to send an
484
-	 * alert to the client
485
-	 * 
486
-	 * @return array Associative array
487
-	 */
488
-	public function getSendAlertArray() {
489
-		$alert = $this->getSendReceiptAlertArray();
490
-		$alert["command"] = "alert";
491
-		return $alert;
492
-	}
46
+    /**
47
+     * PENS Version to be used. Currently, the only valid value is 1.0.0. Required.
48
+     * @var string
49
+     */
50
+    protected $_pens_version = null;
51
+	
52
+    /**
53
+     * Command being used. The only valid values are collect, alert and receipt.Required
54
+     * @var string
55
+     */
56
+    protected $_command = null;
57
+	
58
+    /**
59
+     * Package type being used. The only valid values are aicc-pkg, scorm-pif, ims-qti. Required
60
+     * @var string
61
+     */
62
+    protected $_package_type = null;
63
+	
64
+    /**
65
+     * Package type version. Required
66
+     * @var string
67
+     */
68
+    protected $_package_type_version = null;
69
+	
70
+    /**
71
+     * Package format. The only valid values are zip, url, jar, war and xml. Required
72
+     * @var string
73
+     */
74
+    protected $_package_format = null;
75
+	
76
+    /**
77
+     * Package id. Requires a valid URI according to RFC 2396. Required
78
+     * @var string
79
+     */
80
+    protected $_package_id = null;
81
+	
82
+    /**
83
+     * Package url. Requires a valid, fully qualified URL including transport protocol and filename extension. Required
84
+     * @var string
85
+     */
86
+    protected $_package_url = null;
87
+	
88
+    /**
89
+     * User id required for system to retrieve package from URL. Optional.
90
+     * @var string
91
+     */
92
+    protected $_package_url_user_id = null;
93
+	
94
+    /**
95
+     * Account required for system to retrieve package from URL. Optional.
96
+     * @var string
97
+     */
98
+    protected $_package_url_account = null;
99
+	
100
+    /**
101
+     * Password required for system to retrieve package from URL. Optional.
102
+     * @var string
103
+     */
104
+    protected $_package_url_password = null;
105
+	
106
+    /**
107
+     * Expiry date for package URL. ISO 8601 format expressed as UTC. Will be transformed into a PHP DateTime object during construction. Required
108
+     * @var DateTime
109
+     */
110
+    protected $_package_url_expiry = null;
111
+	
112
+    /**
113
+     * Name or ID for client submitting the content package to the target system. Required.
114
+     * @var string
115
+     */
116
+    protected $_client = null;
117
+	
118
+    /**
119
+     * User-id or sign-on for target system. Optional
120
+     * @var string
121
+     */
122
+    protected $_system_user_id = null;
123
+	
124
+    /**
125
+     * Either a URL-encoded password token or the null string. If the 
126
+     * target system requires a password and the null string value is 
127
+     * passed, then the target system is responsible for prompting for a 
128
+     * password for target system. Optional
129
+     * @var string
130
+     */
131
+    protected $_system_password = null;
132
+	
133
+    /**
134
+     * URL to send acknowledgement receipt after collecting a package. Any URL, including mailto (as per RFC 2368 and RFC 2822). Required.
135
+     * @var string
136
+     */
137
+    protected $_receipt = null;
138
+	
139
+    /**
140
+     * URL to send alerts to while processing the package. Any URL, including mailto (as per RFC 2368 and RFC 2822). Optional.
141
+     * @var string
142
+     */
143
+    protected $_alerts = null;
144
+	
145
+    /**
146
+     * Unstructured character string that may be used to transfer vendor-specific data such as processing hints or deployment information. Optional.
147
+     * @var string
148
+     */
149
+    protected $_vendor_data = null;
150
+	
151
+    /**
152
+     * Constructor
153
+     * 
154
+     * Constructs a PENSRequest based class using the arguments given
155
+     * 
156
+     * @param array Arguments
157
+     */
158
+    public function __construct($arguments) {
159
+        $this->setPensVersion($arguments["pens-version"]);
160
+        $this->setPackageType($arguments["package-type"]);
161
+        $this->setPackageTypeVersion($arguments["package-type-version"]);
162
+        $this->setPackageFormat($arguments["package-format"]);
163
+        $this->setPackageId($arguments["package-id"]);
164
+        $this->setPackageUrl($arguments["package-url"]);
165
+        $this->setPackageUrlUserId($arguments["package-url-user-id"]);
166
+        $this->setPackageUrlAccount($arguments["package-url-account"]);
167
+        $this->setPackageUrlPassword($arguments["package-url-password"]);
168
+        $this->setPackageUrlExpiry($arguments["package-url-expiry"]);
169
+        $this->setClient($arguments["client"]);
170
+        $this->setSystemUserId($arguments["system-user-id"]);
171
+        $this->setSystemPassword($arguments["system-password"]);
172
+        $this->setReceipt($arguments["receipt"]);
173
+        $this->setAlerts($arguments["alerts"]);
174
+        $this->setVendorData($arguments["vendor-data"]);
175
+    }
176
+	
177
+    public function getPensVersion() {
178
+        return $this->_pens_version;
179
+    }
180
+	
181
+    /**
182
+     * Sets the PENS version
183
+     * 
184
+     * @param string PENS version
185
+     * 
186
+     * @throws PENSException with code 2001 if invalid
187
+     */
188
+    public function setPensVersion($pens_version) {
189
+        if($pens_version == PENSConfig::$version) {
190
+            $this->_pens_version = $pens_version;
191
+        } else {
192
+            throw new PENSException(2001);
193
+        }
194
+    }
195
+	
196
+    public function getCommand() {
197
+        return $this->_command;
198
+    }
199
+	
200
+    /**
201
+     * Sets the command
202
+     * 
203
+     * @param string command
204
+     * 
205
+     * @throws PENSException with code 2002 if invalid
206
+     */
207
+    protected function setCommand($command) {
208
+        if(in_array($command, PENSConfig::$allowed_commands)) {
209
+            $this->_command = $command;
210
+        } else {
211
+            throw new PENSException(2002);
212
+        }
213
+    }
214
+	
215
+    public function getPackageType() {
216
+        return $this->_package_type;
217
+    }
218
+	
219
+    /**
220
+     * Sets the package type
221
+     * 
222
+     * @param string package type
223
+     * 
224
+     * @throws PENSException with code 2003 if invalid
225
+     */
226
+    public function setPackageType($package_type) {
227
+        if(in_array($package_type, PENSConfig::$allowed_package_types)) {
228
+            $this->_package_type = $package_type;
229
+        } else {
230
+            throw new PENSException(2003);
231
+        }
232
+    }
233
+	
234
+    public function getPackageTypeVersion() {
235
+        return $this->_package_type_version;
236
+    }
237
+	
238
+    /**
239
+     * Sets the package type version
240
+     * 
241
+     * @param string package type version
242
+     * 
243
+     * @throws PENSException with code 2004 if invalid
244
+     */
245
+    public function setPackageTypeVersion($package_type_version) {
246
+        if(empty($package_type_version)) {
247
+            throw new PENSException(2004);
248
+        } else {
249
+            $this->_package_type_version = $package_type_version;
250
+        }
251
+    }
252
+	
253
+    public function getPackageFormat() {
254
+        return $this->_package_format;
255
+    }
256
+	
257
+    /**
258
+     * Sets the package format
259
+     * 
260
+     * @param string package format
261
+     * 
262
+     * @throws PENSException with code 2005 if invalid
263
+     */
264
+    public function setPackageFormat($package_format) {
265
+        if(in_array($package_format, PENSConfig::$allowed_package_formats)) {
266
+            $this->_package_format = $package_format;
267
+        } else {
268
+            throw new PENSException(2005);
269
+        }
270
+    }
271
+	
272
+    public function getPackageId() {
273
+        return $this->_package_id;
274
+    }
275
+	
276
+    /**
277
+     * Sets the package Id
278
+     * 
279
+     * @param string package Id
280
+     * 
281
+     * @throws PENSException with code 2007 if invalid
282
+     */
283
+    public function setPackageId($package_id) {
284
+        if (preg_match('/'.ABSOLUTEURI_2396.'/', $package_id)) {
285
+            $this->_package_id = $package_id;
286
+        } else {
287
+            throw new PENSException(2007);
288
+        }
289
+    }
290
+	
291
+    public function getPackageUrl() {
292
+        return $this->_package_url;
293
+    }
294
+	
295
+    /**
296
+     * Sets the package url
297
+     * 
298
+     * @param string package url
299
+     * 
300
+     * @throws PENSException with code 2008 if invalid
301
+     */
302
+    public function setPackageUrl($package_url) {
303
+        if (preg_match('/'.ABSOLUTEURI_2396.'/', $package_url) && substr($package_url, -4) == ".".$this->_package_format) {
304
+            $this->_package_url = $package_url;
305
+        } else {
306
+            throw new PENSException(2008);
307
+        }
308
+    }
309
+	
310
+    public function getFilename() {
311
+        return substr(strrchr($this->_package_url, "/"), 1);
312
+    }
313
+	
314
+    public function getPackageUrlUserId() {
315
+        return $this->_package_url_user_id;
316
+    }
317
+	
318
+    public function setPackageUrlUserId($package_url_user_id) {
319
+        if(!empty($package_url_user_id)) {
320
+            $this->_package_url_user_id = $package_url_user_id;
321
+        }
322
+    }
323
+	
324
+    public function getPackageUrlAccount() {
325
+        return $this->_package_url_account;
326
+    }
327
+	
328
+    public function setPackageUrlAccount($package_url_account) {
329
+        if(!empty($package_url_account)) {
330
+            $this->_package_url_account = $package_url_account;
331
+        }
332
+    }
333
+	
334
+    public function getPackageUrlPassword() {
335
+        return $this->_package_url_password;
336
+    }
337
+	
338
+    public function setPackageUrlPassword($package_url_password) {
339
+        if(!empty($package_url_password)) {
340
+            $this->_package_url_password = $package_url_password;
341
+        }
342
+    }
343
+	
344
+    public function getPackageUrlExpiry() {
345
+        return $this->_package_url_expiry;
346
+    }
347
+	
348
+    /**
349
+     * Sets the package url expiry and transforms it into a php DateTime object
350
+     * 
351
+     * @param string package url expiry
352
+     * 
353
+     * @throws PENSException with code 2009 if invalid
354
+     * @todo Perform a better validation of the date
355
+     */
356
+    public function setPackageUrlExpiry($package_url_expiry) {
357
+        if(empty($package_url_expiry)) {
358
+            throw new PENSException(2009);
359
+        } else {
360
+            try {
361
+                $expiry = new DateTime($package_url_expiry, new DateTimeZone('UTC'));
362
+                $this->_package_url_expiry = $expiry;
363
+            } catch(Exception $e) {
364
+                throw new PENSException(2009);
365
+            }
366
+        }
367
+    }
368
+	
369
+    public function getClient() {
370
+        return $this->_client;
371
+    }
372
+	
373
+    /**
374
+     * Sets the client
375
+     * 
376
+     * @param string client
377
+     * 
378
+     * @throws PENSException with code 2010 if invalid
379
+     */
380
+    public function setClient($client) {
381
+        if(!empty($client)) {
382
+            $this->_client = $client;
383
+        } else {
384
+            throw new PENSException(2010);
385
+        }
386
+    }
387
+	
388
+    public function getSystemUserId() {
389
+        return $this->_system_user_id;
390
+    }
391
+	
392
+    public function setSystemUserId($system_user_id) {
393
+        if(!empty($system_user_id)) {
394
+            $this->_system_user_id = $system_user_id;
395
+        }
396
+    }
397
+	
398
+    public function getSystemPassword() {
399
+        return $this->_system_password;
400
+    }
401
+	
402
+    public function setSystemPassword($system_password) {
403
+        if(!empty($system_password)) {
404
+            $this->_system_password = $system_password;
405
+        }
406
+    }
407
+	
408
+    public function getReceipt() {
409
+        return $this->_receipt;
410
+    }
411
+	
412
+    /**
413
+     * Sets the receipt url
414
+     * 
415
+     * @param string receipt url
416
+     * 
417
+     * @throws PENSException with code 2011 if invalid
418
+     */
419
+    public function setReceipt($receipt) {
420
+        if($this instanceof PENSRequestCollect) {
421
+            if (preg_match('/'.ABSOLUTEURI_2396.'/', $receipt)) {
422
+                $this->_receipt = $receipt;
423
+            } else {
424
+                throw new PENSException(2011);
425
+            }
426
+        }
427
+    }
428
+	
429
+    public function getAlerts() {
430
+        return $this->_alerts;
431
+    }
432
+	
433
+    public function setAlerts($alerts) {
434
+        if(!empty($alerts)) {
435
+            if(preg_match('/'.ABSOLUTEURI_2396.'/', $alerts)) {
436
+                $this->_alerts = $alerts;
437
+            } else {
438
+                throw new PENSException(1201);
439
+            }
440
+        }
441
+    }
442
+	
443
+    public function getVendorData() {
444
+        return $this->_vendor_data;
445
+    }
446
+	
447
+    public function setVendorData($vendor_data) {
448
+        if(!empty($vendor_data)) {
449
+            $this->_vendor_data = $vendor_data;
450
+        }
451
+    }
452
+	
453
+    /**
454
+     * Returns an associative that contains all the fields needed to send a
455
+     * receipt or an alert to the client
456
+     * 
457
+     * @return array Associative array
458
+     */
459
+    protected function getSendReceiptAlertArray() {
460
+        return array("pens-version" => $this->getPensVersion(),
461
+            "package-type" => $this->getPackageType(),
462
+            "package-type-version" => $this->getPackageTypeVersion(),
463
+            "package-format" => $this->getPackageFormat(),
464
+            "package-id" => $this->getPackageId(),
465
+            "package-url" => $this->getPackageUrl(),
466
+            "package-url-expiry" => $this->getPackageUrlExpiry()->format(DateTime::ISO8601),
467
+            "client" => $this->getClient());
468
+    }
469
+	
470
+    /**
471
+     * Returns an associative that contains all the fields needed to send a
472
+     * receipt to the client
473
+     * 
474
+     * @return array Associative array
475
+     */
476
+    public function getSendReceiptArray() {
477
+        $receipt = $this->getSendReceiptAlertArray();
478
+        $receipt["command"] = "receipt";
479
+        return $receipt;
480
+    }
481
+	
482
+    /**
483
+     * Returns an associative that contains all the fields needed to send an
484
+     * alert to the client
485
+     * 
486
+     * @return array Associative array
487
+     */
488
+    public function getSendAlertArray() {
489
+        $alert = $this->getSendReceiptAlertArray();
490
+        $alert["command"] = "alert";
491
+        return $alert;
492
+    }
493 493
 	
494 494
 	
495 495
 }
Please login to merge, or discard this patch.
plugin/pens/lib/pens/pens_config.php 1 patch
Indentation   +43 added lines, -43 removed lines patch added patch discarded remove patch
@@ -16,54 +16,54 @@
 block discarded – undo
16 16
  * along with php-pens.  If not, see <http://www.gnu.org/licenses/>.
17 17
  */
18 18
  
19
- /**
20
- * PENSConfig
21
- * 
22
- * Provides the PENSConfig class
23
- * 
24
- * @package PENS
25
- * @author Guillaume Viguier-Just <[email protected]>
26
- * @licence http://www.gnu.org/licenses/gpl.txt
27
- */
19
+    /**
20
+     * PENSConfig
21
+     * 
22
+     * Provides the PENSConfig class
23
+     * 
24
+     * @package PENS
25
+     * @author Guillaume Viguier-Just <[email protected]>
26
+     * @licence http://www.gnu.org/licenses/gpl.txt
27
+     */
28 28
  
29
- /**
30
- * PENSConfig
31
- * 
32
- * This class provides different static variables to configure php-pens.
33
- * 
34
- * @package PENS
35
- * @author Guillaume Viguier-Just <[email protected]>
36
- * @licence http://www.gnu.org/licenses/gpl.txt
37
- */
29
+    /**
30
+     * PENSConfig
31
+     * 
32
+     * This class provides different static variables to configure php-pens.
33
+     * 
34
+     * @package PENS
35
+     * @author Guillaume Viguier-Just <[email protected]>
36
+     * @licence http://www.gnu.org/licenses/gpl.txt
37
+     */
38 38
 class PENSConfig {
39 39
 
40
-	/**
41
-	 * PENS version
42
-	 * @var string
43
-	 */
44
-	public static $version = "1.0.0";
40
+    /**
41
+     * PENS version
42
+     * @var string
43
+     */
44
+    public static $version = "1.0.0";
45 45
 	
46
-	/**
47
-	 * Allowed commands
48
-	 * @var array
49
-	 */
50
-	public static $allowed_commands = array("collect", "receipt", "alert");
46
+    /**
47
+     * Allowed commands
48
+     * @var array
49
+     */
50
+    public static $allowed_commands = array("collect", "receipt", "alert");
51 51
 	
52
-	/**
53
-	 * Allowed package types
54
-	 * @var array
55
-	 */
56
-	public static $allowed_package_types = array("aicc-pkg", "scorm-pif", "ims-qti");
52
+    /**
53
+     * Allowed package types
54
+     * @var array
55
+     */
56
+    public static $allowed_package_types = array("aicc-pkg", "scorm-pif", "ims-qti");
57 57
 	
58
-	/**
59
-	 * Allowed package formats
60
-	 * @var array
61
-	 */
62
-	public static $allowed_package_formats = array("zip", "url", "jar", "war", "xml");
58
+    /**
59
+     * Allowed package formats
60
+     * @var array
61
+     */
62
+    public static $allowed_package_formats = array("zip", "url", "jar", "war", "xml");
63 63
 	
64
-	/**
65
-	 * End of line as specified by the PENS specification
66
-	 * @var string
67
-	 */
68
-	public static $eol = "\r\n";
64
+    /**
65
+     * End of line as specified by the PENS specification
66
+     * @var string
67
+     */
68
+    public static $eol = "\r\n";
69 69
 }
Please login to merge, or discard this patch.
plugin/pens/lib/pens/pens_exception.php 1 patch
Indentation   +55 added lines, -55 removed lines patch added patch discarded remove patch
@@ -37,62 +37,62 @@
 block discarded – undo
37 37
  */
38 38
 class PENSException extends Exception {
39 39
 
40
-	/**
41
-	 * Array that provides an association between exception codes and messages
42
-	 * @var array
43
-	 */
44
-	protected static $_code_to_messages = array(
45
-		1101 => "Unable to parse PENS command",
46
-		1201 => "Attempt to pass an invalid argument",
47
-		1301 => "Unable to retrieve package",
48
-		1302 => "Unable to retrieve package via HTTPS",
49
-		1304 => "Unable to retrieve package via FTP",
50
-		1306 => "Unable to retrieve package via FTPS",
51
-		1310 => "Unable to retrieve package at specified URL due to error in URL or lack of response from URL",
52
-		1312 => "Unable to retrieve package at specified URL due to error with access credential for package URL",
53
-		1320 => "Expiration date is non-null and in an improper format",
54
-		1322 => "Current time indicates expiry date has passed",
55
-		1420 => "PENS version not supported",
56
-		1421 => "Command not supported",
57
-		1430 => "Package type not supported",
58
-		// The following error code is not specified in the PENS specification and was added in this implementation
59
-		1431 => "Package format not supported",
60
-		1432 => "Internal package error",
61
-		1440 => "Insufficient host space/storage available",
62
-		1500 => "Unable to communicate with provided acknowledgement URL",
63
-		1510 => "Unsupported acknowledgement protocol",
64
-		1520 => "Unsupported alert protocol",
65
-		2001 => "PENS version invalid or not specified",
66
-		2002 => "PENS command invalid or not specified",
67
-		2003 => "package-type invalid or not specified",
68
-		2004 => "package-type-version invalid or not specified",
69
-		2005 => "package-format invalid or not specified",
70
-		2007 => "package-id invalid or not specified",
71
-		2008 => "package-url invalid or not specified",
72
-		2009 => "package-url-expiry date invalid or not specified",
73
-		2010 => "client submitting package invalid or not specified",
74
-		2011 => "receipt url invalid or not specified"
75
-	);
40
+    /**
41
+     * Array that provides an association between exception codes and messages
42
+     * @var array
43
+     */
44
+    protected static $_code_to_messages = array(
45
+        1101 => "Unable to parse PENS command",
46
+        1201 => "Attempt to pass an invalid argument",
47
+        1301 => "Unable to retrieve package",
48
+        1302 => "Unable to retrieve package via HTTPS",
49
+        1304 => "Unable to retrieve package via FTP",
50
+        1306 => "Unable to retrieve package via FTPS",
51
+        1310 => "Unable to retrieve package at specified URL due to error in URL or lack of response from URL",
52
+        1312 => "Unable to retrieve package at specified URL due to error with access credential for package URL",
53
+        1320 => "Expiration date is non-null and in an improper format",
54
+        1322 => "Current time indicates expiry date has passed",
55
+        1420 => "PENS version not supported",
56
+        1421 => "Command not supported",
57
+        1430 => "Package type not supported",
58
+        // The following error code is not specified in the PENS specification and was added in this implementation
59
+        1431 => "Package format not supported",
60
+        1432 => "Internal package error",
61
+        1440 => "Insufficient host space/storage available",
62
+        1500 => "Unable to communicate with provided acknowledgement URL",
63
+        1510 => "Unsupported acknowledgement protocol",
64
+        1520 => "Unsupported alert protocol",
65
+        2001 => "PENS version invalid or not specified",
66
+        2002 => "PENS command invalid or not specified",
67
+        2003 => "package-type invalid or not specified",
68
+        2004 => "package-type-version invalid or not specified",
69
+        2005 => "package-format invalid or not specified",
70
+        2007 => "package-id invalid or not specified",
71
+        2008 => "package-url invalid or not specified",
72
+        2009 => "package-url-expiry date invalid or not specified",
73
+        2010 => "client submitting package invalid or not specified",
74
+        2011 => "receipt url invalid or not specified"
75
+    );
76 76
 	
77
-	/**
78
-	 * Redefines the constructor so that code is the first argument
79
-	 * 
80
-	 * @param int Exception code
81
-	 * @param string Message to display
82
-	 * @return PENSException Exception created
83
-	 */
84
-	public function __construct($code, $message = null) {
85
-		parent::__construct($message, $code);
86
-		$this->setMessageBasedOnCode();
87
-	}
77
+    /**
78
+     * Redefines the constructor so that code is the first argument
79
+     * 
80
+     * @param int Exception code
81
+     * @param string Message to display
82
+     * @return PENSException Exception created
83
+     */
84
+    public function __construct($code, $message = null) {
85
+        parent::__construct($message, $code);
86
+        $this->setMessageBasedOnCode();
87
+    }
88 88
 	
89
-	/**
90
-	 * Sets the message based on the code
91
-	 */
92
-	protected function setMessageBasedOnCode() {
93
-		if(empty($this->message) && !empty(self::$_code_to_messages[$this->code])) {
94
-			$this->message = self::$_code_to_messages[$this->code];
95
-		}
96
-	}
89
+    /**
90
+     * Sets the message based on the code
91
+     */
92
+    protected function setMessageBasedOnCode() {
93
+        if(empty($this->message) && !empty(self::$_code_to_messages[$this->code])) {
94
+            $this->message = self::$_code_to_messages[$this->code];
95
+        }
96
+    }
97 97
 	
98 98
 }
Please login to merge, or discard this patch.
plugin/pens/pens.php 1 patch
Indentation   +13 added lines, -13 removed lines patch added patch discarded remove patch
@@ -29,19 +29,19 @@
 block discarded – undo
29 29
 require_once __DIR__ . '/chamilo_pens.php';
30 30
 
31 31
 class ChamiloPackageHandler extends PENSPackageHandler {
32
-	public function processPackage($request, $path_to_package) {
33
-		$server = PENSServer::singleton();
34
-		// Moves the package to archive/pens
35
-		$path_to_archives = api_get_path(SYS_ARCHIVE_PATH) . 'pens';
36
-		if(!is_dir($path_to_archives)) {
37
-			mkdir($path_to_archives, 0777, true);
38
-		}
39
-		rename($path_to_package, $path_to_archives . '/' . $request->getFilename());
40
-		// Insert the request in the database
41
-		$chamilo_pens = new ChamiloPens($request);
42
-		$chamilo_pens->save();
43
-		$server->sendAlert($request, new PENSResponse(0, 'Package successfully processed'));
44
-	}
32
+    public function processPackage($request, $path_to_package) {
33
+        $server = PENSServer::singleton();
34
+        // Moves the package to archive/pens
35
+        $path_to_archives = api_get_path(SYS_ARCHIVE_PATH) . 'pens';
36
+        if(!is_dir($path_to_archives)) {
37
+            mkdir($path_to_archives, 0777, true);
38
+        }
39
+        rename($path_to_package, $path_to_archives . '/' . $request->getFilename());
40
+        // Insert the request in the database
41
+        $chamilo_pens = new ChamiloPens($request);
42
+        $chamilo_pens->save();
43
+        $server->sendAlert($request, new PENSResponse(0, 'Package successfully processed'));
44
+    }
45 45
 }
46 46
 
47 47
 $handler = new ChamiloPackageHandler();
Please login to merge, or discard this patch.