Completed
Push — 1.10.x ( c135db...ea3352 )
by Julito
26:21
created
main/inc/lib/grade_model.lib.php 1 patch
Indentation   +15 added lines, -15 removed lines patch added patch discarded remove patch
@@ -51,15 +51,15 @@  discard block
 block discarded – undo
51 51
     /**
52 52
      * Displays the title + grid
53 53
      */
54
-	public function display()
54
+    public function display()
55 55
     {
56
-		// action links
57
-		echo '<div class="actions" style="margin-bottom:20px">';
56
+        // action links
57
+        echo '<div class="actions" style="margin-bottom:20px">';
58 58
         echo '<a href="grade_models.php">'.Display::return_icon('back.png',get_lang('Back'),'','32').'</a>';
59
-		echo '<a href="'.api_get_self().'?action=add">'.Display::return_icon('add.png',get_lang('Add'),'','32').'</a>';
60
-		echo '</div>';
59
+        echo '<a href="'.api_get_self().'?action=add">'.Display::return_icon('add.png',get_lang('Add'),'','32').'</a>';
60
+        echo '</div>';
61 61
         echo Display::grid_html('grade_model');
62
-	}
62
+    }
63 63
 
64 64
     /**
65 65
      * Returns a Form validator Obj
@@ -116,7 +116,7 @@  discard block
 block discarded – undo
116 116
         }
117 117
 
118 118
         $form->addElement('hidden', 'maxvalue', '100');
119
-		$form->addElement('hidden', 'minvalue', '0');
119
+        $form->addElement('hidden', 'minvalue', '0');
120 120
         $renderer = & $form->defaultRenderer();
121 121
 
122 122
         $component_array = array();
@@ -193,7 +193,7 @@  discard block
 block discarded – undo
193 193
         // Setting the rules
194 194
         $form->addRule('name', get_lang('ThisFieldIsRequired'), 'required');
195 195
 
196
-		return $form;
196
+        return $form;
197 197
     }
198 198
 
199 199
     /**
@@ -216,8 +216,8 @@  discard block
 block discarded – undo
216 216
      */
217 217
     public function save($params, $show_query = false)
218 218
     {
219
-	    $id = parent::save($params, $show_query);
220
-	    if (!empty($id)) {
219
+        $id = parent::save($params, $show_query);
220
+        if (!empty($id)) {
221 221
             foreach ($params['components'] as $component) {
222 222
                 if (!empty($component['title']) && !empty($component['percentage']) && !empty($component['acronym'])) {
223 223
                     $obj = new GradeModelComponents();
@@ -228,7 +228,7 @@  discard block
 block discarded – undo
228 228
         }
229 229
 
230 230
         //event_system(LOG_CAREER_CREATE, LOG_CAREER_ID, $id, api_get_utc_datetime(), api_get_user_id());
231
-   		return $id;
231
+            return $id;
232 232
     }
233 233
 
234 234
     /**
@@ -257,7 +257,7 @@  discard block
 block discarded – undo
257 257
      */
258 258
     public function delete($id)
259 259
     {
260
-	    parent::delete($id);
260
+        parent::delete($id);
261 261
     }
262 262
 
263 263
     public function fill_grade_model_select_in_form(&$form, $name = 'gradebook_model_id', $default_value = null)
@@ -305,11 +305,11 @@  discard block
 block discarded – undo
305 305
     /**
306 306
      * GradeModelComponents constructor.
307 307
      */
308
-	public function __construct()
308
+    public function __construct()
309 309
     {
310 310
         parent::__construct();
311 311
         $this->table = Database::get_main_table(TABLE_GRADE_MODEL_COMPONENTS);
312
-	}
312
+    }
313 313
 
314 314
     /**
315 315
      * @param array $params
@@ -318,7 +318,7 @@  discard block
 block discarded – undo
318 318
      */
319 319
     public function save($params, $show_query = false)
320 320
     {
321
-	    $id = parent::save($params, $show_query);
321
+        $id = parent::save($params, $show_query);
322 322
         
323 323
         return $id;
324 324
     }
Please login to merge, or discard this patch.
main/exercice/hotspot.class.php 1 patch
Indentation   +99 added lines, -99 removed lines patch added patch discarded remove patch
@@ -12,31 +12,31 @@  discard block
 block discarded – undo
12 12
  **/
13 13
 class HotSpot extends Question
14 14
 {
15
-	public static $typePicture = 'hotspot.png';
16
-	public static $explanationLangVar = 'HotSpot';
15
+    public static $typePicture = 'hotspot.png';
16
+    public static $explanationLangVar = 'HotSpot';
17 17
 
18 18
     /**
19 19
      * HotSpot constructor.
20 20
      */
21
-	public function __construct()
22
-	{
23
-		parent::__construct();
24
-		$this -> type = HOT_SPOT;
25
-	}
26
-
27
-	public function display()
28
-	{
29
-	}
30
-
31
-	/**
32
-	 * @param FormValidator $form
33
-	 * @param int $fck_config
34
-	 */
35
-	public function createForm (&$form, $fck_config=0)
36
-	{
37
-		parent::createForm($form, $fck_config);
38
-
39
-		if (!isset($_GET['editQuestion'])) {
21
+    public function __construct()
22
+    {
23
+        parent::__construct();
24
+        $this -> type = HOT_SPOT;
25
+    }
26
+
27
+    public function display()
28
+    {
29
+    }
30
+
31
+    /**
32
+     * @param FormValidator $form
33
+     * @param int $fck_config
34
+     */
35
+    public function createForm (&$form, $fck_config=0)
36
+    {
37
+        parent::createForm($form, $fck_config);
38
+
39
+        if (!isset($_GET['editQuestion'])) {
40 40
             $form->addElement(
41 41
                 'file',
42 42
                 'imageUpload',
@@ -46,54 +46,54 @@  discard block
 block discarded – undo
46 46
                 )
47 47
             );
48 48
 
49
-			// setting the save button here and not in the question class.php
50
-			// Saving a question
51
-			$form->addButtonSave(get_lang('GoToQuestion'), 'submitQuestion');
52
-			//$form->addButtonSave(get_lang('GoToQuestion'), 'submitQuestion');
53
-			$form->addRule('imageUpload', get_lang('OnlyImagesAllowed'), 'filetype', array ('jpg', 'jpeg', 'png', 'gif'));
54
-			$form->addRule('imageUpload', get_lang('NoImage'), 'uploadedfile');
55
-		} else {
56
-			// setting the save button here and not in the question class.php
57
-			// Editing a question
58
-			$form->addButtonUpdate(get_lang('ModifyExercise'), 'submitQuestion');
59
-		}
60
-	}
61
-
62
-	/**
63
-	 * @param FormValidator $form
64
-	 * @param null $objExercise
65
-	 * @return null|false
66
-	 */
67
-	public function processCreation($form, $objExercise = null)
68
-	{
69
-		$file_info = $form->getSubmitValue('imageUpload');
70
-		$_course = api_get_course_info();
71
-		parent::processCreation($form, $objExercise);
72
-
73
-		if(!empty($file_info['tmp_name'])) {
74
-			$this->uploadPicture($file_info['tmp_name'], $file_info['name']);
75
-			$documentPath  = api_get_path(SYS_COURSE_PATH).$_course['path'].'/document';
76
-			$picturePath   = $documentPath.'/images';
77
-
78
-			// fixed width ang height
79
-			if (file_exists($picturePath.'/'.$this->picture)) {
80
-				$this->resizePicture('width', 800);
81
-				$this->save();
82
-			} else {
83
-				return false;
84
-			}
85
-		}
86
-	}
87
-
88
-	function createAnswersForm($form)
89
-	{
90
-		// nothing
91
-	}
92
-
93
-	function processAnswersCreation($form)
94
-	{
95
-		// nothing
96
-	}
49
+            // setting the save button here and not in the question class.php
50
+            // Saving a question
51
+            $form->addButtonSave(get_lang('GoToQuestion'), 'submitQuestion');
52
+            //$form->addButtonSave(get_lang('GoToQuestion'), 'submitQuestion');
53
+            $form->addRule('imageUpload', get_lang('OnlyImagesAllowed'), 'filetype', array ('jpg', 'jpeg', 'png', 'gif'));
54
+            $form->addRule('imageUpload', get_lang('NoImage'), 'uploadedfile');
55
+        } else {
56
+            // setting the save button here and not in the question class.php
57
+            // Editing a question
58
+            $form->addButtonUpdate(get_lang('ModifyExercise'), 'submitQuestion');
59
+        }
60
+    }
61
+
62
+    /**
63
+     * @param FormValidator $form
64
+     * @param null $objExercise
65
+     * @return null|false
66
+     */
67
+    public function processCreation($form, $objExercise = null)
68
+    {
69
+        $file_info = $form->getSubmitValue('imageUpload');
70
+        $_course = api_get_course_info();
71
+        parent::processCreation($form, $objExercise);
72
+
73
+        if(!empty($file_info['tmp_name'])) {
74
+            $this->uploadPicture($file_info['tmp_name'], $file_info['name']);
75
+            $documentPath  = api_get_path(SYS_COURSE_PATH).$_course['path'].'/document';
76
+            $picturePath   = $documentPath.'/images';
77
+
78
+            // fixed width ang height
79
+            if (file_exists($picturePath.'/'.$this->picture)) {
80
+                $this->resizePicture('width', 800);
81
+                $this->save();
82
+            } else {
83
+                return false;
84
+            }
85
+        }
86
+    }
87
+
88
+    function createAnswersForm($form)
89
+    {
90
+        // nothing
91
+    }
92
+
93
+    function processAnswersCreation($form)
94
+    {
95
+        // nothing
96
+    }
97 97
 }
98 98
 
99 99
 /**
@@ -101,35 +101,35 @@  discard block
 block discarded – undo
101 101
  */
102 102
 class HotSpotDelineation extends HotSpot
103 103
 {
104
-	static $typePicture = 'hotspot-delineation.png';
105
-	static $explanationLangVar = 'HotspotDelineation';
106
-
107
-	function __construct()
108
-	{
109
-		parent::__construct();
110
-		$this -> type = HOT_SPOT_DELINEATION;
111
-
112
-	}
113
-
114
-	function createForm (&$form, $fck_config=0)
115
-	{
116
-		parent::createForm ($form, $fck_config);
117
-	}
118
-
119
-	function processCreation ($form, $objExercise = null)
120
-	{
121
-		$file_info = $form -> getSubmitValue('imageUpload');
122
-		parent::processCreation ($form, $objExercise);
123
-	}
124
-
125
-	function createAnswersForm ($form)
126
-	{
127
-		parent::createAnswersForm ($form);
128
-	}
129
-
130
-	function processAnswersCreation ($form)
131
-	{
132
-		parent::processAnswersCreation ($form);
133
-	}
104
+    static $typePicture = 'hotspot-delineation.png';
105
+    static $explanationLangVar = 'HotspotDelineation';
106
+
107
+    function __construct()
108
+    {
109
+        parent::__construct();
110
+        $this -> type = HOT_SPOT_DELINEATION;
111
+
112
+    }
113
+
114
+    function createForm (&$form, $fck_config=0)
115
+    {
116
+        parent::createForm ($form, $fck_config);
117
+    }
118
+
119
+    function processCreation ($form, $objExercise = null)
120
+    {
121
+        $file_info = $form -> getSubmitValue('imageUpload');
122
+        parent::processCreation ($form, $objExercise);
123
+    }
124
+
125
+    function createAnswersForm ($form)
126
+    {
127
+        parent::createAnswersForm ($form);
128
+    }
129
+
130
+    function processAnswersCreation ($form)
131
+    {
132
+        parent::processAnswersCreation ($form);
133
+    }
134 134
 }
135 135
 
Please login to merge, or discard this patch.
main/exercice/addlimits.php 1 patch
Indentation   +21 added lines, -21 removed lines patch added patch discarded remove patch
@@ -54,11 +54,11 @@  discard block
 block discarded – undo
54 54
 $is_allowedToEdit=$is_courseAdmin;
55 55
 
56 56
 if (isset($_SESSION['gradebook'])){
57
-	$gradebook=	$_SESSION['gradebook'];
57
+    $gradebook=	$_SESSION['gradebook'];
58 58
 }
59 59
 
60 60
 if (!empty($gradebook) && $gradebook=='view') {
61
-	$interbreadcrumb[]= array (
61
+    $interbreadcrumb[]= array (
62 62
         'url' => '../gradebook/'.Security::remove_XSS($_SESSION['gradebook_dest']),
63 63
         'name' => get_lang('ToolGradebook')
64 64
     );
@@ -71,8 +71,8 @@  discard block
 block discarded – undo
71 71
 Display::display_header($nameTools,"Exercises");
72 72
 
73 73
 if (isset($_POST['ok'])) {
74
-	$message = get_lang('TestLimitsAdded');
75
-	Display::display_normal_message($message);
74
+    $message = get_lang('TestLimitsAdded');
75
+    Display::display_normal_message($message);
76 76
 }
77 77
 ?>
78 78
 <script type="text/javascript">
@@ -139,22 +139,22 @@  discard block
 block discarded – undo
139 139
  * @todo shouldn't this be moved to the part above (around line 111: action handling)
140 140
  */
141 141
 if (isset($_POST['ok'])) {
142
-	$exercise_id = intval($_POST['exe_id']);
143
-	if ($_POST['limit']==1) {
144
-		$minutes = intval($_POST['minutes']);
145
-		$query = "UPDATE ".$TBL_EXERCISES." SET ques_time_limit= $minutes WHERE id= $exercise_id";
146
-		Database::query($query);
147
-	} else {
148
-		$query = "UPDATE ".$TBL_EXERCISES." SET ques_time_limit= 0 WHERE id= $exercise_id";
149
-		Database::query($query);
150
-	}
142
+    $exercise_id = intval($_POST['exe_id']);
143
+    if ($_POST['limit']==1) {
144
+        $minutes = intval($_POST['minutes']);
145
+        $query = "UPDATE ".$TBL_EXERCISES." SET ques_time_limit= $minutes WHERE id= $exercise_id";
146
+        Database::query($query);
147
+    } else {
148
+        $query = "UPDATE ".$TBL_EXERCISES." SET ques_time_limit= 0 WHERE id= $exercise_id";
149
+        Database::query($query);
150
+    }
151 151
 
152
-	if ($_POST['attempt']==1) {
153
-		$attempts = intval($_POST['attempts']);
154
-		$query = "UPDATE ".$TBL_EXERCISES." SET num_attempts = $attempts WHERE id= $exercise_id";
155
-		Database::query($query);
156
-	} else {
157
-		$query = "UPDATE ".$TBL_EXERCISES." SET num_attempts = 0 WHERE id= $exercise_id";
158
-		Database::query($query);
159
-	}
152
+    if ($_POST['attempt']==1) {
153
+        $attempts = intval($_POST['attempts']);
154
+        $query = "UPDATE ".$TBL_EXERCISES." SET num_attempts = $attempts WHERE id= $exercise_id";
155
+        Database::query($query);
156
+    } else {
157
+        $query = "UPDATE ".$TBL_EXERCISES." SET num_attempts = 0 WHERE id= $exercise_id";
158
+        Database::query($query);
159
+    }
160 160
 }
Please login to merge, or discard this patch.
main/upload/upload.document.php 1 patch
Indentation   +21 added lines, -21 removed lines patch added patch discarded remove patch
@@ -47,9 +47,9 @@  discard block
 block discarded – undo
47 47
  */
48 48
 //user has submitted a file
49 49
 if (isset($_FILES['user_upload'])) {
50
-	$upload_ok = process_uploaded_file($_FILES['user_upload']);
51
-	if ($upload_ok) {
52
-		//file got on the server without problems, now process it
50
+    $upload_ok = process_uploaded_file($_FILES['user_upload']);
51
+    if ($upload_ok) {
52
+        //file got on the server without problems, now process it
53 53
         $new_path = handle_uploaded_document(
54 54
             $_course,
55 55
             $_FILES['user_upload'],
@@ -61,21 +61,21 @@  discard block
 block discarded – undo
61 61
             $_POST['unzip'],
62 62
             $_POST['if_exists']
63 63
         );
64
-    	$new_comment = isset($_POST['comment']) ? Database::escape_string(trim($_POST['comment'])) : '';
65
-    	$new_title = isset($_POST['title']) ? Database::escape_string(trim($_POST['title'])) : '';
64
+        $new_comment = isset($_POST['comment']) ? Database::escape_string(trim($_POST['comment'])) : '';
65
+        $new_title = isset($_POST['title']) ? Database::escape_string(trim($_POST['title'])) : '';
66 66
 
67
-    	if ($new_path && ($new_comment || $new_title))
68
-    	if (($docid = DocumentManager::get_document_id($_course, $new_path))) {
69
-        	$table_document = Database::get_course_table(TABLE_DOCUMENT);
70
-        	$ct = '';
67
+        if ($new_path && ($new_comment || $new_title))
68
+        if (($docid = DocumentManager::get_document_id($_course, $new_path))) {
69
+            $table_document = Database::get_course_table(TABLE_DOCUMENT);
70
+            $ct = '';
71 71
             if ($new_comment) {
72 72
                 $ct .= ", comment='$new_comment'";
73 73
             }
74 74
             if ($new_title) {
75 75
                 $ct .= ", title='$new_title'";
76 76
             }
77
-        	Database::query("UPDATE $table_document SET" . substr($ct, 1) ." WHERE id = '$docid'");
78
-    	}
77
+            Database::query("UPDATE $table_document SET" . substr($ct, 1) ." WHERE id = '$docid'");
78
+        }
79 79
         //check for missing images in html files
80 80
         $missing_files = check_for_missing_files($base_work_dir.$_POST['curdirpath'].$new_path);
81 81
         if ($missing_files) {
@@ -133,7 +133,7 @@  discard block
 block discarded – undo
133 133
 //they want to create a directory
134 134
 if (isset($_POST['create_dir']) && $_POST['dirname']!='') {
135 135
     $added_slash = $path == '/' ? '' : '/';
136
-	$dir_name = $path.$added_slash.api_replace_dangerous_char($_POST['dirname']);
136
+    $dir_name = $path.$added_slash.api_replace_dangerous_char($_POST['dirname']);
137 137
     $created_dir = create_unexisting_directory(
138 138
         $_course,
139 139
         api_get_user_id(),
@@ -153,15 +153,15 @@  discard block
 block discarded – undo
153 153
 }
154 154
 
155 155
 if (isset($_GET['createdir'])) {
156
-	//create the form that asks for the directory name
157
-	$new_folder_text = '<form action="'.api_get_self().'" method="POST">';
158
-	$new_folder_text .= '<input type="hidden" name="curdirpath" value="'.$path.'"/>';
159
-	$new_folder_text .= get_lang('NewDir') .' ';
160
-	$new_folder_text .= '<input type="text" name="dirname"/>';
161
-	$new_folder_text .= '<input type="submit" name="create_dir" value="'.get_lang('Ok').'"/>';
162
-	$new_folder_text .= '</form>';
163
-	//show the form
164
-	Display::display_normal_message($new_folder_text);
156
+    //create the form that asks for the directory name
157
+    $new_folder_text = '<form action="'.api_get_self().'" method="POST">';
158
+    $new_folder_text .= '<input type="hidden" name="curdirpath" value="'.$path.'"/>';
159
+    $new_folder_text .= get_lang('NewDir') .' ';
160
+    $new_folder_text .= '<input type="text" name="dirname"/>';
161
+    $new_folder_text .= '<input type="submit" name="create_dir" value="'.get_lang('Ok').'"/>';
162
+    $new_folder_text .= '</form>';
163
+    //show the form
164
+    Display::display_normal_message($new_folder_text);
165 165
 } else {	//give them a link to create a directory
166 166
 ?>
167 167
 	<p>
Please login to merge, or discard this patch.
main/resourcelinker/resourcelinker.inc.php 1 patch
Indentation   +1387 added lines, -1387 removed lines patch added patch discarded remove patch
@@ -24,10 +24,10 @@  discard block
 block discarded – undo
24 24
 */
25 25
 
26 26
 function unset_session_resources() {
27
-	$_SESSION['addedresource']='';
28
-	$_SESSION['addedresourceid']='';
29
-	Session::erase('addedresource');
30
-	Session::erase('addedresourceid');
27
+    $_SESSION['addedresource']='';
28
+    $_SESSION['addedresourceid']='';
29
+    Session::erase('addedresource');
30
+    Session::erase('addedresourceid');
31 31
 }
32 32
 
33 33
 /**
@@ -35,24 +35,24 @@  discard block
 block discarded – undo
35 35
  */
36 36
 function show_folder_up()
37 37
 {
38
-	global $folder;
39
-	global $source_id, $action, $learnpath_id, $chapter_id, $originalresource;
40
-
41
-	$level = get_levels($folder);
42
-
43
-	if ($level == 1)
44
-	{
45
-		echo "<a href='".api_get_self()."?content=Document&amp;source_forum=".$_GET['source_forum']."&amp;source_id=$source_id&amp;action=$action&amp;learnpath_id=$learnpath_id&amp;chapter_id=$chapter_id&amp;originalresource=no'><img src='../img/folder_up.gif' border='0' />".get_lang('LevelUp')."</a>";
46
-	}
47
-	if ($level and $level != 0 and $level != 1)
48
-	{
49
-		$folder_up=$folder;
50
-		$folder_temp=explode('/',$folder);
51
-		$last=count($folder_temp)-1;
52
-		unset($folder_temp[$last]);
53
-		$folder_up=implode('/',$folder_temp);
54
-		echo "<a href='".api_get_self()."?content=Document&amp;source_forum=".$_GET['source_forum']."&amp;folder=$folder_up&amp;source_id=$source_id&amp;action=$action&amp;learnpath_id=$learnpath_id&amp;chapter_id=$chapter_id&amp;originalresource=no'><img src='../img/folder_up.gif' border='0' />".get_lang('LevelUp')."</a>";
55
-	}
38
+    global $folder;
39
+    global $source_id, $action, $learnpath_id, $chapter_id, $originalresource;
40
+
41
+    $level = get_levels($folder);
42
+
43
+    if ($level == 1)
44
+    {
45
+        echo "<a href='".api_get_self()."?content=Document&amp;source_forum=".$_GET['source_forum']."&amp;source_id=$source_id&amp;action=$action&amp;learnpath_id=$learnpath_id&amp;chapter_id=$chapter_id&amp;originalresource=no'><img src='../img/folder_up.gif' border='0' />".get_lang('LevelUp')."</a>";
46
+    }
47
+    if ($level and $level != 0 and $level != 1)
48
+    {
49
+        $folder_up=$folder;
50
+        $folder_temp=explode('/',$folder);
51
+        $last=count($folder_temp)-1;
52
+        unset($folder_temp[$last]);
53
+        $folder_up=implode('/',$folder_temp);
54
+        echo "<a href='".api_get_self()."?content=Document&amp;source_forum=".$_GET['source_forum']."&amp;folder=$folder_up&amp;source_id=$source_id&amp;action=$action&amp;learnpath_id=$learnpath_id&amp;chapter_id=$chapter_id&amp;originalresource=no'><img src='../img/folder_up.gif' border='0' />".get_lang('LevelUp')."</a>";
55
+    }
56 56
 }
57 57
 
58 58
 /**
@@ -61,23 +61,23 @@  discard block
 block discarded – undo
61 61
  */
62 62
 function show_documents($folder)
63 63
 {
64
-	global $_course;
65
-	global $source_id, $action, $learnpath_id, $chapter_id, $originalresource;
66
-
67
-	// documents are a special case: the teacher can add an invisible document (it will be viewable by the user)
68
-	// other tools do not have this feature. This only counts
69
-	if (api_is_allowed_to_edit())
70
-	{
71
-		$visibility="ip.visibility<>'2'";
72
-	}
73
-	else
74
-	{
75
-		$visibility="ip.visibility='1'";
76
-	}
77
-
78
-	$item_property_table = Database::get_course_table(TABLE_ITEM_PROPERTY);
79
-	$document_table = Database::get_course_table(TABLE_DOCUMENT);
80
-	$sql = "SELECT * from $document_table docs, $item_property_table ip
64
+    global $_course;
65
+    global $source_id, $action, $learnpath_id, $chapter_id, $originalresource;
66
+
67
+    // documents are a special case: the teacher can add an invisible document (it will be viewable by the user)
68
+    // other tools do not have this feature. This only counts
69
+    if (api_is_allowed_to_edit())
70
+    {
71
+        $visibility="ip.visibility<>'2'";
72
+    }
73
+    else
74
+    {
75
+        $visibility="ip.visibility='1'";
76
+    }
77
+
78
+    $item_property_table = Database::get_course_table(TABLE_ITEM_PROPERTY);
79
+    $document_table = Database::get_course_table(TABLE_DOCUMENT);
80
+    $sql = "SELECT * from $document_table docs, $item_property_table ip
81 81
 			WHERE
82 82
 			    docs.id=ip.ref AND
83 83
 			    ip.tool = '".TOOL_DOCUMENT."' AND
@@ -85,104 +85,104 @@  discard block
 block discarded – undo
85 85
 			    (ip.to_group_id = 0 OR i.to_group_id IS NULL) AND
86 86
 			    ip.to_user_id IS NULL
87 87
 			ORDER BY docs.path ASC";
88
-	$result=Database::query($sql);
89
-	while ($row=Database::fetch_array($result))
90
-	{
91
-		if (!$folder)
92
-		{
93
-			if (get_levels($row['path'])-1==1)
94
-			{
95
-				// showing the right icon
96
-				if (file_or_folder($row['path']))
97
-				{
98
-						echo '<img src="../img/file.gif" align="middle" />';
99
-				}
100
-				else
101
-				{
102
-					$image = choose_image($row['path']);
103
-					echo "<img src=\"../img/$image\" align=\"middle\" />";
104
-				}
105
-
106
-				// folders should be clickable
107
-				if (file_or_folder($row['path']))
108
-				{
109
-					echo "<a href='".api_get_self()."?content=Document";
110
-					echo "&amp;folder=".substr($row['path'],1)."&amp;source_id=$source_id&amp;source_forum=".$_GET['source_forum']."&amp;action=$action&amp;learnpath_id=$learnpath_id&amp;chapter_id=$chapter_id&amp;originalresource=no'>".substr($row['path'],1).'</a><br />';
111
-				}
112
-				else
113
-				{
114
-					echo substr($row['path'],1).' ';
115
-					echo showorhide_addresourcelink('Document',$row['id']);
116
-					echo '<br />';
117
-				}
118
-			}
119
-		}
120
-		else
121
-		{
122
-			// we calculate the level we are in by using the $folder in the url
123
-			// we put +1 because it does not start with an / and in the database it does
124
-			$level=get_levels($folder)+1;
125
-
126
-			// we calculate each level of the database entry
127
-			$file_level=get_levels($row['path'])-1;
128
-			// if the level of the database entry is equal to the level we ar in, we put it into an array
129
-			// as this is a potential good entry
130
-			if ($file_level==$level)
131
-			{
132
-				$good_paths[]=$row['path'];
133
-				$good_ids[]=$row['id'];
134
-			}
135
-			//$haystack=$row['path'];
136
-			//$conform_folder=strstr($haystack, $folder);
137
-			//if (str_replace($folder.'/','',$conform_folder)!==$folder)
138
-			//	{
139
-			//	$good_folders[]=$row['path'];
140
-				//echo str_replace($folder.'/','',$conform_folder);
141
-			//	echo '<br />';
142
-			//	}// if (str_replace($folder.'/','',$conform_folder)!==$folder)
143
-		} // else (if (!$folder))
144
-	} //while ($row=Database::fetch_array($result))
145
-
146
-	// this is code for the case that we are in a subfolder
147
-	if ($good_paths)
148
-	{
149
-		// we have all the potential good database entries, the good ones are those that start with $folder
150
-		foreach ($good_paths as $path)
151
-		{
152
-			if (strstr($path,$folder))
153
-			{
154
-				$good_key=key($good_paths);
155
-				// showing the right icon
156
-				if (file_or_folder($path))
157
-				{
158
-					echo '<img src="../img/file.gif" align="middle" />';
159
-				}
160
-				else
161
-				{
162
-					$image = choose_image($path);
163
-					echo "<img src=\"../img/$image\" align=\"middle\" />";
164
-				}
165
-
166
-				// folders should be clickable
167
-				if (file_or_folder($path))
168
-				{
169
-					$path=substr($path,1); // remove the first / in folder_up
170
-					$uri=str_replace($folder,$path,$_SERVER['REQUEST_URI']);
171
-					$newuri=str_replace('add=','addnot=',$uri);
172
-					//using the correct name of the folder
173
-					$folder_name=str_replace($folder.'/','',$path);
174
-					echo "<a href='$newuri'>".$folder_name.'</a><br />';
175
-				}
176
-				else
177
-				{
178
-					echo str_replace("/$folder/", '',$path).' ';
179
-					echo showorhide_addresourcelink('Document',$good_ids[$good_key]);
180
-					echo '<br />';
181
-				}
182
-			}
183
-			next($good_paths);
184
-		}
185
-	}
88
+    $result=Database::query($sql);
89
+    while ($row=Database::fetch_array($result))
90
+    {
91
+        if (!$folder)
92
+        {
93
+            if (get_levels($row['path'])-1==1)
94
+            {
95
+                // showing the right icon
96
+                if (file_or_folder($row['path']))
97
+                {
98
+                        echo '<img src="../img/file.gif" align="middle" />';
99
+                }
100
+                else
101
+                {
102
+                    $image = choose_image($row['path']);
103
+                    echo "<img src=\"../img/$image\" align=\"middle\" />";
104
+                }
105
+
106
+                // folders should be clickable
107
+                if (file_or_folder($row['path']))
108
+                {
109
+                    echo "<a href='".api_get_self()."?content=Document";
110
+                    echo "&amp;folder=".substr($row['path'],1)."&amp;source_id=$source_id&amp;source_forum=".$_GET['source_forum']."&amp;action=$action&amp;learnpath_id=$learnpath_id&amp;chapter_id=$chapter_id&amp;originalresource=no'>".substr($row['path'],1).'</a><br />';
111
+                }
112
+                else
113
+                {
114
+                    echo substr($row['path'],1).' ';
115
+                    echo showorhide_addresourcelink('Document',$row['id']);
116
+                    echo '<br />';
117
+                }
118
+            }
119
+        }
120
+        else
121
+        {
122
+            // we calculate the level we are in by using the $folder in the url
123
+            // we put +1 because it does not start with an / and in the database it does
124
+            $level=get_levels($folder)+1;
125
+
126
+            // we calculate each level of the database entry
127
+            $file_level=get_levels($row['path'])-1;
128
+            // if the level of the database entry is equal to the level we ar in, we put it into an array
129
+            // as this is a potential good entry
130
+            if ($file_level==$level)
131
+            {
132
+                $good_paths[]=$row['path'];
133
+                $good_ids[]=$row['id'];
134
+            }
135
+            //$haystack=$row['path'];
136
+            //$conform_folder=strstr($haystack, $folder);
137
+            //if (str_replace($folder.'/','',$conform_folder)!==$folder)
138
+            //	{
139
+            //	$good_folders[]=$row['path'];
140
+                //echo str_replace($folder.'/','',$conform_folder);
141
+            //	echo '<br />';
142
+            //	}// if (str_replace($folder.'/','',$conform_folder)!==$folder)
143
+        } // else (if (!$folder))
144
+    } //while ($row=Database::fetch_array($result))
145
+
146
+    // this is code for the case that we are in a subfolder
147
+    if ($good_paths)
148
+    {
149
+        // we have all the potential good database entries, the good ones are those that start with $folder
150
+        foreach ($good_paths as $path)
151
+        {
152
+            if (strstr($path,$folder))
153
+            {
154
+                $good_key=key($good_paths);
155
+                // showing the right icon
156
+                if (file_or_folder($path))
157
+                {
158
+                    echo '<img src="../img/file.gif" align="middle" />';
159
+                }
160
+                else
161
+                {
162
+                    $image = choose_image($path);
163
+                    echo "<img src=\"../img/$image\" align=\"middle\" />";
164
+                }
165
+
166
+                // folders should be clickable
167
+                if (file_or_folder($path))
168
+                {
169
+                    $path=substr($path,1); // remove the first / in folder_up
170
+                    $uri=str_replace($folder,$path,$_SERVER['REQUEST_URI']);
171
+                    $newuri=str_replace('add=','addnot=',$uri);
172
+                    //using the correct name of the folder
173
+                    $folder_name=str_replace($folder.'/','',$path);
174
+                    echo "<a href='$newuri'>".$folder_name.'</a><br />';
175
+                }
176
+                else
177
+                {
178
+                    echo str_replace("/$folder/", '',$path).' ';
179
+                    echo showorhide_addresourcelink('Document',$good_ids[$good_key]);
180
+                    echo '<br />';
181
+                }
182
+            }
183
+            next($good_paths);
184
+        }
185
+    }
186 186
 }
187 187
 
188 188
 /**
@@ -193,13 +193,13 @@  discard block
 block discarded – undo
193 193
  */
194 194
 function file_or_folder($filefolder)
195 195
 {
196
-	global $_course;
197
-	global $baseServDir;
196
+    global $_course;
197
+    global $baseServDir;
198 198
 
199
-	$courseDir   = $_course['path'].'/document';
200
-	$baseWorkDir = api_get_path(SYS_COURSE_PATH).$courseDir;
199
+    $courseDir   = $_course['path'].'/document';
200
+    $baseWorkDir = api_get_path(SYS_COURSE_PATH).$courseDir;
201 201
 
202
-	return (is_dir($baseWorkDir.$filefolder) ? 1 : 0);
202
+    return (is_dir($baseWorkDir.$filefolder) ? 1 : 0);
203 203
 }
204 204
 
205 205
 /**
@@ -210,23 +210,23 @@  discard block
 block discarded – undo
210 210
  */
211 211
 function store_resources($source_type, $source_id)
212 212
 {
213
-	global $_course;
214
-	$resource_table = Database::get_course_table(TABLE_LINKED_RESOURCES);
215
-
216
-	$addedresource = $_SESSION['addedresource'];
217
-	$addedresourceid = $_SESSION['addedresourceid'];
218
-	if ($_SESSION['addedresource'])
219
-	{
220
-		foreach ($addedresource as $resource_type)
221
-		{
222
-			$sql="INSERT INTO $resource_table (source_type, source_id, resource_type, resource_id) VALUES ('$source_type', '$source_id', '$resource_type', '".$addedresourceid[key($addedresource)]."')";
223
-			Database::query($sql);
224
-			$i=key($addedresource);
225
-			next($addedresource);
226
-		}
227
-		$_SESSION['addedresource']='';
228
-		$_SESSION['addedresourceid']='';
229
-	}
213
+    global $_course;
214
+    $resource_table = Database::get_course_table(TABLE_LINKED_RESOURCES);
215
+
216
+    $addedresource = $_SESSION['addedresource'];
217
+    $addedresourceid = $_SESSION['addedresourceid'];
218
+    if ($_SESSION['addedresource'])
219
+    {
220
+        foreach ($addedresource as $resource_type)
221
+        {
222
+            $sql="INSERT INTO $resource_table (source_type, source_id, resource_type, resource_id) VALUES ('$source_type', '$source_id', '$resource_type', '".$addedresourceid[key($addedresource)]."')";
223
+            Database::query($sql);
224
+            $i=key($addedresource);
225
+            next($addedresource);
226
+        }
227
+        $_SESSION['addedresource']='';
228
+        $_SESSION['addedresourceid']='';
229
+    }
230 230
 }
231 231
 
232 232
 /**
@@ -240,87 +240,87 @@  discard block
 block discarded – undo
240 240
  */
241 241
 function display_addedresource_link($type, $id, $style='')
242 242
 {
243
-	global $_course;
243
+    global $_course;
244 244
 
245
-	// styling the link of the added resource
246
-	if ($style <> '')
247
-	{
248
-		$styling = ' class="'.$style.'"';
249
-	}
245
+    // styling the link of the added resource
246
+    if ($style <> '')
247
+    {
248
+        $styling = ' class="'.$style.'"';
249
+    }
250 250
 
251 251
     $course_id = api_get_course_int_id();
252 252
 
253
-	switch ($type)
254
-	{
255
-		case 'Agenda':
256
-			$TABLEAGENDA = Database::get_course_table(TABLE_AGENDA);
257
-			$result = Database::query("SELECT * FROM $TABLEAGENDA WHERE c_id = $course_id AND id=$id");
258
-			$myrow = Database::fetch_array($result);
259
-			echo '<img src="../img/agenda.gif" align="middle" /> <a href="../calendar/agenda.php"'.$styling.'>'.$myrow['title']."</a><br />\n";
260
-			break;
261
-		case 'Ad_Valvas':
262
-			$tbl_announcement = Database::get_course_table(TABLE_ANNOUNCEMENT);
263
-			$result = Database::query("SELECT * FROM $tbl_announcement WHERE c_id = $course_id AND id=$id");
264
-			$myrow = Database::fetch_array($result);
265
-			echo '<img src="../img/valves.gif" align="middle" /> <a href="../announcements/announcements.php"'.$styling.'>'.$myrow['title']."</a><br />\n";
266
-			break;
267
-		case 'Link':Database::get_course_table(TABLE_LINK);
268
-			$result = Database::query("SELECT * FROM $TABLETOOLLINK WHERE c_id = $course_id AND id=$id");
269
-			$myrow = Database::fetch_array($result);
270
-			echo '<img src="../img/links.gif" align="middle" /> <a href="#" onclick="javascript:window.open(\'../link/link_goto.php?link_id='.$myrow['id'].'&amp;link_url='.urlencode($myrow['url'])."','MyWindow','width=500,height=400,top='+((screen.height-400)/2)+',left='+((screen.width-500)/2)+',scrollbars=1,resizable=1,menubar=1'); return false;\"".$styling.'>'.$myrow['title']."</a><br />\n";
271
-			break;
272
-		case 'Exercise':
273
-			$TBL_EXERCICES = Database::get_course_table(TABLE_QUIZ_TEST);
274
-			$result = Database::query("SELECT * FROM $TBL_EXERCICES WHERE c_id = $course_id AND  id=$id");
275
-			$myrow = Database::fetch_array($result);
276
-			echo '<img src="../img/quiz.gif" align="middle" /> <a href="../exercice/exercise_submit.php?exerciseId='.$myrow['id'].'"'.$styling.'>'.$myrow['title']."</a><br />\n";
277
-			break;
278
-		case 'Forum':
279
-			$TBL_FORUMS = Database::get_course_table(TABLE_FORUM);
280
-			$result = Database::query("SELECT * FROM $TBL_FORUMS WHERE c_id = $course_id AND forum_id=$id");
281
-			$myrow = Database::fetch_array($result);
282
-			echo '<img src="../img/forum.gif" align="middle" /> <a href="../phpbb/viewforum.php?forum='.$myrow['forum_id'].'&amp;md5='.$myrow['md5'].'"'.$styling.'>'.$myrow['forum_name']."</a><br />\n";
283
-			break;
284
-		case 'Thread':  //=topics
253
+    switch ($type)
254
+    {
255
+        case 'Agenda':
256
+            $TABLEAGENDA = Database::get_course_table(TABLE_AGENDA);
257
+            $result = Database::query("SELECT * FROM $TABLEAGENDA WHERE c_id = $course_id AND id=$id");
258
+            $myrow = Database::fetch_array($result);
259
+            echo '<img src="../img/agenda.gif" align="middle" /> <a href="../calendar/agenda.php"'.$styling.'>'.$myrow['title']."</a><br />\n";
260
+            break;
261
+        case 'Ad_Valvas':
262
+            $tbl_announcement = Database::get_course_table(TABLE_ANNOUNCEMENT);
263
+            $result = Database::query("SELECT * FROM $tbl_announcement WHERE c_id = $course_id AND id=$id");
264
+            $myrow = Database::fetch_array($result);
265
+            echo '<img src="../img/valves.gif" align="middle" /> <a href="../announcements/announcements.php"'.$styling.'>'.$myrow['title']."</a><br />\n";
266
+            break;
267
+        case 'Link':Database::get_course_table(TABLE_LINK);
268
+            $result = Database::query("SELECT * FROM $TABLETOOLLINK WHERE c_id = $course_id AND id=$id");
269
+            $myrow = Database::fetch_array($result);
270
+            echo '<img src="../img/links.gif" align="middle" /> <a href="#" onclick="javascript:window.open(\'../link/link_goto.php?link_id='.$myrow['id'].'&amp;link_url='.urlencode($myrow['url'])."','MyWindow','width=500,height=400,top='+((screen.height-400)/2)+',left='+((screen.width-500)/2)+',scrollbars=1,resizable=1,menubar=1'); return false;\"".$styling.'>'.$myrow['title']."</a><br />\n";
271
+            break;
272
+        case 'Exercise':
273
+            $TBL_EXERCICES = Database::get_course_table(TABLE_QUIZ_TEST);
274
+            $result = Database::query("SELECT * FROM $TBL_EXERCICES WHERE c_id = $course_id AND  id=$id");
275
+            $myrow = Database::fetch_array($result);
276
+            echo '<img src="../img/quiz.gif" align="middle" /> <a href="../exercice/exercise_submit.php?exerciseId='.$myrow['id'].'"'.$styling.'>'.$myrow['title']."</a><br />\n";
277
+            break;
278
+        case 'Forum':
279
+            $TBL_FORUMS = Database::get_course_table(TABLE_FORUM);
280
+            $result = Database::query("SELECT * FROM $TBL_FORUMS WHERE c_id = $course_id AND forum_id=$id");
281
+            $myrow = Database::fetch_array($result);
282
+            echo '<img src="../img/forum.gif" align="middle" /> <a href="../phpbb/viewforum.php?forum='.$myrow['forum_id'].'&amp;md5='.$myrow['md5'].'"'.$styling.'>'.$myrow['forum_name']."</a><br />\n";
283
+            break;
284
+        case 'Thread':  //=topics
285 285
         //deprecated
286
-			$tbl_posts		= $_course['dbNameGlu'].'bb_posts';
287
-			$tbl_posts_text	= $_course['dbNameGlu'].'bb_posts_text';
288
-			$TBL_FORUMS		= $_course['dbNameGlu'].'bb_forums';
289
-			$result = Database::query("SELECT * FROM $tbl_posts posts, $TBL_FORUMS forum WHERE forum.forum_id=posts.forum_id and post_id=$id");
290
-			$myrow = Database::fetch_array($result);
291
-			// grabbing the title of the post
292
-			$sql_title = "SELECT * FROM $tbl_posts_text WHERE post_id=".$myrow["post_id"];
293
-			$result_title = Database::query($sql_title);
294
-			$myrow_title = Database::fetch_array($result_title);
295
-			echo '<img src="../img/forum.gif" align="middle" /> <a href="../phpbb/viewtopic.php?topic='.$myrow['topic_id'].'&amp;forum='.$myrow['forum_id'].'&amp;md5='.$myrow['md5'].'"'.$styling.'>'.$myrow_title['post_title']."</a><br />\n";
296
-			break;
297
-		case 'Post':
286
+            $tbl_posts		= $_course['dbNameGlu'].'bb_posts';
287
+            $tbl_posts_text	= $_course['dbNameGlu'].'bb_posts_text';
288
+            $TBL_FORUMS		= $_course['dbNameGlu'].'bb_forums';
289
+            $result = Database::query("SELECT * FROM $tbl_posts posts, $TBL_FORUMS forum WHERE forum.forum_id=posts.forum_id and post_id=$id");
290
+            $myrow = Database::fetch_array($result);
291
+            // grabbing the title of the post
292
+            $sql_title = "SELECT * FROM $tbl_posts_text WHERE post_id=".$myrow["post_id"];
293
+            $result_title = Database::query($sql_title);
294
+            $myrow_title = Database::fetch_array($result_title);
295
+            echo '<img src="../img/forum.gif" align="middle" /> <a href="../phpbb/viewtopic.php?topic='.$myrow['topic_id'].'&amp;forum='.$myrow['forum_id'].'&amp;md5='.$myrow['md5'].'"'.$styling.'>'.$myrow_title['post_title']."</a><br />\n";
296
+            break;
297
+        case 'Post':
298 298
         //deprecated
299
-			$tbl_post = Database::get_course_table(TABLE_FORUM_POST);
300
-			$tbl_post_text = Database::get_course_table(TOOL_FORUM_POST_TEXT_TABLE);
301
-			$sql = "SELECT * FROM $tbl_post p, $tbl_post_text t WHERE p.post_id = t.post_id AND p.post_id = $id";
302
-			$result = Database::query($sql);
303
-			$post = Database::fetch_object($result);
304
-			echo '<img src="../img/forum.gif" align="middle" /> <a href="../phpbb/viewtopic.php?topic='.$post->topic_id.'&amp;forum='.$post->forum_id.'"'.$styling.'>'.$post->post_title."</a><br />\n";
305
-			break;
306
-		case 'Document':
307
-			$dbTable = Database::get_course_table(TABLE_DOCUMENT);
308
-			$result = Database::query("SELECT * FROM $dbTable WHERE c_id = $course_id AND id=$id");
309
-			$myrow = Database::fetch_array($result);
310
-			$pathname = explode('/',$myrow['path']); // making a correct name for the link
311
-			$last = count($pathname) - 1;  // making a correct name for the link
312
-			$filename = $pathname[$last];  // making a correct name for the link
313
-			$image = choose_image($filename);
314
-			$ext = explode('.',$filename);
315
-			$ext = strtolower($ext[sizeof($ext)-1]);
316
-			$myrow['path'] = rawurlencode($myrow['path']);
317
-			$in_frames = in_array($ext, array('htm','html','gif','jpg','jpeg','png'));
318
-			echo '<img src="../img/'.$image.'" align="middle" /> <a href="../document/'.($in_frames ? 'showinframes.php?file=' : 'download.php?doc_url=').$myrow['path'].'"'.$styling.'>'.$filename."</a><br />\n";
319
-			break;
320
-		case 'Externallink':
321
-			echo '<img src="../img/links.gif" align="middle" /> <a href="'.$id.'"'.$styling.'>'.$id."</a><br />\n";
322
-			break;
323
-	}
299
+            $tbl_post = Database::get_course_table(TABLE_FORUM_POST);
300
+            $tbl_post_text = Database::get_course_table(TOOL_FORUM_POST_TEXT_TABLE);
301
+            $sql = "SELECT * FROM $tbl_post p, $tbl_post_text t WHERE p.post_id = t.post_id AND p.post_id = $id";
302
+            $result = Database::query($sql);
303
+            $post = Database::fetch_object($result);
304
+            echo '<img src="../img/forum.gif" align="middle" /> <a href="../phpbb/viewtopic.php?topic='.$post->topic_id.'&amp;forum='.$post->forum_id.'"'.$styling.'>'.$post->post_title."</a><br />\n";
305
+            break;
306
+        case 'Document':
307
+            $dbTable = Database::get_course_table(TABLE_DOCUMENT);
308
+            $result = Database::query("SELECT * FROM $dbTable WHERE c_id = $course_id AND id=$id");
309
+            $myrow = Database::fetch_array($result);
310
+            $pathname = explode('/',$myrow['path']); // making a correct name for the link
311
+            $last = count($pathname) - 1;  // making a correct name for the link
312
+            $filename = $pathname[$last];  // making a correct name for the link
313
+            $image = choose_image($filename);
314
+            $ext = explode('.',$filename);
315
+            $ext = strtolower($ext[sizeof($ext)-1]);
316
+            $myrow['path'] = rawurlencode($myrow['path']);
317
+            $in_frames = in_array($ext, array('htm','html','gif','jpg','jpeg','png'));
318
+            echo '<img src="../img/'.$image.'" align="middle" /> <a href="../document/'.($in_frames ? 'showinframes.php?file=' : 'download.php?doc_url=').$myrow['path'].'"'.$styling.'>'.$filename."</a><br />\n";
319
+            break;
320
+        case 'Externallink':
321
+            echo '<img src="../img/links.gif" align="middle" /> <a href="'.$id.'"'.$styling.'>'.$id."</a><br />\n";
322
+            break;
323
+    }
324 324
 }
325 325
 
326 326
 /**
@@ -342,766 +342,766 @@  discard block
 block discarded – undo
342 342
 */
343 343
 function display_addedresource_link_in_learnpath($type, $id, $completed, $id_in_path, $builder, $icon, $level = 0)
344 344
 {
345
-	global $learnpath_id, $tbl_learnpath_item, $items;
346
-	global $_course, $curDirPath, $_configuration, $enableDocumentParsing, $_user, $_cid;
347
-
348
-	$hyperlink_target_parameter = ''; //or e.g. 'target="_blank"'
349
-
350
-	$length = ((($builder == 'builder') and ($icon == 'nolink')) ? 65 : 32);
351
-
352
-	if ($builder != 'builder') $origin = 'learnpath';	//origin = learnpath in student view
353
-	$linktype = $type;
354
-	if (($type == 'Link _self') or ($type == 'Link _blank')) $type = 'Link';
355
-
356
-	switch ($type)
357
-	{
358
-		case "Agenda":
359
-			$TABLEAGENDA 		= Database::get_course_table(TABLE_AGENDA);
360
-			$result = Database::query("SELECT * FROM $TABLEAGENDA WHERE id=$id");
361
-			$myrow=Database::fetch_array($result);
362
-
363
-			$sql="select * from $tbl_learnpath_item where id=$id_in_path";
364
-			$result=Database::query($sql);	$row=Database::fetch_array($result);
365
-			if ($row['title'] != '') { $myrow["title"]=$row['title']; }
366
-			$desc=$row['description'];
367
-			$agenda_id=$row['item_id'];
368
-			echo str_repeat("&nbsp;&gt;",$level);
369
-			if (($builder != 'builder') and ($icon != 'wrap')) { echo "<td>"; }
370
-			if ($icon != 'nolink')
371
-			{
372
-				if ($completed=='completed') {
373
-					echo "<img src='../img/checkbox_on2.gif' border='0' width='13' height='11' alt='on'>";
374
-				}	else {
375
-					echo "<img src='../img/checkbox_on2.gif' border='0' width='13' height='11' alt='on' style='visibility: hidden'>";
376
-					//echo "&nbsp;";
377
-				}
378
-			}
379
-			if (($builder != 'builder') and ($icon != 'wrap')) { echo "</td><td>"; }
380
-
381
-			if ($myrow["title"]=='') { echo "<span class='messagesmall'>".get_lang('StepDeleted1')." $type ".get_lang('StepDeleted2')."</span>"; return(true); }
382
-
383
-			if ($icon == 'nolink') { return(shorten($myrow["title"],$length)); }
384
-			if ($icon == 'icon') { echo "<img src='../img/agenda.gif' align=\"absmiddle\" alt='agenda'>"; }
385
-			if ($builder != 'builder')
386
-			{
387
-				echo "<a href=\"".api_get_self()."?action=closelesson&source_forum=".$_GET['source_forum']."&how=complete&id_in_path=$id_in_path&learnpath_id=$learnpath_id&type=Agenda&origin=$origin&agenda_id=$agenda_id#$id_in_path\" class='$completed'>".shorten($myrow["title"],($length-3*$level))."</a>";
388
-        		$items[]=api_get_self()."?action=closelesson&source_forum=".$_GET['source_forum']."&how=complete&id_in_path=$id_in_path&learnpath_id=$learnpath_id&type=Agenda&origin=$origin&agenda_id=$agenda_id#$id_in_path";
389
-				if ($desc != '')
390
-				{
391
-					if ($icon != 'wrap')
392
-					{
393
-						echo "</tr><tr><td></td><td></td><td><div class='description'>&nbsp;&nbsp;".shorten($desc,($length-3*$level))."</div></td></tr>";
394
-					}
395
-					else
396
-					{
397
-						echo "<div class='description'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;".shorten($desc,($length-3*$level))."</div>";
398
-					}
399
-				}
400
-			}
401
-			else
402
-			{
403
-				echo "<a href=\"../calendar/agenda.php?origin=$origin&agenda_id=$agenda_id\" class='$completed' target='_blank'>".shorten($myrow["title"],($length-3*$level))."</a>";
404
-			}
405
-			break;
406
-
407
-		case "Ad_Valvas":
408
-			$tbl_announcement = Database::get_course_table(TABLE_ANNOUNCEMENT);
409
-			$result = Database::query("SELECT * FROM $tbl_announcement WHERE id=$id");
410
-			$myrow=Database::fetch_array($result);
411
-
412
-			$sql="select * from $tbl_learnpath_item where id=$id_in_path";
413
-			$result=Database::query($sql);	$row=Database::fetch_array($result);
414
-			if ($row['title'] != '') { $myrow["content"]=$row['title']; }
415
-			$desc=$row['description'];
416
-			$ann_id=$row['item_id'];
417
-			echo str_repeat("&nbsp;&gt;",$level);
418
-
419
-			// the title and the text are in the content field and we only want to display the title
420
-			list($title, $text)=split('<br>',$myrow['content']);
421
-			if ($title=='') { $title=$myrow['content']; }
422
-			$title=$myrow['title'];
423
-			$text=$myrow['content'];
424
-			if (($builder != 'builder') and ($icon != 'wrap')) { echo "<td>"; }
425
-			if ($icon != 'nolink')
426
-			{
427
-				if ($completed=='completed') {
428
-					echo "<img src='../img/checkbox_on2.gif' border='0' width='13' height='11' alt='on'>";
429
-				}	else {
430
-					echo "<img src='../img/checkbox_on2.gif' border='0' width='13' height='11' alt='on' style='visibility: hidden'>";
431
-					//echo "&nbsp;";
432
-				}
433
-			}
434
-			if (($builder != 'builder') and ($icon != 'wrap')) { echo "</td><td>"; }
435
-
436
-			if ($title=='') {
437
-				$type="Announcement";
438
-				echo "<span class='messagesmall'>".get_lang('StepDeleted1')." $type ".get_lang('StepDeleted2')."</span>";
439
-				return(true);
440
-			}
441
-
442
-			if ($icon == 'nolink') { return(shorten($title,$length)); }
443
-			if ($icon == 'icon') { echo "<img src='../img/valves.gif' align=\"absmiddle\" alt='ad valvas'>"; }
444
-			if ($builder != 'builder')
445
-			{
446
-				echo "<a href=\"".api_get_self()."?action=closelesson&source_forum=".$_GET['source_forum']."&how=complete&id_in_path=$id_in_path&learnpath_id=$learnpath_id&type=Ad_Valvas&origin=$origin&ann_id=$ann_id#$id_in_path\" class='$completed'>".shorten($title,($length-3*$level))."</a>";
447
-				$items[]=api_get_self()."?action=closelesson&source_forum=".$_GET['source_forum']."&how=complete&id_in_path=$id_in_path&learnpath_id=$learnpath_id&type=Ad_Valvas&origin=$origin&ann_id=$ann_id#$id_in_path";
448
-				if ($desc != '')
449
-				{
450
-					if ($icon != 'wrap')
451
-					{
452
-						echo "</tr><tr><td></td><td></td><td><div class='description'>&nbsp;&nbsp;".shorten($desc,($length-3*$level))."</div></td></tr>";
453
-					}
454
-					else
455
-					{
456
-						echo "<div class='description'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;".shorten($desc,($length-3*$level))."</div>";
457
-					}
458
-				}
459
-			}
460
-			else
461
-			{
462
-				echo "<a href=\"../announcements/announcements.php?origin=$origin&ann_id=$ann_id\" class='$completed' target='_blank'>".shorten($title,($length-3*$level))."</a>";
463
-			}
464
-			break;
465
-
466
-		case "Link" :
467
-			$TABLETOOLLINK	= Database::get_course_table(TABLE_LINK);
468
-			$result= Database::query("SELECT * FROM $TABLETOOLLINK WHERE id=$id");
469
-			$myrow=Database::fetch_array($result);
470
-
471
-			$sql="select * from $tbl_learnpath_item where id=$id_in_path";
472
-			$result=Database::query($sql);	$row=Database::fetch_array($result);
473
-			if ($row['title'] != '') { $myrow["title"]=$row['title']; }
474
-			$desc=$row['description'];
475
-			echo str_repeat("&nbsp;&gt;",$level);
476
-
477
-			if (($builder != 'builder') and ($icon != 'wrap')) { echo "<td>"; }
478
-			if ($icon != 'nolink')
479
-			{
480
-				if ($completed=='completed') {
481
-					echo "<img src='../img/checkbox_on2.gif' border='0' width='13' height='11' alt='on'>";
482
-				}	else {
483
-					echo "<img src='../img/checkbox_on2.gif' border='0' width='13' height='11' alt='on' style='visibility: hidden'>";
484
-					//echo "&nbsp;";
485
-				}
486
-			}
487
-			if (($builder != 'builder') and ($icon != 'wrap')) { echo "</td><td>"; }
488
-
489
-			if ($myrow["title"]=='')
490
-			{
491
-				echo "<span class='messagesmall'>".get_lang('StepDeleted1')." $type ".get_lang('StepDeleted2')."</span>";
492
-				return(true);
493
-			}
494
-
495
-			if ($icon == 'nolink') { return(shorten($myrow["title"],$length)); }
496
-			if ($icon == 'icon')
497
-			{
498
-				if ($linktype=='Link _self') { echo "<img src='../img/links.gif' align=\"absmiddle\" alt='links'>"; }
499
-				   else { echo "<img src='../img/link_blank.gif' align=\"absmiddle\" alt='blank links'>"; }
500
-			}
501
-			$thelink=$myrow["url"];
502
-			if ($builder != 'builder')
503
-			{
504
-				echo "<a href=\"".api_get_self()."?action=closelesson&source_forum=".$_GET['source_forum']."&how=complete&id_in_path=$id_in_path&learnpath_id=$learnpath_id&type=$linktype&origin=$origin&thelink=$thelink#$id_in_path\" class='$completed'>".shorten($myrow["title"],($length-3*$level))."</a>";
505
-				$items[]=api_get_self()."?action=closelesson&source_forum=".$_GET['source_forum']."&how=complete&id_in_path=$id_in_path&learnpath_id=$learnpath_id&type=$linktype&origin=$origin&thelink=$thelink#$id_in_path";
506
-				if ($desc != '')
507
-				{
508
-					if ($icon != 'wrap')
509
-					{
510
-						echo "</tr><tr><td></td><td></td><td><div class='description'>&nbsp;&nbsp;".shorten($desc,($length-3*$level))."</div></td></tr>";
511
-					}
512
-					else
513
-					{
514
-						echo "<div class='description'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;".shorten($desc,($length-3*$level))."</div>";
515
-					}
516
-				}
517
-			}
518
-			else
519
-			{
520
-				echo "<a href=\"$thelink\" class='$completed' target='_blank'>".shorten($myrow["title"],($length-3*$level))."</a>";
521
-			}
522
-			break;
523
-
524
-		case "Exercise":
525
-			$TBL_EXERCICES  = Database::get_course_table(TABLE_QUIZ_TEST);
526
-			$result= Database::query("SELECT * FROM $TBL_EXERCICES WHERE id=$id");
527
-			$myrow=Database::fetch_array($result);
528
-
529
-			if ($builder=='builder') { $origin='builder'; }
530
-			  //this is needed for the exercise_submit.php can delete the session info about tests
531
-
532
-			$sql="select * from $tbl_learnpath_item where id=$id_in_path";
533
-			$result=Database::query($sql);	$row=Database::fetch_array($result);
534
-			if ($row['title'] != '') { $myrow["title"]=$row['title']; }
535
-			$desc=$row['description'];
536
-			echo str_repeat("&nbsp;&gt;",$level);
537
-
538
-			if (($builder != 'builder') and ($icon != 'wrap')) { echo "<td>"; }
539
-			if ($icon != 'nolink')
540
-			{
541
-				if ($completed=='completed') {
542
-					echo "<img src='../img/checkbox_on2.gif' border='0' width='13' height='11' alt='on'>";
543
-				}	else {
544
-					echo "<img src='../img/checkbox_on2.gif' border='0' width='13' height='11' alt='on' style='visibility: hidden'>";
545
-					//echo "&nbsp;";
546
-				}
547
-			}
548
-			if (($builder != 'builder') and ($icon != 'wrap')) { echo "</td><td>"; }
549
-
550
-			if ($myrow["title"]=='') {
551
-				echo "<span class='messagesmall'>".get_lang('StepDeleted1')." $type ".get_lang('StepDeleted2')."</span>";
552
-				return(true);
553
-			}
554
-
555
-			if ($icon == 'nolink') { return(shorten($myrow["title"],$length)); }
556
-			if ($icon == 'icon') { echo "<img src='../img/quiz.gif' align=\"absmiddle\" alt='quizz'>"; }
557
-			if ($builder != 'builder')
558
-			{
559
-				echo "<a href=\"".api_get_self()."?action=closelesson&source_forum=".$_GET['source_forum']."&how=complete&id_in_path=$id_in_path&learnpath_id=$learnpath_id&type=Exercise&origin=$origin&exerciseId=".$myrow["id"]."#$id_in_path\" class='$completed'>".shorten($myrow["title"],($length-3*$level))."</a>";
560
-				$items[]=api_get_self()."?action=closelesson&source_forum=".$_GET['source_forum']."&how=complete&id_in_path=$id_in_path&learnpath_id=$learnpath_id&type=Exercise&origin=$origin&exerciseId=".$myrow["id"]."#$id_in_path";
561
-				if ($desc != '')
562
-				{
563
-					if ($icon != 'wrap')
564
-					{
565
-						echo "</tr><tr><td></td><td></td><td><div class='description'>&nbsp;&nbsp;".shorten($desc,($length-3*$level))."</div></td></tr>";
566
-					}
567
-					else
568
-					{
569
-						echo "<div class='description'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;".shorten($desc,($length-3*$level))."</div>";
570
-					}
571
-				}
572
-			}
573
-			else
574
-			{
575
-				echo "<a href=\"../exercice/exercise_submit.php?origin=$origin&exerciseId=".$myrow["id"]."\" class='$completed' target='_blank'>".shorten($myrow["title"],($length-3*$level))."</a>";
576
-			}
577
-			break;
578
-
579
-		case "HotPotatoes":
580
-			$TBL_DOCUMENT  = Database::get_course_table(TABLE_DOCUMENT);
581
-			$documentPath=api_get_path(SYS_COURSE_PATH).$_course['path'].'/document';
582
-			$result = Database::query("SELECT * FROM ".$TBL_DOCUMENT." WHERE id=$id");
583
-			$myrow= Database::fetch_array($result);
584
-			$path=$myrow["path"];
585
-			$name=GetQuizName($path,$documentPath);
586
-
587
-			if ($builder=='builder') { $origin='builder'; }
588
-			  //this is needed for the exercise_submit.php can delete the session info about tests
589
-
590
-			$sql="select * from $tbl_learnpath_item where id=$id_in_path";
591
-			$result=Database::query($sql);	$row=Database::fetch_array($result);
592
-			if ($row['title'] != '') { $name=$row['title']; }
593
-			$desc=$row['description'];
594
-			echo str_repeat("&nbsp;&gt;",$level);
595
-
596
-			if (($builder != 'builder') and ($icon != 'wrap')) { echo "<td>"; }
597
-			if ($icon != 'nolink')
598
-			{
599
-				if ($completed=='completed') {
600
-					echo "<img src='../img/checkbox_on2.gif' border='0' width='13' height='11' alt='on'>";
601
-				}	else {
602
-					echo "<img src='../img/checkbox_on2.gif' border='0' width='13' height='11' alt='on' style='visibility: hidden'>";
603
-					//echo "&nbsp;";
604
-				}
605
-			}
606
-			if (($builder != 'builder') and ($icon != 'wrap')) { echo "</td><td>"; }
607
-
608
-			if ($name=='') { echo "<span class='messagesmall'>".get_lang('StepDeleted1')." $type ".get_lang('StepDeleted2')."</span>"; return(true); }
609
-
610
-			if ($icon == 'nolink') { return(shorten($name,$length)); }
611
-			if ($icon == 'icon') { echo "<img src='../img/jqz.gif' align=\"absmiddle\" alt='hot potatoes'>"; }
612
-
613
-			$cid = $_course['official_code'];
614
-
615
-			if ($builder != 'builder')
616
-			{
617
-				echo "<a href=\"".api_get_self()."?action=closelesson&source_forum=".$_GET['source_forum']."&how=complete&id_in_path=$id_in_path&learnpath_id=$learnpath_id&type=HotPotatoes&origin=$origin&id=$id#$id_in_path\" class='$completed'>".shorten($name,($length-3*$level))."</a>";
618
-				$items[]=api_get_self()."?action=closelesson&source_forum=".$_GET['source_forum']."&how=complete&id_in_path=$id_in_path&learnpath_id=$learnpath_id&type=HotPotatoes&origin=$origin&id=$id#$id_in_path";
619
-				if ($desc != '')
620
-				{
621
-					if ($icon != 'wrap')
622
-					{
623
-						echo "</tr><tr><td></td><td></td><td><div class='description'>&nbsp;&nbsp;".shorten($desc,($length-3*$level))."</div></td></tr>";
624
-					}
625
-					else
626
-					{
627
-						echo "<div class='description'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;".shorten($desc,($length-3*$level))."</div>";
628
-					}
629
-				}
630
-			}
631
-			else
632
-			{
633
-				echo "&nbsp;<a href=\"../exercice/showinframes.php?file=$path&cid=$cid&uid=".$_user['user_id']."\" class='$completed' target='_blank'>".shorten($name,($length-3*$level))."</a>";
634
-			}
635
-			break;
636
-
637
-		case "Forum":
638
-			$TBL_FORUMS = Database::get_course_table(TABLE_FORUM);
639
-			$result= Database::query("SELECT * FROM $TBL_FORUMS WHERE forum_id=$id");
640
-			$myrow=Database::fetch_array($result);
641
-
642
-			$sql="select * from $tbl_learnpath_item where id=$id_in_path";
643
-			$result=Database::query($sql);	$row=Database::fetch_array($result);
644
-			if ($row['title'] != '') { $myrow["forum_name"]=$row['title']; }
645
-			$desc=$row['description'];
646
-			echo str_repeat("&nbsp;&gt;",$level);
647
-
648
-			if (($builder != 'builder') and ($icon != 'wrap')) { echo "<td>"; }
649
-			if ($icon != 'nolink')
650
-			{
651
-				if ($completed=='completed') {
652
-					echo "<img src='../img/checkbox_on2.gif' border='0' width='13' height='11' alt='on'>";
653
-				}	else {
654
-					echo "<img src='../img/checkbox_on2.gif' border='0' width='13' height='11' alt='on' style='visibility: hidden'>";
655
-					//echo "&nbsp;";
656
-				}
657
-			}
658
-			if (($builder != 'builder') and ($icon != 'wrap')) { echo "</td><td>"; }
659
-
660
-			if ($myrow["forum_name"]=='') { $type="Forum"; echo "<span class='messagesmall'>".get_lang('StepDeleted1')." $type ".get_lang('StepDeleted2')."</span>"; return(true); }
661
-
662
-			if ($icon == 'nolink') { return(shorten($myrow["forum_name"],$length)); }
663
-			if ($icon == 'icon') { echo "<img src='../img/forum.gif' align=\"absmiddle\" alt='forum'>"; }
664
-			$forumparameters="forum=".$myrow["forum_id"]."&md5=".$myrow["md5"];
665
-			if ($builder != 'builder')
666
-			{
667
-				echo "<a href=\"".api_get_self()."?action=closelesson&source_forum=".$_GET['source_forum']."&how=complete&id_in_path=$id_in_path&learnpath_id=$learnpath_id&type=Forum&origin=$origin&forumparameters=$forumparameters#$id_in_path\" class='$completed'>".shorten($myrow["forum_name"],($length-3*$level))."</a>";
668
-				$items[]=api_get_self()."?action=closelesson&source_forum=".$_GET['source_forum']."&how=complete&id_in_path=$id_in_path&learnpath_id=$learnpath_id&type=Forum&origin=$origin&forumparameters=$forumparameters#$id_in_path";
669
-				if ($desc != '')
670
-				{
671
-					if ($icon != 'wrap')
672
-					{
673
-						echo "</tr><tr><td></td><td></td><td><div class='description'>&nbsp;&nbsp;".shorten($desc,($length-3*$level))."</div></td></tr>";
674
-					}
675
-					else
676
-					{
677
-						echo "<div class='description'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;".shorten($desc,($length-3*$level))."</div>";
678
-					}
679
-				}
680
-			}
681
-			else
682
-			{
683
-				echo "<a href=\"../phpbb/viewforum.php?$forumparameters\" class='$completed' target='_blank'>".shorten($myrow["forum_name"],($length-3*$level))."</a>";
684
-			}
685
-			break;
686
-
687
-		case "Thread":  //forum post
345
+    global $learnpath_id, $tbl_learnpath_item, $items;
346
+    global $_course, $curDirPath, $_configuration, $enableDocumentParsing, $_user, $_cid;
347
+
348
+    $hyperlink_target_parameter = ''; //or e.g. 'target="_blank"'
349
+
350
+    $length = ((($builder == 'builder') and ($icon == 'nolink')) ? 65 : 32);
351
+
352
+    if ($builder != 'builder') $origin = 'learnpath';	//origin = learnpath in student view
353
+    $linktype = $type;
354
+    if (($type == 'Link _self') or ($type == 'Link _blank')) $type = 'Link';
355
+
356
+    switch ($type)
357
+    {
358
+        case "Agenda":
359
+            $TABLEAGENDA 		= Database::get_course_table(TABLE_AGENDA);
360
+            $result = Database::query("SELECT * FROM $TABLEAGENDA WHERE id=$id");
361
+            $myrow=Database::fetch_array($result);
362
+
363
+            $sql="select * from $tbl_learnpath_item where id=$id_in_path";
364
+            $result=Database::query($sql);	$row=Database::fetch_array($result);
365
+            if ($row['title'] != '') { $myrow["title"]=$row['title']; }
366
+            $desc=$row['description'];
367
+            $agenda_id=$row['item_id'];
368
+            echo str_repeat("&nbsp;&gt;",$level);
369
+            if (($builder != 'builder') and ($icon != 'wrap')) { echo "<td>"; }
370
+            if ($icon != 'nolink')
371
+            {
372
+                if ($completed=='completed') {
373
+                    echo "<img src='../img/checkbox_on2.gif' border='0' width='13' height='11' alt='on'>";
374
+                }	else {
375
+                    echo "<img src='../img/checkbox_on2.gif' border='0' width='13' height='11' alt='on' style='visibility: hidden'>";
376
+                    //echo "&nbsp;";
377
+                }
378
+            }
379
+            if (($builder != 'builder') and ($icon != 'wrap')) { echo "</td><td>"; }
380
+
381
+            if ($myrow["title"]=='') { echo "<span class='messagesmall'>".get_lang('StepDeleted1')." $type ".get_lang('StepDeleted2')."</span>"; return(true); }
382
+
383
+            if ($icon == 'nolink') { return(shorten($myrow["title"],$length)); }
384
+            if ($icon == 'icon') { echo "<img src='../img/agenda.gif' align=\"absmiddle\" alt='agenda'>"; }
385
+            if ($builder != 'builder')
386
+            {
387
+                echo "<a href=\"".api_get_self()."?action=closelesson&source_forum=".$_GET['source_forum']."&how=complete&id_in_path=$id_in_path&learnpath_id=$learnpath_id&type=Agenda&origin=$origin&agenda_id=$agenda_id#$id_in_path\" class='$completed'>".shorten($myrow["title"],($length-3*$level))."</a>";
388
+                $items[]=api_get_self()."?action=closelesson&source_forum=".$_GET['source_forum']."&how=complete&id_in_path=$id_in_path&learnpath_id=$learnpath_id&type=Agenda&origin=$origin&agenda_id=$agenda_id#$id_in_path";
389
+                if ($desc != '')
390
+                {
391
+                    if ($icon != 'wrap')
392
+                    {
393
+                        echo "</tr><tr><td></td><td></td><td><div class='description'>&nbsp;&nbsp;".shorten($desc,($length-3*$level))."</div></td></tr>";
394
+                    }
395
+                    else
396
+                    {
397
+                        echo "<div class='description'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;".shorten($desc,($length-3*$level))."</div>";
398
+                    }
399
+                }
400
+            }
401
+            else
402
+            {
403
+                echo "<a href=\"../calendar/agenda.php?origin=$origin&agenda_id=$agenda_id\" class='$completed' target='_blank'>".shorten($myrow["title"],($length-3*$level))."</a>";
404
+            }
405
+            break;
406
+
407
+        case "Ad_Valvas":
408
+            $tbl_announcement = Database::get_course_table(TABLE_ANNOUNCEMENT);
409
+            $result = Database::query("SELECT * FROM $tbl_announcement WHERE id=$id");
410
+            $myrow=Database::fetch_array($result);
411
+
412
+            $sql="select * from $tbl_learnpath_item where id=$id_in_path";
413
+            $result=Database::query($sql);	$row=Database::fetch_array($result);
414
+            if ($row['title'] != '') { $myrow["content"]=$row['title']; }
415
+            $desc=$row['description'];
416
+            $ann_id=$row['item_id'];
417
+            echo str_repeat("&nbsp;&gt;",$level);
418
+
419
+            // the title and the text are in the content field and we only want to display the title
420
+            list($title, $text)=split('<br>',$myrow['content']);
421
+            if ($title=='') { $title=$myrow['content']; }
422
+            $title=$myrow['title'];
423
+            $text=$myrow['content'];
424
+            if (($builder != 'builder') and ($icon != 'wrap')) { echo "<td>"; }
425
+            if ($icon != 'nolink')
426
+            {
427
+                if ($completed=='completed') {
428
+                    echo "<img src='../img/checkbox_on2.gif' border='0' width='13' height='11' alt='on'>";
429
+                }	else {
430
+                    echo "<img src='../img/checkbox_on2.gif' border='0' width='13' height='11' alt='on' style='visibility: hidden'>";
431
+                    //echo "&nbsp;";
432
+                }
433
+            }
434
+            if (($builder != 'builder') and ($icon != 'wrap')) { echo "</td><td>"; }
435
+
436
+            if ($title=='') {
437
+                $type="Announcement";
438
+                echo "<span class='messagesmall'>".get_lang('StepDeleted1')." $type ".get_lang('StepDeleted2')."</span>";
439
+                return(true);
440
+            }
441
+
442
+            if ($icon == 'nolink') { return(shorten($title,$length)); }
443
+            if ($icon == 'icon') { echo "<img src='../img/valves.gif' align=\"absmiddle\" alt='ad valvas'>"; }
444
+            if ($builder != 'builder')
445
+            {
446
+                echo "<a href=\"".api_get_self()."?action=closelesson&source_forum=".$_GET['source_forum']."&how=complete&id_in_path=$id_in_path&learnpath_id=$learnpath_id&type=Ad_Valvas&origin=$origin&ann_id=$ann_id#$id_in_path\" class='$completed'>".shorten($title,($length-3*$level))."</a>";
447
+                $items[]=api_get_self()."?action=closelesson&source_forum=".$_GET['source_forum']."&how=complete&id_in_path=$id_in_path&learnpath_id=$learnpath_id&type=Ad_Valvas&origin=$origin&ann_id=$ann_id#$id_in_path";
448
+                if ($desc != '')
449
+                {
450
+                    if ($icon != 'wrap')
451
+                    {
452
+                        echo "</tr><tr><td></td><td></td><td><div class='description'>&nbsp;&nbsp;".shorten($desc,($length-3*$level))."</div></td></tr>";
453
+                    }
454
+                    else
455
+                    {
456
+                        echo "<div class='description'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;".shorten($desc,($length-3*$level))."</div>";
457
+                    }
458
+                }
459
+            }
460
+            else
461
+            {
462
+                echo "<a href=\"../announcements/announcements.php?origin=$origin&ann_id=$ann_id\" class='$completed' target='_blank'>".shorten($title,($length-3*$level))."</a>";
463
+            }
464
+            break;
465
+
466
+        case "Link" :
467
+            $TABLETOOLLINK	= Database::get_course_table(TABLE_LINK);
468
+            $result= Database::query("SELECT * FROM $TABLETOOLLINK WHERE id=$id");
469
+            $myrow=Database::fetch_array($result);
470
+
471
+            $sql="select * from $tbl_learnpath_item where id=$id_in_path";
472
+            $result=Database::query($sql);	$row=Database::fetch_array($result);
473
+            if ($row['title'] != '') { $myrow["title"]=$row['title']; }
474
+            $desc=$row['description'];
475
+            echo str_repeat("&nbsp;&gt;",$level);
476
+
477
+            if (($builder != 'builder') and ($icon != 'wrap')) { echo "<td>"; }
478
+            if ($icon != 'nolink')
479
+            {
480
+                if ($completed=='completed') {
481
+                    echo "<img src='../img/checkbox_on2.gif' border='0' width='13' height='11' alt='on'>";
482
+                }	else {
483
+                    echo "<img src='../img/checkbox_on2.gif' border='0' width='13' height='11' alt='on' style='visibility: hidden'>";
484
+                    //echo "&nbsp;";
485
+                }
486
+            }
487
+            if (($builder != 'builder') and ($icon != 'wrap')) { echo "</td><td>"; }
488
+
489
+            if ($myrow["title"]=='')
490
+            {
491
+                echo "<span class='messagesmall'>".get_lang('StepDeleted1')." $type ".get_lang('StepDeleted2')."</span>";
492
+                return(true);
493
+            }
494
+
495
+            if ($icon == 'nolink') { return(shorten($myrow["title"],$length)); }
496
+            if ($icon == 'icon')
497
+            {
498
+                if ($linktype=='Link _self') { echo "<img src='../img/links.gif' align=\"absmiddle\" alt='links'>"; }
499
+                    else { echo "<img src='../img/link_blank.gif' align=\"absmiddle\" alt='blank links'>"; }
500
+            }
501
+            $thelink=$myrow["url"];
502
+            if ($builder != 'builder')
503
+            {
504
+                echo "<a href=\"".api_get_self()."?action=closelesson&source_forum=".$_GET['source_forum']."&how=complete&id_in_path=$id_in_path&learnpath_id=$learnpath_id&type=$linktype&origin=$origin&thelink=$thelink#$id_in_path\" class='$completed'>".shorten($myrow["title"],($length-3*$level))."</a>";
505
+                $items[]=api_get_self()."?action=closelesson&source_forum=".$_GET['source_forum']."&how=complete&id_in_path=$id_in_path&learnpath_id=$learnpath_id&type=$linktype&origin=$origin&thelink=$thelink#$id_in_path";
506
+                if ($desc != '')
507
+                {
508
+                    if ($icon != 'wrap')
509
+                    {
510
+                        echo "</tr><tr><td></td><td></td><td><div class='description'>&nbsp;&nbsp;".shorten($desc,($length-3*$level))."</div></td></tr>";
511
+                    }
512
+                    else
513
+                    {
514
+                        echo "<div class='description'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;".shorten($desc,($length-3*$level))."</div>";
515
+                    }
516
+                }
517
+            }
518
+            else
519
+            {
520
+                echo "<a href=\"$thelink\" class='$completed' target='_blank'>".shorten($myrow["title"],($length-3*$level))."</a>";
521
+            }
522
+            break;
523
+
524
+        case "Exercise":
525
+            $TBL_EXERCICES  = Database::get_course_table(TABLE_QUIZ_TEST);
526
+            $result= Database::query("SELECT * FROM $TBL_EXERCICES WHERE id=$id");
527
+            $myrow=Database::fetch_array($result);
528
+
529
+            if ($builder=='builder') { $origin='builder'; }
530
+                //this is needed for the exercise_submit.php can delete the session info about tests
531
+
532
+            $sql="select * from $tbl_learnpath_item where id=$id_in_path";
533
+            $result=Database::query($sql);	$row=Database::fetch_array($result);
534
+            if ($row['title'] != '') { $myrow["title"]=$row['title']; }
535
+            $desc=$row['description'];
536
+            echo str_repeat("&nbsp;&gt;",$level);
537
+
538
+            if (($builder != 'builder') and ($icon != 'wrap')) { echo "<td>"; }
539
+            if ($icon != 'nolink')
540
+            {
541
+                if ($completed=='completed') {
542
+                    echo "<img src='../img/checkbox_on2.gif' border='0' width='13' height='11' alt='on'>";
543
+                }	else {
544
+                    echo "<img src='../img/checkbox_on2.gif' border='0' width='13' height='11' alt='on' style='visibility: hidden'>";
545
+                    //echo "&nbsp;";
546
+                }
547
+            }
548
+            if (($builder != 'builder') and ($icon != 'wrap')) { echo "</td><td>"; }
549
+
550
+            if ($myrow["title"]=='') {
551
+                echo "<span class='messagesmall'>".get_lang('StepDeleted1')." $type ".get_lang('StepDeleted2')."</span>";
552
+                return(true);
553
+            }
554
+
555
+            if ($icon == 'nolink') { return(shorten($myrow["title"],$length)); }
556
+            if ($icon == 'icon') { echo "<img src='../img/quiz.gif' align=\"absmiddle\" alt='quizz'>"; }
557
+            if ($builder != 'builder')
558
+            {
559
+                echo "<a href=\"".api_get_self()."?action=closelesson&source_forum=".$_GET['source_forum']."&how=complete&id_in_path=$id_in_path&learnpath_id=$learnpath_id&type=Exercise&origin=$origin&exerciseId=".$myrow["id"]."#$id_in_path\" class='$completed'>".shorten($myrow["title"],($length-3*$level))."</a>";
560
+                $items[]=api_get_self()."?action=closelesson&source_forum=".$_GET['source_forum']."&how=complete&id_in_path=$id_in_path&learnpath_id=$learnpath_id&type=Exercise&origin=$origin&exerciseId=".$myrow["id"]."#$id_in_path";
561
+                if ($desc != '')
562
+                {
563
+                    if ($icon != 'wrap')
564
+                    {
565
+                        echo "</tr><tr><td></td><td></td><td><div class='description'>&nbsp;&nbsp;".shorten($desc,($length-3*$level))."</div></td></tr>";
566
+                    }
567
+                    else
568
+                    {
569
+                        echo "<div class='description'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;".shorten($desc,($length-3*$level))."</div>";
570
+                    }
571
+                }
572
+            }
573
+            else
574
+            {
575
+                echo "<a href=\"../exercice/exercise_submit.php?origin=$origin&exerciseId=".$myrow["id"]."\" class='$completed' target='_blank'>".shorten($myrow["title"],($length-3*$level))."</a>";
576
+            }
577
+            break;
578
+
579
+        case "HotPotatoes":
580
+            $TBL_DOCUMENT  = Database::get_course_table(TABLE_DOCUMENT);
581
+            $documentPath=api_get_path(SYS_COURSE_PATH).$_course['path'].'/document';
582
+            $result = Database::query("SELECT * FROM ".$TBL_DOCUMENT." WHERE id=$id");
583
+            $myrow= Database::fetch_array($result);
584
+            $path=$myrow["path"];
585
+            $name=GetQuizName($path,$documentPath);
586
+
587
+            if ($builder=='builder') { $origin='builder'; }
588
+                //this is needed for the exercise_submit.php can delete the session info about tests
589
+
590
+            $sql="select * from $tbl_learnpath_item where id=$id_in_path";
591
+            $result=Database::query($sql);	$row=Database::fetch_array($result);
592
+            if ($row['title'] != '') { $name=$row['title']; }
593
+            $desc=$row['description'];
594
+            echo str_repeat("&nbsp;&gt;",$level);
595
+
596
+            if (($builder != 'builder') and ($icon != 'wrap')) { echo "<td>"; }
597
+            if ($icon != 'nolink')
598
+            {
599
+                if ($completed=='completed') {
600
+                    echo "<img src='../img/checkbox_on2.gif' border='0' width='13' height='11' alt='on'>";
601
+                }	else {
602
+                    echo "<img src='../img/checkbox_on2.gif' border='0' width='13' height='11' alt='on' style='visibility: hidden'>";
603
+                    //echo "&nbsp;";
604
+                }
605
+            }
606
+            if (($builder != 'builder') and ($icon != 'wrap')) { echo "</td><td>"; }
607
+
608
+            if ($name=='') { echo "<span class='messagesmall'>".get_lang('StepDeleted1')." $type ".get_lang('StepDeleted2')."</span>"; return(true); }
609
+
610
+            if ($icon == 'nolink') { return(shorten($name,$length)); }
611
+            if ($icon == 'icon') { echo "<img src='../img/jqz.gif' align=\"absmiddle\" alt='hot potatoes'>"; }
612
+
613
+            $cid = $_course['official_code'];
614
+
615
+            if ($builder != 'builder')
616
+            {
617
+                echo "<a href=\"".api_get_self()."?action=closelesson&source_forum=".$_GET['source_forum']."&how=complete&id_in_path=$id_in_path&learnpath_id=$learnpath_id&type=HotPotatoes&origin=$origin&id=$id#$id_in_path\" class='$completed'>".shorten($name,($length-3*$level))."</a>";
618
+                $items[]=api_get_self()."?action=closelesson&source_forum=".$_GET['source_forum']."&how=complete&id_in_path=$id_in_path&learnpath_id=$learnpath_id&type=HotPotatoes&origin=$origin&id=$id#$id_in_path";
619
+                if ($desc != '')
620
+                {
621
+                    if ($icon != 'wrap')
622
+                    {
623
+                        echo "</tr><tr><td></td><td></td><td><div class='description'>&nbsp;&nbsp;".shorten($desc,($length-3*$level))."</div></td></tr>";
624
+                    }
625
+                    else
626
+                    {
627
+                        echo "<div class='description'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;".shorten($desc,($length-3*$level))."</div>";
628
+                    }
629
+                }
630
+            }
631
+            else
632
+            {
633
+                echo "&nbsp;<a href=\"../exercice/showinframes.php?file=$path&cid=$cid&uid=".$_user['user_id']."\" class='$completed' target='_blank'>".shorten($name,($length-3*$level))."</a>";
634
+            }
635
+            break;
636
+
637
+        case "Forum":
638
+            $TBL_FORUMS = Database::get_course_table(TABLE_FORUM);
639
+            $result= Database::query("SELECT * FROM $TBL_FORUMS WHERE forum_id=$id");
640
+            $myrow=Database::fetch_array($result);
641
+
642
+            $sql="select * from $tbl_learnpath_item where id=$id_in_path";
643
+            $result=Database::query($sql);	$row=Database::fetch_array($result);
644
+            if ($row['title'] != '') { $myrow["forum_name"]=$row['title']; }
645
+            $desc=$row['description'];
646
+            echo str_repeat("&nbsp;&gt;",$level);
647
+
648
+            if (($builder != 'builder') and ($icon != 'wrap')) { echo "<td>"; }
649
+            if ($icon != 'nolink')
650
+            {
651
+                if ($completed=='completed') {
652
+                    echo "<img src='../img/checkbox_on2.gif' border='0' width='13' height='11' alt='on'>";
653
+                }	else {
654
+                    echo "<img src='../img/checkbox_on2.gif' border='0' width='13' height='11' alt='on' style='visibility: hidden'>";
655
+                    //echo "&nbsp;";
656
+                }
657
+            }
658
+            if (($builder != 'builder') and ($icon != 'wrap')) { echo "</td><td>"; }
659
+
660
+            if ($myrow["forum_name"]=='') { $type="Forum"; echo "<span class='messagesmall'>".get_lang('StepDeleted1')." $type ".get_lang('StepDeleted2')."</span>"; return(true); }
661
+
662
+            if ($icon == 'nolink') { return(shorten($myrow["forum_name"],$length)); }
663
+            if ($icon == 'icon') { echo "<img src='../img/forum.gif' align=\"absmiddle\" alt='forum'>"; }
664
+            $forumparameters="forum=".$myrow["forum_id"]."&md5=".$myrow["md5"];
665
+            if ($builder != 'builder')
666
+            {
667
+                echo "<a href=\"".api_get_self()."?action=closelesson&source_forum=".$_GET['source_forum']."&how=complete&id_in_path=$id_in_path&learnpath_id=$learnpath_id&type=Forum&origin=$origin&forumparameters=$forumparameters#$id_in_path\" class='$completed'>".shorten($myrow["forum_name"],($length-3*$level))."</a>";
668
+                $items[]=api_get_self()."?action=closelesson&source_forum=".$_GET['source_forum']."&how=complete&id_in_path=$id_in_path&learnpath_id=$learnpath_id&type=Forum&origin=$origin&forumparameters=$forumparameters#$id_in_path";
669
+                if ($desc != '')
670
+                {
671
+                    if ($icon != 'wrap')
672
+                    {
673
+                        echo "</tr><tr><td></td><td></td><td><div class='description'>&nbsp;&nbsp;".shorten($desc,($length-3*$level))."</div></td></tr>";
674
+                    }
675
+                    else
676
+                    {
677
+                        echo "<div class='description'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;".shorten($desc,($length-3*$level))."</div>";
678
+                    }
679
+                }
680
+            }
681
+            else
682
+            {
683
+                echo "<a href=\"../phpbb/viewforum.php?$forumparameters\" class='$completed' target='_blank'>".shorten($myrow["forum_name"],($length-3*$level))."</a>";
684
+            }
685
+            break;
686
+
687
+        case "Thread":  //forum post
688 688
         //deprecated
689
-			$tbl_topics      = $_course['dbNameGlu'].'bb_topics';
690
-			$tbl_posts		 = $_course['dbNameGlu'].'bb_posts';
691
-			$TBL_FORUMS = $_course['dbNameGlu']."bb_forums";
692
-			$sql="SELECT * FROM $tbl_topics where topic_id=$id";
693
-			$result= Database::query($sql);
694
-			$myrow=Database::fetch_array($result);
695
-
696
-			$sql="select * from $tbl_learnpath_item where id=$id_in_path";
697
-			$result=Database::query($sql);	$row=Database::fetch_array($result);
698
-			if ($row['title'] != '') { $myrow["topic_title"]=$row['title']; }
699
-			$desc=$row['description'];
700
-			echo str_repeat("&nbsp;&gt;",$level);
701
-
702
-			if (($builder != 'builder') and ($icon != 'wrap')) { echo "<td>"; }
703
-			if ($icon != 'nolink')
704
-			{
705
-				if ($completed=='completed') {
706
-					echo "<img src='../img/checkbox_on2.gif' border='0' width='13' height='11' alt='on'>";
707
-				}	else {
708
-					echo "<img src='../img/checkbox_on2.gif' border='0' width='13' height='11' alt='on' style='visibility: hidden'>";
709
-					//echo "&nbsp;";
710
-				}
711
-			}
712
-			if (($builder != 'builder') and ($icon != 'wrap')) { echo "</td><td>"; }
713
-
714
-			if ($myrow["topic_title"]=='') { $type="Forum Post"; echo "<span class='messagesmall'>".get_lang('StepDeleted1')." $type ".get_lang('StepDeleted2')."</span>"; return(true); }
715
-
716
-			if ($icon == 'nolink') { return(shorten($myrow["topic_title"],$length)); }
717
-			if ($icon == 'icon') { echo "<img src='../img/forum.gif' align=\"absmiddle\" alt='forum'>"; }
718
-			if ($builder != 'builder')
719
-			{
720
-				echo "<a href=\"".api_get_self()."?action=closelesson&source_forum=".$_GET['source_forum']."&how=complete&id_in_path=$id_in_path&learnpath_id=$learnpath_id&type=Thread&origin=$origin&topic=".$myrow["topic_id"]."&forum=".$myrow["forum_id"]."&md5=".$myrow["md5"]."#$id_in_path\" class='$completed'>".shorten($myrow["topic_title"],($length-3*$level))."</a>";
721
-				$items[]=api_get_self()."?action=closelesson&source_forum=".$_GET['source_forum']."&how=complete&id_in_path=$id_in_path&learnpath_id=$learnpath_id&type=Thread&origin=$origin&topic=".$myrow["topic_id"]."&forum=".$myrow["forum_id"]."&md5=".$myrow["md5"]."#$id_in_path";
722
-				if ($desc != '')
723
-				{
724
-					if ($icon != 'wrap')
725
-					{
726
-						echo "</tr><tr><td></td><td></td><td><div class='description'>&nbsp;&nbsp;".shorten($desc,($length-3*$level))."</div></td></tr>";
727
-					}
728
-					else
729
-					{
730
-						echo "<div class='description'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;".shorten($desc,($length-3*$level))."</div>";
731
-					}
732
-				}
733
-			}
734
-			else
735
-			{
736
-				echo "<a href=\"../phpbb/viewtopic.php?topic=".$myrow["topic_id"]."&forum=".$myrow["forum_id"]."&md5=".$myrow["md5"]."\" class='$completed' target='_blank'>".shorten($myrow["topic_title"],($length-3*$level))."</a>";
737
-			}
738
-			break;
739
-
740
-		case "Post":
689
+            $tbl_topics      = $_course['dbNameGlu'].'bb_topics';
690
+            $tbl_posts		 = $_course['dbNameGlu'].'bb_posts';
691
+            $TBL_FORUMS = $_course['dbNameGlu']."bb_forums";
692
+            $sql="SELECT * FROM $tbl_topics where topic_id=$id";
693
+            $result= Database::query($sql);
694
+            $myrow=Database::fetch_array($result);
695
+
696
+            $sql="select * from $tbl_learnpath_item where id=$id_in_path";
697
+            $result=Database::query($sql);	$row=Database::fetch_array($result);
698
+            if ($row['title'] != '') { $myrow["topic_title"]=$row['title']; }
699
+            $desc=$row['description'];
700
+            echo str_repeat("&nbsp;&gt;",$level);
701
+
702
+            if (($builder != 'builder') and ($icon != 'wrap')) { echo "<td>"; }
703
+            if ($icon != 'nolink')
704
+            {
705
+                if ($completed=='completed') {
706
+                    echo "<img src='../img/checkbox_on2.gif' border='0' width='13' height='11' alt='on'>";
707
+                }	else {
708
+                    echo "<img src='../img/checkbox_on2.gif' border='0' width='13' height='11' alt='on' style='visibility: hidden'>";
709
+                    //echo "&nbsp;";
710
+                }
711
+            }
712
+            if (($builder != 'builder') and ($icon != 'wrap')) { echo "</td><td>"; }
713
+
714
+            if ($myrow["topic_title"]=='') { $type="Forum Post"; echo "<span class='messagesmall'>".get_lang('StepDeleted1')." $type ".get_lang('StepDeleted2')."</span>"; return(true); }
715
+
716
+            if ($icon == 'nolink') { return(shorten($myrow["topic_title"],$length)); }
717
+            if ($icon == 'icon') { echo "<img src='../img/forum.gif' align=\"absmiddle\" alt='forum'>"; }
718
+            if ($builder != 'builder')
719
+            {
720
+                echo "<a href=\"".api_get_self()."?action=closelesson&source_forum=".$_GET['source_forum']."&how=complete&id_in_path=$id_in_path&learnpath_id=$learnpath_id&type=Thread&origin=$origin&topic=".$myrow["topic_id"]."&forum=".$myrow["forum_id"]."&md5=".$myrow["md5"]."#$id_in_path\" class='$completed'>".shorten($myrow["topic_title"],($length-3*$level))."</a>";
721
+                $items[]=api_get_self()."?action=closelesson&source_forum=".$_GET['source_forum']."&how=complete&id_in_path=$id_in_path&learnpath_id=$learnpath_id&type=Thread&origin=$origin&topic=".$myrow["topic_id"]."&forum=".$myrow["forum_id"]."&md5=".$myrow["md5"]."#$id_in_path";
722
+                if ($desc != '')
723
+                {
724
+                    if ($icon != 'wrap')
725
+                    {
726
+                        echo "</tr><tr><td></td><td></td><td><div class='description'>&nbsp;&nbsp;".shorten($desc,($length-3*$level))."</div></td></tr>";
727
+                    }
728
+                    else
729
+                    {
730
+                        echo "<div class='description'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;".shorten($desc,($length-3*$level))."</div>";
731
+                    }
732
+                }
733
+            }
734
+            else
735
+            {
736
+                echo "<a href=\"../phpbb/viewtopic.php?topic=".$myrow["topic_id"]."&forum=".$myrow["forum_id"]."&md5=".$myrow["md5"]."\" class='$completed' target='_blank'>".shorten($myrow["topic_title"],($length-3*$level))."</a>";
737
+            }
738
+            break;
739
+
740
+        case "Post":
741 741
         //deprecated
742
-			$tbl_posts       = $_course['dbNameGlu'].'bb_posts';
743
-			$tbl_posts_text  = $_course['dbNameGlu'].'bb_posts_text';
744
-			$TBL_FORUMS = $_course['dbNameGlu']."bb_forums";
745
-			$result= Database::query("SELECT * FROM $tbl_posts where post_id=$id");
746
-			$myrow=Database::fetch_array($result);
747
-			// grabbing the title of the post
748
-			$sql_titel="SELECT * FROM $tbl_posts_text WHERE post_id=".$myrow["post_id"];
749
-			$result_titel=Database::query($sql_titel);
750
-			$myrow_titel=Database::fetch_array($result_titel);
751
-
752
-			$sql="select * from $tbl_learnpath_item where id=$id_in_path";
753
-			$result=Database::query($sql);	$row=Database::fetch_array($result);
754
-			if ($row['title'] != '') { $myrow_titel["post_title"]=$row['title']; }
755
-			$desc=$row['description'];
756
-			echo str_repeat("&nbsp;&gt;",$level);
757
-
758
-			$posternom=$myrow['nom'];				$posterprenom=$myrow['prenom'];
759
-			$posttime=$myrow['post_time'];			$posttext=$myrow_titel['post_text'];
760
-			$posttitle=$myrow_titel['post_title'];
761
-			$posttext = str_replace('"',"'",$posttext);
762
-
763
-			if (($builder != 'builder') and ($icon != 'wrap')) { echo "<td>"; }
764
-			if ($icon != 'nolink')
765
-			{
766
-				if ($completed=='completed') {
767
-					echo "<img src='../img/checkbox_on2.gif' border='0' width='13' height='11' alt='on'>";
768
-				}	else {
769
-					echo "<img src='../img/checkbox_on2.gif' border='0' width='13' height='11' alt='on' style='visibility: hidden'>";
770
-					//echo "&nbsp;";
771
-				}
772
-			}
773
-			if (($builder != 'builder') and ($icon != 'wrap')) { echo "</td><td>"; }
774
-
775
-			if ($myrow_titel["post_title"]=='')
776
-			{
777
-				$type="Forum";
778
-				echo "<span class='messagesmall'>".get_lang('StepDeleted1')." $type ".get_lang('StepDeleted2')."</span>"; return(true);
779
-			}
780
-
781
-			if ($icon == 'nolink') { return(shorten($myrow_titel["post_title"],$length)); }
782
-			if ($icon == 'icon') { echo "<img src='../img/forum.gif' align=\"absmiddle\" alt='forum'>"; }
783
-			if ($builder != 'builder')
784
-			{
785
-				echo "<a href=\"".api_get_self()."?action=closelesson&source_forum=".$_GET['source_forum']."&how=complete&id_in_path=$id_in_path&learnpath_id=$learnpath_id&type=Post&origin=$origin&posternom=$posternom&posterprenom=$posterprenom&posttime=$posttime&posttext=$posttext&posttitle=$posttitle#$id_in_path\" class='$completed'>".shorten($myrow_titel["post_title"],($length-3*$level))."</a>"; $items[]=api_get_self()."?action=closelesson&source_forum=".$_GET['source_forum']."&how=complete&id_in_path=$id_in_path&learnpath_id=$learnpath_id&type=Post&origin=$origin&posternom=$posternom&posterprenom=$posterprenom&posttime=$posttime&posttext=$posttext&posttitle=$posttitle#$id_in_path";
786
-				if ($desc != '')
787
-				{
788
-					if ($icon != 'wrap')
789
-					{
790
-						echo "</tr><tr><td></td><td></td><td><div class='description'>&nbsp;&nbsp;".shorten($desc,($length-3*$level))."</div></td></tr>";
791
-					}
792
-					else
793
-					{
794
-						echo "<div class='description'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;".shorten($desc,($length-3*$level))."</div>";
795
-					}
796
-				}
797
-			}
798
-			else
799
-			{
800
-				echo "<a href=\"../phpbb/viewtopic.php?topic=".$myrow["topic_id"]."&forum=".$myrow["forum_id"]."&md5=".$myrow["md5"]."\" class='$completed' target='_blank'>".shorten($myrow_titel["post_title"],($length-3*$level))."</a>";
801
-			}
802
-			break;
803
-
804
-		case "Document":
805
-			$dbTable  = Database::get_course_table(TABLE_DOCUMENT);
806
-			$result=Database::query("SELECT * FROM $dbTable WHERE id=$id");
807
-			$myrow=Database::fetch_array($result);
808
-
809
-			$pathname=explode("/",$myrow["path"]); // making a correct name for the link
810
-			$last=count($pathname)-1;  // making a correct name for the link
811
-			$filename=$pathname[$last];  // making a correct name for the link
812
-			if (($builder != 'builder') and ($icon != 'wrap')) { echo "<td>"; }
813
-
814
-			echo str_repeat("&nbsp;&gt;",$level);
815
-
816
-			if ($icon != 'nolink') {
817
-				if ($completed=='completed') {
818
-					echo "<img src='../img/checkbox_on2.gif' border='0' width='13' height='11' alt='on'>";
819
-				}	else {
820
-					echo "<img src='../img/checkbox_on2.gif' border='0' width='13' height='11' alt='on' style='visibility: hidden'>";
821
-					//echo "&nbsp;";
822
-				}
823
-			}
824
-			if (($builder != 'builder') and ($icon != 'wrap')) { echo "</td><td>"; }
825
-			$image=choose_image($filename);
826
-
827
-			$sql="select * from $tbl_learnpath_item where id=$id_in_path";
828
-			$result=Database::query($sql);	$row=Database::fetch_array($result);
829
-			if ($row['title'] != '') { $filename=$row['title']; }
830
-			$desc=$row['description'];
831
-
832
-			if (($myrow["path"]=='') and ($filename=='')) {
833
-				echo "<span class='messagesmall'>".get_lang('StepDeleted1')." $type ".get_lang('StepDeleted2')."</span>";
834
-				return(true);
835
-			}
836
-
837
-			if ($icon == 'nolink') { return(shorten($filename,$length)); }
838
-			if ($icon == 'icon') { echo "<img src='../img/$image' align=\"absmiddle\" alt='$image'>"; }
839
-			if ($builder != 'builder')
840
-			{
841
-				echo "<a href=\"".api_get_self()."?action=closelesson&source_forum=".$_GET['source_forum']."&how=complete&id_in_path=$id_in_path&learnpath_id=$learnpath_id&type=Document&origin=$origin&docurl=".$myrow["path"]."#$id_in_path\" class='$completed'>".shorten($filename,($length-3*$level))."</a>";
842
-				if ($desc != '')
843
-				{
844
-					if ($icon != 'wrap')
845
-					{
846
-						echo "</tr><tr><td></td><td></td><td><div class='description'>&nbsp;&nbsp;".shorten($desc,($length-3*$level))."</div></td></tr>";
847
-					}
848
-					else
849
-					{
850
-						echo "<div class='description'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;".shorten($desc,($length-3*$level))."</div>";
851
-					}
852
-				} $items[]=api_get_self()."?action=closelesson&source_forum=".$_GET['source_forum']."&how=complete&id_in_path=$id_in_path&learnpath_id=$learnpath_id&type=Document&origin=$origin&docurl=".$myrow["path"]."#$id_in_path";
853
-			}
854
-			else
855
-			{
856
-				$enableDocumentParsing='yes';
857
-				if (!$enableDocumentParsing)
858
-				{ //this is the solution for the non-parsing version in the builder
859
-					$file=urlencode($myrow["path"]);
860
-					echo "<a href='../document/showinframes.php?file=$file' class='$completed' $hyperlink_target_parameter>".shorten($filename,($length-3*$level))."</a>";
861
-				}
862
-				else
863
-				{
864
-					echo "<a href=\"../document/download.php?doc_url=".$myrow["path"]."\" class='$completed' $hyperlink_target_parameter>".shorten($filename,($length-3*$level))."</a>";
865
-				}
866
-			}
867
-			break;
868
-
869
-		case "Assignments":
870
-			$name=get_lang('Assignments');
871
-			$sql="select * from $tbl_learnpath_item where id=$id_in_path";
872
-			$result=Database::query($sql);	$row=Database::fetch_array($result);
873
-			if ($row['title'] != '') { $name=$row['title']; }
874
-			$desc=$row['description'];
875
-			echo str_repeat("&nbsp;&gt;",$level);
876
-
877
-			if (($builder != 'builder') and ($icon != 'wrap')) { echo "<td>"; }
878
-			if ($icon != 'nolink')
879
-			{
880
-				if ($completed=='completed') {
881
-					echo "<img src='../img/checkbox_on2.gif' border='0' width='13' height='11' alt='on'>";
882
-				}	else {
883
-					echo "<img src='../img/checkbox_on2.gif' border='0' width='13' height='11' alt='on' style='visibility: hidden'>";
884
-					//echo "&nbsp;";
885
-				}
886
-			}
887
-			if (($builder != 'builder') and ($icon != 'wrap')) { echo "</td><td>"; }
888
-
889
-			if ($name=='')
890
-			{
891
-				echo "<span class='messagesmall'>".get_lang('StepDeleted1')." $type ".get_lang('StepDeleted2')."</span>"; return(true);
892
-			}
893
-
894
-			if ($icon == 'nolink') { return(shorten($name,$length)); }
895
-			if ($icon == 'icon') { echo "<img src='../img/works.gif' align=\"absmiddle\">"; }
896
-			if ($builder != 'builder')
897
-			{
898
-				echo "<a href=\"".api_get_self()."?action=closelesson&source_forum=".$_GET['source_forum']."&how=complete&id_in_path=$id_in_path&learnpath_id=$learnpath_id&type=Assignments&origin=$origin#$id_in_path\" class='$completed'>".shorten($name,($length-3*$level))."</a>"; $items[]=api_get_self()."?action=closelesson&source_forum=".$_GET['source_forum']."&how=complete&id_in_path=$id_in_path&learnpath_id=$learnpath_id&type=Assignments&origin=$origin#$id_in_path";
899
-				if ($desc != '')
900
-				{
901
-					if ($icon != 'wrap')
902
-					{
903
-						echo "</tr><tr><td></td><td></td><td><div class='description'>&nbsp;&nbsp;".shorten($desc,($length-3*$level))."</div></td></tr>";
904
-					}
905
-					else
906
-					{
907
-						echo "<div class='description'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;".shorten($desc,($length-3*$level))."</div>";
908
-					}
909
-				}
910
-			}
911
-			else
912
-			{
913
-				echo "<a href=\"../work/work.php\" class='$completed' target='_blank'>".shorten($name,($length-3*$level))."</a>";
914
-			}
915
-			break;
916
-		case "Dropbox":
917
-			$name=get_lang('Dropbox');
918
-			$sql="select * from $tbl_learnpath_item where id=$id_in_path";
919
-			$result=Database::query($sql);	$row=Database::fetch_array($result);
920
-			if ($row['title'] != '') { $name=$row['title']; }
921
-			$desc=$row['description'];
922
-			echo str_repeat("&nbsp;&gt;",$level);
923
-
924
-			if (($builder != 'builder') and ($icon != 'wrap')) { echo "<td>"; }
925
-			if ($icon != 'nolink') {
926
-				if ($completed=='completed') {
927
-					echo "<img src='../img/checkbox_on2.gif' border='0' width='13' height='11' alt='on'>";
928
-				}	else {
929
-					echo "<img src='../img/checkbox_on2.gif' border='0' width='13' height='11' alt='on' style='visibility: hidden'>";
930
-					//echo "&nbsp;";
931
-				}
932
-			}
933
-			if (($builder != 'builder') and ($icon != 'wrap')) { echo "</td><td>"; }
934
-
935
-			if ($name=='') { echo "<span class='messagesmall'>".get_lang('StepDeleted1')." $type ".get_lang('StepDeleted2')."</span>"; return(true); }
936
-
937
-			if ($icon == 'nolink') { return(shorten($name,$length)); }
938
-			if ($icon == 'icon') { echo "<img src='../img/dropbox.gif' align=\"absmiddle\">"; }
939
-
940
-			if ($builder != 'builder')
941
-			{
942
-				echo "<a href=\"".api_get_self()."?action=closelesson&source_forum=".$_GET['source_forum']."&how=complete&id_in_path=$id_in_path&learnpath_id=$learnpath_id&type=Dropbox&origin=$origin#$id_in_path\" class='$completed'>".shorten($name,($length-3*$level))."</a>"; $items[]=api_get_self()."?action=closelesson&source_forum=".$_GET['source_forum']."&how=complete&id_in_path=$id_in_path&learnpath_id=$learnpath_id&type=Dropbox&origin=$origin#$id_in_path";
943
-				if ($desc != '') {
944
-					if ($icon != 'wrap') {
945
-						echo "</tr><tr><td></td><td></td><td><div class='description'>&nbsp;&nbsp;".shorten($desc,($length-3*$level))."</div></td></tr>"; }
946
-					else {
947
-						echo "<div class='description'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;".shorten($desc,($length-3*$level))."</div>"; }
948
-				}
949
-			} else {
950
-				echo "<a href=\"../dropbox/index.php\" class='$completed' target='_blank'>".shorten($name,($length-3*$level))."</a>";
951
-			}
952
-			break;
953
-		case "Introduction_text":
954
-			$name=get_lang('IntroductionText');
955
-			$sql="select * from $tbl_learnpath_item where id=$id_in_path";
956
-			$result=Database::query($sql);	$row=Database::fetch_array($result);
957
-			if ($row['title'] != '') { $name=$row['title']; }
958
-			$desc=$row['description'];
959
-			echo str_repeat("&nbsp;&gt;",$level);
960
-
961
-			if (($builder != 'builder') and ($icon != 'wrap')) { echo "<td>"; }
962
-			if ($icon != 'nolink') {
963
-				if ($completed=='completed') {
964
-					echo "<img src='../img/checkbox_on2.gif' border='0' width='13' height='11' alt='on'>";
965
-				}	else {
966
-					echo "<img src='../img/checkbox_on2.gif' border='0' width='13' height='11' alt='on' style='visibility: hidden'>";
967
-					//echo "&nbsp;";
968
-				}
969
-			}
970
-			if (($builder != 'builder') and ($icon != 'wrap')) { echo "</td><td>"; }
971
-
972
-			if ($name=='') { echo "<span class='messagesmall'>".get_lang('StepDeleted1')." $type ".get_lang('StepDeleted2')."</span>"; return(true); }
973
-
974
-			if ($icon == 'nolink') { return(shorten($name,$length)); }
975
-			if ($icon == 'icon') { echo "<img src='../img/introduction.gif' align=\"absmiddle\" alt='introduction'>"; }
976
-
977
-			if ($builder != 'builder')
978
-			{
979
-				echo "<a href=\"".api_get_self()."?action=closelesson&source_forum=".$_GET['source_forum']."&how=complete&id_in_path=$id_in_path&learnpath_id=$learnpath_id&type=Introduction_text&origin=$origin#$id_in_path\" class='$completed'>".shorten($name,($length-3*$level))."</a>";
980
-				$items[]=api_get_self()."?action=closelesson&source_forum=".$_GET['source_forum']."&how=complete&id_in_path=$id_in_path&learnpath_id=$learnpath_id&type=Introduction_text&origin=$origin#$id_in_path";
981
-				if ($desc != '') {
982
-					if ($icon != 'wrap') {
983
-						echo "</tr><tr><td></td><td></td><td><div class='description'>&nbsp;&nbsp;".shorten($desc,($length-3*$level))."</div></td></tr>"; }
984
-					else {
985
-						echo "<div class='description'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;".shorten($desc,($length-3*$level))."</div>"; }
986
-				}
987
-			} else {
988
-				$s = api_get_path(WEB_COURSE_PATH)."$_cid/index.php?intro_cmdEdit=1";
989
-				echo "<a href=\"$s\" class='$completed' target='_blank'>".shorten($name,($length-3*$level))."</a>";
990
-			}
991
-			break;
992
-		case "Course_description":
993
-			$name=get_lang('CourseDescription');
994
-			$sql="select * from $tbl_learnpath_item where id=$id_in_path";
995
-			$result=Database::query($sql);	$row=Database::fetch_array($result);
996
-			if ($row['title'] != '') { $name=$row['title']; }
997
-			$desc=$row['description'];
998
-			echo str_repeat("&nbsp;&gt;",$level);
999
-
1000
-			if (($builder != 'builder') and ($icon != 'wrap')) { echo "<td>"; }
1001
-			if ($icon != 'nolink') {
1002
-				if ($completed=='completed') {
1003
-					echo "<img src='../img/checkbox_on2.gif' border='0' width='13' height='11' alt='on'>";
1004
-				}	else {
1005
-					echo "<img src='../img/checkbox_on2.gif' border='0' width='13' height='11' alt='on' style='visibility: hidden'>";
1006
-					//echo "&nbsp;";
1007
-				}
1008
-			}
1009
-			if (($builder != 'builder') and ($icon != 'wrap')) { echo "</td><td>"; }
1010
-
1011
-			if ($name=='') { echo "<span class='messagesmall'>".get_lang('StepDeleted1')." $type ".get_lang('StepDeleted2')."</span>"; return(true); }
1012
-
1013
-			if ($icon == 'nolink') { return(shorten($name,$length)); }
1014
-			if ($icon == 'icon') { echo "<img src='../img/info.gif' align=\"absmiddle\" alt='info'>"; }
1015
-
1016
-			if ($builder != 'builder')
1017
-			{
1018
-				echo "<a href=\"".api_get_self()."?action=closelesson&source_forum=".$_GET['source_forum']."&how=complete&id_in_path=$id_in_path&learnpath_id=$learnpath_id&type=Course_description&origin=$origin#$id_in_path\" class='$completed'>".shorten($name,($length-3*$level))."</a>"; $items[]=api_get_self()."?action=closelesson&source_forum=".$_GET['source_forum']."&how=complete&id_in_path=$id_in_path&learnpath_id=$learnpath_id&type=Course_description&origin=$origin#$id_in_path";
1019
-				if ($desc != '') {
1020
-					if ($icon != 'wrap') {
1021
-						echo "</tr><tr><td></td><td></td><td><div class='description'>&nbsp;&nbsp;".shorten($desc,($length-3*$level))."</div></td></tr>"; }
1022
-					else {
1023
-						echo "<div class='description'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;".shorten($desc,($length-3*$level))."</div>"; }
1024
-				}
1025
-			} else {
1026
-				$s=api_get_path(WEB_CODE_PATH)."course_description";
1027
-				echo "<a href=\"$s\" class='$completed' target='_blank'>".shorten($name,($length-3*$level))."</a>";
1028
-			}
1029
-			break;
1030
-		case "Groups":
1031
-			$name=get_lang('Groups');
1032
-			$sql="select * from $tbl_learnpath_item where id=$id_in_path";
1033
-			$result=Database::query($sql);	$row=Database::fetch_array($result);
1034
-			if ($row['title'] != '') { $name=$row['title']; }
1035
-			$desc=$row['description'];
1036
-			echo str_repeat("&nbsp;&gt;",$level);
1037
-
1038
-			if (($builder != 'builder') and ($icon != 'wrap')) { echo "<td>"; }
1039
-			if ($icon != 'nolink') {
1040
-				if ($completed=='completed') {
1041
-					echo "<img src='../img/checkbox_on2.gif' border='0' width='13' height='11' alt='on'>";
1042
-				}	else {
1043
-					echo "<img src='../img/checkbox_on2.gif' border='0' width='13' height='11' alt='on' style='visibility: hidden'>";
1044
-					//echo "&nbsp;";
1045
-				}
1046
-			}
1047
-			if (($builder != 'builder') and ($icon != 'wrap')) { echo "</td><td>"; }
1048
-
1049
-			if ($name=='') { echo "<span class='messagesmall'>".get_lang('StepDeleted1')." $type ".get_lang('StepDeleted2')."</span>"; return(true); }
1050
-
1051
-			if ($icon == 'nolink') { return(shorten($name,$length)); }
1052
-			if ($icon == 'icon') { echo "<img src='../img/group.gif' align=\"absmiddle\" alt='group'>"; }
1053
-
1054
-			if ($builder != 'builder')
1055
-			{
1056
-				echo "<a href=\"".api_get_self()."?action=closelesson&source_forum=".$_GET['source_forum']."&how=complete&id_in_path=$id_in_path&learnpath_id=$learnpath_id&type=Groups&origin=$origin#$id_in_path\" class='$completed'>".shorten($name,($length-3*$level))."</a>"; $items[]=api_get_self()."?action=closelesson&source_forum=".$_GET['source_forum']."&how=complete&id_in_path=$id_in_path&learnpath_id=$learnpath_id&type=Groups&origin=$origin#$id_in_path";
1057
-				if ($desc != '') {
1058
-					if ($icon != 'wrap') {
1059
-						echo "</tr><tr><td></td><td></td><td><div class='description'>&nbsp;&nbsp;".shorten($desc,($length-3*$level))."</div></td></tr>"; }
1060
-					else {
1061
-						echo "<div class='description'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;".shorten($desc,($length-3*$level))."</div>"; }
1062
-				}
1063
-			} else {
1064
-				echo "<a href=\"../group/group.php?origin=$origin\" class='$completed' target='_blank'>".shorten($name,($length-3*$level))."</a>";
1065
-			}
1066
-			break;
1067
-		case "Users":
1068
-			$name=get_lang('Users');
1069
-			$sql="select * from $tbl_learnpath_item where id=$id_in_path";
1070
-			$result=Database::query($sql);	$row=Database::fetch_array($result);
1071
-			if ($row['title'] != '') { $name=$row['title']; }
1072
-			$desc=$row['description'];
1073
-			echo str_repeat("&nbsp;&gt;",$level);
1074
-
1075
-			if (($builder != 'builder') and ($icon != 'wrap')) { echo "<td>"; }
1076
-			if ($icon != 'nolink') {
1077
-				if ($completed=='completed') {
1078
-					echo "<img src='../img/checkbox_on2.gif' border='0' width='13' height='11' alt='on'>";
1079
-				}	else {
1080
-					echo "<img src='../img/checkbox_on2.gif' border='0' width='13' height='11' alt='on' style='visibility: hidden'>";
1081
-					//echo "&nbsp;";
1082
-				}
1083
-			}
1084
-			if (($builder != 'builder') and ($icon != 'wrap')) { echo "</td><td>"; }
1085
-
1086
-			if ($name=='') { echo "<span class='messagesmall'>".get_lang('StepDeleted1')." $type ".get_lang('StepDeleted2')."</span>"; return(true); }
1087
-
1088
-			if ($icon == 'nolink') { return(shorten($name,$length)); }
1089
-			if ($icon == 'icon') { echo "<img src='../img/members.gif' align=\"absmiddle\" alt='members'>"; }
1090
-
1091
-			if ($builder != 'builder')
1092
-			{
1093
-				echo "<a href=\"".api_get_self()."?action=closelesson&source_forum=".$_GET['source_forum']."&how=complete&id_in_path=$id_in_path&learnpath_id=$learnpath_id&type=Users&origin=$origin#$id_in_path\" class='$completed'>".shorten($name,($length-3*$level))."</a>"; $items[]=api_get_self()."?action=closelesson&source_forum=".$_GET['source_forum']."&how=complete&id_in_path=$id_in_path&learnpath_id=$learnpath_id&type=Users&origin=$origin#$id_in_path";
1094
-				if ($desc != '') {
1095
-					if ($icon != 'wrap') {
1096
-						echo "</tr><tr><td></td><td></td><td><div class='description'>&nbsp;&nbsp;".shorten($desc,($length-3*$level))."</div></td></tr>"; }
1097
-					else {
1098
-						echo "<div class='description'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;".shorten($desc,($length-3*$level))."</div>"; }
1099
-				}
1100
-			} else {
1101
-				echo "<a href=\"../user/user.php?origin=$origin\" class='$completed' target='_blank'>".shorten($name,($length-3*$level))."</a>";
1102
-			}
1103
-			break;
1104
-	}//end huge switch-statement
742
+            $tbl_posts       = $_course['dbNameGlu'].'bb_posts';
743
+            $tbl_posts_text  = $_course['dbNameGlu'].'bb_posts_text';
744
+            $TBL_FORUMS = $_course['dbNameGlu']."bb_forums";
745
+            $result= Database::query("SELECT * FROM $tbl_posts where post_id=$id");
746
+            $myrow=Database::fetch_array($result);
747
+            // grabbing the title of the post
748
+            $sql_titel="SELECT * FROM $tbl_posts_text WHERE post_id=".$myrow["post_id"];
749
+            $result_titel=Database::query($sql_titel);
750
+            $myrow_titel=Database::fetch_array($result_titel);
751
+
752
+            $sql="select * from $tbl_learnpath_item where id=$id_in_path";
753
+            $result=Database::query($sql);	$row=Database::fetch_array($result);
754
+            if ($row['title'] != '') { $myrow_titel["post_title"]=$row['title']; }
755
+            $desc=$row['description'];
756
+            echo str_repeat("&nbsp;&gt;",$level);
757
+
758
+            $posternom=$myrow['nom'];				$posterprenom=$myrow['prenom'];
759
+            $posttime=$myrow['post_time'];			$posttext=$myrow_titel['post_text'];
760
+            $posttitle=$myrow_titel['post_title'];
761
+            $posttext = str_replace('"',"'",$posttext);
762
+
763
+            if (($builder != 'builder') and ($icon != 'wrap')) { echo "<td>"; }
764
+            if ($icon != 'nolink')
765
+            {
766
+                if ($completed=='completed') {
767
+                    echo "<img src='../img/checkbox_on2.gif' border='0' width='13' height='11' alt='on'>";
768
+                }	else {
769
+                    echo "<img src='../img/checkbox_on2.gif' border='0' width='13' height='11' alt='on' style='visibility: hidden'>";
770
+                    //echo "&nbsp;";
771
+                }
772
+            }
773
+            if (($builder != 'builder') and ($icon != 'wrap')) { echo "</td><td>"; }
774
+
775
+            if ($myrow_titel["post_title"]=='')
776
+            {
777
+                $type="Forum";
778
+                echo "<span class='messagesmall'>".get_lang('StepDeleted1')." $type ".get_lang('StepDeleted2')."</span>"; return(true);
779
+            }
780
+
781
+            if ($icon == 'nolink') { return(shorten($myrow_titel["post_title"],$length)); }
782
+            if ($icon == 'icon') { echo "<img src='../img/forum.gif' align=\"absmiddle\" alt='forum'>"; }
783
+            if ($builder != 'builder')
784
+            {
785
+                echo "<a href=\"".api_get_self()."?action=closelesson&source_forum=".$_GET['source_forum']."&how=complete&id_in_path=$id_in_path&learnpath_id=$learnpath_id&type=Post&origin=$origin&posternom=$posternom&posterprenom=$posterprenom&posttime=$posttime&posttext=$posttext&posttitle=$posttitle#$id_in_path\" class='$completed'>".shorten($myrow_titel["post_title"],($length-3*$level))."</a>"; $items[]=api_get_self()."?action=closelesson&source_forum=".$_GET['source_forum']."&how=complete&id_in_path=$id_in_path&learnpath_id=$learnpath_id&type=Post&origin=$origin&posternom=$posternom&posterprenom=$posterprenom&posttime=$posttime&posttext=$posttext&posttitle=$posttitle#$id_in_path";
786
+                if ($desc != '')
787
+                {
788
+                    if ($icon != 'wrap')
789
+                    {
790
+                        echo "</tr><tr><td></td><td></td><td><div class='description'>&nbsp;&nbsp;".shorten($desc,($length-3*$level))."</div></td></tr>";
791
+                    }
792
+                    else
793
+                    {
794
+                        echo "<div class='description'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;".shorten($desc,($length-3*$level))."</div>";
795
+                    }
796
+                }
797
+            }
798
+            else
799
+            {
800
+                echo "<a href=\"../phpbb/viewtopic.php?topic=".$myrow["topic_id"]."&forum=".$myrow["forum_id"]."&md5=".$myrow["md5"]."\" class='$completed' target='_blank'>".shorten($myrow_titel["post_title"],($length-3*$level))."</a>";
801
+            }
802
+            break;
803
+
804
+        case "Document":
805
+            $dbTable  = Database::get_course_table(TABLE_DOCUMENT);
806
+            $result=Database::query("SELECT * FROM $dbTable WHERE id=$id");
807
+            $myrow=Database::fetch_array($result);
808
+
809
+            $pathname=explode("/",$myrow["path"]); // making a correct name for the link
810
+            $last=count($pathname)-1;  // making a correct name for the link
811
+            $filename=$pathname[$last];  // making a correct name for the link
812
+            if (($builder != 'builder') and ($icon != 'wrap')) { echo "<td>"; }
813
+
814
+            echo str_repeat("&nbsp;&gt;",$level);
815
+
816
+            if ($icon != 'nolink') {
817
+                if ($completed=='completed') {
818
+                    echo "<img src='../img/checkbox_on2.gif' border='0' width='13' height='11' alt='on'>";
819
+                }	else {
820
+                    echo "<img src='../img/checkbox_on2.gif' border='0' width='13' height='11' alt='on' style='visibility: hidden'>";
821
+                    //echo "&nbsp;";
822
+                }
823
+            }
824
+            if (($builder != 'builder') and ($icon != 'wrap')) { echo "</td><td>"; }
825
+            $image=choose_image($filename);
826
+
827
+            $sql="select * from $tbl_learnpath_item where id=$id_in_path";
828
+            $result=Database::query($sql);	$row=Database::fetch_array($result);
829
+            if ($row['title'] != '') { $filename=$row['title']; }
830
+            $desc=$row['description'];
831
+
832
+            if (($myrow["path"]=='') and ($filename=='')) {
833
+                echo "<span class='messagesmall'>".get_lang('StepDeleted1')." $type ".get_lang('StepDeleted2')."</span>";
834
+                return(true);
835
+            }
836
+
837
+            if ($icon == 'nolink') { return(shorten($filename,$length)); }
838
+            if ($icon == 'icon') { echo "<img src='../img/$image' align=\"absmiddle\" alt='$image'>"; }
839
+            if ($builder != 'builder')
840
+            {
841
+                echo "<a href=\"".api_get_self()."?action=closelesson&source_forum=".$_GET['source_forum']."&how=complete&id_in_path=$id_in_path&learnpath_id=$learnpath_id&type=Document&origin=$origin&docurl=".$myrow["path"]."#$id_in_path\" class='$completed'>".shorten($filename,($length-3*$level))."</a>";
842
+                if ($desc != '')
843
+                {
844
+                    if ($icon != 'wrap')
845
+                    {
846
+                        echo "</tr><tr><td></td><td></td><td><div class='description'>&nbsp;&nbsp;".shorten($desc,($length-3*$level))."</div></td></tr>";
847
+                    }
848
+                    else
849
+                    {
850
+                        echo "<div class='description'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;".shorten($desc,($length-3*$level))."</div>";
851
+                    }
852
+                } $items[]=api_get_self()."?action=closelesson&source_forum=".$_GET['source_forum']."&how=complete&id_in_path=$id_in_path&learnpath_id=$learnpath_id&type=Document&origin=$origin&docurl=".$myrow["path"]."#$id_in_path";
853
+            }
854
+            else
855
+            {
856
+                $enableDocumentParsing='yes';
857
+                if (!$enableDocumentParsing)
858
+                { //this is the solution for the non-parsing version in the builder
859
+                    $file=urlencode($myrow["path"]);
860
+                    echo "<a href='../document/showinframes.php?file=$file' class='$completed' $hyperlink_target_parameter>".shorten($filename,($length-3*$level))."</a>";
861
+                }
862
+                else
863
+                {
864
+                    echo "<a href=\"../document/download.php?doc_url=".$myrow["path"]."\" class='$completed' $hyperlink_target_parameter>".shorten($filename,($length-3*$level))."</a>";
865
+                }
866
+            }
867
+            break;
868
+
869
+        case "Assignments":
870
+            $name=get_lang('Assignments');
871
+            $sql="select * from $tbl_learnpath_item where id=$id_in_path";
872
+            $result=Database::query($sql);	$row=Database::fetch_array($result);
873
+            if ($row['title'] != '') { $name=$row['title']; }
874
+            $desc=$row['description'];
875
+            echo str_repeat("&nbsp;&gt;",$level);
876
+
877
+            if (($builder != 'builder') and ($icon != 'wrap')) { echo "<td>"; }
878
+            if ($icon != 'nolink')
879
+            {
880
+                if ($completed=='completed') {
881
+                    echo "<img src='../img/checkbox_on2.gif' border='0' width='13' height='11' alt='on'>";
882
+                }	else {
883
+                    echo "<img src='../img/checkbox_on2.gif' border='0' width='13' height='11' alt='on' style='visibility: hidden'>";
884
+                    //echo "&nbsp;";
885
+                }
886
+            }
887
+            if (($builder != 'builder') and ($icon != 'wrap')) { echo "</td><td>"; }
888
+
889
+            if ($name=='')
890
+            {
891
+                echo "<span class='messagesmall'>".get_lang('StepDeleted1')." $type ".get_lang('StepDeleted2')."</span>"; return(true);
892
+            }
893
+
894
+            if ($icon == 'nolink') { return(shorten($name,$length)); }
895
+            if ($icon == 'icon') { echo "<img src='../img/works.gif' align=\"absmiddle\">"; }
896
+            if ($builder != 'builder')
897
+            {
898
+                echo "<a href=\"".api_get_self()."?action=closelesson&source_forum=".$_GET['source_forum']."&how=complete&id_in_path=$id_in_path&learnpath_id=$learnpath_id&type=Assignments&origin=$origin#$id_in_path\" class='$completed'>".shorten($name,($length-3*$level))."</a>"; $items[]=api_get_self()."?action=closelesson&source_forum=".$_GET['source_forum']."&how=complete&id_in_path=$id_in_path&learnpath_id=$learnpath_id&type=Assignments&origin=$origin#$id_in_path";
899
+                if ($desc != '')
900
+                {
901
+                    if ($icon != 'wrap')
902
+                    {
903
+                        echo "</tr><tr><td></td><td></td><td><div class='description'>&nbsp;&nbsp;".shorten($desc,($length-3*$level))."</div></td></tr>";
904
+                    }
905
+                    else
906
+                    {
907
+                        echo "<div class='description'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;".shorten($desc,($length-3*$level))."</div>";
908
+                    }
909
+                }
910
+            }
911
+            else
912
+            {
913
+                echo "<a href=\"../work/work.php\" class='$completed' target='_blank'>".shorten($name,($length-3*$level))."</a>";
914
+            }
915
+            break;
916
+        case "Dropbox":
917
+            $name=get_lang('Dropbox');
918
+            $sql="select * from $tbl_learnpath_item where id=$id_in_path";
919
+            $result=Database::query($sql);	$row=Database::fetch_array($result);
920
+            if ($row['title'] != '') { $name=$row['title']; }
921
+            $desc=$row['description'];
922
+            echo str_repeat("&nbsp;&gt;",$level);
923
+
924
+            if (($builder != 'builder') and ($icon != 'wrap')) { echo "<td>"; }
925
+            if ($icon != 'nolink') {
926
+                if ($completed=='completed') {
927
+                    echo "<img src='../img/checkbox_on2.gif' border='0' width='13' height='11' alt='on'>";
928
+                }	else {
929
+                    echo "<img src='../img/checkbox_on2.gif' border='0' width='13' height='11' alt='on' style='visibility: hidden'>";
930
+                    //echo "&nbsp;";
931
+                }
932
+            }
933
+            if (($builder != 'builder') and ($icon != 'wrap')) { echo "</td><td>"; }
934
+
935
+            if ($name=='') { echo "<span class='messagesmall'>".get_lang('StepDeleted1')." $type ".get_lang('StepDeleted2')."</span>"; return(true); }
936
+
937
+            if ($icon == 'nolink') { return(shorten($name,$length)); }
938
+            if ($icon == 'icon') { echo "<img src='../img/dropbox.gif' align=\"absmiddle\">"; }
939
+
940
+            if ($builder != 'builder')
941
+            {
942
+                echo "<a href=\"".api_get_self()."?action=closelesson&source_forum=".$_GET['source_forum']."&how=complete&id_in_path=$id_in_path&learnpath_id=$learnpath_id&type=Dropbox&origin=$origin#$id_in_path\" class='$completed'>".shorten($name,($length-3*$level))."</a>"; $items[]=api_get_self()."?action=closelesson&source_forum=".$_GET['source_forum']."&how=complete&id_in_path=$id_in_path&learnpath_id=$learnpath_id&type=Dropbox&origin=$origin#$id_in_path";
943
+                if ($desc != '') {
944
+                    if ($icon != 'wrap') {
945
+                        echo "</tr><tr><td></td><td></td><td><div class='description'>&nbsp;&nbsp;".shorten($desc,($length-3*$level))."</div></td></tr>"; }
946
+                    else {
947
+                        echo "<div class='description'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;".shorten($desc,($length-3*$level))."</div>"; }
948
+                }
949
+            } else {
950
+                echo "<a href=\"../dropbox/index.php\" class='$completed' target='_blank'>".shorten($name,($length-3*$level))."</a>";
951
+            }
952
+            break;
953
+        case "Introduction_text":
954
+            $name=get_lang('IntroductionText');
955
+            $sql="select * from $tbl_learnpath_item where id=$id_in_path";
956
+            $result=Database::query($sql);	$row=Database::fetch_array($result);
957
+            if ($row['title'] != '') { $name=$row['title']; }
958
+            $desc=$row['description'];
959
+            echo str_repeat("&nbsp;&gt;",$level);
960
+
961
+            if (($builder != 'builder') and ($icon != 'wrap')) { echo "<td>"; }
962
+            if ($icon != 'nolink') {
963
+                if ($completed=='completed') {
964
+                    echo "<img src='../img/checkbox_on2.gif' border='0' width='13' height='11' alt='on'>";
965
+                }	else {
966
+                    echo "<img src='../img/checkbox_on2.gif' border='0' width='13' height='11' alt='on' style='visibility: hidden'>";
967
+                    //echo "&nbsp;";
968
+                }
969
+            }
970
+            if (($builder != 'builder') and ($icon != 'wrap')) { echo "</td><td>"; }
971
+
972
+            if ($name=='') { echo "<span class='messagesmall'>".get_lang('StepDeleted1')." $type ".get_lang('StepDeleted2')."</span>"; return(true); }
973
+
974
+            if ($icon == 'nolink') { return(shorten($name,$length)); }
975
+            if ($icon == 'icon') { echo "<img src='../img/introduction.gif' align=\"absmiddle\" alt='introduction'>"; }
976
+
977
+            if ($builder != 'builder')
978
+            {
979
+                echo "<a href=\"".api_get_self()."?action=closelesson&source_forum=".$_GET['source_forum']."&how=complete&id_in_path=$id_in_path&learnpath_id=$learnpath_id&type=Introduction_text&origin=$origin#$id_in_path\" class='$completed'>".shorten($name,($length-3*$level))."</a>";
980
+                $items[]=api_get_self()."?action=closelesson&source_forum=".$_GET['source_forum']."&how=complete&id_in_path=$id_in_path&learnpath_id=$learnpath_id&type=Introduction_text&origin=$origin#$id_in_path";
981
+                if ($desc != '') {
982
+                    if ($icon != 'wrap') {
983
+                        echo "</tr><tr><td></td><td></td><td><div class='description'>&nbsp;&nbsp;".shorten($desc,($length-3*$level))."</div></td></tr>"; }
984
+                    else {
985
+                        echo "<div class='description'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;".shorten($desc,($length-3*$level))."</div>"; }
986
+                }
987
+            } else {
988
+                $s = api_get_path(WEB_COURSE_PATH)."$_cid/index.php?intro_cmdEdit=1";
989
+                echo "<a href=\"$s\" class='$completed' target='_blank'>".shorten($name,($length-3*$level))."</a>";
990
+            }
991
+            break;
992
+        case "Course_description":
993
+            $name=get_lang('CourseDescription');
994
+            $sql="select * from $tbl_learnpath_item where id=$id_in_path";
995
+            $result=Database::query($sql);	$row=Database::fetch_array($result);
996
+            if ($row['title'] != '') { $name=$row['title']; }
997
+            $desc=$row['description'];
998
+            echo str_repeat("&nbsp;&gt;",$level);
999
+
1000
+            if (($builder != 'builder') and ($icon != 'wrap')) { echo "<td>"; }
1001
+            if ($icon != 'nolink') {
1002
+                if ($completed=='completed') {
1003
+                    echo "<img src='../img/checkbox_on2.gif' border='0' width='13' height='11' alt='on'>";
1004
+                }	else {
1005
+                    echo "<img src='../img/checkbox_on2.gif' border='0' width='13' height='11' alt='on' style='visibility: hidden'>";
1006
+                    //echo "&nbsp;";
1007
+                }
1008
+            }
1009
+            if (($builder != 'builder') and ($icon != 'wrap')) { echo "</td><td>"; }
1010
+
1011
+            if ($name=='') { echo "<span class='messagesmall'>".get_lang('StepDeleted1')." $type ".get_lang('StepDeleted2')."</span>"; return(true); }
1012
+
1013
+            if ($icon == 'nolink') { return(shorten($name,$length)); }
1014
+            if ($icon == 'icon') { echo "<img src='../img/info.gif' align=\"absmiddle\" alt='info'>"; }
1015
+
1016
+            if ($builder != 'builder')
1017
+            {
1018
+                echo "<a href=\"".api_get_self()."?action=closelesson&source_forum=".$_GET['source_forum']."&how=complete&id_in_path=$id_in_path&learnpath_id=$learnpath_id&type=Course_description&origin=$origin#$id_in_path\" class='$completed'>".shorten($name,($length-3*$level))."</a>"; $items[]=api_get_self()."?action=closelesson&source_forum=".$_GET['source_forum']."&how=complete&id_in_path=$id_in_path&learnpath_id=$learnpath_id&type=Course_description&origin=$origin#$id_in_path";
1019
+                if ($desc != '') {
1020
+                    if ($icon != 'wrap') {
1021
+                        echo "</tr><tr><td></td><td></td><td><div class='description'>&nbsp;&nbsp;".shorten($desc,($length-3*$level))."</div></td></tr>"; }
1022
+                    else {
1023
+                        echo "<div class='description'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;".shorten($desc,($length-3*$level))."</div>"; }
1024
+                }
1025
+            } else {
1026
+                $s=api_get_path(WEB_CODE_PATH)."course_description";
1027
+                echo "<a href=\"$s\" class='$completed' target='_blank'>".shorten($name,($length-3*$level))."</a>";
1028
+            }
1029
+            break;
1030
+        case "Groups":
1031
+            $name=get_lang('Groups');
1032
+            $sql="select * from $tbl_learnpath_item where id=$id_in_path";
1033
+            $result=Database::query($sql);	$row=Database::fetch_array($result);
1034
+            if ($row['title'] != '') { $name=$row['title']; }
1035
+            $desc=$row['description'];
1036
+            echo str_repeat("&nbsp;&gt;",$level);
1037
+
1038
+            if (($builder != 'builder') and ($icon != 'wrap')) { echo "<td>"; }
1039
+            if ($icon != 'nolink') {
1040
+                if ($completed=='completed') {
1041
+                    echo "<img src='../img/checkbox_on2.gif' border='0' width='13' height='11' alt='on'>";
1042
+                }	else {
1043
+                    echo "<img src='../img/checkbox_on2.gif' border='0' width='13' height='11' alt='on' style='visibility: hidden'>";
1044
+                    //echo "&nbsp;";
1045
+                }
1046
+            }
1047
+            if (($builder != 'builder') and ($icon != 'wrap')) { echo "</td><td>"; }
1048
+
1049
+            if ($name=='') { echo "<span class='messagesmall'>".get_lang('StepDeleted1')." $type ".get_lang('StepDeleted2')."</span>"; return(true); }
1050
+
1051
+            if ($icon == 'nolink') { return(shorten($name,$length)); }
1052
+            if ($icon == 'icon') { echo "<img src='../img/group.gif' align=\"absmiddle\" alt='group'>"; }
1053
+
1054
+            if ($builder != 'builder')
1055
+            {
1056
+                echo "<a href=\"".api_get_self()."?action=closelesson&source_forum=".$_GET['source_forum']."&how=complete&id_in_path=$id_in_path&learnpath_id=$learnpath_id&type=Groups&origin=$origin#$id_in_path\" class='$completed'>".shorten($name,($length-3*$level))."</a>"; $items[]=api_get_self()."?action=closelesson&source_forum=".$_GET['source_forum']."&how=complete&id_in_path=$id_in_path&learnpath_id=$learnpath_id&type=Groups&origin=$origin#$id_in_path";
1057
+                if ($desc != '') {
1058
+                    if ($icon != 'wrap') {
1059
+                        echo "</tr><tr><td></td><td></td><td><div class='description'>&nbsp;&nbsp;".shorten($desc,($length-3*$level))."</div></td></tr>"; }
1060
+                    else {
1061
+                        echo "<div class='description'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;".shorten($desc,($length-3*$level))."</div>"; }
1062
+                }
1063
+            } else {
1064
+                echo "<a href=\"../group/group.php?origin=$origin\" class='$completed' target='_blank'>".shorten($name,($length-3*$level))."</a>";
1065
+            }
1066
+            break;
1067
+        case "Users":
1068
+            $name=get_lang('Users');
1069
+            $sql="select * from $tbl_learnpath_item where id=$id_in_path";
1070
+            $result=Database::query($sql);	$row=Database::fetch_array($result);
1071
+            if ($row['title'] != '') { $name=$row['title']; }
1072
+            $desc=$row['description'];
1073
+            echo str_repeat("&nbsp;&gt;",$level);
1074
+
1075
+            if (($builder != 'builder') and ($icon != 'wrap')) { echo "<td>"; }
1076
+            if ($icon != 'nolink') {
1077
+                if ($completed=='completed') {
1078
+                    echo "<img src='../img/checkbox_on2.gif' border='0' width='13' height='11' alt='on'>";
1079
+                }	else {
1080
+                    echo "<img src='../img/checkbox_on2.gif' border='0' width='13' height='11' alt='on' style='visibility: hidden'>";
1081
+                    //echo "&nbsp;";
1082
+                }
1083
+            }
1084
+            if (($builder != 'builder') and ($icon != 'wrap')) { echo "</td><td>"; }
1085
+
1086
+            if ($name=='') { echo "<span class='messagesmall'>".get_lang('StepDeleted1')." $type ".get_lang('StepDeleted2')."</span>"; return(true); }
1087
+
1088
+            if ($icon == 'nolink') { return(shorten($name,$length)); }
1089
+            if ($icon == 'icon') { echo "<img src='../img/members.gif' align=\"absmiddle\" alt='members'>"; }
1090
+
1091
+            if ($builder != 'builder')
1092
+            {
1093
+                echo "<a href=\"".api_get_self()."?action=closelesson&source_forum=".$_GET['source_forum']."&how=complete&id_in_path=$id_in_path&learnpath_id=$learnpath_id&type=Users&origin=$origin#$id_in_path\" class='$completed'>".shorten($name,($length-3*$level))."</a>"; $items[]=api_get_self()."?action=closelesson&source_forum=".$_GET['source_forum']."&how=complete&id_in_path=$id_in_path&learnpath_id=$learnpath_id&type=Users&origin=$origin#$id_in_path";
1094
+                if ($desc != '') {
1095
+                    if ($icon != 'wrap') {
1096
+                        echo "</tr><tr><td></td><td></td><td><div class='description'>&nbsp;&nbsp;".shorten($desc,($length-3*$level))."</div></td></tr>"; }
1097
+                    else {
1098
+                        echo "<div class='description'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;".shorten($desc,($length-3*$level))."</div>"; }
1099
+                }
1100
+            } else {
1101
+                echo "<a href=\"../user/user.php?origin=$origin\" class='$completed' target='_blank'>".shorten($name,($length-3*$level))."</a>";
1102
+            }
1103
+            break;
1104
+    }//end huge switch-statement
1105 1105
 }
1106 1106
 
1107 1107
 /**
@@ -1116,253 +1116,253 @@  discard block
 block discarded – undo
1116 1116
 */
1117 1117
 function get_addedresource_link_in_learnpath($type, $id, $id_in_path)
1118 1118
 {
1119
-	global $_course, $learnpath_id, $tbl_learnpath_item, $items;
1120
-	global $curDirPath, $_configuration, $enableDocumentParsing, $_user , $_cid;
1121
-
1122
-	$hyperlink_target_parameter = ""; //or e.g. target='_blank'
1123
- $builder = 'player';
1124
-	$origin='learnpath';
1125
-
1126
-	$linktype=$type;
1127
-	if (($type=="Link _self") or ($type=="Link _blank")) { $type="Link"; }
1128
-
1129
- $link = '';
1130
-
1131
-	switch ($type)
1132
-	{
1133
-		case "Agenda":
1134
-			$TABLEAGENDA 		= Database::get_course_table(TABLE_AGENDA);;
1135
-			$result = Database::query("SELECT * FROM $TABLEAGENDA WHERE id=$id");
1136
-			$myrow=Database::fetch_array($result);
1137
-
1138
-			$sql="select * from $tbl_learnpath_item where id=$id_in_path";
1139
-			$result=Database::query($sql);	$row=Database::fetch_array($result);
1140
-			if ($row['title'] != '') { $myrow["title"]=$row['title']; }
1141
-			$desc=$row['description'];
1142
-			$agenda_id=$row['item_id'];
1143
-
1144
-			if ($builder != 'builder')
1145
-			{
1146
-				$link .= api_get_self()."?action=closelesson&source_forum=".$_GET['source_forum']."&how=complete&id_in_path=$id_in_path&learnpath_id=$learnpath_id&type=Agenda&origin=$origin&agenda_id=$agenda_id#$id_in_path";
1147
-			}
1148
-			else
1149
-			{
1150
-				$link .= "../calendar/agenda.php?origin=$origin&agenda_id=$agenda_id";
1151
-			}
1152
-			break;
1153
-
1154
-		case "Ad_Valvas":
1155
-			$tbl_announcement = Database::get_course_table(TABLE_ANNOUNCEMENT);
1156
-			$result = Database::query("SELECT * FROM $tbl_announcement WHERE id=$id");
1157
-			$myrow=Database::fetch_array($result);
1158
-
1159
-			if ($builder != 'builder')
1160
-			{
1161
-				$link .= api_get_self()."?action=closelesson&source_forum=".$_GET['source_forum']."&how=complete&id_in_path=$id_in_path&learnpath_id=$learnpath_id&type=Ad_Valvas&origin=$origin&ann_id=$id#$id_in_path";
1162
-			}
1163
-			else
1164
-			{
1165
-				$link .= "../announcements/announcements.php?origin=$origin&ann_id=$id";
1166
-			}
1167
-			break;
1168
-
1169
-		case "Link" :
1170
-			$TABLETOOLLINK	= Database::get_course_table(TABLE_LINK);
1171
-			$result= Database::query("SELECT * FROM $TABLETOOLLINK WHERE id=$id");
1172
-			$myrow=Database::fetch_array($result);
1173
-
1174
-			$sql="select * from $tbl_learnpath_item where id=$id_in_path";
1175
-			$result=Database::query($sql);	$row=Database::fetch_array($result);
1176
-
1177
-			$thelink=$myrow["url"];
1178
-			if ($builder != 'builder')
1179
-			{
1180
-				$link .= api_get_self()."?action=closelesson&source_forum=".$_GET['source_forum']."&how=complete&id_in_path=$id_in_path&learnpath_id=$learnpath_id&type=$linktype&origin=$origin&thelink=$thelink#$id_in_path";
1181
-			}
1182
-			else
1183
-			{
1184
-				$link .= $thelink;
1185
-			}
1186
-			break;
1187
-
1188
-		case "Exercise":
1189
-			$TBL_EXERCICES  = Database::get_course_table(TABLE_QUIZ_TEST);
1190
-			$result= Database::query("SELECT * FROM $TBL_EXERCICES WHERE id=$id");
1191
-			$myrow=Database::fetch_array($result);
1192
-
1193
-			if ($builder=='builder') { $origin='builder'; }
1194
-			  //this is needed for the exercise_submit.php can delete the session info about tests
1195
-
1196
-			$sql="select * from $tbl_learnpath_item where id=$id_in_path";
1197
-			$result=Database::query($sql);	$row=Database::fetch_array($result);
1198
-			if ($row['title'] != '') { $myrow["title"]=$row['title']; }
1199
-
1200
-			if ($builder != 'builder')
1201
-			{
1202
-				$link .= api_get_self()."?action=closelesson&source_forum=".$_GET['source_forum']."&how=complete&id_in_path=$id_in_path&learnpath_id=$learnpath_id&type=Exercise&origin=$origin&exerciseId=".$myrow["id"]."#$id_in_path";
1203
-			}
1204
-			else
1205
-			{
1206
-				$link .= "../exercice/exercise_submit.php?origin=$origin&exerciseId=".$myrow["id"];
1207
-			}
1208
-			break;
1209
-
1210
-		case "HotPotatoes":
1211
-	  	    $TBL_DOCUMENT  = Database::get_course_table(TABLE_DOCUMENT);
1212
-		    $documentPath=api_get_path(SYS_COURSE_PATH).$_course['path'].'/document';
1213
-			$result = Database::query("SELECT * FROM ".$TBL_DOCUMENT." WHERE id=$id");
1214
-		    $myrow= Database::fetch_array($result);
1215
-		    $path=$myrow["path"];
1216
-		  	$name=GetQuizName($path,$documentPath);
1217
-
1218
-			if ($builder=='builder') { $origin='builder'; }
1219
-
1220
-			$cid = $_course['official_code'];
1221
-
1222
-			if ($builder != 'builder')
1223
-			{
1224
-				$link .= api_get_self()."?action=closelesson&source_forum=".$_GET['source_forum']."&how=complete&id_in_path=$id_in_path&learnpath_id=$learnpath_id&type=HotPotatoes&origin=$origin&id=$id#$id_in_path";
1225
-			}
1226
-			else
1227
-			{
1228
-				$link .= "../exercice/showinframes.php?file=$path&cid=$cid&uid=".$_user['user_id']."";
1229
-			}
1230
-			break;
1231
-
1232
-		case "Forum":
1119
+    global $_course, $learnpath_id, $tbl_learnpath_item, $items;
1120
+    global $curDirPath, $_configuration, $enableDocumentParsing, $_user , $_cid;
1121
+
1122
+    $hyperlink_target_parameter = ""; //or e.g. target='_blank'
1123
+    $builder = 'player';
1124
+    $origin='learnpath';
1125
+
1126
+    $linktype=$type;
1127
+    if (($type=="Link _self") or ($type=="Link _blank")) { $type="Link"; }
1128
+
1129
+    $link = '';
1130
+
1131
+    switch ($type)
1132
+    {
1133
+        case "Agenda":
1134
+            $TABLEAGENDA 		= Database::get_course_table(TABLE_AGENDA);;
1135
+            $result = Database::query("SELECT * FROM $TABLEAGENDA WHERE id=$id");
1136
+            $myrow=Database::fetch_array($result);
1137
+
1138
+            $sql="select * from $tbl_learnpath_item where id=$id_in_path";
1139
+            $result=Database::query($sql);	$row=Database::fetch_array($result);
1140
+            if ($row['title'] != '') { $myrow["title"]=$row['title']; }
1141
+            $desc=$row['description'];
1142
+            $agenda_id=$row['item_id'];
1143
+
1144
+            if ($builder != 'builder')
1145
+            {
1146
+                $link .= api_get_self()."?action=closelesson&source_forum=".$_GET['source_forum']."&how=complete&id_in_path=$id_in_path&learnpath_id=$learnpath_id&type=Agenda&origin=$origin&agenda_id=$agenda_id#$id_in_path";
1147
+            }
1148
+            else
1149
+            {
1150
+                $link .= "../calendar/agenda.php?origin=$origin&agenda_id=$agenda_id";
1151
+            }
1152
+            break;
1153
+
1154
+        case "Ad_Valvas":
1155
+            $tbl_announcement = Database::get_course_table(TABLE_ANNOUNCEMENT);
1156
+            $result = Database::query("SELECT * FROM $tbl_announcement WHERE id=$id");
1157
+            $myrow=Database::fetch_array($result);
1158
+
1159
+            if ($builder != 'builder')
1160
+            {
1161
+                $link .= api_get_self()."?action=closelesson&source_forum=".$_GET['source_forum']."&how=complete&id_in_path=$id_in_path&learnpath_id=$learnpath_id&type=Ad_Valvas&origin=$origin&ann_id=$id#$id_in_path";
1162
+            }
1163
+            else
1164
+            {
1165
+                $link .= "../announcements/announcements.php?origin=$origin&ann_id=$id";
1166
+            }
1167
+            break;
1168
+
1169
+        case "Link" :
1170
+            $TABLETOOLLINK	= Database::get_course_table(TABLE_LINK);
1171
+            $result= Database::query("SELECT * FROM $TABLETOOLLINK WHERE id=$id");
1172
+            $myrow=Database::fetch_array($result);
1173
+
1174
+            $sql="select * from $tbl_learnpath_item where id=$id_in_path";
1175
+            $result=Database::query($sql);	$row=Database::fetch_array($result);
1176
+
1177
+            $thelink=$myrow["url"];
1178
+            if ($builder != 'builder')
1179
+            {
1180
+                $link .= api_get_self()."?action=closelesson&source_forum=".$_GET['source_forum']."&how=complete&id_in_path=$id_in_path&learnpath_id=$learnpath_id&type=$linktype&origin=$origin&thelink=$thelink#$id_in_path";
1181
+            }
1182
+            else
1183
+            {
1184
+                $link .= $thelink;
1185
+            }
1186
+            break;
1187
+
1188
+        case "Exercise":
1189
+            $TBL_EXERCICES  = Database::get_course_table(TABLE_QUIZ_TEST);
1190
+            $result= Database::query("SELECT * FROM $TBL_EXERCICES WHERE id=$id");
1191
+            $myrow=Database::fetch_array($result);
1192
+
1193
+            if ($builder=='builder') { $origin='builder'; }
1194
+                //this is needed for the exercise_submit.php can delete the session info about tests
1195
+
1196
+            $sql="select * from $tbl_learnpath_item where id=$id_in_path";
1197
+            $result=Database::query($sql);	$row=Database::fetch_array($result);
1198
+            if ($row['title'] != '') { $myrow["title"]=$row['title']; }
1199
+
1200
+            if ($builder != 'builder')
1201
+            {
1202
+                $link .= api_get_self()."?action=closelesson&source_forum=".$_GET['source_forum']."&how=complete&id_in_path=$id_in_path&learnpath_id=$learnpath_id&type=Exercise&origin=$origin&exerciseId=".$myrow["id"]."#$id_in_path";
1203
+            }
1204
+            else
1205
+            {
1206
+                $link .= "../exercice/exercise_submit.php?origin=$origin&exerciseId=".$myrow["id"];
1207
+            }
1208
+            break;
1209
+
1210
+        case "HotPotatoes":
1211
+              $TBL_DOCUMENT  = Database::get_course_table(TABLE_DOCUMENT);
1212
+            $documentPath=api_get_path(SYS_COURSE_PATH).$_course['path'].'/document';
1213
+            $result = Database::query("SELECT * FROM ".$TBL_DOCUMENT." WHERE id=$id");
1214
+            $myrow= Database::fetch_array($result);
1215
+            $path=$myrow["path"];
1216
+                $name=GetQuizName($path,$documentPath);
1217
+
1218
+            if ($builder=='builder') { $origin='builder'; }
1219
+
1220
+            $cid = $_course['official_code'];
1221
+
1222
+            if ($builder != 'builder')
1223
+            {
1224
+                $link .= api_get_self()."?action=closelesson&source_forum=".$_GET['source_forum']."&how=complete&id_in_path=$id_in_path&learnpath_id=$learnpath_id&type=HotPotatoes&origin=$origin&id=$id#$id_in_path";
1225
+            }
1226
+            else
1227
+            {
1228
+                $link .= "../exercice/showinframes.php?file=$path&cid=$cid&uid=".$_user['user_id']."";
1229
+            }
1230
+            break;
1231
+
1232
+        case "Forum":
1233 1233
         //deprecated
1234
-			$TBL_FORUMS = Database::get_course_table(TABLE_FORUM);
1235
-			$result= Database::query("SELECT * FROM $TBL_FORUMS WHERE forum_id=$id");
1236
-			$myrow=Database::fetch_array($result);
1237
-
1238
-			if ($builder=='builder') { $origin='builder'; }
1239
-
1240
-			$sql="select * from $tbl_learnpath_item where id=$id_in_path";
1241
-			$result=Database::query($sql);	$row=Database::fetch_array($result);
1242
-			if ($row['title'] != '') { $myrow["forum_name"]=$row['title']; }
1243
-
1244
-			if ($myrow["forum_name"]=='') { $type="Forum"; }
1245
-
1246
-			$forumparameters="forum=".$myrow["forum_id"]."&md5=".$myrow["md5"];
1247
-			if ($builder != 'builder')
1248
-			{
1249
-				$link .= api_get_self()."?action=closelesson&source_forum=".$_GET['source_forum']."&how=complete&id_in_path=$id_in_path&learnpath_id=$learnpath_id&type=Forum&origin=$origin&forumparameters=$forumparameters#$id_in_path";
1250
-			}
1251
-			else
1252
-			{
1253
-				$link .= "../phpbb/viewforum.php?$forumparameters";
1254
-			}
1255
-			break;
1256
-
1257
-		case "Thread":  //forum post
1234
+            $TBL_FORUMS = Database::get_course_table(TABLE_FORUM);
1235
+            $result= Database::query("SELECT * FROM $TBL_FORUMS WHERE forum_id=$id");
1236
+            $myrow=Database::fetch_array($result);
1237
+
1238
+            if ($builder=='builder') { $origin='builder'; }
1239
+
1240
+            $sql="select * from $tbl_learnpath_item where id=$id_in_path";
1241
+            $result=Database::query($sql);	$row=Database::fetch_array($result);
1242
+            if ($row['title'] != '') { $myrow["forum_name"]=$row['title']; }
1243
+
1244
+            if ($myrow["forum_name"]=='') { $type="Forum"; }
1245
+
1246
+            $forumparameters="forum=".$myrow["forum_id"]."&md5=".$myrow["md5"];
1247
+            if ($builder != 'builder')
1248
+            {
1249
+                $link .= api_get_self()."?action=closelesson&source_forum=".$_GET['source_forum']."&how=complete&id_in_path=$id_in_path&learnpath_id=$learnpath_id&type=Forum&origin=$origin&forumparameters=$forumparameters#$id_in_path";
1250
+            }
1251
+            else
1252
+            {
1253
+                $link .= "../phpbb/viewforum.php?$forumparameters";
1254
+            }
1255
+            break;
1256
+
1257
+        case "Thread":  //forum post
1258 1258
         //deprecated
1259
-			$tbl_topics      = $_course['dbNameGlu'].'bb_topics';
1260
-			$tbl_posts		 = $_course['dbNameGlu'].'bb_posts';
1261
-			$TBL_FORUMS = $_course['dbNameGlu']."bb_forums";
1262
-			$sql="SELECT * FROM $tbl_topics where topic_id=$id";
1263
-			$result= Database::query($sql);
1264
-			$myrow=Database::fetch_array($result);
1265
-
1266
-			$sql="select * from $tbl_learnpath_item where id=$id_in_path";
1267
-			$result=Database::query($sql);	$row=Database::fetch_array($result);
1268
-
1269
-			if ($builder != 'builder')
1270
-			{
1271
-				$link .= api_get_self()."?action=closelesson&source_forum=".$_GET['source_forum']."&how=complete&id_in_path=$id_in_path&learnpath_id=$learnpath_id&type=Thread&origin=$origin&topic=".$myrow["topic_id"]."&forum=".$myrow["forum_id"]."&md5=".$myrow["md5"]."#$id_in_path";
1272
-			}
1273
-			else
1274
-			{
1275
-				$link .= "../phpbb/viewtopic.php?topic=".$myrow["topic_id"]."&forum=".$myrow["forum_id"]."&md5=".$myrow["md5"];
1276
-			}
1277
-			break;
1278
-		case "Post":
1279
-			break;
1280
-		case "Document":
1281
-			$dbTable  = Database::get_course_table(TABLE_DOCUMENT);
1282
-			$result=Database::query("SELECT * FROM $dbTable WHERE id=$id",__FILE__,__LINE);
1283
-			$myrow=Database::fetch_array($result);
1284
-
1285
-			$pathname=explode("/",$myrow["path"]); // making a correct name for the link
1286
-			$last=count($pathname)-1;  // making a correct name for the link
1287
-			$filename=$pathname[$last];  // making a correct name for the link
1288
-
1289
-			$sql="select * from $tbl_learnpath_item where id=$id_in_path";
1290
-			$result=Database::query($sql);	$row=Database::fetch_array($result);
1291
-
1292
-			if ($builder != 'builder')
1293
-			{
1294
-				$link .= api_get_self()."?action=closelesson&source_forum=".$_GET['source_forum']."&how=complete&id_in_path=$id_in_path&learnpath_id=$learnpath_id&type=Document&origin=$origin&docurl=".$myrow["path"]."#$id_in_path";
1295
-
1296
-			}
1297
-			else
1298
-			{
1299
-				$enableDocumentParsing='yes';
1300
-				if (!$enableDocumentParsing)
1301
-				{ //this is the solution for the non-parsing version in the builder
1302
-					$file=urlencode($myrow["path"]);
1303
-					$link .= "../document/showinframes.php?file=$file";
1304
-				}
1305
-				else
1306
-				{
1307
-					$link .= "../document/download.php?doc_url=".$myrow["path"];
1308
-				}
1309
-			}
1310
-			break;
1311
-
1312
-		case "Assignments":
1313
-			if ($builder != 'builder')
1314
-			{
1315
-				$link .= api_get_self()."?action=closelesson&source_forum=".$_GET['source_forum']."&how=complete&id_in_path=$id_in_path&learnpath_id=$learnpath_id&type=Assignments&origin=$origin#$id_in_path";
1316
-			}
1317
-			else
1318
-			{
1319
-				$link .= "../work/work.php";
1320
-			}
1321
-			break;
1322
-		case "Dropbox":
1323
-			if ($builder != 'builder')
1324
-			{
1325
-				$link .= api_get_self()."?action=closelesson&source_forum=".$_GET['source_forum']."&how=complete&id_in_path=$id_in_path&learnpath_id=$learnpath_id&type=Dropbox&origin=$origin#$id_in_path";
1326
-			} else {
1327
-				$link .= "../dropbox/index.php";
1328
-			}
1329
-			break;
1330
-		case "Introduction_text":
1331
-			if ($builder != 'builder')
1332
-			{
1333
-				$link .= api_get_self()."?action=closelesson&source_forum=".$_GET['source_forum']."&how=complete&id_in_path=$id_in_path&learnpath_id=$learnpath_id&type=Introduction_text&origin=$origin#$id_in_path";
1334
-			} else {
1335
-				$s = api_get_path(WEB_COURSE_PATH)."$_cid/index.php?intro_cmdEdit=1";
1336
-				$link .= $s;
1337
-			}
1338
-			break;
1339
-		case "Course_description":
1340
-			if ($builder != 'builder')
1341
-			{
1342
-				$link .= api_get_self()."?action=closelesson&source_forum=".$_GET['source_forum']."&how=complete&id_in_path=$id_in_path&learnpath_id=$learnpath_id&type=Course_description&origin=$origin#$id_in_path";
1343
-			} else {
1344
-				$s=api_get_path(WEB_CODE_PATH)."course_description";
1345
-				$link .= $s;
1346
-			}
1347
-			break;
1348
-		case "Groups":
1349
-
1350
-			if ($builder != 'builder')
1351
-			{
1352
-				$link .= api_get_self()."?action=closelesson&source_forum=".$_GET['source_forum']."&how=complete&id_in_path=$id_in_path&learnpath_id=$learnpath_id&type=Groups&origin=$origin#$id_in_path";
1353
-			} else {
1354
-				$link .= "../group/group.php?origin=$origin";
1355
-			}
1356
-			break;
1357
-		case "Users":
1358
-			if ($builder != 'builder')
1359
-			{
1360
-				$link .= api_get_self()."?action=closelesson&source_forum=".$_GET['source_forum']."&how=complete&id_in_path=$id_in_path&learnpath_id=$learnpath_id&type=Users&origin=$origin#$id_in_path";
1361
-			} else {
1362
-				$link .= "../user/user.php?origin=$origin";
1363
-			}
1364
-			break;
1365
-	}//end huge switch-statement
1259
+            $tbl_topics      = $_course['dbNameGlu'].'bb_topics';
1260
+            $tbl_posts		 = $_course['dbNameGlu'].'bb_posts';
1261
+            $TBL_FORUMS = $_course['dbNameGlu']."bb_forums";
1262
+            $sql="SELECT * FROM $tbl_topics where topic_id=$id";
1263
+            $result= Database::query($sql);
1264
+            $myrow=Database::fetch_array($result);
1265
+
1266
+            $sql="select * from $tbl_learnpath_item where id=$id_in_path";
1267
+            $result=Database::query($sql);	$row=Database::fetch_array($result);
1268
+
1269
+            if ($builder != 'builder')
1270
+            {
1271
+                $link .= api_get_self()."?action=closelesson&source_forum=".$_GET['source_forum']."&how=complete&id_in_path=$id_in_path&learnpath_id=$learnpath_id&type=Thread&origin=$origin&topic=".$myrow["topic_id"]."&forum=".$myrow["forum_id"]."&md5=".$myrow["md5"]."#$id_in_path";
1272
+            }
1273
+            else
1274
+            {
1275
+                $link .= "../phpbb/viewtopic.php?topic=".$myrow["topic_id"]."&forum=".$myrow["forum_id"]."&md5=".$myrow["md5"];
1276
+            }
1277
+            break;
1278
+        case "Post":
1279
+            break;
1280
+        case "Document":
1281
+            $dbTable  = Database::get_course_table(TABLE_DOCUMENT);
1282
+            $result=Database::query("SELECT * FROM $dbTable WHERE id=$id",__FILE__,__LINE);
1283
+            $myrow=Database::fetch_array($result);
1284
+
1285
+            $pathname=explode("/",$myrow["path"]); // making a correct name for the link
1286
+            $last=count($pathname)-1;  // making a correct name for the link
1287
+            $filename=$pathname[$last];  // making a correct name for the link
1288
+
1289
+            $sql="select * from $tbl_learnpath_item where id=$id_in_path";
1290
+            $result=Database::query($sql);	$row=Database::fetch_array($result);
1291
+
1292
+            if ($builder != 'builder')
1293
+            {
1294
+                $link .= api_get_self()."?action=closelesson&source_forum=".$_GET['source_forum']."&how=complete&id_in_path=$id_in_path&learnpath_id=$learnpath_id&type=Document&origin=$origin&docurl=".$myrow["path"]."#$id_in_path";
1295
+
1296
+            }
1297
+            else
1298
+            {
1299
+                $enableDocumentParsing='yes';
1300
+                if (!$enableDocumentParsing)
1301
+                { //this is the solution for the non-parsing version in the builder
1302
+                    $file=urlencode($myrow["path"]);
1303
+                    $link .= "../document/showinframes.php?file=$file";
1304
+                }
1305
+                else
1306
+                {
1307
+                    $link .= "../document/download.php?doc_url=".$myrow["path"];
1308
+                }
1309
+            }
1310
+            break;
1311
+
1312
+        case "Assignments":
1313
+            if ($builder != 'builder')
1314
+            {
1315
+                $link .= api_get_self()."?action=closelesson&source_forum=".$_GET['source_forum']."&how=complete&id_in_path=$id_in_path&learnpath_id=$learnpath_id&type=Assignments&origin=$origin#$id_in_path";
1316
+            }
1317
+            else
1318
+            {
1319
+                $link .= "../work/work.php";
1320
+            }
1321
+            break;
1322
+        case "Dropbox":
1323
+            if ($builder != 'builder')
1324
+            {
1325
+                $link .= api_get_self()."?action=closelesson&source_forum=".$_GET['source_forum']."&how=complete&id_in_path=$id_in_path&learnpath_id=$learnpath_id&type=Dropbox&origin=$origin#$id_in_path";
1326
+            } else {
1327
+                $link .= "../dropbox/index.php";
1328
+            }
1329
+            break;
1330
+        case "Introduction_text":
1331
+            if ($builder != 'builder')
1332
+            {
1333
+                $link .= api_get_self()."?action=closelesson&source_forum=".$_GET['source_forum']."&how=complete&id_in_path=$id_in_path&learnpath_id=$learnpath_id&type=Introduction_text&origin=$origin#$id_in_path";
1334
+            } else {
1335
+                $s = api_get_path(WEB_COURSE_PATH)."$_cid/index.php?intro_cmdEdit=1";
1336
+                $link .= $s;
1337
+            }
1338
+            break;
1339
+        case "Course_description":
1340
+            if ($builder != 'builder')
1341
+            {
1342
+                $link .= api_get_self()."?action=closelesson&source_forum=".$_GET['source_forum']."&how=complete&id_in_path=$id_in_path&learnpath_id=$learnpath_id&type=Course_description&origin=$origin#$id_in_path";
1343
+            } else {
1344
+                $s=api_get_path(WEB_CODE_PATH)."course_description";
1345
+                $link .= $s;
1346
+            }
1347
+            break;
1348
+        case "Groups":
1349
+
1350
+            if ($builder != 'builder')
1351
+            {
1352
+                $link .= api_get_self()."?action=closelesson&source_forum=".$_GET['source_forum']."&how=complete&id_in_path=$id_in_path&learnpath_id=$learnpath_id&type=Groups&origin=$origin#$id_in_path";
1353
+            } else {
1354
+                $link .= "../group/group.php?origin=$origin";
1355
+            }
1356
+            break;
1357
+        case "Users":
1358
+            if ($builder != 'builder')
1359
+            {
1360
+                $link .= api_get_self()."?action=closelesson&source_forum=".$_GET['source_forum']."&how=complete&id_in_path=$id_in_path&learnpath_id=$learnpath_id&type=Users&origin=$origin#$id_in_path";
1361
+            } else {
1362
+                $link .= "../user/user.php?origin=$origin";
1363
+            }
1364
+            break;
1365
+    }//end huge switch-statement
1366 1366
     return $link;
1367 1367
 }
1368 1368
 
@@ -1371,12 +1371,12 @@  discard block
 block discarded – undo
1371 1371
 */
1372 1372
 function remove_resource($resource_key)
1373 1373
 {
1374
-	$addedresource = $_SESSION['addedresource'];
1375
-	$addedresourceid = $_SESSION['addedresourceid'];
1376
-	unset($addedresource[$resource_key]);
1377
-	unset($addedresourceid[$resource_key]);
1378
-	$_SESSION['addedresource']=$addedresource;
1379
-	$_SESSION['addedresourceid']=$addedresourceid ;
1374
+    $addedresource = $_SESSION['addedresource'];
1375
+    $addedresourceid = $_SESSION['addedresourceid'];
1376
+    unset($addedresource[$resource_key]);
1377
+    unset($addedresourceid[$resource_key]);
1378
+    $_SESSION['addedresource']=$addedresource;
1379
+    $_SESSION['addedresourceid']=$addedresourceid ;
1380 1380
 }
1381 1381
 
1382 1382
 /**
@@ -1385,8 +1385,8 @@  discard block
 block discarded – undo
1385 1385
 */
1386 1386
 function show_addresource_button($additionalparameters = '')
1387 1387
 {
1388
-	global $charset;
1389
-	echo '<label for="addresources"><img src="../img/attachment.gif" /></label><input class="link_alike" type="submit" name="addresources" id="addresources" value="'.api_htmlentities(get_lang('Attachment'), ENT_QUOTES, $charset).'" '.$additionalparameters.' />';
1388
+    global $charset;
1389
+    echo '<label for="addresources"><img src="../img/attachment.gif" /></label><input class="link_alike" type="submit" name="addresources" id="addresources" value="'.api_htmlentities(get_lang('Attachment'), ENT_QUOTES, $charset).'" '.$additionalparameters.' />';
1390 1390
 }
1391 1391
 
1392 1392
 /**
@@ -1408,11 +1408,11 @@  discard block
 block discarded – undo
1408 1408
 */
1409 1409
 function delete_added_resource($type, $id)
1410 1410
 {
1411
-	global $_course;
1412
-	$TABLERESOURCE 		= Database::get_course_table(TABLE_LINKED_RESOURCES);
1411
+    global $_course;
1412
+    $TABLERESOURCE 		= Database::get_course_table(TABLE_LINKED_RESOURCES);
1413 1413
 
1414
-	$sql="DELETE FROM $TABLERESOURCE WHERE source_type='$type' and source_id='$id'";
1415
-	Database::query($sql);
1414
+    $sql="DELETE FROM $TABLERESOURCE WHERE source_type='$type' and source_id='$id'";
1415
+    Database::query($sql);
1416 1416
 }
1417 1417
 
1418 1418
 /**
@@ -1421,12 +1421,12 @@  discard block
 block discarded – undo
1421 1421
 */
1422 1422
 function delete_all_resources_type($type)
1423 1423
 {
1424
-  global $_course;
1425
-  $TABLERESOURCE 		= Database::get_course_table(TABLE_LINKED_RESOURCES);
1424
+    global $_course;
1425
+    $TABLERESOURCE 		= Database::get_course_table(TABLE_LINKED_RESOURCES);
1426 1426
 
1427
-  $sql="DELETE FROM $TABLERESOURCE WHERE source_type='$type'";
1427
+    $sql="DELETE FROM $TABLERESOURCE WHERE source_type='$type'";
1428 1428
 
1429
-  Database::query($sql);
1429
+    Database::query($sql);
1430 1430
 }
1431 1431
 
1432 1432
 /**
@@ -1434,15 +1434,15 @@  discard block
 block discarded – undo
1434 1434
 */
1435 1435
 function check_added_resources($type, $id)
1436 1436
 {
1437
-	global $_course, $origin;
1438
-	$TABLERESOURCE 		= Database::get_course_table(TABLE_LINKED_RESOURCES);
1439
-	$sql="SELECT * FROM $TABLERESOURCE WHERE source_type='$type' and source_id='$id'";
1440
-	$result=Database::query($sql);
1441
-	$number_added=Database::num_rows($result);
1442
-	if ($number_added<>0)
1443
-		return true;
1444
-	else
1445
-		return false;
1437
+    global $_course, $origin;
1438
+    $TABLERESOURCE 		= Database::get_course_table(TABLE_LINKED_RESOURCES);
1439
+    $sql="SELECT * FROM $TABLERESOURCE WHERE source_type='$type' and source_id='$id'";
1440
+    $result=Database::query($sql);
1441
+    $number_added=Database::num_rows($result);
1442
+    if ($number_added<>0)
1443
+        return true;
1444
+    else
1445
+        return false;
1446 1446
 }
1447 1447
 
1448 1448
 
@@ -1452,18 +1452,18 @@  discard block
 block discarded – undo
1452 1452
 */
1453 1453
 function edit_added_resources($type, $id)
1454 1454
 {
1455
-	$TABLERESOURCE 		= Database::get_course_table(TABLE_LINKED_RESOURCES);
1455
+    $TABLERESOURCE 		= Database::get_course_table(TABLE_LINKED_RESOURCES);
1456 1456
     $course_id = api_get_course_int_id();
1457 1457
     $id = intval($id);
1458 1458
     $type = Database::escape_string($type);
1459
-	$sql="SELECT * FROM $TABLERESOURCE WHERE c_id = $course_id AND source_type='$type' and source_id=$id";
1460
-	$result=Database::query($sql);
1461
-	while ($row=Database::fetch_array($result))	{
1462
-		$addedresource[]=$row["resource_type"];
1463
-		$addedresourceid[]=$row["resource_id"];
1464
-	}
1465
-	$_SESSION['addedresource']=$addedresource;
1466
-	$_SESSION['addedresourceid']=$addedresourceid;
1459
+    $sql="SELECT * FROM $TABLERESOURCE WHERE c_id = $course_id AND source_type='$type' and source_id=$id";
1460
+    $result=Database::query($sql);
1461
+    while ($row=Database::fetch_array($result))	{
1462
+        $addedresource[]=$row["resource_type"];
1463
+        $addedresourceid[]=$row["resource_id"];
1464
+    }
1465
+    $_SESSION['addedresource']=$addedresource;
1466
+    $_SESSION['addedresourceid']=$addedresourceid;
1467 1467
 }
1468 1468
 
1469 1469
 /**
@@ -1473,20 +1473,20 @@  discard block
 block discarded – undo
1473 1473
 */
1474 1474
 function update_added_resources($type, $id)
1475 1475
 {
1476
-	$TABLERESOURCE 		= Database::get_course_table(TABLE_LINKED_RESOURCES);
1476
+    $TABLERESOURCE 		= Database::get_course_table(TABLE_LINKED_RESOURCES);
1477 1477
     $course_id = api_get_course_int_id();
1478 1478
     $id = intval($id);
1479 1479
     $type = Database::escape_string($type);
1480
-	// delete all the added resources for this item in the database;
1481
-	$sql="DELETE FROM $TABLERESOURCE WHERE c_id = $course_id AND source_type='$type' AND source_id='$id'";
1482
-	//echo $sql;
1483
-	Database::query($sql);
1480
+    // delete all the added resources for this item in the database;
1481
+    $sql="DELETE FROM $TABLERESOURCE WHERE c_id = $course_id AND source_type='$type' AND source_id='$id'";
1482
+    //echo $sql;
1483
+    Database::query($sql);
1484 1484
 
1485
-	// store the resources from the session into the database
1486
-	store_resources($type, $id);
1485
+    // store the resources from the session into the database
1486
+    store_resources($type, $id);
1487 1487
 
1488
-	//delete_added_resource_($type, $id);
1489
-	unset_session_resources();
1488
+    //delete_added_resource_($type, $id);
1489
+    unset_session_resources();
1490 1490
 }
1491 1491
 
1492 1492
 /**
@@ -1494,25 +1494,25 @@  discard block
 block discarded – undo
1494 1494
 */
1495 1495
 function display_added_resources($type, $id, $style='')
1496 1496
 {
1497
-	// the array containing the icons
1498
-	$arr_icons=array('Agenda'=>'../img/agenda.gif', 'Ad Valvas'=>'../img/valves.gif', 'Link'=>'../img/links.gif', 'Exercise'=>'../img/quiz.gif' );
1499
-
1500
-	global $_course, $origin;
1501
-	$TABLERESOURCE 		= Database::get_course_table(TABLE_LINKED_RESOURCES);
1502
-
1503
-	$sql="SELECT * FROM $TABLERESOURCE WHERE source_type='$type' and source_id='$id'";
1504
-	$result=Database::query($sql);
1505
-	while ($row=Database::fetch_array($result))
1506
-	{
1507
-		if ($origin != 'learnpath')
1508
-		{
1509
-			display_addedresource_link($row['resource_type'], $row['resource_id'], $style) ;
1510
-		}
1511
-		else
1512
-		{
1513
-			display_addedresource_link_in_learnpath($row['resource_type'], $row['resource_id'],'agendaitems','','builder','icon') ; echo "<br>";
1514
-		}
1515
-	}
1497
+    // the array containing the icons
1498
+    $arr_icons=array('Agenda'=>'../img/agenda.gif', 'Ad Valvas'=>'../img/valves.gif', 'Link'=>'../img/links.gif', 'Exercise'=>'../img/quiz.gif' );
1499
+
1500
+    global $_course, $origin;
1501
+    $TABLERESOURCE 		= Database::get_course_table(TABLE_LINKED_RESOURCES);
1502
+
1503
+    $sql="SELECT * FROM $TABLERESOURCE WHERE source_type='$type' and source_id='$id'";
1504
+    $result=Database::query($sql);
1505
+    while ($row=Database::fetch_array($result))
1506
+    {
1507
+        if ($origin != 'learnpath')
1508
+        {
1509
+            display_addedresource_link($row['resource_type'], $row['resource_id'], $style) ;
1510
+        }
1511
+        else
1512
+        {
1513
+            display_addedresource_link_in_learnpath($row['resource_type'], $row['resource_id'],'agendaitems','','builder','icon') ; echo "<br>";
1514
+        }
1515
+    }
1516 1516
 }
1517 1517
 
1518 1518
 
@@ -1523,15 +1523,15 @@  discard block
 block discarded – undo
1523 1523
 */
1524 1524
 function display_resources($showdeleteimg)
1525 1525
 {
1526
-	global $action;
1527
-	global $resourceaction;
1528
-	global $id;
1529
-	global $locationkey;
1530
-	global $source_id, $action, $learnpath_id, $chapter_id, $originalresource;
1531
-
1532
-	if ($resourceaction=="removeresource")
1533
-	{
1534
-		/* unneccessary because when editing we delete all the added resources from the
1526
+    global $action;
1527
+    global $resourceaction;
1528
+    global $id;
1529
+    global $locationkey;
1530
+    global $source_id, $action, $learnpath_id, $chapter_id, $originalresource;
1531
+
1532
+    if ($resourceaction=="removeresource")
1533
+    {
1534
+        /* unneccessary because when editing we delete all the added resources from the
1535 1535
 		database and add all these from the session
1536 1536
 		if ($action=="edit") // we have an edit and thus we delete from the database and from the session
1537 1537
 		{
@@ -1547,41 +1547,41 @@  discard block
 block discarded – undo
1547 1547
 		}
1548 1548
 		else // we remove from the session
1549 1549
 		{*/
1550
-		//echo "remove from session";
1551
-		remove_resource($locationkey);
1552
-	}
1553
-	$addedresource=$_SESSION['addedresource'];
1554
-	$addedresourceid=$_SESSION['addedresourceid'];
1555
-	if (is_array($addedresource))
1556
-	{
1557
-		echo '<table>';
1558
-		foreach ($addedresource as $resource)
1559
-		{
1560
-			//echo $resource.":".$addedresourceid[key($addedresource)];
1561
-			echo '<tr><td>';
1562
-			display_addedresource_link($resource,$addedresourceid[key($addedresource)]);
1563
-			echo '</td><td width="30">';
1564
-
1565
-			// if $_SERVER['REQUEST_URI'] contains and ?id=xx we have an edit and the url for deleting a session added resource
1566
-			// should also contain this id.
1567
-			$test=parse_url($_SERVER['REQUEST_URI']);
1568
-			$output = array();
1569
-			parse_str($test['query'],$output);
1570
-
1571
-			if ($showdeleteimg==1)
1572
-			{
1573
-				echo "<a href=".api_get_self()."?showresources=true&amp;source_forum=".$_GET['source_forum']."&amp;resourceaction=removeresource&amp;locationkey=".key($addedresource)."&amp;source_id=$source_id&amp;action=$action&amp;learnpath_id=$learnpath_id&amp;chapter_id=$chapter_id&amp;originalresource=no><img src='../img/delete.gif' border='0' alt='resource ".get_lang('Delete')."' /></a><br />";
1574
-			}
1575
-			echo '</td></tr>';
1576
-			next($addedresource);
1577
-			//$_SESSION['edit']=='';
1578
-		}
1579
-		echo '</table>';
1580
-	}
1581
-	else // it is a string
1582
-	{
1583
-		echo '';
1584
-	}
1550
+        //echo "remove from session";
1551
+        remove_resource($locationkey);
1552
+    }
1553
+    $addedresource=$_SESSION['addedresource'];
1554
+    $addedresourceid=$_SESSION['addedresourceid'];
1555
+    if (is_array($addedresource))
1556
+    {
1557
+        echo '<table>';
1558
+        foreach ($addedresource as $resource)
1559
+        {
1560
+            //echo $resource.":".$addedresourceid[key($addedresource)];
1561
+            echo '<tr><td>';
1562
+            display_addedresource_link($resource,$addedresourceid[key($addedresource)]);
1563
+            echo '</td><td width="30">';
1564
+
1565
+            // if $_SERVER['REQUEST_URI'] contains and ?id=xx we have an edit and the url for deleting a session added resource
1566
+            // should also contain this id.
1567
+            $test=parse_url($_SERVER['REQUEST_URI']);
1568
+            $output = array();
1569
+            parse_str($test['query'],$output);
1570
+
1571
+            if ($showdeleteimg==1)
1572
+            {
1573
+                echo "<a href=".api_get_self()."?showresources=true&amp;source_forum=".$_GET['source_forum']."&amp;resourceaction=removeresource&amp;locationkey=".key($addedresource)."&amp;source_id=$source_id&amp;action=$action&amp;learnpath_id=$learnpath_id&amp;chapter_id=$chapter_id&amp;originalresource=no><img src='../img/delete.gif' border='0' alt='resource ".get_lang('Delete')."' /></a><br />";
1574
+            }
1575
+            echo '</td></tr>';
1576
+            next($addedresource);
1577
+            //$_SESSION['edit']=='';
1578
+        }
1579
+        echo '</table>';
1580
+    }
1581
+    else // it is a string
1582
+    {
1583
+        echo '';
1584
+    }
1585 1585
 } // end of the display_resources function
1586 1586
 
1587 1587
 
@@ -1593,49 +1593,49 @@  discard block
 block discarded – undo
1593 1593
 */
1594 1594
 function showorhide_addresourcelink($type, $id)
1595 1595
 {
1596
-	global $from_learnpath, $source_id, $action, $learnpath_id, $chapter_id, $originalresource, $folder, $content, $target;
1597
-	//global $_SESSION['addresource'];
1598
-	//global $_SESSION['addresourceid'];
1599
-	$addedresource=$_SESSION['addedresource'];
1600
-	$addedresourceid=$_SESSION['addedresourceid'];
1601
-
1602
-	if (is_array($_SESSION['addedresource']))
1603
-	{
1604
-		foreach ($addedresource as $toolcompare)
1605
-		{
1606
-			//echo $toolcompare;
1607
-			//echo "/".$type."/".$id."****";
1608
-			//$key=key($addedresource);
1609
-			//echo $addedresourceid[$key];
1610
-			//print_r($addedresourceid);
1611
-			//echo "<br>";
1612
-
1613
-			if ($toolcompare==$type and $addedresourceid[key($addedresource)]==$id)
1614
-			{
1615
-				$show=0;
1616
-			}
1617
-			next($addedresource);
1618
-		}
1619
-		if ($from_learnpath) { $lang_add_it_or_resource=get_lang('AddIt'); } else { $lang_add_it_or_resource=get_lang('AddResource'); }
1620
-		if ($show!==0)
1621
-		{
1622
-			if ($type=="Document")
1623
-			{
1624
-				echo "<a href=".api_get_self()."?content=".$type."&folder=".$folder."&source_forum=".$_GET['source_forum']."&add=".$id."&source_id=$source_id&action=$action&learnpath_id=$learnpath_id&chapter_id=$chapter_id&originalresource=no>".$lang_add_it_or_resource."</a>";
1625
-			}
1626
-			else
1627
-			{
1628
-				echo "<a href='".api_get_self()."?content=".$type."&source_forum=".$_GET['source_forum']."&add=".$id."&source_id=$source_id&action=$action&learnpath_id=$learnpath_id&chapter_id=$chapter_id&originalresource=no&target=$target'>".$lang_add_it_or_resource."</a>";
1629
-			}
1630
-		}
1631
-	}
1632
-	else // if it is not an array, it is a string
1633
-	{
1634
-		if ($_SESSION['addedresource']!==$type or $_SESSION['addedresourceid']!==$id)
1635
-		{
1636
-			if ($from_learnpath) { $lang_add_it_or_resource=get_lang('AddIt'); } else { $lang_add_it_or_resource=get_lang('AddResource'); }
1637
-			echo "<a href='".api_get_self()."?content=".$type."&folder=".$folder."&source_forum=".$_GET['source_forum']."&add=".$id."&source_id=$source_id&action=$action&learnpath_id=$learnpath_id&chapter_id=$chapter_id&originalresource=no&target=$target'>".$lang_add_it_or_resource."</a>";
1638
-		}
1639
-	}
1596
+    global $from_learnpath, $source_id, $action, $learnpath_id, $chapter_id, $originalresource, $folder, $content, $target;
1597
+    //global $_SESSION['addresource'];
1598
+    //global $_SESSION['addresourceid'];
1599
+    $addedresource=$_SESSION['addedresource'];
1600
+    $addedresourceid=$_SESSION['addedresourceid'];
1601
+
1602
+    if (is_array($_SESSION['addedresource']))
1603
+    {
1604
+        foreach ($addedresource as $toolcompare)
1605
+        {
1606
+            //echo $toolcompare;
1607
+            //echo "/".$type."/".$id."****";
1608
+            //$key=key($addedresource);
1609
+            //echo $addedresourceid[$key];
1610
+            //print_r($addedresourceid);
1611
+            //echo "<br>";
1612
+
1613
+            if ($toolcompare==$type and $addedresourceid[key($addedresource)]==$id)
1614
+            {
1615
+                $show=0;
1616
+            }
1617
+            next($addedresource);
1618
+        }
1619
+        if ($from_learnpath) { $lang_add_it_or_resource=get_lang('AddIt'); } else { $lang_add_it_or_resource=get_lang('AddResource'); }
1620
+        if ($show!==0)
1621
+        {
1622
+            if ($type=="Document")
1623
+            {
1624
+                echo "<a href=".api_get_self()."?content=".$type."&folder=".$folder."&source_forum=".$_GET['source_forum']."&add=".$id."&source_id=$source_id&action=$action&learnpath_id=$learnpath_id&chapter_id=$chapter_id&originalresource=no>".$lang_add_it_or_resource."</a>";
1625
+            }
1626
+            else
1627
+            {
1628
+                echo "<a href='".api_get_self()."?content=".$type."&source_forum=".$_GET['source_forum']."&add=".$id."&source_id=$source_id&action=$action&learnpath_id=$learnpath_id&chapter_id=$chapter_id&originalresource=no&target=$target'>".$lang_add_it_or_resource."</a>";
1629
+            }
1630
+        }
1631
+    }
1632
+    else // if it is not an array, it is a string
1633
+    {
1634
+        if ($_SESSION['addedresource']!==$type or $_SESSION['addedresourceid']!==$id)
1635
+        {
1636
+            if ($from_learnpath) { $lang_add_it_or_resource=get_lang('AddIt'); } else { $lang_add_it_or_resource=get_lang('AddResource'); }
1637
+            echo "<a href='".api_get_self()."?content=".$type."&folder=".$folder."&source_forum=".$_GET['source_forum']."&add=".$id."&source_id=$source_id&action=$action&learnpath_id=$learnpath_id&chapter_id=$chapter_id&originalresource=no&target=$target'>".$lang_add_it_or_resource."</a>";
1638
+        }
1639
+    }
1640 1640
 }
1641 1641
 ?>
Please login to merge, or discard this patch.
main/admin/ldap_users_list.php 1 patch
Indentation   +132 added lines, -132 removed lines patch added patch discarded remove patch
@@ -20,7 +20,7 @@  discard block
 block discarded – undo
20 20
 // Login as ...
21 21
 if ($action == "login_as" && !empty ($login_as_user_id))
22 22
 {
23
-	login_user($login_as_user_id);
23
+    login_user($login_as_user_id);
24 24
 }
25 25
 
26 26
 //if we already have a session id and a user...
@@ -37,150 +37,150 @@  discard block
 block discarded – undo
37 37
 
38 38
 if (isset ($_GET['action']))
39 39
 {
40
-	$check = Security::check_token('get');
41
-	if($check)
42
-	{
43
-		switch ($_GET['action'])
44
-		{
45
-			case 'show_message' :
46
-				Display :: display_header($tool_name);
47
-				Display :: display_normal_message($_GET['message']);
48
-				break;
49
-			case 'delete_user' :
50
-				Display :: display_header($tool_name);
51
-				if ($user_id != $_user['user_id'] && UserManager :: delete_user($_GET['user_id']))
52
-				{
53
-					Display :: display_normal_message(get_lang('UserDeleted'));
54
-				}
55
-				else
56
-				{
57
-					Display :: display_error_message(get_lang('CannotDeleteUser'));
58
-				}
59
-				break;
60
-			case 'lock' :
61
-				Display :: display_header($tool_name);
62
-				$message=lock_unlock_user('lock',$_GET['user_id']);
63
-				Display :: display_normal_message($message);
64
-				break;
65
-			case 'unlock';
66
-				Display :: display_header($tool_name);
67
-				$message=lock_unlock_user('unlock',$_GET['user_id']);
68
-				Display :: display_normal_message($message);
69
-				break;
70
-			case 'add_user';
71
-				$id=$_GET['id'];
72
-				$UserList=array();
73
-				$userid_match_login = array();
74
-				foreach ($id as $user_id) {
75
-					$tmp = ldap_add_user($user_id);
76
-					$UserList[]= $tmp;
77
-					$userid_match_login[$tmp] = $user_id;
78
-				}
79
-				if (isset($_GET['id_session']) && ($_GET['id_session'] == strval(intval($_GET['id_session']))) && ($_GET['id_session']>0)) {
80
-					ldap_add_user_to_session($UserList, $_GET['id_session']);
81
-					header('Location: resume_session.php?id_session='.intval($_GET['id_session']));
82
-				} else {
83
-					Display :: display_header($tool_name);
84
-					if(count($userid_match_login)>0)
85
-					{
86
-						$message=get_lang('LDAPUsersAddedOrUpdated').':<br />';
87
-						foreach($userid_match_login as $user_id => $login)
88
-						{
89
-							$message .= '- '.$login.'<br />';
90
-						}
91
-					}
92
-					else
93
-					{
94
-						$message=get_lang('NoUserAdded');
95
-					}
96
-					Display :: display_normal_message($message,false);
97
-				}
98
-				break;
99
-			default :
100
-				Display :: display_header($tool_name);
101
-		}
102
-		Security::clear_token();
103
-	}
104
-	else
105
-	{
106
-		Display::display_header($tool_name);
107
-	}
40
+    $check = Security::check_token('get');
41
+    if($check)
42
+    {
43
+        switch ($_GET['action'])
44
+        {
45
+            case 'show_message' :
46
+                Display :: display_header($tool_name);
47
+                Display :: display_normal_message($_GET['message']);
48
+                break;
49
+            case 'delete_user' :
50
+                Display :: display_header($tool_name);
51
+                if ($user_id != $_user['user_id'] && UserManager :: delete_user($_GET['user_id']))
52
+                {
53
+                    Display :: display_normal_message(get_lang('UserDeleted'));
54
+                }
55
+                else
56
+                {
57
+                    Display :: display_error_message(get_lang('CannotDeleteUser'));
58
+                }
59
+                break;
60
+            case 'lock' :
61
+                Display :: display_header($tool_name);
62
+                $message=lock_unlock_user('lock',$_GET['user_id']);
63
+                Display :: display_normal_message($message);
64
+                break;
65
+            case 'unlock';
66
+                Display :: display_header($tool_name);
67
+                $message=lock_unlock_user('unlock',$_GET['user_id']);
68
+                Display :: display_normal_message($message);
69
+                break;
70
+            case 'add_user';
71
+                $id=$_GET['id'];
72
+                $UserList=array();
73
+                $userid_match_login = array();
74
+                foreach ($id as $user_id) {
75
+                    $tmp = ldap_add_user($user_id);
76
+                    $UserList[]= $tmp;
77
+                    $userid_match_login[$tmp] = $user_id;
78
+                }
79
+                if (isset($_GET['id_session']) && ($_GET['id_session'] == strval(intval($_GET['id_session']))) && ($_GET['id_session']>0)) {
80
+                    ldap_add_user_to_session($UserList, $_GET['id_session']);
81
+                    header('Location: resume_session.php?id_session='.intval($_GET['id_session']));
82
+                } else {
83
+                    Display :: display_header($tool_name);
84
+                    if(count($userid_match_login)>0)
85
+                    {
86
+                        $message=get_lang('LDAPUsersAddedOrUpdated').':<br />';
87
+                        foreach($userid_match_login as $user_id => $login)
88
+                        {
89
+                            $message .= '- '.$login.'<br />';
90
+                        }
91
+                    }
92
+                    else
93
+                    {
94
+                        $message=get_lang('NoUserAdded');
95
+                    }
96
+                    Display :: display_normal_message($message,false);
97
+                }
98
+                break;
99
+            default :
100
+                Display :: display_header($tool_name);
101
+        }
102
+        Security::clear_token();
103
+    }
104
+    else
105
+    {
106
+        Display::display_header($tool_name);
107
+    }
108 108
 }
109 109
 else
110 110
 {
111
-	Display::display_header($tool_name);
111
+    Display::display_header($tool_name);
112 112
 }
113 113
 if (isset ($_POST['action']))
114 114
 {
115
-	$check = Security::check_token('get');
116
-	if($check)
117
-	{
118
-		switch ($_POST['action'])
119
-		{
120
-			case 'delete' :
121
-				$number_of_selected_users = count($_POST['id']);
122
-				$number_of_deleted_users = 0;
123
-				foreach ($_POST['id'] as $index => $user_id)
124
-				{
125
-					if($user_id != $_user['user_id'])
126
-					{
127
-						if(UserManager :: delete_user($user_id))
128
-						{
129
-							$number_of_deleted_users++;
130
-						}
131
-					}
132
-				}
133
-				if($number_of_selected_users == $number_of_deleted_users)
134
-				{
135
-					Display :: display_normal_message(get_lang('SelectedUsersDeleted'));
136
-				}
137
-				else
138
-				{
139
-					Display :: display_error_message(get_lang('SomeUsersNotDeleted'));
140
-				}
141
-				break;
142
-			case 'add_user' :
143
-				$number_of_selected_users = count($_POST['id']);
144
-				$number_of_added_users = 0;
145
-				$UserList=array();
146
-				foreach ($_POST['id'] as $index => $user_id)
147
-				{
148
-					if($user_id != $_user['user_id'])
149
-					{
150
-						$UserList[] = ldap_add_user($user_id);
151
-					}
152
-				}
153
-				if (isset($_GET['id_session']) && (trim($_GET['id_session'])!=""))
154
-					addUserToSession($UserList, $_GET['id_session']);
155
-				if(count($UserList)>0)
156
-				{
157
-					Display :: display_normal_message(count($UserList)." ".get_lang('LDAPUsersAdded'));
158
-				}
159
-				else
160
-				{
161
-					Display :: display_normal_message(get_lang('NoUserAdded'));
162
-				}
163
-				break;
115
+    $check = Security::check_token('get');
116
+    if($check)
117
+    {
118
+        switch ($_POST['action'])
119
+        {
120
+            case 'delete' :
121
+                $number_of_selected_users = count($_POST['id']);
122
+                $number_of_deleted_users = 0;
123
+                foreach ($_POST['id'] as $index => $user_id)
124
+                {
125
+                    if($user_id != $_user['user_id'])
126
+                    {
127
+                        if(UserManager :: delete_user($user_id))
128
+                        {
129
+                            $number_of_deleted_users++;
130
+                        }
131
+                    }
132
+                }
133
+                if($number_of_selected_users == $number_of_deleted_users)
134
+                {
135
+                    Display :: display_normal_message(get_lang('SelectedUsersDeleted'));
136
+                }
137
+                else
138
+                {
139
+                    Display :: display_error_message(get_lang('SomeUsersNotDeleted'));
140
+                }
141
+                break;
142
+            case 'add_user' :
143
+                $number_of_selected_users = count($_POST['id']);
144
+                $number_of_added_users = 0;
145
+                $UserList=array();
146
+                foreach ($_POST['id'] as $index => $user_id)
147
+                {
148
+                    if($user_id != $_user['user_id'])
149
+                    {
150
+                        $UserList[] = ldap_add_user($user_id);
151
+                    }
152
+                }
153
+                if (isset($_GET['id_session']) && (trim($_GET['id_session'])!=""))
154
+                    addUserToSession($UserList, $_GET['id_session']);
155
+                if(count($UserList)>0)
156
+                {
157
+                    Display :: display_normal_message(count($UserList)." ".get_lang('LDAPUsersAdded'));
158
+                }
159
+                else
160
+                {
161
+                    Display :: display_normal_message(get_lang('NoUserAdded'));
162
+                }
163
+                break;
164 164
 
165
-		}
166
-		Security::clear_token();
167
-	}
165
+        }
166
+        Security::clear_token();
167
+    }
168 168
 }
169 169
 
170 170
 $form = new FormValidator('advanced_search','get');
171 171
 $form->addText('keyword_username',get_lang('LoginName'),false);
172 172
 if (api_is_western_name_order())
173 173
 {
174
-	$form->addText('keyword_firstname', get_lang('FirstName'), false);
175
-	$form->addText('keyword_lastname', get_lang('LastName'), false);
174
+    $form->addText('keyword_firstname', get_lang('FirstName'), false);
175
+    $form->addText('keyword_lastname', get_lang('LastName'), false);
176 176
 }
177 177
 else
178 178
 {
179
-	$form->addText('keyword_lastname',get_lang('LastName'),false);
180
-	$form->addText('keyword_firstname',get_lang('FirstName'),false);
179
+    $form->addText('keyword_lastname',get_lang('LastName'),false);
180
+    $form->addText('keyword_firstname',get_lang('FirstName'),false);
181 181
 }
182 182
 if (isset($_GET['id_session']))
183
-	$form->addElement('hidden','id_session',$_GET['id_session']);
183
+    $form->addElement('hidden','id_session',$_GET['id_session']);
184 184
 
185 185
 $type = array();
186 186
 $type["all"] = get_lang('All');
@@ -202,7 +202,7 @@  discard block
 block discarded – undo
202 202
 $parameters['keyword_lastname'] = @$_GET['keyword_lastname'] ?: null;
203 203
 $parameters['keyword_email'] = @$_GET['keyword_email'] ?: null;
204 204
 if (isset($_GET['id_session']))
205
-	$parameters['id_session'] = $_GET['id_session'];
205
+    $parameters['id_session'] = $_GET['id_session'];
206 206
 // Create a sortable table with user-data
207 207
 
208 208
 $parameters['sec_token'] = Security::get_token();
@@ -212,13 +212,13 @@  discard block
 block discarded – undo
212 212
 $table->set_header(1, get_lang('LoginName'));
213 213
 if (api_is_western_name_order())
214 214
 {
215
-	$table->set_header(2, get_lang('FirstName'));
216
-	$table->set_header(3, get_lang('LastName'));
215
+    $table->set_header(2, get_lang('FirstName'));
216
+    $table->set_header(3, get_lang('LastName'));
217 217
 }
218 218
 else
219 219
 {
220
-	$table->set_header(2, get_lang('LastName'));
221
-	$table->set_header(3, get_lang('FirstName'));
220
+    $table->set_header(2, get_lang('LastName'));
221
+    $table->set_header(3, get_lang('FirstName'));
222 222
 }
223 223
 $table->set_header(4, get_lang('Email'));
224 224
 $table->set_header(5, get_lang('Actions'));
Please login to merge, or discard this patch.
plugin/bbb/lib/bbb_api.php 1 patch
Indentation   +403 added lines, -403 removed lines patch added patch discarded remove patch
@@ -44,107 +44,107 @@  discard block
 block discarded – undo
44 44
 
45 45
 class BigBlueButtonBN {
46 46
 
47
-	private $_securitySalt;
48
-	private $_bbbServerBaseUrl;
47
+    private $_securitySalt;
48
+    private $_bbbServerBaseUrl;
49 49
 
50
-	/* ___________ General Methods for the BigBlueButton Class __________ */
50
+    /* ___________ General Methods for the BigBlueButton Class __________ */
51 51
 
52
-	function __construct() {
53
-	/*
52
+    function __construct() {
53
+    /*
54 54
 	Establish just our basic elements in the constructor:
55 55
 	*/
56
-		// BASE CONFIGS - set these for your BBB server in config.php and they will
57
-		// simply flow in here via the constants:
58
-		$this->_securitySalt 		= CONFIG_SECURITY_SALT;
59
-		$this->_bbbServerBaseUrl 	= CONFIG_SERVER_BASE_URL;
60
-	}
61
-
62
-	private function _processXmlResponse($url){
63
-	/*
56
+        // BASE CONFIGS - set these for your BBB server in config.php and they will
57
+        // simply flow in here via the constants:
58
+        $this->_securitySalt 		= CONFIG_SECURITY_SALT;
59
+        $this->_bbbServerBaseUrl 	= CONFIG_SERVER_BASE_URL;
60
+    }
61
+
62
+    private function _processXmlResponse($url){
63
+    /*
64 64
 	A private utility method used by other public methods to process XML responses.
65 65
 	*/
66
-		if (extension_loaded('curl')) {
67
-			$ch = curl_init() or die ( curl_error($ch) );
68
-			$timeout = 10;
69
-			curl_setopt( $ch, CURLOPT_SSL_VERIFYPEER, false);
70
-			curl_setopt( $ch, CURLOPT_URL, $url );
71
-			curl_setopt( $ch, CURLOPT_RETURNTRANSFER, 1 );
72
-			curl_setopt( $ch, CURLOPT_CONNECTTIMEOUT, $timeout);
73
-			$data = curl_exec( $ch );
74
-			curl_close( $ch );
75
-
76
-			if($data)
77
-				return (new SimpleXMLElement($data));
78
-			else
79
-				return false;
80
-		}
81
-		return (simplexml_load_file($url));
82
-	}
83
-
84
-	private function _requiredParam($param) {
85
-		/* Process required params and throw errors if we don't get values */
86
-		if ((isset($param)) && ($param != '')) {
87
-			return $param;
88
-		}
89
-		elseif (!isset($param)) {
90
-			throw new Exception('Missing parameter.');
91
-		}
92
-		else {
93
-			throw new Exception(''.$param.' is required.');
94
-		}
95
-	}
96
-
97
-	private function _optionalParam($param) {
98
-		/* Pass most optional params through as set value, or set to '' */
99
-		/* Don't know if we'll use this one, but let's build it in case. */
100
-		if ((isset($param)) && ($param != '')) {
101
-			return $param;
102
-		}
103
-		else {
104
-			$param = '';
105
-			return $param;
106
-		}
107
-	}
108
-
109
-	/* __________________ BBB ADMINISTRATION METHODS _________________ */
110
-	/* The methods in the following section support the following categories of the BBB API:
66
+        if (extension_loaded('curl')) {
67
+            $ch = curl_init() or die ( curl_error($ch) );
68
+            $timeout = 10;
69
+            curl_setopt( $ch, CURLOPT_SSL_VERIFYPEER, false);
70
+            curl_setopt( $ch, CURLOPT_URL, $url );
71
+            curl_setopt( $ch, CURLOPT_RETURNTRANSFER, 1 );
72
+            curl_setopt( $ch, CURLOPT_CONNECTTIMEOUT, $timeout);
73
+            $data = curl_exec( $ch );
74
+            curl_close( $ch );
75
+
76
+            if($data)
77
+                return (new SimpleXMLElement($data));
78
+            else
79
+                return false;
80
+        }
81
+        return (simplexml_load_file($url));
82
+    }
83
+
84
+    private function _requiredParam($param) {
85
+        /* Process required params and throw errors if we don't get values */
86
+        if ((isset($param)) && ($param != '')) {
87
+            return $param;
88
+        }
89
+        elseif (!isset($param)) {
90
+            throw new Exception('Missing parameter.');
91
+        }
92
+        else {
93
+            throw new Exception(''.$param.' is required.');
94
+        }
95
+    }
96
+
97
+    private function _optionalParam($param) {
98
+        /* Pass most optional params through as set value, or set to '' */
99
+        /* Don't know if we'll use this one, but let's build it in case. */
100
+        if ((isset($param)) && ($param != '')) {
101
+            return $param;
102
+        }
103
+        else {
104
+            $param = '';
105
+            return $param;
106
+        }
107
+    }
108
+
109
+    /* __________________ BBB ADMINISTRATION METHODS _________________ */
110
+    /* The methods in the following section support the following categories of the BBB API:
111 111
 	-- create
112 112
 	-- join
113 113
 	-- end
114 114
 	*/
115 115
 
116
-	public function getCreateMeetingUrl($creationParams) {
117
-		/*
116
+    public function getCreateMeetingUrl($creationParams) {
117
+        /*
118 118
 		USAGE:
119 119
 		(see $creationParams array in createMeetingArray method.)
120 120
 		*/
121
-		$this->_meetingId = $this->_requiredParam($creationParams['meetingId']);
122
-		$this->_meetingName = $this->_requiredParam($creationParams['meetingName']);
123
-		// Set up the basic creation URL:
124
-		$creationUrl = $this->_bbbServerBaseUrl."api/create?";
125
-		// Add params:
126
-		$params =
127
-		'name='.urlencode($this->_meetingName).
128
-		'&meetingID='.urlencode($this->_meetingId).
129
-		'&attendeePW='.urlencode($creationParams['attendeePw']).
130
-		'&moderatorPW='.urlencode($creationParams['moderatorPw']).
131
-		'&dialNumber='.urlencode($creationParams['dialNumber']).
132
-		'&voiceBridge='.urlencode($creationParams['voiceBridge']).
133
-		'&webVoice='.urlencode($creationParams['webVoice']).
134
-		'&logoutURL='.urlencode($creationParams['logoutUrl']).
135
-		'&maxParticipants='.urlencode($creationParams['maxParticipants']).
136
-		'&record='.urlencode($creationParams['record']).
137
-		'&duration='.urlencode($creationParams['duration']);
138
-		//'&meta_category='.urlencode($creationParams['meta_category']);
139
-		$welcomeMessage = $creationParams['welcomeMsg'];
140
-		if(trim($welcomeMessage))
141
-			$params .= '&welcome='.urlencode($welcomeMessage);
142
-		// Return the complete URL:
143
-		return ( $creationUrl.$params.'&checksum='.sha1("create".$params.$this->_securitySalt) );
144
-	}
145
-
146
-	public function createMeetingWithXmlResponseArray($creationParams) {
147
-		/*
121
+        $this->_meetingId = $this->_requiredParam($creationParams['meetingId']);
122
+        $this->_meetingName = $this->_requiredParam($creationParams['meetingName']);
123
+        // Set up the basic creation URL:
124
+        $creationUrl = $this->_bbbServerBaseUrl."api/create?";
125
+        // Add params:
126
+        $params =
127
+        'name='.urlencode($this->_meetingName).
128
+        '&meetingID='.urlencode($this->_meetingId).
129
+        '&attendeePW='.urlencode($creationParams['attendeePw']).
130
+        '&moderatorPW='.urlencode($creationParams['moderatorPw']).
131
+        '&dialNumber='.urlencode($creationParams['dialNumber']).
132
+        '&voiceBridge='.urlencode($creationParams['voiceBridge']).
133
+        '&webVoice='.urlencode($creationParams['webVoice']).
134
+        '&logoutURL='.urlencode($creationParams['logoutUrl']).
135
+        '&maxParticipants='.urlencode($creationParams['maxParticipants']).
136
+        '&record='.urlencode($creationParams['record']).
137
+        '&duration='.urlencode($creationParams['duration']);
138
+        //'&meta_category='.urlencode($creationParams['meta_category']);
139
+        $welcomeMessage = $creationParams['welcomeMsg'];
140
+        if(trim($welcomeMessage))
141
+            $params .= '&welcome='.urlencode($welcomeMessage);
142
+        // Return the complete URL:
143
+        return ( $creationUrl.$params.'&checksum='.sha1("create".$params.$this->_securitySalt) );
144
+    }
145
+
146
+    public function createMeetingWithXmlResponseArray($creationParams) {
147
+        /*
148 148
 		USAGE:
149 149
 		$creationParams = array(
150 150
 			'name' => 'Meeting Name',	-- A name for the meeting (or username)
@@ -162,34 +162,34 @@  discard block
 block discarded – undo
162 162
 			'meta_category' => '', 		-- Use to pass additional info to BBB server. See API docs to enable.
163 163
 		);
164 164
 		*/
165
-		$xml = $this->_processXmlResponse($this->getCreateMeetingURL($creationParams));
165
+        $xml = $this->_processXmlResponse($this->getCreateMeetingURL($creationParams));
166 166
 
167 167
         if ($xml) {
168
-			if($xml->meetingID)
169
-				return array(
170
-					'returncode' => $xml->returncode->__toString(),
171
-					'message' => $xml->message->__toString(),
172
-					'messageKey' => $xml->messageKey->__toString(),
173
-					'meetingId' => $xml->meetingID->__toString(),
174
-					'attendeePw' => $xml->attendeePW->__toString(),
175
-					'moderatorPw' => $xml->moderatorPW->__toString(),
176
-					'hasBeenForciblyEnded' => $xml->hasBeenForciblyEnded->__toString(),
177
-					'createTime' => $xml->createTime->__toString()
178
-					);
179
-			else
180
-				return array(
181
-					'returncode' => $xml->returncode->__toString(),
182
-					'message' => $xml->message->__toString(),
183
-					'messageKey' => $xml->messageKey->__toString()
184
-					);
185
-		}
186
-		else {
187
-			return null;
188
-		}
189
-	}
190
-
191
-	public function getJoinMeetingURL($joinParams) {
192
-		/*
168
+            if($xml->meetingID)
169
+                return array(
170
+                    'returncode' => $xml->returncode->__toString(),
171
+                    'message' => $xml->message->__toString(),
172
+                    'messageKey' => $xml->messageKey->__toString(),
173
+                    'meetingId' => $xml->meetingID->__toString(),
174
+                    'attendeePw' => $xml->attendeePW->__toString(),
175
+                    'moderatorPw' => $xml->moderatorPW->__toString(),
176
+                    'hasBeenForciblyEnded' => $xml->hasBeenForciblyEnded->__toString(),
177
+                    'createTime' => $xml->createTime->__toString()
178
+                    );
179
+            else
180
+                return array(
181
+                    'returncode' => $xml->returncode->__toString(),
182
+                    'message' => $xml->message->__toString(),
183
+                    'messageKey' => $xml->messageKey->__toString()
184
+                    );
185
+        }
186
+        else {
187
+            return null;
188
+        }
189
+    }
190
+
191
+    public function getJoinMeetingURL($joinParams) {
192
+        /*
193 193
 		NOTE: At this point, we don't use a corresponding joinMeetingWithXmlResponse here because the API
194 194
 		doesn't respond on success, but you can still code that method if you need it. Or, you can take the URL
195 195
 		that's returned from this method and simply send your users off to that URL in your code.
@@ -203,249 +203,249 @@  discard block
 block discarded – undo
203 203
 			'webVoiceConf' => ''		-- OPTIONAL - string
204 204
 		);
205 205
 		*/
206
-		$this->_meetingId = $this->_requiredParam($joinParams['meetingId']);
207
-		$this->_username = $this->_requiredParam($joinParams['username']);
208
-		$this->_password = $this->_requiredParam($joinParams['password']);
209
-		// Establish the basic join URL:
210
-		$joinUrl = $this->_bbbServerBaseUrl."api/join?";
211
-		// Add parameters to the URL:
212
-		$params =
213
-		'meetingID='.urlencode($this->_meetingId).
214
-		'&fullName='.urlencode($this->_username).
215
-		'&password='.urlencode($this->_password).
216
-		'&userID='.urlencode($joinParams['userID']).
217
-		'&webVoiceConf='.urlencode($joinParams['webVoiceConf']);
218
-		// Only use createTime if we really want to use it. If it's '', then don't pass it:
219
-		if (((isset($joinParams['createTime'])) && ($joinParams['createTime'] != ''))) {
220
-			$params .= '&createTime='.urlencode($joinParams['createTime']);
221
-		}
222
-		// Return the URL:
223
-		return ($joinUrl.$params.'&checksum='.sha1("join".$params.$this->_securitySalt));
224
-	}
225
-
226
-	public function getEndMeetingURL($endParams) {
227
-		/* USAGE:
206
+        $this->_meetingId = $this->_requiredParam($joinParams['meetingId']);
207
+        $this->_username = $this->_requiredParam($joinParams['username']);
208
+        $this->_password = $this->_requiredParam($joinParams['password']);
209
+        // Establish the basic join URL:
210
+        $joinUrl = $this->_bbbServerBaseUrl."api/join?";
211
+        // Add parameters to the URL:
212
+        $params =
213
+        'meetingID='.urlencode($this->_meetingId).
214
+        '&fullName='.urlencode($this->_username).
215
+        '&password='.urlencode($this->_password).
216
+        '&userID='.urlencode($joinParams['userID']).
217
+        '&webVoiceConf='.urlencode($joinParams['webVoiceConf']);
218
+        // Only use createTime if we really want to use it. If it's '', then don't pass it:
219
+        if (((isset($joinParams['createTime'])) && ($joinParams['createTime'] != ''))) {
220
+            $params .= '&createTime='.urlencode($joinParams['createTime']);
221
+        }
222
+        // Return the URL:
223
+        return ($joinUrl.$params.'&checksum='.sha1("join".$params.$this->_securitySalt));
224
+    }
225
+
226
+    public function getEndMeetingURL($endParams) {
227
+        /* USAGE:
228 228
 		$endParams = array (
229 229
 			'meetingId' => '1234',		-- REQUIRED - The unique id for the meeting
230 230
 			'password' => 'mp'			-- REQUIRED - The moderator password for the meeting
231 231
 		);
232 232
 		*/
233
-		$this->_meetingId = $this->_requiredParam($endParams['meetingId']);
234
-		$this->_password = $this->_requiredParam($endParams['password']);
235
-		$endUrl = $this->_bbbServerBaseUrl."api/end?";
236
-		$params =
237
-		'meetingID='.urlencode($this->_meetingId).
238
-		'&password='.urlencode($this->_password);
239
-		return ($endUrl.$params.'&checksum='.sha1("end".$params.$this->_securitySalt));
240
-	}
241
-
242
-	public function endMeetingWithXmlResponseArray($endParams) {
243
-		/* USAGE:
233
+        $this->_meetingId = $this->_requiredParam($endParams['meetingId']);
234
+        $this->_password = $this->_requiredParam($endParams['password']);
235
+        $endUrl = $this->_bbbServerBaseUrl."api/end?";
236
+        $params =
237
+        'meetingID='.urlencode($this->_meetingId).
238
+        '&password='.urlencode($this->_password);
239
+        return ($endUrl.$params.'&checksum='.sha1("end".$params.$this->_securitySalt));
240
+    }
241
+
242
+    public function endMeetingWithXmlResponseArray($endParams) {
243
+        /* USAGE:
244 244
 		$endParams = array (
245 245
 			'meetingId' => '1234',		-- REQUIRED - The unique id for the meeting
246 246
 			'password' => 'mp'			-- REQUIRED - The moderator password for the meeting
247 247
 		);
248 248
 		*/
249
-		$xml = $this->_processXmlResponse($this->getEndMeetingURL($endParams));
250
-		if ($xml) {
251
-			return array(
252
-				'returncode' => $xml->returncode->__toString(),
253
-				'message' => $xml->message->__toString(),
254
-				'messageKey' => $xml->messageKey->__toString()
255
-				);
256
-		}
257
-		else {
258
-			return null;
259
-		}
260
-
261
-	}
262
-
263
-	/* __________________ BBB MONITORING METHODS _________________ */
264
-	/* The methods in the following section support the following categories of the BBB API:
249
+        $xml = $this->_processXmlResponse($this->getEndMeetingURL($endParams));
250
+        if ($xml) {
251
+            return array(
252
+                'returncode' => $xml->returncode->__toString(),
253
+                'message' => $xml->message->__toString(),
254
+                'messageKey' => $xml->messageKey->__toString()
255
+                );
256
+        }
257
+        else {
258
+            return null;
259
+        }
260
+
261
+    }
262
+
263
+    /* __________________ BBB MONITORING METHODS _________________ */
264
+    /* The methods in the following section support the following categories of the BBB API:
265 265
 	-- isMeetingRunning
266 266
 	-- getMeetings
267 267
 	-- getMeetingInfo
268 268
 	*/
269 269
 
270
-	public function getIsMeetingRunningUrl($meetingId) {
271
-		/* USAGE:
270
+    public function getIsMeetingRunningUrl($meetingId) {
271
+        /* USAGE:
272 272
 		$meetingId = '1234'		-- REQUIRED - The unique id for the meeting
273 273
 		*/
274
-		$this->_meetingId = $this->_requiredParam($meetingId);
275
-		$runningUrl = $this->_bbbServerBaseUrl."api/isMeetingRunning?";
276
-		$params =
277
-		'meetingID='.urlencode($this->_meetingId);
278
-		return ($runningUrl.$params.'&checksum='.sha1("isMeetingRunning".$params.$this->_securitySalt));
279
-	}
280
-
281
-	public function isMeetingRunningWithXmlResponseArray($meetingId) {
282
-		/* USAGE:
274
+        $this->_meetingId = $this->_requiredParam($meetingId);
275
+        $runningUrl = $this->_bbbServerBaseUrl."api/isMeetingRunning?";
276
+        $params =
277
+        'meetingID='.urlencode($this->_meetingId);
278
+        return ($runningUrl.$params.'&checksum='.sha1("isMeetingRunning".$params.$this->_securitySalt));
279
+    }
280
+
281
+    public function isMeetingRunningWithXmlResponseArray($meetingId) {
282
+        /* USAGE:
283 283
 		$meetingId = '1234'		-- REQUIRED - The unique id for the meeting
284 284
 		*/
285
-		$xml = $this->_processXmlResponse($this->getIsMeetingRunningUrl($meetingId));
286
-		if($xml) {
287
-			return array(
288
-				'returncode' => $xml->returncode->__toString(),
289
-				'running' => $xml->running->__toString() 	// -- Returns true/false.
290
-			);
291
-		}
292
-		else {
293
-			return null;
294
-		}
295
-
296
-	}
297
-
298
-	public function getGetMeetingsUrl() {
299
-		/* Simply formulate the getMeetings URL
285
+        $xml = $this->_processXmlResponse($this->getIsMeetingRunningUrl($meetingId));
286
+        if($xml) {
287
+            return array(
288
+                'returncode' => $xml->returncode->__toString(),
289
+                'running' => $xml->running->__toString() 	// -- Returns true/false.
290
+            );
291
+        }
292
+        else {
293
+            return null;
294
+        }
295
+
296
+    }
297
+
298
+    public function getGetMeetingsUrl() {
299
+        /* Simply formulate the getMeetings URL
300 300
 		We do this in a separate function so we have the option to just get this
301 301
 		URL and print it if we want for some reason.
302 302
 		*/
303
-		$getMeetingsUrl = $this->_bbbServerBaseUrl."api/getMeetings?checksum=".sha1("getMeetings".$this->_securitySalt);
304
-		return $getMeetingsUrl;
305
-	}
303
+        $getMeetingsUrl = $this->_bbbServerBaseUrl."api/getMeetings?checksum=".sha1("getMeetings".$this->_securitySalt);
304
+        return $getMeetingsUrl;
305
+    }
306 306
 
307
-	public function getMeetingsWithXmlResponseArray() {
308
-		/* USAGE:
307
+    public function getMeetingsWithXmlResponseArray() {
308
+        /* USAGE:
309 309
 		We don't need to pass any parameters with this one, so we just send the query URL off to BBB
310 310
 		and then handle the results that we get in the XML response.
311 311
 		*/
312
-		$xml = $this->_processXmlResponse($this->getGetMeetingsUrl());
313
-		if($xml) {
314
-			// If we don't get a success code, stop processing and return just the returncode:
315
-			if ($xml->returncode != 'SUCCESS') {
316
-				$result = array(
317
-					'returncode' => $xml->returncode->__toString()
318
-				);
319
-				return $result;
320
-			}
321
-			elseif ($xml->messageKey == 'noMeetings') {
322
-				/* No meetings on server, so return just this info: */
323
-				$result = array(
324
-					'returncode' => $xml->returncode->__toString(),
325
-					'messageKey' => $xml->messageKey->__toString(),
326
-					'message' => $xml->message->__toString()
327
-				);
328
-				return $result;
329
-			}
330
-			else {
331
-				// In this case, we have success and meetings. First return general response:
332
-				$result = array(
333
-					'returncode' => $xml->returncode->__toString(),
334
-					'messageKey' => $xml->messageKey->__toString(),
335
-					'message' => $xml->message->__toString()
336
-				);
337
-				// Then interate through meeting results and return them as part of the array:
338
-				foreach ($xml->meetings->meeting as $m) {
339
-					$result[] = array(
340
-						'meetingId' => $m->meetingID->__toString(),
341
-						'meetingName' => $m->meetingName->__toString(),
342
-						'createTime' => $m->createTime->__toString(),
343
-						'attendeePw' => $m->attendeePW->__toString(),
344
-						'moderatorPw' => $m->moderatorPW->__toString(),
345
-						'hasBeenForciblyEnded' => $m->hasBeenForciblyEnded->__toString(),
346
-						'running' => $m->running->__toString()
347
-					);
348
-				}
349
-				return $result;
350
-			}
351
-		}
352
-		else {
353
-			return null;
354
-		}
355
-
356
-	}
357
-
358
-	public function getMeetingInfoUrl($infoParams) {
359
-		/* USAGE:
312
+        $xml = $this->_processXmlResponse($this->getGetMeetingsUrl());
313
+        if($xml) {
314
+            // If we don't get a success code, stop processing and return just the returncode:
315
+            if ($xml->returncode != 'SUCCESS') {
316
+                $result = array(
317
+                    'returncode' => $xml->returncode->__toString()
318
+                );
319
+                return $result;
320
+            }
321
+            elseif ($xml->messageKey == 'noMeetings') {
322
+                /* No meetings on server, so return just this info: */
323
+                $result = array(
324
+                    'returncode' => $xml->returncode->__toString(),
325
+                    'messageKey' => $xml->messageKey->__toString(),
326
+                    'message' => $xml->message->__toString()
327
+                );
328
+                return $result;
329
+            }
330
+            else {
331
+                // In this case, we have success and meetings. First return general response:
332
+                $result = array(
333
+                    'returncode' => $xml->returncode->__toString(),
334
+                    'messageKey' => $xml->messageKey->__toString(),
335
+                    'message' => $xml->message->__toString()
336
+                );
337
+                // Then interate through meeting results and return them as part of the array:
338
+                foreach ($xml->meetings->meeting as $m) {
339
+                    $result[] = array(
340
+                        'meetingId' => $m->meetingID->__toString(),
341
+                        'meetingName' => $m->meetingName->__toString(),
342
+                        'createTime' => $m->createTime->__toString(),
343
+                        'attendeePw' => $m->attendeePW->__toString(),
344
+                        'moderatorPw' => $m->moderatorPW->__toString(),
345
+                        'hasBeenForciblyEnded' => $m->hasBeenForciblyEnded->__toString(),
346
+                        'running' => $m->running->__toString()
347
+                    );
348
+                }
349
+                return $result;
350
+            }
351
+        }
352
+        else {
353
+            return null;
354
+        }
355
+
356
+    }
357
+
358
+    public function getMeetingInfoUrl($infoParams) {
359
+        /* USAGE:
360 360
 		$infoParams = array(
361 361
 			'meetingId' => '1234',		-- REQUIRED - The unique id for the meeting
362 362
 			'password' => 'mp'			-- REQUIRED - The moderator password for the meeting
363 363
 		);
364 364
 		*/
365
-		$this->_meetingId = $this->_requiredParam($infoParams['meetingId']);
366
-		$this->_password = $this->_requiredParam($infoParams['password']);
367
-		$infoUrl = $this->_bbbServerBaseUrl."api/getMeetingInfo?";
368
-		$params =
369
-		'meetingID='.urlencode($this->_meetingId).
370
-		'&password='.urlencode($this->_password);
371
-		return ($infoUrl.$params.'&checksum='.sha1("getMeetingInfo".$params.$this->_securitySalt));
372
-	}
373
-
374
-	public function getMeetingInfoWithXmlResponseArray($infoParams) {
375
-		/* USAGE:
365
+        $this->_meetingId = $this->_requiredParam($infoParams['meetingId']);
366
+        $this->_password = $this->_requiredParam($infoParams['password']);
367
+        $infoUrl = $this->_bbbServerBaseUrl."api/getMeetingInfo?";
368
+        $params =
369
+        'meetingID='.urlencode($this->_meetingId).
370
+        '&password='.urlencode($this->_password);
371
+        return ($infoUrl.$params.'&checksum='.sha1("getMeetingInfo".$params.$this->_securitySalt));
372
+    }
373
+
374
+    public function getMeetingInfoWithXmlResponseArray($infoParams) {
375
+        /* USAGE:
376 376
 		$infoParams = array(
377 377
 			'meetingId' => '1234',		-- REQUIRED - The unique id for the meeting
378 378
 			'password' => 'mp'			-- REQUIRED - The moderator password for the meeting
379 379
 		);
380 380
 		*/
381
-		$xml = $this->_processXmlResponse($this->getMeetingInfoUrl($infoParams));
382
-		if($xml) {
383
-			// If we don't get a success code or messageKey, find out why:
384
-			if (($xml->returncode != 'SUCCESS') || ($xml->messageKey == null)) {
385
-				$result = array(
386
-					'returncode' => $xml->returncode->__toString(),
387
-					'messageKey' => $xml->messageKey->__toString(),
388
-					'message' => $xml->message->__toString()
389
-				);
390
-				return $result;
391
-			}
392
-			else {
393
-				// In this case, we have success and meeting info:
394
-				$result = array(
395
-					'returncode' => $xml->returncode->__toString(),
396
-					'meetingName' => $xml->meetingName->__toString(),
397
-					'meetingId' => $xml->meetingID->__toString(),
398
-					'createTime' => $xml->createTime->__toString(),
399
-					'voiceBridge' => $xml->voiceBridge->__toString(),
400
-					'attendeePw' => $xml->attendeePW->__toString(),
401
-					'moderatorPw' => $xml->moderatorPW->__toString(),
402
-					'running' => $xml->running->__toString(),
403
-					'recording' => $xml->recording->__toString(),
404
-					'hasBeenForciblyEnded' => $xml->hasBeenForciblyEnded->__toString(),
405
-					'startTime' => $xml->startTime->__toString(),
406
-					'endTime' => $xml->endTime->__toString(),
407
-					'participantCount' => $xml->participantCount->__toString(),
408
-					'maxUsers' => $xml->maxUsers->__toString(),
409
-					'moderatorCount' => $xml->moderatorCount->__toString(),
410
-				);
411
-				// Then interate through attendee results and return them as part of the array:
412
-				foreach ($xml->attendees->attendee as $a) {
413
-					$result[] = array(
414
-						'userId' => $a->userID->__toString(),
415
-						'fullName' => $a->fullName->__toString(),
416
-						'role' => $a->role->__toString()
417
-					);
418
-				}
419
-				return $result;
420
-			}
421
-		}
422
-		else {
423
-			return null;
424
-		}
425
-
426
-	}
427
-
428
-	/* __________________ BBB RECORDING METHODS _________________ */
429
-	/* The methods in the following section support the following categories of the BBB API:
381
+        $xml = $this->_processXmlResponse($this->getMeetingInfoUrl($infoParams));
382
+        if($xml) {
383
+            // If we don't get a success code or messageKey, find out why:
384
+            if (($xml->returncode != 'SUCCESS') || ($xml->messageKey == null)) {
385
+                $result = array(
386
+                    'returncode' => $xml->returncode->__toString(),
387
+                    'messageKey' => $xml->messageKey->__toString(),
388
+                    'message' => $xml->message->__toString()
389
+                );
390
+                return $result;
391
+            }
392
+            else {
393
+                // In this case, we have success and meeting info:
394
+                $result = array(
395
+                    'returncode' => $xml->returncode->__toString(),
396
+                    'meetingName' => $xml->meetingName->__toString(),
397
+                    'meetingId' => $xml->meetingID->__toString(),
398
+                    'createTime' => $xml->createTime->__toString(),
399
+                    'voiceBridge' => $xml->voiceBridge->__toString(),
400
+                    'attendeePw' => $xml->attendeePW->__toString(),
401
+                    'moderatorPw' => $xml->moderatorPW->__toString(),
402
+                    'running' => $xml->running->__toString(),
403
+                    'recording' => $xml->recording->__toString(),
404
+                    'hasBeenForciblyEnded' => $xml->hasBeenForciblyEnded->__toString(),
405
+                    'startTime' => $xml->startTime->__toString(),
406
+                    'endTime' => $xml->endTime->__toString(),
407
+                    'participantCount' => $xml->participantCount->__toString(),
408
+                    'maxUsers' => $xml->maxUsers->__toString(),
409
+                    'moderatorCount' => $xml->moderatorCount->__toString(),
410
+                );
411
+                // Then interate through attendee results and return them as part of the array:
412
+                foreach ($xml->attendees->attendee as $a) {
413
+                    $result[] = array(
414
+                        'userId' => $a->userID->__toString(),
415
+                        'fullName' => $a->fullName->__toString(),
416
+                        'role' => $a->role->__toString()
417
+                    );
418
+                }
419
+                return $result;
420
+            }
421
+        }
422
+        else {
423
+            return null;
424
+        }
425
+
426
+    }
427
+
428
+    /* __________________ BBB RECORDING METHODS _________________ */
429
+    /* The methods in the following section support the following categories of the BBB API:
430 430
 	-- getRecordings
431 431
 	-- publishRecordings
432 432
 	-- deleteRecordings
433 433
 	*/
434 434
 
435
-	public function getRecordingsUrl($recordingParams) {
436
-		/* USAGE:
435
+    public function getRecordingsUrl($recordingParams) {
436
+        /* USAGE:
437 437
 		$recordingParams = array(
438 438
 			'meetingId' => '1234',		-- OPTIONAL - comma separate if multiple ids
439 439
 		);
440 440
 		*/
441
-		$recordingsUrl = $this->_bbbServerBaseUrl."api/getRecordings?";
442
-		$params = 'meetingID='.urlencode($recordingParams['meetingId']);
443
-		return ($recordingsUrl.$params.'&checksum='.sha1("getRecordings".$params.$this->_securitySalt));
441
+        $recordingsUrl = $this->_bbbServerBaseUrl."api/getRecordings?";
442
+        $params = 'meetingID='.urlencode($recordingParams['meetingId']);
443
+        return ($recordingsUrl.$params.'&checksum='.sha1("getRecordings".$params.$this->_securitySalt));
444 444
 
445
-	}
445
+    }
446 446
 
447
-	public function getRecordingsWithXmlResponseArray($recordingParams) {
448
-		/* USAGE:
447
+    public function getRecordingsWithXmlResponseArray($recordingParams) {
448
+        /* USAGE:
449 449
 		$recordingParams = array(
450 450
 			'meetingId' => '1234',		-- OPTIONAL - comma separate if multiple ids
451 451
 		);
@@ -453,121 +453,121 @@  discard block
 block discarded – undo
453 453
 		when creating a meeting, it will kick users out after the duration. Should
454 454
 		probably be required in user code when 'recording' is set to true.
455 455
 		*/
456
-		$xml = $this->_processXmlResponse($this->getRecordingsUrl($recordingParams));
457
-		if($xml) {
458
-			// If we don't get a success code or messageKey, find out why:
459
-			if (($xml->returncode != 'SUCCESS') || ($xml->messageKey == null)) {
460
-				$result = array(
461
-					'returncode' => $xml->returncode->__toString(),
462
-					'messageKey' => $xml->messageKey->__toString(),
463
-					'message' => $xml->message->__toString()
464
-				);
465
-				return $result;
466
-			}
467
-			else {
468
-				// In this case, we have success and recording info:
469
-				$result = array(
470
-					'returncode' => $xml->returncode->__toString(),
471
-					'messageKey' => $xml->messageKey->__toString(),
472
-					'message' => $xml->message->__toString()
473
-				);
474
-
475
-				foreach ($xml->recordings->recording as $r) {
476
-					$result[] = array(
477
-						'recordId' => $r->recordID->__toString(),
478
-						'meetingId' => $r->meetingID->__toString(),
479
-						'name' => $r->name->__toString(),
480
-						'published' => $r->published->__toString(),
481
-						'startTime' => $r->startTime->__toString(),
482
-						'endTime' => $r->endTime->__toString(),
483
-						'playbackFormatType' => $r->playback->format->type->__toString(),
484
-						'playbackFormatUrl' => $r->playback->format->url->__toString(),
485
-						'playbackFormatLength' => $r->playback->format->length->__toString(),
486
-						'metadataTitle' => $r->metadata->title->__toString(),
487
-						'metadataSubject' => $r->metadata->subject->__toString(),
488
-						'metadataDescription' => $r->metadata->description->__toString(),
489
-						'metadataCreator' => $r->metadata->creator->__toString(),
490
-						'metadataContributor' => $r->metadata->contributor->__toString(),
491
-						'metadataLanguage' => $r->metadata->language->__toString(),
492
-						// Add more here as needed for your app depending on your
493
-						// use of metadata when creating recordings.
494
-						);
495
-					}
496
-				return $result;
497
-			}
498
-		}
499
-		else {
500
-			return null;
501
-		}
502
-	}
503
-
504
-	public function getPublishRecordingsUrl($recordingParams) {
505
-		/* USAGE:
456
+        $xml = $this->_processXmlResponse($this->getRecordingsUrl($recordingParams));
457
+        if($xml) {
458
+            // If we don't get a success code or messageKey, find out why:
459
+            if (($xml->returncode != 'SUCCESS') || ($xml->messageKey == null)) {
460
+                $result = array(
461
+                    'returncode' => $xml->returncode->__toString(),
462
+                    'messageKey' => $xml->messageKey->__toString(),
463
+                    'message' => $xml->message->__toString()
464
+                );
465
+                return $result;
466
+            }
467
+            else {
468
+                // In this case, we have success and recording info:
469
+                $result = array(
470
+                    'returncode' => $xml->returncode->__toString(),
471
+                    'messageKey' => $xml->messageKey->__toString(),
472
+                    'message' => $xml->message->__toString()
473
+                );
474
+
475
+                foreach ($xml->recordings->recording as $r) {
476
+                    $result[] = array(
477
+                        'recordId' => $r->recordID->__toString(),
478
+                        'meetingId' => $r->meetingID->__toString(),
479
+                        'name' => $r->name->__toString(),
480
+                        'published' => $r->published->__toString(),
481
+                        'startTime' => $r->startTime->__toString(),
482
+                        'endTime' => $r->endTime->__toString(),
483
+                        'playbackFormatType' => $r->playback->format->type->__toString(),
484
+                        'playbackFormatUrl' => $r->playback->format->url->__toString(),
485
+                        'playbackFormatLength' => $r->playback->format->length->__toString(),
486
+                        'metadataTitle' => $r->metadata->title->__toString(),
487
+                        'metadataSubject' => $r->metadata->subject->__toString(),
488
+                        'metadataDescription' => $r->metadata->description->__toString(),
489
+                        'metadataCreator' => $r->metadata->creator->__toString(),
490
+                        'metadataContributor' => $r->metadata->contributor->__toString(),
491
+                        'metadataLanguage' => $r->metadata->language->__toString(),
492
+                        // Add more here as needed for your app depending on your
493
+                        // use of metadata when creating recordings.
494
+                        );
495
+                    }
496
+                return $result;
497
+            }
498
+        }
499
+        else {
500
+            return null;
501
+        }
502
+    }
503
+
504
+    public function getPublishRecordingsUrl($recordingParams) {
505
+        /* USAGE:
506 506
 		$recordingParams = array(
507 507
 			'recordId' => '1234',		-- REQUIRED - comma separate if multiple ids
508 508
 			'publish' => 'true',		-- REQUIRED - boolean: true/false
509 509
 		);
510 510
 		*/
511
-		$recordingsUrl = $this->_bbbServerBaseUrl."api/publishRecordings?";
512
-		$params =
513
-		'recordID='.urlencode($recordingParams['recordId']).
514
-		'&publish='.urlencode($recordingParams['publish']);
515
-		return ($recordingsUrl.$params.'&checksum='.sha1("publishRecordings".$params.$this->_securitySalt));
511
+        $recordingsUrl = $this->_bbbServerBaseUrl."api/publishRecordings?";
512
+        $params =
513
+        'recordID='.urlencode($recordingParams['recordId']).
514
+        '&publish='.urlencode($recordingParams['publish']);
515
+        return ($recordingsUrl.$params.'&checksum='.sha1("publishRecordings".$params.$this->_securitySalt));
516 516
 
517
-	}
517
+    }
518 518
 
519
-	public function publishRecordingsWithXmlResponseArray($recordingParams) {
520
-		/* USAGE:
519
+    public function publishRecordingsWithXmlResponseArray($recordingParams) {
520
+        /* USAGE:
521 521
 		$recordingParams = array(
522 522
 			'recordId' => '1234',		-- REQUIRED - comma separate if multiple ids
523 523
 			'publish' => 'true',		-- REQUIRED - boolean: true/false
524 524
 		);
525 525
 		*/
526
-		$xml = $this->_processXmlResponse($this->getPublishRecordingsUrl($recordingParams));
527
-		if($xml) {
528
-			return array(
529
-				'returncode' => $xml->returncode->__toString(),
530
-				'published' => $xml->published->__toString() 	// -- Returns true/false.
531
-			);
532
-		}
533
-		else {
534
-			return null;
535
-		}
536
-
537
-
538
-	}
539
-
540
-	public function getDeleteRecordingsUrl($recordingParams) {
541
-		/* USAGE:
526
+        $xml = $this->_processXmlResponse($this->getPublishRecordingsUrl($recordingParams));
527
+        if($xml) {
528
+            return array(
529
+                'returncode' => $xml->returncode->__toString(),
530
+                'published' => $xml->published->__toString() 	// -- Returns true/false.
531
+            );
532
+        }
533
+        else {
534
+            return null;
535
+        }
536
+
537
+
538
+    }
539
+
540
+    public function getDeleteRecordingsUrl($recordingParams) {
541
+        /* USAGE:
542 542
 		$recordingParams = array(
543 543
 			'recordId' => '1234',		-- REQUIRED - comma separate if multiple ids
544 544
 		);
545 545
 		*/
546
-		$recordingsUrl = $this->_bbbServerBaseUrl."api/deleteRecordings?";
547
-		$params =
548
-		'recordID='.urlencode($recordingParams['recordId']);
549
-		return ($recordingsUrl.$params.'&checksum='.sha1("deleteRecordings".$params.$this->_securitySalt));
550
-	}
551
-
552
-	public function deleteRecordingsWithXmlResponseArray($recordingParams) {
553
-		/* USAGE:
546
+        $recordingsUrl = $this->_bbbServerBaseUrl."api/deleteRecordings?";
547
+        $params =
548
+        'recordID='.urlencode($recordingParams['recordId']);
549
+        return ($recordingsUrl.$params.'&checksum='.sha1("deleteRecordings".$params.$this->_securitySalt));
550
+    }
551
+
552
+    public function deleteRecordingsWithXmlResponseArray($recordingParams) {
553
+        /* USAGE:
554 554
 		$recordingParams = array(
555 555
 			'recordId' => '1234',		-- REQUIRED - comma separate if multiple ids
556 556
 		);
557 557
 		*/
558 558
 
559
-		$xml = $this->_processXmlResponse($this->getDeleteRecordingsUrl($recordingParams));
560
-		if($xml) {
561
-			return array(
562
-				'returncode' => $xml->returncode->__toString(),
563
-				'deleted' => $xml->deleted->__toString() 	// -- Returns true/false.
564
-			);
565
-		}
566
-		else {
567
-			return null;
568
-		}
569
-
570
-	}
559
+        $xml = $this->_processXmlResponse($this->getDeleteRecordingsUrl($recordingParams));
560
+        if($xml) {
561
+            return array(
562
+                'returncode' => $xml->returncode->__toString(),
563
+                'deleted' => $xml->deleted->__toString() 	// -- Returns true/false.
564
+            );
565
+        }
566
+        else {
567
+            return null;
568
+        }
569
+
570
+    }
571 571
 
572 572
 
573 573
 
Please login to merge, or discard this patch.
main/inc/lib/system_announcements.lib.php 1 patch
Indentation   +430 added lines, -430 removed lines patch added patch discarded remove patch
@@ -10,17 +10,17 @@  discard block
 block discarded – undo
10 10
     CONST VISIBLE_STUDENT = 2;
11 11
     CONST VISIBLE_TEACHER = 3;
12 12
 
13
-	/**
14
-	 * Displays all announcements
15
-	 * @param int $visible VISIBLE_GUEST, VISIBLE_STUDENT or VISIBLE_TEACHER
16
-	 * @param int $id The identifier of the announcement to display
17
-	 */
18
-	public static function display_announcements($visible, $id = -1)
13
+    /**
14
+     * Displays all announcements
15
+     * @param int $visible VISIBLE_GUEST, VISIBLE_STUDENT or VISIBLE_TEACHER
16
+     * @param int $id The identifier of the announcement to display
17
+     */
18
+    public static function display_announcements($visible, $id = -1)
19 19
     {
20
-		$user_selected_language = api_get_interface_language();
21
-		$db_table = Database :: get_main_table(TABLE_MAIN_SYSTEM_ANNOUNCEMENTS);
20
+        $user_selected_language = api_get_interface_language();
21
+        $db_table = Database :: get_main_table(TABLE_MAIN_SYSTEM_ANNOUNCEMENTS);
22 22
         $tbl_announcement_group = Database :: get_main_table(TABLE_MAIN_SYSTEM_ANNOUNCEMENTS_GROUPS);
23
-		$userGroup = new UserGroup();
23
+        $userGroup = new UserGroup();
24 24
 
25 25
         $temp_user_groups = $userGroup->get_groups_by_user(api_get_user_id(),0);
26 26
         $groups = array();
@@ -55,47 +55,47 @@  discard block
 block discarded – undo
55 55
                         WHERE group_id in $groups_string
56 56
                     ) ";
57 57
         }
58
-		$current_access_url_id = 1;
59
-		if (api_is_multiple_url_enabled()) {
60
-			$current_access_url_id = api_get_current_access_url_id();
61
-		}
62
-		$sql .= " AND access_url_id = '$current_access_url_id' ";
63
-		$sql .= " ORDER BY date_start DESC LIMIT 0,7";
64
-
65
-		$announcements = Database::query($sql);
66
-		if (Database::num_rows($announcements) > 0) {
67
-			$query_string = ereg_replace('announcement=[1-9]+', '', $_SERVER['QUERY_STRING']);
68
-			$query_string = ereg_replace('&$', '', $query_string);
69
-			$url = api_get_self();
70
-			echo '<div class="system_announcements">';
71
-			echo '<h3>'.get_lang('SystemAnnouncements').'</h3>';
72
-			echo '<div style="margin:10px;text-align:right;"><a href="news_list.php">'.get_lang('More').'</a></div>';
73
-
74
-			while ($announcement = Database::fetch_object($announcements)) {
75
-				if ($id != $announcement->id) {
76
-					if (strlen($query_string) > 0) {
77
-						$show_url = 'news_list.php#'.$announcement->id;
78
-					} else {
79
-						$show_url = 'news_list.php#'.$announcement->id;
80
-					}
81
-			        $display_date = api_convert_and_format_date($announcement->display_date, DATE_FORMAT_LONG);
82
-					echo '<a name="'.$announcement->id.'"></a>
58
+        $current_access_url_id = 1;
59
+        if (api_is_multiple_url_enabled()) {
60
+            $current_access_url_id = api_get_current_access_url_id();
61
+        }
62
+        $sql .= " AND access_url_id = '$current_access_url_id' ";
63
+        $sql .= " ORDER BY date_start DESC LIMIT 0,7";
64
+
65
+        $announcements = Database::query($sql);
66
+        if (Database::num_rows($announcements) > 0) {
67
+            $query_string = ereg_replace('announcement=[1-9]+', '', $_SERVER['QUERY_STRING']);
68
+            $query_string = ereg_replace('&$', '', $query_string);
69
+            $url = api_get_self();
70
+            echo '<div class="system_announcements">';
71
+            echo '<h3>'.get_lang('SystemAnnouncements').'</h3>';
72
+            echo '<div style="margin:10px;text-align:right;"><a href="news_list.php">'.get_lang('More').'</a></div>';
73
+
74
+            while ($announcement = Database::fetch_object($announcements)) {
75
+                if ($id != $announcement->id) {
76
+                    if (strlen($query_string) > 0) {
77
+                        $show_url = 'news_list.php#'.$announcement->id;
78
+                    } else {
79
+                        $show_url = 'news_list.php#'.$announcement->id;
80
+                    }
81
+                    $display_date = api_convert_and_format_date($announcement->display_date, DATE_FORMAT_LONG);
82
+                    echo '<a name="'.$announcement->id.'"></a>
83 83
 						<div class="system_announcement">
84 84
 							<div class="system_announcement_title"><a name="ann'.$announcement->id.'" href="'.$show_url.'">'.$announcement->title.'</a></div><div class="system_announcement_date">'.$display_date.'</div>
85 85
 					  	</div>';
86
-				} else {
87
-					echo '<div class="system_announcement">
86
+                } else {
87
+                    echo '<div class="system_announcement">
88 88
 							<div class="system_announcement_title">'
89
-								.$announcement->display_date.'
89
+                                .$announcement->display_date.'
90 90
 								<a name="ann'.$announcement->id.'" href="'.$url.'?'.$query_string.'#ann'.$announcement->id.'">'.$announcement->title.'</a>
91 91
 							</div>';
92
-				}
93
-				echo '<br />';
94
-			}
95
-			echo '</div>';
96
-		}
97
-		return;
98
-	}
92
+                }
93
+                echo '<br />';
94
+            }
95
+            echo '</div>';
96
+        }
97
+        return;
98
+    }
99 99
 
100 100
     /**
101 101
      * @param $visible
@@ -106,100 +106,100 @@  discard block
 block discarded – undo
106 106
      */
107 107
     public static function display_all_announcements($visible, $id = -1, $start = 0,$user_id='')
108 108
     {
109
-		$user_selected_language = api_get_interface_language();
110
-		$start	= intval($start);
109
+        $user_selected_language = api_get_interface_language();
110
+        $start	= intval($start);
111 111
         $userGroup = new UserGroup();
112
-	    $tbl_announcement_group = Database :: get_main_table(TABLE_MAIN_SYSTEM_ANNOUNCEMENTS_GROUPS);
113
-	    $temp_user_groups = $userGroup->get_groups_by_user(api_get_user_id(),0);
112
+        $tbl_announcement_group = Database :: get_main_table(TABLE_MAIN_SYSTEM_ANNOUNCEMENTS_GROUPS);
113
+        $temp_user_groups = $userGroup->get_groups_by_user(api_get_user_id(),0);
114 114
         $groups = array();
115
-	    foreach ($temp_user_groups as $user_group) {
116
-	        $groups = array_merge($groups, array($user_group['id']));
117
-	        $groups = array_merge($groups, $userGroup->get_parent_groups($user_group['id']));
118
-	    }
115
+        foreach ($temp_user_groups as $user_group) {
116
+            $groups = array_merge($groups, array($user_group['id']));
117
+            $groups = array_merge($groups, $userGroup->get_parent_groups($user_group['id']));
118
+        }
119 119
 
120
-	    // Checks if tables exists to not break platform not updated
121
-	    $groups_string = '('.implode($groups,',').')';
120
+        // Checks if tables exists to not break platform not updated
121
+        $groups_string = '('.implode($groups,',').')';
122 122
 
123
-		$db_table = Database :: get_main_table(TABLE_MAIN_SYSTEM_ANNOUNCEMENTS);
124
-		$now  = api_get_utc_datetime();
123
+        $db_table = Database :: get_main_table(TABLE_MAIN_SYSTEM_ANNOUNCEMENTS);
124
+        $now  = api_get_utc_datetime();
125 125
 
126
-		$sql = "SELECT * FROM ".$db_table."
126
+        $sql = "SELECT * FROM ".$db_table."
127 127
 				WHERE
128 128
 				    (lang = '$user_selected_language' OR lang IS NULL) AND
129 129
 				    ( '$now' >= date_start AND '$now' <= date_end) ";
130 130
 
131
-		switch ($visible) {
132
-			case self::VISIBLE_GUEST :
133
-				$sql .= " AND visible_guest = 1 ";
134
-				break;
135
-			case self::VISIBLE_STUDENT :
136
-				$sql .= " AND visible_student = 1 ";
137
-				break;
138
-			case self::VISIBLE_TEACHER :
139
-				$sql .= " AND visible_teacher = 1 ";
140
-				break;
141
-		}
142
-
143
-	    if (count($groups) > 0) {
131
+        switch ($visible) {
132
+            case self::VISIBLE_GUEST :
133
+                $sql .= " AND visible_guest = 1 ";
134
+                break;
135
+            case self::VISIBLE_STUDENT :
136
+                $sql .= " AND visible_student = 1 ";
137
+                break;
138
+            case self::VISIBLE_TEACHER :
139
+                $sql .= " AND visible_teacher = 1 ";
140
+                break;
141
+        }
142
+
143
+        if (count($groups) > 0) {
144 144
             $sql .= " OR id IN (
145 145
                     SELECT announcement_id FROM $tbl_announcement_group
146 146
                     WHERE group_id in $groups_string
147 147
                     ) ";
148
-	    }
148
+        }
149 149
 
150
-		if (api_is_multiple_url_enabled()) {
151
-			$current_access_url_id = api_get_current_access_url_id();
150
+        if (api_is_multiple_url_enabled()) {
151
+            $current_access_url_id = api_get_current_access_url_id();
152 152
             $sql .= " AND access_url_id IN ('1', '$current_access_url_id')";
153
-		}
154
-
155
-		if(!isset($_GET['start']) || $_GET['start'] == 0) {
156
-			$sql .= " ORDER BY date_start DESC LIMIT ".$start.",20";
157
-		} else {
158
-			$sql .= " ORDER BY date_start DESC LIMIT ".($start+1).",20";
159
-		}
160
-		$announcements = Database::query($sql);
161
-		$content = '';
162
-		if (Database::num_rows($announcements) > 0) {
163
-			$query_string = ereg_replace('announcement=[1-9]+', '', $_SERVER['QUERY_STRING']);
164
-			$query_string = ereg_replace('&$', '', $query_string);
165
-			$url = api_get_self();
166
-			$content .= '<div class="system_announcements">';
167
-			$content .= '<h3>'.get_lang('SystemAnnouncements').'</h3>';
168
-			$content .= '<table align="center">';
169
-				$content .= '<tr>';
170
-					$content .= '<td>';
171
-						$content .= SystemAnnouncementManager :: display_arrow($user_id);
172
-					$content .= '</td>';
173
-				$content .= '</tr>';
174
-			$content .= '</table>';
175
-			$content .= '<table align="center" border="0" width="900px">';
176
-			while ($announcement = Database::fetch_object($announcements)) {
177
-				$display_date = api_convert_and_format_date($announcement->display_date, DATE_FORMAT_LONG);
178
-				$content .= '<tr><td>';
179
-				$content .= '<a name="'.$announcement->id.'"></a>
153
+        }
154
+
155
+        if(!isset($_GET['start']) || $_GET['start'] == 0) {
156
+            $sql .= " ORDER BY date_start DESC LIMIT ".$start.",20";
157
+        } else {
158
+            $sql .= " ORDER BY date_start DESC LIMIT ".($start+1).",20";
159
+        }
160
+        $announcements = Database::query($sql);
161
+        $content = '';
162
+        if (Database::num_rows($announcements) > 0) {
163
+            $query_string = ereg_replace('announcement=[1-9]+', '', $_SERVER['QUERY_STRING']);
164
+            $query_string = ereg_replace('&$', '', $query_string);
165
+            $url = api_get_self();
166
+            $content .= '<div class="system_announcements">';
167
+            $content .= '<h3>'.get_lang('SystemAnnouncements').'</h3>';
168
+            $content .= '<table align="center">';
169
+                $content .= '<tr>';
170
+                    $content .= '<td>';
171
+                        $content .= SystemAnnouncementManager :: display_arrow($user_id);
172
+                    $content .= '</td>';
173
+                $content .= '</tr>';
174
+            $content .= '</table>';
175
+            $content .= '<table align="center" border="0" width="900px">';
176
+            while ($announcement = Database::fetch_object($announcements)) {
177
+                $display_date = api_convert_and_format_date($announcement->display_date, DATE_FORMAT_LONG);
178
+                $content .= '<tr><td>';
179
+                $content .= '<a name="'.$announcement->id.'"></a>
180 180
 						<div class="system_announcement">
181 181
 						<h2>'.$announcement->title.'</h2><div class="system_announcement_date">'.$display_date.'</div>
182 182
 						<br />
183 183
 					  	<div class="system_announcement_content">'
184
-					  			.$announcement->content.'
184
+                                    .$announcement->content.'
185 185
 						</div>
186 186
 					  </div><br />';
187
-				$content .= '</tr></td>';
188
-			}
189
-			$content .= '</table>';
190
-
191
-			$content .= '<table align="center">';
192
-				$content .= '<tr>';
193
-					$content .= '<td>';
194
-						$content .= SystemAnnouncementManager :: display_arrow($user_id);
195
-					$content .= '</td>';
196
-				$content .= '</tr>';
197
-			$content .= '</table>';
198
-			$content .= '</div>';
199
-		}
200
-
201
-		return $content;
202
-	}
187
+                $content .= '</tr></td>';
188
+            }
189
+            $content .= '</table>';
190
+
191
+            $content .= '<table align="center">';
192
+                $content .= '<tr>';
193
+                    $content .= '<td>';
194
+                        $content .= SystemAnnouncementManager :: display_arrow($user_id);
195
+                    $content .= '</td>';
196
+                $content .= '</tr>';
197
+            $content .= '</table>';
198
+            $content .= '</div>';
199
+        }
200
+
201
+        return $content;
202
+    }
203 203
 
204 204
     /**
205 205
      * @param int $user_id
@@ -207,23 +207,23 @@  discard block
 block discarded – undo
207 207
      */
208 208
     public static function display_arrow($user_id)
209 209
     {
210
-		$start = (int)$_GET['start'];
211
-		$nb_announcement = SystemAnnouncementManager :: count_nb_announcement($start,$user_id);
212
-		$next = ((int)$_GET['start']+19);
213
-		$prev = ((int)$_GET['start']-19);
214
-		$content = '';
215
-		if(!isset($_GET['start']) || $_GET['start'] == 0) {
216
-			if($nb_announcement > 20) {
217
-				$content .= '<a href="news_list.php?start='.$next.'">'.get_lang('NextBis').' >> </a>';
218
-			}
219
-		} else {
220
-			echo '<a href="news_list.php?start='.$prev.'"> << '.get_lang('Prev').'</a>';
221
-			if ($nb_announcement > 20) {
222
-				$content .= '<a href="news_list.php?start='.$next.'">'.get_lang('NextBis').' >> </a>';
223
-			}
224
-		}
225
-		return $content;
226
-	}
210
+        $start = (int)$_GET['start'];
211
+        $nb_announcement = SystemAnnouncementManager :: count_nb_announcement($start,$user_id);
212
+        $next = ((int)$_GET['start']+19);
213
+        $prev = ((int)$_GET['start']-19);
214
+        $content = '';
215
+        if(!isset($_GET['start']) || $_GET['start'] == 0) {
216
+            if($nb_announcement > 20) {
217
+                $content .= '<a href="news_list.php?start='.$next.'">'.get_lang('NextBis').' >> </a>';
218
+            }
219
+        } else {
220
+            echo '<a href="news_list.php?start='.$prev.'"> << '.get_lang('Prev').'</a>';
221
+            if ($nb_announcement > 20) {
222
+                $content .= '<a href="news_list.php?start='.$next.'">'.get_lang('NextBis').' >> </a>';
223
+            }
224
+        }
225
+        return $content;
226
+    }
227 227
 
228 228
     /**
229 229
      * @param int $start
@@ -232,82 +232,82 @@  discard block
 block discarded – undo
232 232
      */
233 233
     public static function count_nb_announcement($start = 0, $user_id = '')
234 234
     {
235
-		$start = intval($start);
236
-		$visibility = api_is_allowed_to_create_course() ? self::VISIBLE_TEACHER : self::VISIBLE_STUDENT;
237
-		$user_selected_language = api_get_interface_language();
238
-		$db_table = Database :: get_main_table(TABLE_MAIN_SYSTEM_ANNOUNCEMENTS);
239
-		$sql = 'SELECT id FROM '.$db_table.'
235
+        $start = intval($start);
236
+        $visibility = api_is_allowed_to_create_course() ? self::VISIBLE_TEACHER : self::VISIBLE_STUDENT;
237
+        $user_selected_language = api_get_interface_language();
238
+        $db_table = Database :: get_main_table(TABLE_MAIN_SYSTEM_ANNOUNCEMENTS);
239
+        $sql = 'SELECT id FROM '.$db_table.'
240 240
 		        WHERE (lang="'.$user_selected_language.'" OR lang IS NULL) ';
241
-		if (isset($user_id)) {
242
-			switch ($visibility) {
243
-				case self::VISIBLE_GUEST :
244
-					$sql .= " AND visible_guest = 1 ";
245
-					break;
246
-				case self::VISIBLE_STUDENT :
247
-					$sql .= " AND visible_student = 1 ";
248
-					break;
249
-				case self::VISIBLE_TEACHER :
250
-					$sql .= " AND visible_teacher = 1 ";
251
-					break;
252
-			}
253
- 		}
254
-
255
-		$current_access_url_id = 1;
256
-		if (api_is_multiple_url_enabled()) {
257
-			$current_access_url_id = api_get_current_access_url_id();
258
-		}
259
-		$sql .= " AND access_url_id = '$current_access_url_id' ";
260
-
261
-
262
-		$sql .= 'LIMIT '.$start.', 21';
263
-		$announcements = Database::query($sql);
264
-		$i = 0;
265
-		while ($rows = Database::fetch_array($announcements)) {
266
-			$i++;
267
-		}
268
-		return $i;
269
-	}
270
-
271
-	/**
272
-	 * Get all announcements
273
-	 * @return array An array with all available system announcements (as php
274
-	 * objects)
275
-	 */
276
-	public static function get_all_announcements()
241
+        if (isset($user_id)) {
242
+            switch ($visibility) {
243
+                case self::VISIBLE_GUEST :
244
+                    $sql .= " AND visible_guest = 1 ";
245
+                    break;
246
+                case self::VISIBLE_STUDENT :
247
+                    $sql .= " AND visible_student = 1 ";
248
+                    break;
249
+                case self::VISIBLE_TEACHER :
250
+                    $sql .= " AND visible_teacher = 1 ";
251
+                    break;
252
+            }
253
+            }
254
+
255
+        $current_access_url_id = 1;
256
+        if (api_is_multiple_url_enabled()) {
257
+            $current_access_url_id = api_get_current_access_url_id();
258
+        }
259
+        $sql .= " AND access_url_id = '$current_access_url_id' ";
260
+
261
+
262
+        $sql .= 'LIMIT '.$start.', 21';
263
+        $announcements = Database::query($sql);
264
+        $i = 0;
265
+        while ($rows = Database::fetch_array($announcements)) {
266
+            $i++;
267
+        }
268
+        return $i;
269
+    }
270
+
271
+    /**
272
+     * Get all announcements
273
+     * @return array An array with all available system announcements (as php
274
+     * objects)
275
+     */
276
+    public static function get_all_announcements()
277 277
     {
278
-		$table = Database :: get_main_table(TABLE_MAIN_SYSTEM_ANNOUNCEMENTS);
279
-		$now = api_get_utc_datetime();
280
-		$sql = "SELECT *, IF ( '$now'  >= date_start AND '$now' <= date_end, '1', '0') AS visible
278
+        $table = Database :: get_main_table(TABLE_MAIN_SYSTEM_ANNOUNCEMENTS);
279
+        $now = api_get_utc_datetime();
280
+        $sql = "SELECT *, IF ( '$now'  >= date_start AND '$now' <= date_end, '1', '0') AS visible
281 281
 				FROM $table";
282 282
 
283
-		$current_access_url_id = 1;
284
-		if (api_is_multiple_url_enabled()) {
285
-			$current_access_url_id = api_get_current_access_url_id();
286
-		}
287
-		$sql .= " WHERE access_url_id = '$current_access_url_id' ";
288
-		$sql .= " ORDER BY date_start ASC";
289
-
290
-		$announcements = Database::query($sql);
291
-		$all_announcements = array();
292
-		while ($announcement = Database::fetch_object($announcements)) {
293
-			$all_announcements[] = $announcement;
294
-		}
295
-		return $all_announcements;
296
-	}
297
-
298
-	/**
299
-	 * Adds an announcement to the database
300
-	 * @param string Title of the announcement
301
-	 * @param string Content of the announcement
302
-	 * @param string Start date (YYYY-MM-DD HH:II: SS)
303
-	 * @param string End date (YYYY-MM-DD HH:II: SS)
304
-	 * @param int    Whether the announcement should be visible to teachers (1) or not (0)
305
-	 * @param int    Whether the announcement should be visible to students (1) or not (0)
306
-	 * @param int    Whether the announcement should be visible to anonymous users (1) or not (0)
307
-	 * @param string The language for which the announvement should be shown. Leave null for all langages
308
-	 * @param int    Whether to send an e-mail to all users (1) or not (0)
309
-	 * @return mixed  insert_id on success, false on failure
310
-	 */
283
+        $current_access_url_id = 1;
284
+        if (api_is_multiple_url_enabled()) {
285
+            $current_access_url_id = api_get_current_access_url_id();
286
+        }
287
+        $sql .= " WHERE access_url_id = '$current_access_url_id' ";
288
+        $sql .= " ORDER BY date_start ASC";
289
+
290
+        $announcements = Database::query($sql);
291
+        $all_announcements = array();
292
+        while ($announcement = Database::fetch_object($announcements)) {
293
+            $all_announcements[] = $announcement;
294
+        }
295
+        return $all_announcements;
296
+    }
297
+
298
+    /**
299
+     * Adds an announcement to the database
300
+     * @param string Title of the announcement
301
+     * @param string Content of the announcement
302
+     * @param string Start date (YYYY-MM-DD HH:II: SS)
303
+     * @param string End date (YYYY-MM-DD HH:II: SS)
304
+     * @param int    Whether the announcement should be visible to teachers (1) or not (0)
305
+     * @param int    Whether the announcement should be visible to students (1) or not (0)
306
+     * @param int    Whether the announcement should be visible to anonymous users (1) or not (0)
307
+     * @param string The language for which the announvement should be shown. Leave null for all langages
308
+     * @param int    Whether to send an e-mail to all users (1) or not (0)
309
+     * @return mixed  insert_id on success, false on failure
310
+     */
311 311
     public static function add_announcement(
312 312
         $title,
313 313
         $content,
@@ -321,113 +321,113 @@  discard block
 block discarded – undo
321 321
         $add_to_calendar = false,
322 322
         $sendEmailTest = false
323 323
     ) {
324
-		$original_content = $content;
325
-		$a_dateS = explode(' ',$date_start);
326
-		$a_arraySD = explode('-',$a_dateS[0]);
327
-		$a_arraySH = explode(':',$a_dateS[1]);
328
-		$date_start_to_compare = array_merge($a_arraySD,$a_arraySH);
324
+        $original_content = $content;
325
+        $a_dateS = explode(' ',$date_start);
326
+        $a_arraySD = explode('-',$a_dateS[0]);
327
+        $a_arraySH = explode(':',$a_dateS[1]);
328
+        $date_start_to_compare = array_merge($a_arraySD,$a_arraySH);
329 329
 
330
-		$a_dateE = explode(' ',$date_end);
331
-		$a_arrayED = explode('-',$a_dateE[0]);
332
-		$a_arrayEH = explode(':',$a_dateE[1]);
333
-		$date_end_to_compare = array_merge($a_arrayED,$a_arrayEH);
330
+        $a_dateE = explode(' ',$date_end);
331
+        $a_arrayED = explode('-',$a_dateE[0]);
332
+        $a_arrayEH = explode(':',$a_dateE[1]);
333
+        $date_end_to_compare = array_merge($a_arrayED,$a_arrayEH);
334 334
 
335
-		$db_table = Database :: get_main_table(TABLE_MAIN_SYSTEM_ANNOUNCEMENTS);
335
+        $db_table = Database :: get_main_table(TABLE_MAIN_SYSTEM_ANNOUNCEMENTS);
336 336
 
337
-		if (!checkdate($date_start_to_compare[1], $date_start_to_compare[2], $date_start_to_compare[0])) {
338
-			Display :: display_normal_message(get_lang('InvalidStartDate'));
339
-			return false;
340
-		}
337
+        if (!checkdate($date_start_to_compare[1], $date_start_to_compare[2], $date_start_to_compare[0])) {
338
+            Display :: display_normal_message(get_lang('InvalidStartDate'));
339
+            return false;
340
+        }
341 341
 
342
-		if (($date_end_to_compare[1] ||
342
+        if (($date_end_to_compare[1] ||
343 343
             $date_end_to_compare[2] ||
344 344
             $date_end_to_compare[0]) &&
345 345
             !checkdate($date_end_to_compare[1], $date_end_to_compare[2], $date_end_to_compare[0])
346 346
         ) {
347
-			Display :: display_normal_message(get_lang('InvalidEndDate'));
348
-			return false;
349
-		}
347
+            Display :: display_normal_message(get_lang('InvalidEndDate'));
348
+            return false;
349
+        }
350 350
 
351
-		if (strlen(trim($title)) == 0) {
352
-			Display::display_normal_message(get_lang('InvalidTitle'));
351
+        if (strlen(trim($title)) == 0) {
352
+            Display::display_normal_message(get_lang('InvalidTitle'));
353 353
 
354
-			return false;
355
-		}
354
+            return false;
355
+        }
356 356
 
357
-		$start = api_get_utc_datetime($date_start);
357
+        $start = api_get_utc_datetime($date_start);
358 358
         $end = api_get_utc_datetime($date_end);
359 359
 
360
-		// Fixing urls that are sent by email
361
-		$content = str_replace('src=\"/home/', 'src=\"'.api_get_path(WEB_PATH).'home/', $content);
362
-		$content = str_replace('file=/home/', 'file='.api_get_path(WEB_PATH).'home/', $content);
360
+        // Fixing urls that are sent by email
361
+        $content = str_replace('src=\"/home/', 'src=\"'.api_get_path(WEB_PATH).'home/', $content);
362
+        $content = str_replace('file=/home/', 'file='.api_get_path(WEB_PATH).'home/', $content);
363 363
 
364 364
         $lang = is_null($lang) ? '' : $lang;
365 365
 
366
-		$current_access_url_id = 1;
367
-		if (api_is_multiple_url_enabled()) {
368
-			$current_access_url_id = api_get_current_access_url_id();
369
-		}
370
-
371
-		$params = [
372
-			'title' => $title,
373
-			'content' => $content,
374
-			'date_start' => $start,
375
-			'date_end' => $end,
376
-			'visible_teacher' => $visible_teacher,
377
-			'visible_student' => $visible_student,
378
-			'visible_guest' => $visible_guest,
379
-			'lang' => $lang,
380
-			'access_url_id' => $current_access_url_id,
381
-		];
382
-
383
-		$resultId = Database::insert($db_table, $params);
384
-
385
-		if ($resultId) {
386
-			if ($sendEmailTest) {
387
-				SystemAnnouncementManager::send_system_announcement_by_email(
388
-					$title,
389
-					$content,
390
-					$visible_teacher,
391
-					$visible_student,
392
-					$lang,
393
-					true
394
-				);
395
-			} else {
396
-				if ($send_mail == 1) {
397
-					SystemAnnouncementManager::send_system_announcement_by_email(
398
-						$title,
399
-						$content,
400
-						$visible_teacher,
401
-						$visible_student,
402
-						$lang
403
-					);
404
-				}
405
-			}
406
-
407
-			if ($add_to_calendar) {
408
-				$agenda = new Agenda();
409
-				$agenda->setType('admin');
410
-				$agenda->addEvent(
411
-					$date_start,
412
-					$date_end,
413
-					false,
414
-					$title,
415
-					$original_content
416
-				);
417
-			}
418
-
419
-			return $resultId;
420
-
421
-		}
422
-
423
-		return false;
424
-	}
366
+        $current_access_url_id = 1;
367
+        if (api_is_multiple_url_enabled()) {
368
+            $current_access_url_id = api_get_current_access_url_id();
369
+        }
370
+
371
+        $params = [
372
+            'title' => $title,
373
+            'content' => $content,
374
+            'date_start' => $start,
375
+            'date_end' => $end,
376
+            'visible_teacher' => $visible_teacher,
377
+            'visible_student' => $visible_student,
378
+            'visible_guest' => $visible_guest,
379
+            'lang' => $lang,
380
+            'access_url_id' => $current_access_url_id,
381
+        ];
382
+
383
+        $resultId = Database::insert($db_table, $params);
384
+
385
+        if ($resultId) {
386
+            if ($sendEmailTest) {
387
+                SystemAnnouncementManager::send_system_announcement_by_email(
388
+                    $title,
389
+                    $content,
390
+                    $visible_teacher,
391
+                    $visible_student,
392
+                    $lang,
393
+                    true
394
+                );
395
+            } else {
396
+                if ($send_mail == 1) {
397
+                    SystemAnnouncementManager::send_system_announcement_by_email(
398
+                        $title,
399
+                        $content,
400
+                        $visible_teacher,
401
+                        $visible_student,
402
+                        $lang
403
+                    );
404
+                }
405
+            }
406
+
407
+            if ($add_to_calendar) {
408
+                $agenda = new Agenda();
409
+                $agenda->setType('admin');
410
+                $agenda->addEvent(
411
+                    $date_start,
412
+                    $date_end,
413
+                    false,
414
+                    $title,
415
+                    $original_content
416
+                );
417
+            }
418
+
419
+            return $resultId;
420
+
421
+        }
422
+
423
+        return false;
424
+    }
425 425
 
426 426
     /**
427
-    * Makes the announcement id visible only for groups in groups_array
428
-    * @param int announcement id
429
-    * @param array array of group id
430
-    **/
427
+     * Makes the announcement id visible only for groups in groups_array
428
+     * @param int announcement id
429
+     * @param array array of group id
430
+     **/
431 431
     public static function announcement_for_groups($announcement_id, $group_array)
432 432
     {
433 433
         $tbl_announcement_group = Database:: get_main_table(
@@ -461,10 +461,10 @@  discard block
 block discarded – undo
461 461
     }
462 462
 
463 463
     /**
464
-    * Gets the groups of this announce
465
-    * @param int announcement id
466
-    * @return array array of group id
467
-    **/
464
+     * Gets the groups of this announce
465
+     * @param int announcement id
466
+     * @return array array of group id
467
+     **/
468 468
     public static function get_announcement_groups($announcement_id)
469 469
     {
470 470
         $tbl_announcement_group = Database :: get_main_table(TABLE_MAIN_SYSTEM_ANNOUNCEMENTS_GROUPS);
@@ -483,15 +483,15 @@  discard block
 block discarded – undo
483 483
         return $groups;
484 484
     }
485 485
 
486
-	/**
487
-	 * Updates an announcement to the database
488
-	 * @param integer $id      : id of the announcement
489
-	 * @param string  $title   : title of the announcement
490
-	 * @param string  $content : content of the announcement
491
-	 * @param array $date_start: start date of announcement (0 => day ; 1 => month ; 2 => year ; 3 => hour ; 4 => minute)
492
-	 * @param array $date_end : end date of announcement (0 => day ; 1 => month ; 2 => year ; 3 => hour ; 4 => minute)
493
-	 * @return	bool	True on success, false on failure
494
-	 */
486
+    /**
487
+     * Updates an announcement to the database
488
+     * @param integer $id      : id of the announcement
489
+     * @param string  $title   : title of the announcement
490
+     * @param string  $content : content of the announcement
491
+     * @param array $date_start: start date of announcement (0 => day ; 1 => month ; 2 => year ; 3 => hour ; 4 => minute)
492
+     * @param array $date_end : end date of announcement (0 => day ; 1 => month ; 2 => year ; 3 => hour ; 4 => minute)
493
+     * @return	bool	True on success, false on failure
494
+     */
495 495
     public static function update_announcement(
496 496
         $id,
497 497
         $title,
@@ -506,53 +506,53 @@  discard block
 block discarded – undo
506 506
         $sendEmailTest = false
507 507
     ) {
508 508
         $em = Database::getManager();
509
-		$announcement = $em->find('ChamiloCoreBundle:SysAnnouncement', $id);
509
+        $announcement = $em->find('ChamiloCoreBundle:SysAnnouncement', $id);
510 510
 
511
-		if (!$announcement) {
511
+        if (!$announcement) {
512 512
 
513
-			return false;
514
-		}
513
+            return false;
514
+        }
515 515
 
516
-		$a_dateS = explode(' ',$date_start);
517
-		$a_arraySD = explode('-',$a_dateS[0]);
518
-		$a_arraySH = explode(':',$a_dateS[1]);
519
-		$date_start_to_compare = array_merge($a_arraySD,$a_arraySH);
516
+        $a_dateS = explode(' ',$date_start);
517
+        $a_arraySD = explode('-',$a_dateS[0]);
518
+        $a_arraySH = explode(':',$a_dateS[1]);
519
+        $date_start_to_compare = array_merge($a_arraySD,$a_arraySH);
520 520
 
521
-		$a_dateE = explode(' ',$date_end);
522
-		$a_arrayED = explode('-',$a_dateE[0]);
523
-		$a_arrayEH = explode(':',$a_dateE[1]);
524
-		$date_end_to_compare = array_merge($a_arrayED,$a_arrayEH);
521
+        $a_dateE = explode(' ',$date_end);
522
+        $a_arrayED = explode('-',$a_dateE[0]);
523
+        $a_arrayEH = explode(':',$a_dateE[1]);
524
+        $date_end_to_compare = array_merge($a_arrayED,$a_arrayEH);
525 525
 
526 526
         $lang = is_null($lang) ? '' : $lang;
527 527
 
528
-		if (!checkdate($date_start_to_compare[1], $date_start_to_compare[2], $date_start_to_compare[0])) {
529
-			Display :: display_normal_message(get_lang('InvalidStartDate'));
528
+        if (!checkdate($date_start_to_compare[1], $date_start_to_compare[2], $date_start_to_compare[0])) {
529
+            Display :: display_normal_message(get_lang('InvalidStartDate'));
530 530
 
531
-			return false;
532
-		}
531
+            return false;
532
+        }
533 533
 
534
-		if (($date_end_to_compare[1] ||
534
+        if (($date_end_to_compare[1] ||
535 535
             $date_end_to_compare[2] ||
536 536
             $date_end_to_compare[0]) &&
537 537
             !checkdate($date_end_to_compare[1], $date_end_to_compare[2], $date_end_to_compare[0])
538 538
         ) {
539
-			Display :: display_normal_message(get_lang('InvalidEndDate'));
539
+            Display :: display_normal_message(get_lang('InvalidEndDate'));
540 540
 
541
-			return false;
542
-		}
541
+            return false;
542
+        }
543 543
 
544
-		if (strlen(trim($title)) == 0) {
545
-			Display::display_normal_message(get_lang('InvalidTitle'));
544
+        if (strlen(trim($title)) == 0) {
545
+            Display::display_normal_message(get_lang('InvalidTitle'));
546 546
 
547
-			return false;
548
-		}
547
+            return false;
548
+        }
549 549
 
550
-		$start = api_get_utc_datetime($date_start);
550
+        $start = api_get_utc_datetime($date_start);
551 551
         $end = api_get_utc_datetime($date_end);
552 552
 
553
-		// Fixing urls that are sent by email
554
-		$content = str_replace('src=\"/home/', 'src=\"'.api_get_path(WEB_PATH).'home/', $content);
555
-		$content = str_replace('file=/home/', 'file='.api_get_path(WEB_PATH).'home/', $content);
553
+        // Fixing urls that are sent by email
554
+        $content = str_replace('src=\"/home/', 'src=\"'.api_get_path(WEB_PATH).'home/', $content);
555
+        $content = str_replace('file=/home/', 'file='.api_get_path(WEB_PATH).'home/', $content);
556 556
 
557 557
         if ($sendEmailTest) {
558 558
             SystemAnnouncementManager::send_system_announcement_by_email(
@@ -592,90 +592,90 @@  discard block
 block discarded – undo
592 592
         $em->merge($announcement);
593 593
         $em->flush();
594 594
 
595
-		return true;
596
-	}
595
+        return true;
596
+    }
597 597
 
598
-	/**
599
-	 * Deletes an announcement
600
-	 * @param 	int $id The identifier of the announcement that should be
601
-	 * @return	bool	True on success, false on failure
602
-	 */
603
-	public static function delete_announcement($id)
598
+    /**
599
+     * Deletes an announcement
600
+     * @param 	int $id The identifier of the announcement that should be
601
+     * @return	bool	True on success, false on failure
602
+     */
603
+    public static function delete_announcement($id)
604 604
     {
605
-		$db_table = Database :: get_main_table(TABLE_MAIN_SYSTEM_ANNOUNCEMENTS);
606
-		$id = intval($id);
607
-		$sql = "DELETE FROM ".$db_table." WHERE id =".$id;
608
-		$res = Database::query($sql);
609
-		if ($res === false) {
610
-
611
-			return false;
612
-		}
613
-		return true;
614
-	}
615
-
616
-	/**
617
-	 * Gets an announcement
618
-	 * @param 	int		$id The identifier of the announcement that should be
619
-	 * @return	object	Object of class StdClass or the required class, containing the query result row
620
-	 */
621
-	public static function get_announcement($id)
605
+        $db_table = Database :: get_main_table(TABLE_MAIN_SYSTEM_ANNOUNCEMENTS);
606
+        $id = intval($id);
607
+        $sql = "DELETE FROM ".$db_table." WHERE id =".$id;
608
+        $res = Database::query($sql);
609
+        if ($res === false) {
610
+
611
+            return false;
612
+        }
613
+        return true;
614
+    }
615
+
616
+    /**
617
+     * Gets an announcement
618
+     * @param 	int		$id The identifier of the announcement that should be
619
+     * @return	object	Object of class StdClass or the required class, containing the query result row
620
+     */
621
+    public static function get_announcement($id)
622 622
     {
623
-		$db_table = Database :: get_main_table(TABLE_MAIN_SYSTEM_ANNOUNCEMENTS);
624
-		$id = intval($id);
625
-		$sql = "SELECT * FROM ".$db_table." WHERE id = ".$id;
626
-		$announcement = Database::fetch_object(Database::query($sql));
627
-
628
-		return $announcement;
629
-	}
630
-
631
-	/**
632
-	 * Change the visibility of an announcement
633
-	 * @param 	int $announcement_id
634
-	 * @param 	int $user For who should the visibility be changed
623
+        $db_table = Database :: get_main_table(TABLE_MAIN_SYSTEM_ANNOUNCEMENTS);
624
+        $id = intval($id);
625
+        $sql = "SELECT * FROM ".$db_table." WHERE id = ".$id;
626
+        $announcement = Database::fetch_object(Database::query($sql));
627
+
628
+        return $announcement;
629
+    }
630
+
631
+    /**
632
+     * Change the visibility of an announcement
633
+     * @param 	int $announcement_id
634
+     * @param 	int $user For who should the visibility be changed
635 635
      * (possible values are VISIBLE_TEACHER, VISIBLE_STUDENT, VISIBLE_GUEST)
636
-	 * @return 	bool	True on success, false on failure
637
-	 */
638
-	public static function set_visibility($announcement_id, $user, $visible)
636
+     * @return 	bool	True on success, false on failure
637
+     */
638
+    public static function set_visibility($announcement_id, $user, $visible)
639 639
     {
640
-		$db_table = Database::get_main_table(TABLE_MAIN_SYSTEM_ANNOUNCEMENTS);
641
-		$visible = intval($visible);
642
-		$announcement_id = intval($announcement_id);
640
+        $db_table = Database::get_main_table(TABLE_MAIN_SYSTEM_ANNOUNCEMENTS);
641
+        $visible = intval($visible);
642
+        $announcement_id = intval($announcement_id);
643 643
 
644 644
         if (!in_array($user, array(self::VISIBLE_GUEST, self::VISIBLE_STUDENT, self::VISIBLE_TEACHER))) {
645 645
             return false;
646 646
         }
647 647
 
648
-		$field = ($user == self::VISIBLE_TEACHER ? 'visible_teacher' : ($user == self::VISIBLE_STUDENT ? 'visible_student' : 'visible_guest'));
648
+        $field = ($user == self::VISIBLE_TEACHER ? 'visible_teacher' : ($user == self::VISIBLE_STUDENT ? 'visible_student' : 'visible_guest'));
649 649
 
650
-		$sql = "UPDATE ".$db_table." SET ".$field." = '".$visible."'
650
+        $sql = "UPDATE ".$db_table." SET ".$field." = '".$visible."'
651 651
 		        WHERE id='".$announcement_id."'";
652
-		$res = Database::query($sql);
653
-
654
-		if ($res === false) {
655
-			return false;
656
-		}
657
-
658
-		return true;
659
-	}
660
-
661
-	/**
662
-	 * Send a system announcement by e-mail to all teachers/students depending on parameters
663
-	 * @param	string	$title
664
-	 * @param	string	$content
665
-	 * @param	int		$teacher Whether to send to all teachers (1) or not (0)
666
-	 * @param	int		$student Whether to send to all students (1) or not (0)
667
-	 * @param	string	$language Language (optional, considered for all languages if left empty)
652
+        $res = Database::query($sql);
653
+
654
+        if ($res === false) {
655
+            return false;
656
+        }
657
+
658
+        return true;
659
+    }
660
+
661
+    /**
662
+     * Send a system announcement by e-mail to all teachers/students depending on parameters
663
+     * @param	string	$title
664
+     * @param	string	$content
665
+     * @param	int		$teacher Whether to send to all teachers (1) or not (0)
666
+     * @param	int		$student Whether to send to all students (1) or not (0)
667
+     * @param	string	$language Language (optional, considered for all languages if left empty)
668 668
      * @param	bool	$sendEmailTest
669
-	 * @return  bool    True if the message was sent or there was no destination matching. False on database or e-mail sending error.
670
-	 */
671
-	public static function send_system_announcement_by_email(
672
-		$title,
673
-		$content,
674
-		$teacher,
675
-		$student,
676
-		$language = null,
677
-		$sendEmailTest = false
678
-	) {
669
+     * @return  bool    True if the message was sent or there was no destination matching. False on database or e-mail sending error.
670
+     */
671
+    public static function send_system_announcement_by_email(
672
+        $title,
673
+        $content,
674
+        $teacher,
675
+        $student,
676
+        $language = null,
677
+        $sendEmailTest = false
678
+    ) {
679 679
         $content = str_replace(array('\r\n', '\n', '\r'),'', $content);
680 680
         $now = api_get_utc_datetime();
681 681
 
@@ -693,26 +693,26 @@  discard block
 block discarded – undo
693 693
         }
694 694
 
695 695
         if ($teacher <> 0 && $student == 0) {
696
-			$sql = "SELECT DISTINCT u.user_id FROM $user_table u $url_condition 
696
+            $sql = "SELECT DISTINCT u.user_id FROM $user_table u $url_condition 
697 697
 					WHERE status = '1' ";
698
-		}
698
+        }
699 699
 
700
-		if ($teacher == 0 && $student <> 0) {
701
-			$sql = "SELECT DISTINCT u.user_id FROM $user_table u $url_condition 
700
+        if ($teacher == 0 && $student <> 0) {
701
+            $sql = "SELECT DISTINCT u.user_id FROM $user_table u $url_condition 
702 702
 					WHERE status = '5' ";
703
-		}
703
+        }
704 704
 
705
-		if ($teacher<> 0 && $student <> 0) {
706
-			$sql = "SELECT DISTINCT u.user_id FROM $user_table u $url_condition 
705
+        if ($teacher<> 0 && $student <> 0) {
706
+            $sql = "SELECT DISTINCT u.user_id FROM $user_table u $url_condition 
707 707
 					WHERE 1 = 1 ";
708
-		}
708
+        }
709 709
 
710
-		if (!empty($language)) {
711
-			//special condition because language was already treated for SQL insert before
712
-			$sql .= " AND language = '".Database::escape_string($language)."' ";
713
-		}
710
+        if (!empty($language)) {
711
+            //special condition because language was already treated for SQL insert before
712
+            $sql .= " AND language = '".Database::escape_string($language)."' ";
713
+        }
714 714
 
715
-		if (api_is_multiple_url_enabled()) {
715
+        if (api_is_multiple_url_enabled()) {
716 716
             $sql .= " AND access_url_id = '".$current_access_url_id."' ";
717 717
         }
718 718
 
@@ -722,27 +722,27 @@  discard block
 block discarded – undo
722 722
         // Expiration date
723 723
         $sql .= " AND (expiration_date = '' OR expiration_date IS NULL OR expiration_date > '$now') ";
724 724
 
725
-		if ((empty($teacher) || $teacher == '0') && (empty($student) || $student == '0')) {
725
+        if ((empty($teacher) || $teacher == '0') && (empty($student) || $student == '0')) {
726 726
 
727 727
             return true;
728
-		}
728
+        }
729 729
 
730
-		$result = Database::query($sql);
731
-		if ($result === false) {
730
+        $result = Database::query($sql);
731
+        if ($result === false) {
732 732
 
733 733
             return false;
734
-		}
734
+        }
735 735
 
736 736
         $message_sent = false;
737
-		while ($row = Database::fetch_array($result,'ASSOC')) {
737
+        while ($row = Database::fetch_array($result,'ASSOC')) {
738 738
             MessageManager::send_message_simple($row['user_id'], $title, $content);
739 739
             $message_sent = true;
740
-		}
740
+        }
741 741
 
742
-		return $message_sent; //true if at least one e-mail was sent
743
-	}
742
+        return $message_sent; //true if at least one e-mail was sent
743
+    }
744 744
 
745
-	/**
745
+    /**
746 746
      * Displays announcements as an slideshow
747 747
      * @param int $visible VISIBLE_GUEST, VISIBLE_STUDENT or VISIBLE_TEACHER
748 748
      * @param int $id The identifier of the announcement to display
Please login to merge, or discard this patch.
main/exercice/answer.class.php 1 patch
Indentation   +299 added lines, -299 removed lines patch added patch discarded remove patch
@@ -157,12 +157,12 @@  discard block
 block discarded – undo
157 157
         return [];
158 158
     }
159 159
 
160
-     /**
161
-     * returns all answer ids from this question Id
162
-     *
163
-     * @author Yoselyn Castillo
164
-     * @return array - $id (answer ids)
165
-     */
160
+        /**
161
+         * returns all answer ids from this question Id
162
+         *
163
+         * @author Yoselyn Castillo
164
+         * @return array - $id (answer ids)
165
+         */
166 166
     public function selectAnswerId()
167 167
     {
168 168
         $TBL_ANSWER = Database::get_course_table(TABLE_QUIZ_ANSWER);
@@ -182,7 +182,7 @@  discard block
 block discarded – undo
182 182
         }
183 183
 
184 184
         return $id;
185
-	}
185
+    }
186 186
 
187 187
     /**
188 188
      * Reads answer information from the data base ordered by parameter
@@ -193,23 +193,23 @@  discard block
 block discarded – undo
193 193
      */
194 194
     public function readOrderedBy($field, $order='ASC')
195 195
     {
196
-		$field = Database::escape_string($field);
197
-		if (empty($field)) {
198
-			$field = 'position';
199
-		}
196
+        $field = Database::escape_string($field);
197
+        if (empty($field)) {
198
+            $field = 'position';
199
+        }
200 200
 
201
-		if ($order != 'ASC' && $order!='DESC') {
202
-			$order = 'ASC';
203
-		}
201
+        if ($order != 'ASC' && $order!='DESC') {
202
+            $order = 'ASC';
203
+        }
204 204
 
205
-		$TBL_ANSWER = Database::get_course_table(TABLE_QUIZ_ANSWER);
206
-		$TBL_QUIZ = Database::get_course_table(TABLE_QUIZ_QUESTION);
207
-		$questionId = intval($this->questionId);
205
+        $TBL_ANSWER = Database::get_course_table(TABLE_QUIZ_ANSWER);
206
+        $TBL_QUIZ = Database::get_course_table(TABLE_QUIZ_QUESTION);
207
+        $questionId = intval($this->questionId);
208 208
 
209
-		$sql = "SELECT type FROM $TBL_QUIZ
209
+        $sql = "SELECT type FROM $TBL_QUIZ
210 210
 		        WHERE c_id = {$this->course_id} AND id = $questionId";
211
-		$result_question = Database::query($sql);
212
-		$questionType = Database::fetch_array($result_question);
211
+        $result_question = Database::query($sql);
212
+        $questionType = Database::fetch_array($result_question);
213 213
 
214 214
         if ($questionType['type'] == DRAGGABLE) {
215 215
             // Random is done by submit.js.tpl
@@ -218,7 +218,7 @@  discard block
 block discarded – undo
218 218
             return true;
219 219
         }
220 220
 
221
-		$sql = "SELECT
221
+        $sql = "SELECT
222 222
 		            answer,
223 223
 		            correct,
224 224
 		            comment,
@@ -234,16 +234,16 @@  discard block
 block discarded – undo
234 234
                     c_id = {$this->course_id} AND
235 235
                     question_id='".$questionId."'
236 236
                 ORDER BY $field $order";
237
-		$result=Database::query($sql);
238
-
239
-		$i = 1;
240
-		// while a record is found
241
-		$doubt_data = null;
242
-		while ($object = Database::fetch_object($result)) {
243
-		    if ($questionType['type'] == UNIQUE_ANSWER_NO_OPTION && $object->position == 666) {
244
-		        $doubt_data = $object;
237
+        $result=Database::query($sql);
238
+
239
+        $i = 1;
240
+        // while a record is found
241
+        $doubt_data = null;
242
+        while ($object = Database::fetch_object($result)) {
243
+            if ($questionType['type'] == UNIQUE_ANSWER_NO_OPTION && $object->position == 666) {
244
+                $doubt_data = $object;
245 245
                 continue;
246
-		    }
246
+            }
247 247
             $this->answer[$i] = $object->answer;
248 248
             $this->correct[$i] = $object->correct;
249 249
             $this->comment[$i] = $object->comment;
@@ -255,9 +255,9 @@  discard block
 block discarded – undo
255 255
             $this->autoId[$i] = $object->id_auto;
256 256
             $this->iid[$i] = $object->iid;
257 257
             $i++;
258
-		}
258
+        }
259 259
 
260
-		if ($questionType['type'] == UNIQUE_ANSWER_NO_OPTION && !empty($doubt_data)) {
260
+        if ($questionType['type'] == UNIQUE_ANSWER_NO_OPTION && !empty($doubt_data)) {
261 261
             $this->answer[$i] = $doubt_data->answer;
262 262
             $this->correct[$i] = $doubt_data->correct;
263 263
             $this->comment[$i] = $doubt_data->comment;
@@ -269,88 +269,88 @@  discard block
 block discarded – undo
269 269
             $this->autoId[$i] = $doubt_data->id_auto;
270 270
             $this->iid[$i] = $doubt_data->iid;
271 271
             $i++;
272
-	    }
272
+        }
273 273
         $this->nbrAnswers = $i-1;
274
-	}
275
-
276
-	/**
277
-	 * returns the autoincrement id identificator
278
-	 *
279
-	 * @author Juan Carlos Ra�a
280
-	 * @return integer - answer num
281
-	 */
274
+    }
275
+
276
+    /**
277
+     * returns the autoincrement id identificator
278
+     *
279
+     * @author Juan Carlos Ra�a
280
+     * @return integer - answer num
281
+     */
282 282
     public function selectAutoId($id)
283 283
     {
284
-		return isset($this->autoId[$id]) ? $this->autoId[$id] : 0;
285
-	}
286
-
287
-	/**
288
-	 * returns the number of answers in this question
289
-	 *
290
-	 * @author Olivier Brouckaert
291
-	 * @return integer - number of answers
292
-	 */
293
-	public function selectNbrAnswers()
284
+        return isset($this->autoId[$id]) ? $this->autoId[$id] : 0;
285
+    }
286
+
287
+    /**
288
+     * returns the number of answers in this question
289
+     *
290
+     * @author Olivier Brouckaert
291
+     * @return integer - number of answers
292
+     */
293
+    public function selectNbrAnswers()
294 294
     {
295
-		return $this->nbrAnswers;
296
-	}
297
-
298
-	/**
299
-	 * returns the question ID which the answers belong to
300
-	 *
301
-	 * @author Olivier Brouckaert
302
-	 * @return integer - the question ID
303
-	 */
304
-	public function selectQuestionId()
295
+        return $this->nbrAnswers;
296
+    }
297
+
298
+    /**
299
+     * returns the question ID which the answers belong to
300
+     *
301
+     * @author Olivier Brouckaert
302
+     * @return integer - the question ID
303
+     */
304
+    public function selectQuestionId()
305
+    {
306
+        return $this->questionId;
307
+    }
308
+
309
+    /**
310
+     * returns the question ID of the destination question
311
+     *
312
+     * @author Julio Montoya
313
+     * @param integer $id
314
+     * @return integer - the question ID
315
+     */
316
+    public function selectDestination($id)
305 317
     {
306
-		return $this->questionId;
307
-	}
308
-
309
-	/**
310
-	 * returns the question ID of the destination question
311
-	 *
312
-	 * @author Julio Montoya
313
-	 * @param integer $id
314
-	 * @return integer - the question ID
315
-	 */
316
-	public function selectDestination($id)
318
+        return isset($this->destination[$id]) ? $this->destination[$id] : null;
319
+    }
320
+
321
+    /**
322
+     * returns the answer title
323
+     *
324
+     * @author Olivier Brouckaert
325
+     * @param - integer $id - answer ID
326
+     * @return string - answer title
327
+     */
328
+    public function selectAnswer($id)
317 329
     {
318
-		return isset($this->destination[$id]) ? $this->destination[$id] : null;
319
-	}
330
+        return isset($this->answer[$id]) ? $this->answer[$id] : null;
331
+    }
320 332
 
321 333
     /**
322
-	 * returns the answer title
323
-	 *
324
-	 * @author Olivier Brouckaert
325
-	 * @param - integer $id - answer ID
326
-	 * @return string - answer title
327
-	 */
328
-	public function selectAnswer($id)
329
-	{
330
-		return isset($this->answer[$id]) ? $this->answer[$id] : null;
331
-	}
332
-
333
-	/**
334
-	 * return array answer by id else return a bool
335
-	 * @param integer $auto_id
336
-	 */
337
-	public function selectAnswerByAutoId($auto_id)
338
-	{
339
-		$TBL_ANSWER = Database::get_course_table(TABLE_QUIZ_ANSWER);
340
-
341
-		$auto_id = intval($auto_id);
342
-		$sql = "SELECT id, answer, id_auto FROM $TBL_ANSWER
334
+     * return array answer by id else return a bool
335
+     * @param integer $auto_id
336
+     */
337
+    public function selectAnswerByAutoId($auto_id)
338
+    {
339
+        $TBL_ANSWER = Database::get_course_table(TABLE_QUIZ_ANSWER);
340
+
341
+        $auto_id = intval($auto_id);
342
+        $sql = "SELECT id, answer, id_auto FROM $TBL_ANSWER
343 343
 				WHERE c_id = {$this->course_id} AND id_auto='$auto_id'";
344
-		$rs = Database::query($sql);
344
+        $rs = Database::query($sql);
345 345
 
346
-		if (Database::num_rows($rs) > 0) {
347
-			$row = Database::fetch_array($rs, 'ASSOC');
346
+        if (Database::num_rows($rs) > 0) {
347
+            $row = Database::fetch_array($rs, 'ASSOC');
348 348
 
349
-			return $row;
350
-		}
349
+            return $row;
350
+        }
351 351
 
352
-		return false;
353
-	}
352
+        return false;
353
+    }
354 354
 
355 355
     /**
356 356
      * returns the answer title from an answer's position
@@ -359,18 +359,18 @@  discard block
 block discarded – undo
359 359
      * @param - integer $id - answer ID
360 360
      * @return bool - answer title
361 361
      */
362
-	public function selectAnswerIdByPosition($pos)
363
-	{
364
-		foreach ($this->position as $k => $v) {
365
-			if ($v != $pos) {
366
-				continue;
367
-			}
362
+    public function selectAnswerIdByPosition($pos)
363
+    {
364
+        foreach ($this->position as $k => $v) {
365
+            if ($v != $pos) {
366
+                continue;
367
+            }
368 368
 
369
-			return $k;
370
-		}
369
+            return $k;
370
+        }
371 371
 
372
-		return false;
373
-	}
372
+        return false;
373
+    }
374 374
 
375 375
     /**
376 376
      * Returns a list of answers
@@ -379,18 +379,18 @@  discard block
 block discarded – undo
379 379
      * of (id, answer, comment, grade) and grade=weighting
380 380
      */
381 381
     public function getAnswersList($decode = false)
382
-     {
383
-	 	$list = array();
384
-         for ($i = 1; $i <= $this->nbrAnswers; $i++) {
385
-             if (!empty($this->answer[$i])) {
386
-
387
-	 			//Avoid problems when parsing elements with accents
388
-	 			if ($decode) {
389
-	        		$this->answer[$i] 	= api_html_entity_decode($this->answer[$i], ENT_QUOTES, api_get_system_encoding());
390
-	        		$this->comment[$i]	= api_html_entity_decode($this->comment[$i], ENT_QUOTES, api_get_system_encoding());
391
-	 			}
392
-
393
-	 			$list[] = array(
382
+        {
383
+            $list = array();
384
+            for ($i = 1; $i <= $this->nbrAnswers; $i++) {
385
+                if (!empty($this->answer[$i])) {
386
+
387
+                    //Avoid problems when parsing elements with accents
388
+                    if ($decode) {
389
+                    $this->answer[$i] 	= api_html_entity_decode($this->answer[$i], ENT_QUOTES, api_get_system_encoding());
390
+                    $this->comment[$i]	= api_html_entity_decode($this->comment[$i], ENT_QUOTES, api_get_system_encoding());
391
+                    }
392
+
393
+                    $list[] = array(
394 394
                     'id' => $i,
395 395
                     'answer' => $this->answer[$i],
396 396
                     'comment' => $this->comment[$i],
@@ -399,137 +399,137 @@  discard block
 block discarded – undo
399 399
                     'hotspot_type' => $this->hotspot_type[$i],
400 400
                     'correct' => $this->correct[$i],
401 401
                     'destination' => $this->destination[$i]
402
-				);
402
+                );
403
+            }
403 404
             }
404
-	 	}
405 405
 
406
-	 	return $list;
407
-	 }
406
+            return $list;
407
+        }
408 408
 
409
-	/**
410
-	 * Returns a list of grades
411
-	 * @author Yannick Warnier <[email protected]>
412
-	 * @return array	List of grades where grade=weighting (?)
413
-	 */
409
+    /**
410
+     * Returns a list of grades
411
+     * @author Yannick Warnier <[email protected]>
412
+     * @return array	List of grades where grade=weighting (?)
413
+     */
414 414
     public function getGradesList()
415
-     {
416
-	 	$list = array();
417
-	 	for ($i = 0; $i<$this->nbrAnswers;$i++){
418
-	 		if(!empty($this->answer[$i])){
419
-	 			$list[$i] = $this->weighting[$i];
420
-	 		}
421
-	 	}
422
-	 	return $list;
423
-	 }
424
-
425
-	 /**
426
-	  * Returns the question type
427
-	  * @author	Yannick Warnier <[email protected]>
428
-	  * @return	integer	The type of the question this answer is bound to
429
-	  */
415
+        {
416
+            $list = array();
417
+            for ($i = 0; $i<$this->nbrAnswers;$i++){
418
+                if(!empty($this->answer[$i])){
419
+                    $list[$i] = $this->weighting[$i];
420
+                }
421
+            }
422
+            return $list;
423
+        }
424
+
425
+        /**
426
+         * Returns the question type
427
+         * @author	Yannick Warnier <[email protected]>
428
+         * @return	integer	The type of the question this answer is bound to
429
+         */
430 430
     public function getQuestionType()
431
-     {
432
-	 	$TBL_QUESTIONS = Database::get_course_table(TABLE_QUIZ_QUESTION);
433
-	 	$sql = "SELECT type FROM $TBL_QUESTIONS
431
+        {
432
+            $TBL_QUESTIONS = Database::get_course_table(TABLE_QUIZ_QUESTION);
433
+            $sql = "SELECT type FROM $TBL_QUESTIONS
434 434
 	 	        WHERE c_id = {$this->course_id} AND id = '".$this->questionId."'";
435
-	 	$res = Database::query($sql);
436
-	 	if (Database::num_rows($res)<=0){
437
-	 		return null;
438
-	 	}
439
-	 	$row = Database::fetch_array($res);
440
-
441
-	 	return $row['type'];
442
-	 }
443
-
444
-
445
-	/**
446
-	 * tells if answer is correct or not
447
-	 *
448
-	 * @author Olivier Brouckaert
449
-	 * @param - integer $id - answer ID
450
-	 * @return integer - 0 if bad answer, not 0 if good answer
451
-	 */
435
+            $res = Database::query($sql);
436
+            if (Database::num_rows($res)<=0){
437
+                return null;
438
+            }
439
+            $row = Database::fetch_array($res);
440
+
441
+            return $row['type'];
442
+        }
443
+
444
+
445
+    /**
446
+     * tells if answer is correct or not
447
+     *
448
+     * @author Olivier Brouckaert
449
+     * @param - integer $id - answer ID
450
+     * @return integer - 0 if bad answer, not 0 if good answer
451
+     */
452 452
     public function isCorrect($id)
453
-	{
454
-		return isset($this->correct[$id]) ? $this->correct[$id] : null;
455
-	}
456
-
457
-	/**
458
-	 * returns answer comment
459
-	 *
460
-	 * @author Olivier Brouckaert
461
-	 * @param - integer $id - answer ID
462
-	 * @return string - answer comment
463
-	 */
453
+    {
454
+        return isset($this->correct[$id]) ? $this->correct[$id] : null;
455
+    }
456
+
457
+    /**
458
+     * returns answer comment
459
+     *
460
+     * @author Olivier Brouckaert
461
+     * @param - integer $id - answer ID
462
+     * @return string - answer comment
463
+     */
464 464
     public function selectComment($id)
465
-	{
465
+    {
466 466
         return isset($this->comment[$id]) ? $this->comment[$id] : null;
467
-	}
468
-
469
-	/**
470
-	 * returns answer weighting
471
-	 *
472
-	 * @author Olivier Brouckaert
473
-	 * @param - integer $id - answer ID
474
-	 * @param integer $id
475
-	 * @return integer - answer weighting
476
-	 */
467
+    }
468
+
469
+    /**
470
+     * returns answer weighting
471
+     *
472
+     * @author Olivier Brouckaert
473
+     * @param - integer $id - answer ID
474
+     * @param integer $id
475
+     * @return integer - answer weighting
476
+     */
477 477
     public function selectWeighting($id)
478
-	{
479
-		return isset($this->weighting[$id]) ? $this->weighting[$id] : null;
480
-	}
481
-
482
-	/**
483
-	 * returns answer position
484
-	 *
485
-	 * @author Olivier Brouckaert
486
-	 * @param - integer $id - answer ID
487
-	 * @return integer - answer position
488
-	 */
489
-	function selectPosition($id)
490
-	{
491
-		return isset($this->position[$id]) ? $this->position[$id] : null;
492
-	}
493
-
494
-	/**
495
-	 * returns answer hotspot coordinates
496
-	 *
497
-	 * @author	Olivier Brouckaert
498
-	 * @param	integer	Answer ID
499
-	 * @param integer $id
500
-	 * @return	integer	Answer position
501
-	 */
478
+    {
479
+        return isset($this->weighting[$id]) ? $this->weighting[$id] : null;
480
+    }
481
+
482
+    /**
483
+     * returns answer position
484
+     *
485
+     * @author Olivier Brouckaert
486
+     * @param - integer $id - answer ID
487
+     * @return integer - answer position
488
+     */
489
+    function selectPosition($id)
490
+    {
491
+        return isset($this->position[$id]) ? $this->position[$id] : null;
492
+    }
493
+
494
+    /**
495
+     * returns answer hotspot coordinates
496
+     *
497
+     * @author	Olivier Brouckaert
498
+     * @param	integer	Answer ID
499
+     * @param integer $id
500
+     * @return	integer	Answer position
501
+     */
502 502
     public function selectHotspotCoordinates($id)
503
-	{
504
-		return isset($this->hotspot_coordinates[$id]) ? $this->hotspot_coordinates[$id] : null;
505
-	}
506
-
507
-	/**
508
-	 * returns answer hotspot type
509
-	 *
510
-	 * @author	Toon Keppens
511
-	 * @param	integer		Answer ID
512
-	 * @param integer $id
513
-	 * @return	integer		Answer position
514
-	 */
503
+    {
504
+        return isset($this->hotspot_coordinates[$id]) ? $this->hotspot_coordinates[$id] : null;
505
+    }
506
+
507
+    /**
508
+     * returns answer hotspot type
509
+     *
510
+     * @author	Toon Keppens
511
+     * @param	integer		Answer ID
512
+     * @param integer $id
513
+     * @return	integer		Answer position
514
+     */
515 515
     public function selectHotspotType($id)
516
-	{
517
-		return isset($this->hotspot_type[$id]) ? $this->hotspot_type[$id] : null;
518
-	}
519
-
520
-	/**
521
-	 * Creates a new answer
522
-	 *
523
-	 * @author Olivier Brouckaert
524
-	 * @param string 	$answer answer title
525
-	 * @param integer 	$correct 0 if bad answer, not 0 if good answer
526
-	 * @param string 	$comment answer comment
527
-	 * @param integer 	$weighting answer weighting
528
-	 * @param integer 	$position answer position
529
-	 * @param array    $new_hotspot_coordinates Coordinates for hotspot exercises (optional)
530
-	 * @param integer	$new_hotspot_type Type for hotspot exercises (optional)
516
+    {
517
+        return isset($this->hotspot_type[$id]) ? $this->hotspot_type[$id] : null;
518
+    }
519
+
520
+    /**
521
+     * Creates a new answer
522
+     *
523
+     * @author Olivier Brouckaert
524
+     * @param string 	$answer answer title
525
+     * @param integer 	$correct 0 if bad answer, not 0 if good answer
526
+     * @param string 	$comment answer comment
527
+     * @param integer 	$weighting answer weighting
528
+     * @param integer 	$position answer position
529
+     * @param array    $new_hotspot_coordinates Coordinates for hotspot exercises (optional)
530
+     * @param integer	$new_hotspot_type Type for hotspot exercises (optional)
531 531
      * @param string   $destination
532
-	 */
532
+     */
533 533
     public function createAnswer(
534 534
         $answer,
535 535
         $correct,
@@ -540,7 +540,7 @@  discard block
 block discarded – undo
540 540
         $new_hotspot_type = null,
541 541
         $destination = ''
542 542
     ) {
543
-		$this->new_nbrAnswers++;
543
+        $this->new_nbrAnswers++;
544 544
         $id = $this->new_nbrAnswers;
545 545
         $this->new_answer[$id] = $answer;
546 546
         $this->new_correct[$id] = $correct;
@@ -550,7 +550,7 @@  discard block
 block discarded – undo
550 550
         $this->new_hotspot_coordinates[$id] = $new_hotspot_coordinates;
551 551
         $this->new_hotspot_type[$id] = $new_hotspot_type;
552 552
         $this->new_destination[$id] = $destination;
553
-	}
553
+    }
554 554
 
555 555
     /**
556 556
      * Updates an answer
@@ -591,31 +591,31 @@  discard block
 block discarded – undo
591 591
         ];
592 592
 
593 593
         Database::update($answerTable, $params, ['iid = ?' => intval($iid)]);
594
-	}
594
+    }
595 595
 
596
-	/**
597
-	 * Records answers into the data base
598
-	 *
599
-	 * @author Olivier Brouckaert
600
-	 */
596
+    /**
597
+     * Records answers into the data base
598
+     *
599
+     * @author Olivier Brouckaert
600
+     */
601 601
     public function save()
602 602
     {
603
-		$answerTable = Database::get_course_table(TABLE_QUIZ_ANSWER);
604
-		$questionId = intval($this->questionId);
603
+        $answerTable = Database::get_course_table(TABLE_QUIZ_ANSWER);
604
+        $questionId = intval($this->questionId);
605 605
 
606
-		$c_id = $this->course['real_id'];
606
+        $c_id = $this->course['real_id'];
607 607
         $correctList = [];
608 608
         $answerList = [];
609 609
 
610
-		for ($i=1; $i <= $this->new_nbrAnswers; $i++) {
611
-			$answer = $this->new_answer[$i];
612
-			$correct = isset($this->new_correct[$i]) ? $this->new_correct[$i] : '';
613
-			$comment = isset($this->new_comment[$i]) ? $this->new_comment[$i] : '';
614
-			$weighting = isset($this->new_weighting[$i]) ? $this->new_weighting[$i] : '';
615
-			$position = isset($this->new_position[$i]) ? $this->new_position[$i] : '';
616
-			$hotspot_coordinates = isset($this->new_hotspot_coordinates[$i]) ? $this->new_hotspot_coordinates[$i] : '';
617
-			$hotspot_type = isset($this->new_hotspot_type[$i]) ? $this->new_hotspot_type[$i] : '';
618
-			$destination = isset($this->new_destination[$i]) ? $this->new_destination[$i] : '';
610
+        for ($i=1; $i <= $this->new_nbrAnswers; $i++) {
611
+            $answer = $this->new_answer[$i];
612
+            $correct = isset($this->new_correct[$i]) ? $this->new_correct[$i] : '';
613
+            $comment = isset($this->new_comment[$i]) ? $this->new_comment[$i] : '';
614
+            $weighting = isset($this->new_weighting[$i]) ? $this->new_weighting[$i] : '';
615
+            $position = isset($this->new_position[$i]) ? $this->new_position[$i] : '';
616
+            $hotspot_coordinates = isset($this->new_hotspot_coordinates[$i]) ? $this->new_hotspot_coordinates[$i] : '';
617
+            $hotspot_type = isset($this->new_hotspot_type[$i]) ? $this->new_hotspot_type[$i] : '';
618
+            $destination = isset($this->new_destination[$i]) ? $this->new_destination[$i] : '';
619 619
             $autoId = $this->selectAutoId($i);
620 620
             $iid = isset($this->iid[$i]) ? $this->iid[$i] : 0;
621 621
 
@@ -714,35 +714,35 @@  discard block
 block discarded – undo
714 714
             }
715 715
         }
716 716
 
717
-		// moves $new_* arrays
718
-		$this->answer = $this->new_answer;
719
-		$this->correct = $this->new_correct;
720
-		$this->comment = $this->new_comment;
721
-		$this->weighting = $this->new_weighting;
722
-		$this->position = $this->new_position;
723
-		$this->hotspot_coordinates = $this->new_hotspot_coordinates;
724
-		$this->hotspot_type = $this->new_hotspot_type;
725
-		$this->nbrAnswers = $this->new_nbrAnswers;
726
-		$this->destination = $this->new_destination;
727
-
728
-		$this->cancel();
729
-	}
730
-
731
-	/**
732
-	 * Duplicates answers by copying them into another question
733
-	 *
734
-	 * @author Olivier Brouckaert
735
-	 * @param  int question id
717
+        // moves $new_* arrays
718
+        $this->answer = $this->new_answer;
719
+        $this->correct = $this->new_correct;
720
+        $this->comment = $this->new_comment;
721
+        $this->weighting = $this->new_weighting;
722
+        $this->position = $this->new_position;
723
+        $this->hotspot_coordinates = $this->new_hotspot_coordinates;
724
+        $this->hotspot_type = $this->new_hotspot_type;
725
+        $this->nbrAnswers = $this->new_nbrAnswers;
726
+        $this->destination = $this->new_destination;
727
+
728
+        $this->cancel();
729
+    }
730
+
731
+    /**
732
+     * Duplicates answers by copying them into another question
733
+     *
734
+     * @author Olivier Brouckaert
735
+     * @param  int question id
736 736
      * @param  array destination course info (result of the function api_get_course_info() )
737 737
      * @param string $newQuestionId
738
-	 */
738
+     */
739 739
     public function duplicate($newQuestionId, $course_info = null)
740 740
     {
741 741
         if (empty($course_info)) {
742 742
             $course_info = $this->course;
743 743
         }
744 744
 
745
-		$TBL_REPONSES = Database :: get_course_table(TABLE_QUIZ_ANSWER);
745
+        $TBL_REPONSES = Database :: get_course_table(TABLE_QUIZ_ANSWER);
746 746
         $fixed_list = array();
747 747
 
748 748
         if (self::getQuestionType() == MULTIPLE_ANSWER_TRUE_FALSE ||
@@ -756,7 +756,7 @@  discard block
 block discarded – undo
756 756
 
757 757
             if (!empty($origin_options)) {
758 758
                 foreach ($origin_options as $item) {
759
-            	   $new_option_list[] = $item['id'];
759
+                    $new_option_list[] = $item['id'];
760 760
                 }
761 761
             }
762 762
 
@@ -770,12 +770,12 @@  discard block
 block discarded – undo
770 770
             }
771 771
         }
772 772
 
773
-		// if at least one answer
774
-		if ($this->nbrAnswers) {
775
-			// inserts new answers into data base
776
-			$c_id = $course_info['real_id'];
773
+        // if at least one answer
774
+        if ($this->nbrAnswers) {
775
+            // inserts new answers into data base
776
+            $c_id = $course_info['real_id'];
777 777
 
778
-			for ($i=1;$i <= $this->nbrAnswers;$i++) {
778
+            for ($i=1;$i <= $this->nbrAnswers;$i++) {
779 779
                 if ($this->course['id'] != $course_info['id']) {
780 780
                     $this->answer[$i] = DocumentManager::replace_urls_inside_content_html_from_copy_course(
781 781
                         $this->answer[$i],
@@ -789,8 +789,8 @@  discard block
 block discarded – undo
789 789
                     );
790 790
                 }
791 791
 
792
-				$answer = $this->answer[$i];
793
-				$correct = $this->correct[$i];
792
+                $answer = $this->answer[$i];
793
+                $correct = $this->correct[$i];
794 794
 
795 795
                 if (self::getQuestionType() == MULTIPLE_ANSWER_TRUE_FALSE ||
796 796
                     self::getQuestionType() == MULTIPLE_ANSWER_TRUE_FALSE
@@ -798,12 +798,12 @@  discard block
 block discarded – undo
798 798
                     $correct = $fixed_list[intval($correct)];
799 799
                 }
800 800
 
801
-				$comment = $this->comment[$i];
802
-				$weighting = $this->weighting[$i];
803
-				$position = $this->position[$i];
804
-				$hotspot_coordinates = $this->hotspot_coordinates[$i];
805
-				$hotspot_type = $this->hotspot_type[$i];
806
-				$destination = $this->destination[$i];
801
+                $comment = $this->comment[$i];
802
+                $weighting = $this->weighting[$i];
803
+                $position = $this->position[$i];
804
+                $hotspot_coordinates = $this->hotspot_coordinates[$i];
805
+                $hotspot_type = $this->hotspot_type[$i];
806
+                $destination = $this->destination[$i];
807 807
 
808 808
                 $params = [
809 809
                     'c_id' => $c_id,
@@ -823,9 +823,9 @@  discard block
 block discarded – undo
823 823
                     $sql = "UPDATE $TBL_REPONSES SET id = iid, id_auto = iid WHERE iid = $id";
824 824
                     Database::query($sql);
825 825
                 }
826
-			}
826
+            }
827 827
         }
828
-	}
828
+    }
829 829
 
830 830
     /**
831 831
      * Get the necessary JavaScript for some answers
Please login to merge, or discard this patch.