Completed
Push — 1.11.x ( 696161...3ca1af )
by José
79:04 queued 37:53
created
src/Chamilo/CourseBundle/Component/CourseCopy/Resources/CalendarEvent.php 1 patch
Indentation   +11 added lines, -11 removed lines patch added patch discarded remove patch
@@ -66,19 +66,19 @@
 block discarded – undo
66 66
         $attachment_comment = null,
67 67
         $all_day = 0
68 68
     ) {
69
-		parent::__construct($id, RESOURCE_EVENT);
69
+        parent::__construct($id, RESOURCE_EVENT);
70 70
 
71
-		$this->title = $title;
72
-		$this->content = $content;
73
-		$this->start_date = $start_date;
74
-		$this->end_date = $end_date;
75
-		$this->all_day = $all_day;
71
+        $this->title = $title;
72
+        $this->content = $content;
73
+        $this->start_date = $start_date;
74
+        $this->end_date = $end_date;
75
+        $this->all_day = $all_day;
76 76
 
77
-		$this->attachment_path = $attachment_path;
78
-		$this->attachment_filename = $attachment_filename;
79
-		$this->attachment_size = $attachment_size;
80
-		$this->attachment_comment = $attachment_comment;
81
-	}
77
+        $this->attachment_path = $attachment_path;
78
+        $this->attachment_filename = $attachment_filename;
79
+        $this->attachment_size = $attachment_size;
80
+        $this->attachment_comment = $attachment_comment;
81
+    }
82 82
 
83 83
     /**
84 84
      * Show this Event
Please login to merge, or discard this patch.
Chamilo/CourseBundle/Component/CourseCopy/Resources/CourseCopyLearnpath.php 1 patch
Indentation   +110 added lines, -110 removed lines patch added patch discarded remove patch
@@ -84,120 +84,120 @@
 block discarded – undo
84 84
      */
85 85
     public $author;
86 86
 
87
-	/**
88
-	 * Author's image
89
-	 */
90
-	public $preview_image;
87
+    /**
88
+     * Author's image
89
+     */
90
+    public $preview_image;
91 91
 
92
-	/**
93
-	 * Create a new learnpath
94
-	 * @param integer ID
95
-	 * @param integer Type (1,2,3,...)
96
-	 * @param string $name
97
-	 * @param string $path
98
-	 * @param string $ref
99
-	 * @param string $description
100
-	 * @param string $content_local
101
-	 * @param string $default_encoding
102
-	 * @param string $default_view_mode
103
-	 * @param bool   $prevent_reinit
104
-	 * @param bool   $force_commit
105
-	 * @param string $content_maker
106
-	 * @param integer $display_order
107
-	 * @param string $js_lib
108
-	 * @param string $content_license
109
-	 * @param integer $debug
110
-	 * @param string $visibility
111
-	 * @param array  $items
112
-	 */
113
-	public function __construct(
114
-		$id,
115
-		$type,
116
-		$name,
117
-		$path,
118
-		$ref,
119
-		$description,
120
-		$content_local,
121
-		$default_encoding,
122
-		$default_view_mode,
123
-		$prevent_reinit,
124
-		$force_commit,
125
-		$content_maker,
126
-		$display_order,
127
-		$js_lib,
128
-		$content_license,
129
-		$debug,
130
-		$visibility,
131
-		$author,
132
-		$preview_image,
133
-		$use_max_score,
134
-		$autolaunch,
135
-		$created_on,
136
-		$modified_on,
137
-		$publicated_on,
138
-		$expired_on,
139
-		$session_id,
140
-		$items
141
-	) {
142
-		parent::__construct($id, RESOURCE_LEARNPATH);
143
-		$this->lp_type = $type;
144
-		$this->name = $name;
145
-		$this->path = $path;
146
-		$this->ref = $ref;
147
-		$this->description = $description;
148
-		$this->content_local = $content_local;
149
-		$this->default_encoding = $default_encoding;
150
-		$this->default_view_mod = $default_view_mode;
151
-		$this->prevent_reinit = $prevent_reinit;
152
-		$this->force_commit = $force_commit;
153
-		$this->content_maker = $content_maker;
154
-		$this->display_order = $display_order;
155
-		$this->js_lib = $js_lib;
156
-		$this->content_license = $content_license;
157
-		$this->debug = $debug;
158
-		$this->visibility=$visibility;
92
+    /**
93
+     * Create a new learnpath
94
+     * @param integer ID
95
+     * @param integer Type (1,2,3,...)
96
+     * @param string $name
97
+     * @param string $path
98
+     * @param string $ref
99
+     * @param string $description
100
+     * @param string $content_local
101
+     * @param string $default_encoding
102
+     * @param string $default_view_mode
103
+     * @param bool   $prevent_reinit
104
+     * @param bool   $force_commit
105
+     * @param string $content_maker
106
+     * @param integer $display_order
107
+     * @param string $js_lib
108
+     * @param string $content_license
109
+     * @param integer $debug
110
+     * @param string $visibility
111
+     * @param array  $items
112
+     */
113
+    public function __construct(
114
+        $id,
115
+        $type,
116
+        $name,
117
+        $path,
118
+        $ref,
119
+        $description,
120
+        $content_local,
121
+        $default_encoding,
122
+        $default_view_mode,
123
+        $prevent_reinit,
124
+        $force_commit,
125
+        $content_maker,
126
+        $display_order,
127
+        $js_lib,
128
+        $content_license,
129
+        $debug,
130
+        $visibility,
131
+        $author,
132
+        $preview_image,
133
+        $use_max_score,
134
+        $autolaunch,
135
+        $created_on,
136
+        $modified_on,
137
+        $publicated_on,
138
+        $expired_on,
139
+        $session_id,
140
+        $items
141
+    ) {
142
+        parent::__construct($id, RESOURCE_LEARNPATH);
143
+        $this->lp_type = $type;
144
+        $this->name = $name;
145
+        $this->path = $path;
146
+        $this->ref = $ref;
147
+        $this->description = $description;
148
+        $this->content_local = $content_local;
149
+        $this->default_encoding = $default_encoding;
150
+        $this->default_view_mod = $default_view_mode;
151
+        $this->prevent_reinit = $prevent_reinit;
152
+        $this->force_commit = $force_commit;
153
+        $this->content_maker = $content_maker;
154
+        $this->display_order = $display_order;
155
+        $this->js_lib = $js_lib;
156
+        $this->content_license = $content_license;
157
+        $this->debug = $debug;
158
+        $this->visibility=$visibility;
159 159
 
160
-		$this->use_max_score=$use_max_score;
161
-		$this->autolaunch=$autolaunch;
162
-		$this->created_on=$created_on;
163
-		$this->modified_on=$modified_on;
164
-		$this->publicated_on=$publicated_on;
165
-		$this->expired_on=$expired_on;
166
-		$this->session_id=$session_id;
160
+        $this->use_max_score=$use_max_score;
161
+        $this->autolaunch=$autolaunch;
162
+        $this->created_on=$created_on;
163
+        $this->modified_on=$modified_on;
164
+        $this->publicated_on=$publicated_on;
165
+        $this->expired_on=$expired_on;
166
+        $this->session_id=$session_id;
167 167
 
168
-		$this->author= $author;
169
-		$this->preview_image= $preview_image;
168
+        $this->author= $author;
169
+        $this->preview_image= $preview_image;
170 170
 
171
-		$this->items = $items;
172
-	}
173
-	/**
174
-	 * Get the items
175
-	 */
176
-	function get_items()
177
-	{
178
-		return $this->items;
179
-	}
171
+        $this->items = $items;
172
+    }
173
+    /**
174
+     * Get the items
175
+     */
176
+    function get_items()
177
+    {
178
+        return $this->items;
179
+    }
180 180
 
181
-	/**
182
-	 * Check if a given resource is used as an item in this chapter
183
-	 */
184
-	function has_item($resource)
185
-	{
186
-		foreach ($this->items as $item) {
187
-			if ($item['id'] == $resource->get_id() &&
188
-				isset($item['type']) && $item['type'] == $resource->get_type()
189
-			) {
190
-				return true;
191
-			}
192
-		}
193
-		return false;
194
-	}
181
+    /**
182
+     * Check if a given resource is used as an item in this chapter
183
+     */
184
+    function has_item($resource)
185
+    {
186
+        foreach ($this->items as $item) {
187
+            if ($item['id'] == $resource->get_id() &&
188
+                isset($item['type']) && $item['type'] == $resource->get_type()
189
+            ) {
190
+                return true;
191
+            }
192
+        }
193
+        return false;
194
+    }
195 195
 
196
-	/**
197
-	 * Show this learnpath
198
-	 */
199
-	function show() {
200
-		parent::show();
201
-		echo $this->name;
202
-	}
196
+    /**
197
+     * Show this learnpath
198
+     */
199
+    function show() {
200
+        parent::show();
201
+        echo $this->name;
202
+    }
203 203
 }
Please login to merge, or discard this patch.
src/Chamilo/CourseBundle/Component/CourseCopy/Resources/Thematic.php 1 patch
Indentation   +5 added lines, -5 removed lines patch added patch discarded remove patch
@@ -11,13 +11,13 @@
 block discarded – undo
11 11
 {
12 12
     public $params = array();
13 13
     public $thematic_advance_list = array();
14
-	public $thematic_plan_list = array();
14
+    public $thematic_plan_list = array();
15 15
 
16 16
     /**
17
-    * Create a new Thematic
18
-    *
19
-    * @param array $params
20
-    */
17
+     * Create a new Thematic
18
+     *
19
+     * @param array $params
20
+     */
21 21
     public function __construct($params)
22 22
     {
23 23
         parent::__construct($params['id'], RESOURCE_THEMATIC);
Please login to merge, or discard this patch.
Chamilo/CourseBundle/Component/CourseCopy/Resources/DummyCourseCreator.php 1 patch
Indentation   +3 added lines, -3 removed lines patch added patch discarded remove patch
@@ -291,16 +291,16 @@
 block discarded – undo
291 291
         Duis bibendum elementum justo. Duis posuere. Fusce nulla odio, posuere eget, condimentum nec, venenatis eu, elit. In hac habitasse platea dictumst. Aenean ac sem in enim imperdiet feugiat. Integer tincidunt lectus at elit. Integer magna lacus, vehicula quis, eleifend eget, suscipit vitae, leo. Nunc porta augue nec enim. Curabitur vehicula volutpat enim. Aliquam consequat. Vestibulum rhoncus tellus vitae erat. Integer est. Quisque fermentum leo nec odio. Suspendisse lobortis sollicitudin augue. Nullam urna mi, suscipit eu, sagittis laoreet, ultrices ac, sem. Aliquam enim tortor, hendrerit non, cursus a, tristique sit amet, sapien. Suspendisse potenti. Aenean semper placerat neque.';
292 292
         switch($type)
293 293
         {
294
-         case 'description':
294
+            case 'description':
295 295
             $descriptions = explode(".",$dummy_text);
296 296
             return $descriptions[rand(0,count($descriptions)-1)];
297 297
             break;
298
-         case 'title':
298
+            case 'title':
299 299
             $dummy_text = str_replace(array("\n",'.',',',"\t"),array(' ','','',' '),$dummy_text);
300 300
             $titles = explode(" ",$dummy_text);
301 301
             return trim($titles[rand(0,count($titles)-1)]);
302 302
             break;
303
-         case 'text':
303
+            case 'text':
304 304
             $texts = explode("\n",$dummy_text);
305 305
             return $texts[rand(0,count($texts)-1)];
306 306
             break;
Please login to merge, or discard this patch.
custompages/language.inc.php 1 patch
Indentation   +5 added lines, -5 removed lines patch added patch discarded remove patch
@@ -29,11 +29,11 @@
 block discarded – undo
29 29
     krsort($langs, SORT_NUMERIC);
30 30
     // Choosing the best match
31 31
     foreach($langs as $weight => $codes) {
32
-		foreach ($codes as $code) {
33
-        	if (in_array($code, $available_langs)) {
34
-            	return $code;
35
-        	}
36
-		}
32
+        foreach ($codes as $code) {
33
+            if (in_array($code, $available_langs)) {
34
+                return $code;
35
+            }
36
+        }
37 37
     }
38 38
     // No match
39 39
     return null;
Please login to merge, or discard this patch.
custompages/language.php 1 patch
Indentation   +3 added lines, -3 removed lines patch added patch discarded remove patch
@@ -24,15 +24,15 @@
 block discarded – undo
24 24
 $lang_match = $chamilo_langs[get_preferred_language($available_langs)];
25 25
 // recover previous value ...
26 26
 if (isset($_SESSION['user_language_choice']))
27
-	$lang_match = $_SESSION['user_language_choice'];
27
+    $lang_match = $_SESSION['user_language_choice'];
28 28
 
29 29
 // Chamilo parameter, on logout
30 30
 if (isset($_REQUEST['language']) && !empty($_REQUEST['language']) && in_array($_REQUEST['language'], $chamilo_langs)) {
31
-	$lang_match = $_REQUEST['language'];
31
+    $lang_match = $_REQUEST['language'];
32 32
 }
33 33
 // Incoming link parameter
34 34
 if (isset($_REQUEST['lang']) && !empty($_REQUEST['lang']) && in_array($_REQUEST['lang'], $available_langs)) {
35
-	$lang_match = $chamilo_langs[$_REQUEST['lang']];
35
+    $lang_match = $chamilo_langs[$_REQUEST['lang']];
36 36
 }
37 37
 
38 38
 $detect = api_get_setting('auto_detect_language_custom_pages');
Please login to merge, or discard this patch.
main/inc/lib/nusoap/class.soap_parser.php 1 patch
Indentation   +546 added lines, -546 removed lines patch added patch discarded remove patch
@@ -11,235 +11,235 @@  discard block
 block discarded – undo
11 11
 */
12 12
 class nusoap_parser extends nusoap_base
13 13
 {
14
-	var $xml = '';
15
-	var $xml_encoding = '';
16
-	var $method = '';
17
-	var $root_struct = '';
18
-	var $root_struct_name = '';
19
-	var $root_struct_namespace = '';
20
-	var $root_header = '';
14
+    var $xml = '';
15
+    var $xml_encoding = '';
16
+    var $method = '';
17
+    var $root_struct = '';
18
+    var $root_struct_name = '';
19
+    var $root_struct_namespace = '';
20
+    var $root_header = '';
21 21
     var $document = '';			// incoming SOAP body (text)
22
-	// determines where in the message we are (envelope,header,body,method)
23
-	var $status = '';
24
-	var $position = 0;
25
-	var $depth = 0;
26
-	var $default_namespace = '';
27
-	var $namespaces = array();
28
-	var $message = array();
22
+    // determines where in the message we are (envelope,header,body,method)
23
+    var $status = '';
24
+    var $position = 0;
25
+    var $depth = 0;
26
+    var $default_namespace = '';
27
+    var $namespaces = array();
28
+    var $message = array();
29 29
     var $parent;
30
-	var $fault = false;
31
-	var $fault_code = '';
32
-	var $fault_str = '';
33
-	var $fault_detail = '';
34
-	var $depth_array = array();
35
-	var $debug_flag = true;
36
-	var $soapresponse = NULL;	// parsed SOAP Body
37
-	var $soapheader = NULL;		// parsed SOAP Header
38
-	var $responseHeaders = '';	// incoming SOAP headers (text)
39
-	var $body_position = 0;
40
-	// for multiref parsing:
41
-	// array of id => pos
42
-	var $ids = array();
43
-	// array of id => hrefs => pos
44
-	var $multirefs = array();
45
-	// toggle for auto-decoding element content
46
-	var $decode_utf8 = true;
30
+    var $fault = false;
31
+    var $fault_code = '';
32
+    var $fault_str = '';
33
+    var $fault_detail = '';
34
+    var $depth_array = array();
35
+    var $debug_flag = true;
36
+    var $soapresponse = NULL;	// parsed SOAP Body
37
+    var $soapheader = NULL;		// parsed SOAP Header
38
+    var $responseHeaders = '';	// incoming SOAP headers (text)
39
+    var $body_position = 0;
40
+    // for multiref parsing:
41
+    // array of id => pos
42
+    var $ids = array();
43
+    // array of id => hrefs => pos
44
+    var $multirefs = array();
45
+    // toggle for auto-decoding element content
46
+    var $decode_utf8 = true;
47 47
 
48
-	/**
49
-	* constructor that actually does the parsing
50
-	*
51
-	* @param    string $xml SOAP message
52
-	* @param    string $encoding character encoding scheme of message
53
-	* @param    string $method method for which XML is parsed (unused?)
54
-	* @param    bool $decode_utf8 whether to decode UTF-8 to ISO-8859-1
55
-	* @return void|bool
56
-	* @access   public
57
-	*/
58
-	function nusoap_parser($xml,$encoding='UTF-8',$method='',$decode_utf8=true){
59
-		parent::nusoap_base();
60
-		$this->xml = $xml;
61
-		$this->xml_encoding = $encoding;
62
-		$this->method = $method;
63
-		$this->decode_utf8 = $decode_utf8;
48
+    /**
49
+     * constructor that actually does the parsing
50
+     *
51
+     * @param    string $xml SOAP message
52
+     * @param    string $encoding character encoding scheme of message
53
+     * @param    string $method method for which XML is parsed (unused?)
54
+     * @param    bool $decode_utf8 whether to decode UTF-8 to ISO-8859-1
55
+     * @return void|bool
56
+     * @access   public
57
+     */
58
+    function nusoap_parser($xml,$encoding='UTF-8',$method='',$decode_utf8=true){
59
+        parent::nusoap_base();
60
+        $this->xml = $xml;
61
+        $this->xml_encoding = $encoding;
62
+        $this->method = $method;
63
+        $this->decode_utf8 = $decode_utf8;
64 64
 
65
-		// Check whether content has been read.
66
-		if(!empty($this->xml)){
67
-			// Check XML encoding
68
-			$pos_xml = strpos($xml, '<?xml');
69
-			if ($pos_xml !== FALSE) {
70
-				$xml_decl = substr($xml, $pos_xml, strpos($xml, '?>', $pos_xml + 2) - $pos_xml + 1);
71
-				if (preg_match("/encoding=[\"']([^\"']*)[\"']/", $xml_decl, $res)) {
72
-					$xml_encoding = $res[1];
73
-					if (strtoupper($xml_encoding) != $encoding) {
74
-						$err = "Charset from HTTP Content-Type '" . $encoding . "' does not match encoding from XML declaration '" . $xml_encoding . "'";
75
-						$this->debug($err);
76
-						if ($encoding != 'ISO-8859-1' || strtoupper($xml_encoding) != 'UTF-8') {
77
-							$this->setError($err);
78
-							return false;
79
-						}
80
-						// when HTTP says ISO-8859-1 (the default) and XML says UTF-8 (the typical), assume the other endpoint is just sloppy and proceed
81
-					} else {
82
-						$this->debug('Charset from HTTP Content-Type matches encoding from XML declaration');
83
-					}
84
-				} else {
85
-					$this->debug('No encoding specified in XML declaration');
86
-				}
87
-			} else {
88
-				$this->debug('No XML declaration');
89
-			}
90
-			$this->debug('Entering nusoap_parser(), length='.strlen($xml).', encoding='.$encoding);
91
-			// Create an XML parser - why not xml_parser_create_ns?
92
-			$this->parser = xml_parser_create($this->xml_encoding);
93
-			// Set the options for parsing the XML data.
94
-			//xml_parser_set_option($parser, XML_OPTION_SKIP_WHITE, 1);
95
-			xml_parser_set_option($this->parser, XML_OPTION_CASE_FOLDING, 0);
96
-			xml_parser_set_option($this->parser, XML_OPTION_TARGET_ENCODING, $this->xml_encoding);
97
-			// Set the object for the parser.
98
-			xml_set_object($this->parser, $this);
99
-			// Set the element handlers for the parser.
100
-			xml_set_element_handler($this->parser, 'start_element','end_element');
101
-			xml_set_character_data_handler($this->parser,'character_data');
65
+        // Check whether content has been read.
66
+        if(!empty($this->xml)){
67
+            // Check XML encoding
68
+            $pos_xml = strpos($xml, '<?xml');
69
+            if ($pos_xml !== FALSE) {
70
+                $xml_decl = substr($xml, $pos_xml, strpos($xml, '?>', $pos_xml + 2) - $pos_xml + 1);
71
+                if (preg_match("/encoding=[\"']([^\"']*)[\"']/", $xml_decl, $res)) {
72
+                    $xml_encoding = $res[1];
73
+                    if (strtoupper($xml_encoding) != $encoding) {
74
+                        $err = "Charset from HTTP Content-Type '" . $encoding . "' does not match encoding from XML declaration '" . $xml_encoding . "'";
75
+                        $this->debug($err);
76
+                        if ($encoding != 'ISO-8859-1' || strtoupper($xml_encoding) != 'UTF-8') {
77
+                            $this->setError($err);
78
+                            return false;
79
+                        }
80
+                        // when HTTP says ISO-8859-1 (the default) and XML says UTF-8 (the typical), assume the other endpoint is just sloppy and proceed
81
+                    } else {
82
+                        $this->debug('Charset from HTTP Content-Type matches encoding from XML declaration');
83
+                    }
84
+                } else {
85
+                    $this->debug('No encoding specified in XML declaration');
86
+                }
87
+            } else {
88
+                $this->debug('No XML declaration');
89
+            }
90
+            $this->debug('Entering nusoap_parser(), length='.strlen($xml).', encoding='.$encoding);
91
+            // Create an XML parser - why not xml_parser_create_ns?
92
+            $this->parser = xml_parser_create($this->xml_encoding);
93
+            // Set the options for parsing the XML data.
94
+            //xml_parser_set_option($parser, XML_OPTION_SKIP_WHITE, 1);
95
+            xml_parser_set_option($this->parser, XML_OPTION_CASE_FOLDING, 0);
96
+            xml_parser_set_option($this->parser, XML_OPTION_TARGET_ENCODING, $this->xml_encoding);
97
+            // Set the object for the parser.
98
+            xml_set_object($this->parser, $this);
99
+            // Set the element handlers for the parser.
100
+            xml_set_element_handler($this->parser, 'start_element','end_element');
101
+            xml_set_character_data_handler($this->parser,'character_data');
102 102
 
103
-			xml_parse($this->parser, $this->xml);
103
+            xml_parse($this->parser, $this->xml);
104 104
 
105
-			// Parse the XML file.
106
-			//if (!xml_parse($this->parser,$xml,true)){
107
-			if (false) {
108
-			    // Display an error message.
109
-			    $err = sprintf('XML error parsing SOAP payload on line %d: %s',
110
-			    xml_get_current_line_number($this->parser),
111
-			    xml_error_string(xml_get_error_code($this->parser)));
112
-				$this->debug($err);
113
-				$this->debug("XML payload:\n" . $xml);
114
-				$this->setError($err);
115
-			} else {
116
-				$this->debug('in nusoap_parser ctor, message:');
117
-				$this->appendDebug($this->varDump($this->message));
118
-				$this->debug('parsed successfully, found root struct: '.$this->root_struct.' of name '.$this->root_struct_name);
119
-				// get final value
120
-				$this->soapresponse = $this->message[$this->root_struct]['result'];
121
-				// get header value
122
-				if($this->root_header != '' && isset($this->message[$this->root_header]['result'])){
123
-					$this->soapheader = $this->message[$this->root_header]['result'];
124
-				}
125
-				// resolve hrefs/ids
126
-				if(sizeof($this->multirefs) > 0){
127
-					foreach($this->multirefs as $id => $hrefs){
128
-						$this->debug('resolving multirefs for id: '.$id);
129
-						$idVal = $this->buildVal($this->ids[$id]);
130
-						if (is_array($idVal) && isset($idVal['!id'])) {
131
-							unset($idVal['!id']);
132
-						}
133
-						foreach($hrefs as $refPos => $ref){
134
-							$this->debug('resolving href at pos '.$refPos);
135
-							$this->multirefs[$id][$refPos] = $idVal;
136
-						}
137
-					}
138
-				}
139
-			}
140
-			xml_parser_free($this->parser);
141
-		} else {
142
-			$this->debug('xml was empty, didn\'t parse!');
143
-			$this->setError('xml was empty, didn\'t parse!');
144
-		}
145
-	}
105
+            // Parse the XML file.
106
+            //if (!xml_parse($this->parser,$xml,true)){
107
+            if (false) {
108
+                // Display an error message.
109
+                $err = sprintf('XML error parsing SOAP payload on line %d: %s',
110
+                xml_get_current_line_number($this->parser),
111
+                xml_error_string(xml_get_error_code($this->parser)));
112
+                $this->debug($err);
113
+                $this->debug("XML payload:\n" . $xml);
114
+                $this->setError($err);
115
+            } else {
116
+                $this->debug('in nusoap_parser ctor, message:');
117
+                $this->appendDebug($this->varDump($this->message));
118
+                $this->debug('parsed successfully, found root struct: '.$this->root_struct.' of name '.$this->root_struct_name);
119
+                // get final value
120
+                $this->soapresponse = $this->message[$this->root_struct]['result'];
121
+                // get header value
122
+                if($this->root_header != '' && isset($this->message[$this->root_header]['result'])){
123
+                    $this->soapheader = $this->message[$this->root_header]['result'];
124
+                }
125
+                // resolve hrefs/ids
126
+                if(sizeof($this->multirefs) > 0){
127
+                    foreach($this->multirefs as $id => $hrefs){
128
+                        $this->debug('resolving multirefs for id: '.$id);
129
+                        $idVal = $this->buildVal($this->ids[$id]);
130
+                        if (is_array($idVal) && isset($idVal['!id'])) {
131
+                            unset($idVal['!id']);
132
+                        }
133
+                        foreach($hrefs as $refPos => $ref){
134
+                            $this->debug('resolving href at pos '.$refPos);
135
+                            $this->multirefs[$id][$refPos] = $idVal;
136
+                        }
137
+                    }
138
+                }
139
+            }
140
+            xml_parser_free($this->parser);
141
+        } else {
142
+            $this->debug('xml was empty, didn\'t parse!');
143
+            $this->setError('xml was empty, didn\'t parse!');
144
+        }
145
+    }
146 146
 
147
-	/**
148
-	* start-element handler
149
-	*
150
-	* @param    resource $parser XML parser object
151
-	* @param    string $name element name
152
-	* @param    array $attrs associative array of attributes
153
-	* @access   private
154
-	*/
155
-	function start_element($parser, $name, $attrs) {
147
+    /**
148
+     * start-element handler
149
+     *
150
+     * @param    resource $parser XML parser object
151
+     * @param    string $name element name
152
+     * @param    array $attrs associative array of attributes
153
+     * @access   private
154
+     */
155
+    function start_element($parser, $name, $attrs) {
156 156
 
157
-		// position in a total number of elements, starting from 0
158
-		// update class level pos
159
-		$pos = $this->position++;
160
-		// and set mine
161
-		$this->message[$pos] = array('pos' => $pos,'children'=>'','cdata'=>'');
162
-		// depth = how many levels removed from root?
163
-		// set mine as current global depth and increment global depth value
164
-		$this->message[$pos]['depth'] = $this->depth++;
157
+        // position in a total number of elements, starting from 0
158
+        // update class level pos
159
+        $pos = $this->position++;
160
+        // and set mine
161
+        $this->message[$pos] = array('pos' => $pos,'children'=>'','cdata'=>'');
162
+        // depth = how many levels removed from root?
163
+        // set mine as current global depth and increment global depth value
164
+        $this->message[$pos]['depth'] = $this->depth++;
165 165
 
166
-		// else add self as child to whoever the current parent is
167
-		if($pos != 0){
168
-			$this->message[$this->parent]['children'] .= '|'.$pos;
169
-		}
170
-		// set my parent
171
-		$this->message[$pos]['parent'] = $this->parent;
172
-		// set self as current parent
173
-		$this->parent = $pos;
174
-		// set self as current value for this depth
175
-		$this->depth_array[$this->depth] = $pos;
176
-		// get element prefix
177
-		if(strpos($name,':')){
178
-			// get ns prefix
179
-			$prefix = substr($name,0,strpos($name,':'));
180
-			// get unqualified name
181
-			$name = substr(strstr($name,':'),1);
182
-		}
183
-		// set status
184
-		if ($name == 'Envelope' && $this->status == '') {
185
-			$this->status = 'envelope';
186
-		} elseif ($name == 'Header' && $this->status == 'envelope') {
187
-			$this->root_header = $pos;
188
-			$this->status = 'header';
189
-		} elseif ($name == 'Body' && $this->status == 'envelope'){
190
-			$this->status = 'body';
191
-			$this->body_position = $pos;
192
-		// set method
193
-		} elseif($this->status == 'body' && $pos == ($this->body_position+1)) {
194
-			$this->status = 'method';
195
-			$this->root_struct_name = $name;
196
-			$this->root_struct = $pos;
197
-			$this->message[$pos]['type'] = 'struct';
198
-			$this->debug("found root struct $this->root_struct_name, pos $this->root_struct");
199
-		}
200
-		// set my status
201
-		$this->message[$pos]['status'] = $this->status;
202
-		// set name
203
-		$this->message[$pos]['name'] = htmlspecialchars($name);
204
-		// set attrs
205
-		$this->message[$pos]['attrs'] = $attrs;
166
+        // else add self as child to whoever the current parent is
167
+        if($pos != 0){
168
+            $this->message[$this->parent]['children'] .= '|'.$pos;
169
+        }
170
+        // set my parent
171
+        $this->message[$pos]['parent'] = $this->parent;
172
+        // set self as current parent
173
+        $this->parent = $pos;
174
+        // set self as current value for this depth
175
+        $this->depth_array[$this->depth] = $pos;
176
+        // get element prefix
177
+        if(strpos($name,':')){
178
+            // get ns prefix
179
+            $prefix = substr($name,0,strpos($name,':'));
180
+            // get unqualified name
181
+            $name = substr(strstr($name,':'),1);
182
+        }
183
+        // set status
184
+        if ($name == 'Envelope' && $this->status == '') {
185
+            $this->status = 'envelope';
186
+        } elseif ($name == 'Header' && $this->status == 'envelope') {
187
+            $this->root_header = $pos;
188
+            $this->status = 'header';
189
+        } elseif ($name == 'Body' && $this->status == 'envelope'){
190
+            $this->status = 'body';
191
+            $this->body_position = $pos;
192
+        // set method
193
+        } elseif($this->status == 'body' && $pos == ($this->body_position+1)) {
194
+            $this->status = 'method';
195
+            $this->root_struct_name = $name;
196
+            $this->root_struct = $pos;
197
+            $this->message[$pos]['type'] = 'struct';
198
+            $this->debug("found root struct $this->root_struct_name, pos $this->root_struct");
199
+        }
200
+        // set my status
201
+        $this->message[$pos]['status'] = $this->status;
202
+        // set name
203
+        $this->message[$pos]['name'] = htmlspecialchars($name);
204
+        // set attrs
205
+        $this->message[$pos]['attrs'] = $attrs;
206 206
 
207
-		// loop through atts, logging ns and type declarations
207
+        // loop through atts, logging ns and type declarations
208 208
         $attstr = '';
209
-		foreach($attrs as $key => $value){
210
-        	$key_prefix = $this->getPrefix($key);
211
-			$key_localpart = $this->getLocalPart($key);
212
-			// if ns declarations, add to class level array of valid namespaces
209
+        foreach($attrs as $key => $value){
210
+            $key_prefix = $this->getPrefix($key);
211
+            $key_localpart = $this->getLocalPart($key);
212
+            // if ns declarations, add to class level array of valid namespaces
213 213
             if($key_prefix == 'xmlns'){
214
-				if(preg_match('/^http:\/\/www.w3.org\/[0-9]{4}\/XMLSchema$/',$value)){
215
-					$this->XMLSchemaVersion = $value;
216
-					$this->namespaces['xsd'] = $this->XMLSchemaVersion;
217
-					$this->namespaces['xsi'] = $this->XMLSchemaVersion.'-instance';
218
-				}
214
+                if(preg_match('/^http:\/\/www.w3.org\/[0-9]{4}\/XMLSchema$/',$value)){
215
+                    $this->XMLSchemaVersion = $value;
216
+                    $this->namespaces['xsd'] = $this->XMLSchemaVersion;
217
+                    $this->namespaces['xsi'] = $this->XMLSchemaVersion.'-instance';
218
+                }
219 219
                 $this->namespaces[$key_localpart] = $value;
220
-				// set method namespace
221
-				if($name == $this->root_struct_name){
222
-					$this->methodNamespace = $value;
223
-				}
224
-			// if it's a type declaration, set type
220
+                // set method namespace
221
+                if($name == $this->root_struct_name){
222
+                    $this->methodNamespace = $value;
223
+                }
224
+            // if it's a type declaration, set type
225 225
         } elseif($key_localpart == 'type'){
226
-        		if (isset($this->message[$pos]['type']) && $this->message[$pos]['type'] == 'array') {
227
-        			// do nothing: already processed arrayType
228
-        		} else {
229
-	            	$value_prefix = $this->getPrefix($value);
230
-	                $value_localpart = $this->getLocalPart($value);
231
-					$this->message[$pos]['type'] = $value_localpart;
232
-					$this->message[$pos]['typePrefix'] = $value_prefix;
233
-	                if(isset($this->namespaces[$value_prefix])){
234
-	                	$this->message[$pos]['type_namespace'] = $this->namespaces[$value_prefix];
235
-	                } else if(isset($attrs['xmlns:'.$value_prefix])) {
236
-						$this->message[$pos]['type_namespace'] = $attrs['xmlns:'.$value_prefix];
237
-	                }
238
-					// should do something here with the namespace of specified type?
239
-				}
240
-			} elseif($key_localpart == 'arrayType'){
241
-				$this->message[$pos]['type'] = 'array';
242
-				/* do arrayType ereg here
226
+                if (isset($this->message[$pos]['type']) && $this->message[$pos]['type'] == 'array') {
227
+                    // do nothing: already processed arrayType
228
+                } else {
229
+                    $value_prefix = $this->getPrefix($value);
230
+                    $value_localpart = $this->getLocalPart($value);
231
+                    $this->message[$pos]['type'] = $value_localpart;
232
+                    $this->message[$pos]['typePrefix'] = $value_prefix;
233
+                    if(isset($this->namespaces[$value_prefix])){
234
+                        $this->message[$pos]['type_namespace'] = $this->namespaces[$value_prefix];
235
+                    } else if(isset($attrs['xmlns:'.$value_prefix])) {
236
+                        $this->message[$pos]['type_namespace'] = $attrs['xmlns:'.$value_prefix];
237
+                    }
238
+                    // should do something here with the namespace of specified type?
239
+                }
240
+            } elseif($key_localpart == 'arrayType'){
241
+                $this->message[$pos]['type'] = 'array';
242
+                /* do arrayType ereg here
243 243
 				[1]    arrayTypeValue    ::=    atype asize
244 244
 				[2]    atype    ::=    QName rank*
245 245
 				[3]    rank    ::=    '[' (',')* ']'
@@ -247,129 +247,129 @@  discard block
 block discarded – undo
247 247
 				[5]    length    ::=    nextDimension* Digit+
248 248
 				[6]    nextDimension    ::=    Digit+ ','
249 249
 				*/
250
-				$expr = '/([A-Za-z0-9_]+):([A-Za-z]+[A-Za-z0-9_]+)\[([0-9]+),?([0-9]*)\]/';
251
-				if(preg_match($expr,$value,$regs)){
252
-					$this->message[$pos]['typePrefix'] = $regs[1];
253
-					$this->message[$pos]['arrayTypePrefix'] = $regs[1];
254
-	                if (isset($this->namespaces[$regs[1]])) {
255
-	                	$this->message[$pos]['arrayTypeNamespace'] = $this->namespaces[$regs[1]];
256
-	                } else if (isset($attrs['xmlns:'.$regs[1]])) {
257
-						$this->message[$pos]['arrayTypeNamespace'] = $attrs['xmlns:'.$regs[1]];
258
-	                }
259
-					$this->message[$pos]['arrayType'] = $regs[2];
260
-					$this->message[$pos]['arraySize'] = $regs[3];
261
-					$this->message[$pos]['arrayCols'] = $regs[4];
262
-				}
263
-			// specifies nil value (or not)
264
-			} elseif ($key_localpart == 'nil'){
265
-				$this->message[$pos]['nil'] = ($value == 'true' || $value == '1');
266
-			// some other attribute
267
-			} elseif ($key != 'href' && $key != 'xmlns' && $key_localpart != 'encodingStyle' && $key_localpart != 'root') {
268
-				$this->message[$pos]['xattrs']['!' . $key] = $value;
269
-			}
250
+                $expr = '/([A-Za-z0-9_]+):([A-Za-z]+[A-Za-z0-9_]+)\[([0-9]+),?([0-9]*)\]/';
251
+                if(preg_match($expr,$value,$regs)){
252
+                    $this->message[$pos]['typePrefix'] = $regs[1];
253
+                    $this->message[$pos]['arrayTypePrefix'] = $regs[1];
254
+                    if (isset($this->namespaces[$regs[1]])) {
255
+                        $this->message[$pos]['arrayTypeNamespace'] = $this->namespaces[$regs[1]];
256
+                    } else if (isset($attrs['xmlns:'.$regs[1]])) {
257
+                        $this->message[$pos]['arrayTypeNamespace'] = $attrs['xmlns:'.$regs[1]];
258
+                    }
259
+                    $this->message[$pos]['arrayType'] = $regs[2];
260
+                    $this->message[$pos]['arraySize'] = $regs[3];
261
+                    $this->message[$pos]['arrayCols'] = $regs[4];
262
+                }
263
+            // specifies nil value (or not)
264
+            } elseif ($key_localpart == 'nil'){
265
+                $this->message[$pos]['nil'] = ($value == 'true' || $value == '1');
266
+            // some other attribute
267
+            } elseif ($key != 'href' && $key != 'xmlns' && $key_localpart != 'encodingStyle' && $key_localpart != 'root') {
268
+                $this->message[$pos]['xattrs']['!' . $key] = $value;
269
+            }
270 270
 
271
-			if ($key == 'xmlns') {
272
-				$this->default_namespace = $value;
273
-			}
274
-			// log id
275
-			if($key == 'id'){
276
-				$this->ids[$value] = $pos;
277
-			}
278
-			// root
279
-			if($key_localpart == 'root' && $value == 1){
280
-				$this->status = 'method';
281
-				$this->root_struct_name = $name;
282
-				$this->root_struct = $pos;
283
-				$this->debug("found root struct $this->root_struct_name, pos $pos");
284
-			}
271
+            if ($key == 'xmlns') {
272
+                $this->default_namespace = $value;
273
+            }
274
+            // log id
275
+            if($key == 'id'){
276
+                $this->ids[$value] = $pos;
277
+            }
278
+            // root
279
+            if($key_localpart == 'root' && $value == 1){
280
+                $this->status = 'method';
281
+                $this->root_struct_name = $name;
282
+                $this->root_struct = $pos;
283
+                $this->debug("found root struct $this->root_struct_name, pos $pos");
284
+            }
285 285
             // for doclit
286 286
             $attstr .= " $key=\"$value\"";
287
-		}
287
+        }
288 288
         // get namespace - must be done after namespace atts are processed
289
-		if(isset($prefix)){
290
-			$this->message[$pos]['namespace'] = $this->namespaces[$prefix];
291
-			$this->default_namespace = $this->namespaces[$prefix];
292
-		} else {
293
-			$this->message[$pos]['namespace'] = $this->default_namespace;
294
-		}
289
+        if(isset($prefix)){
290
+            $this->message[$pos]['namespace'] = $this->namespaces[$prefix];
291
+            $this->default_namespace = $this->namespaces[$prefix];
292
+        } else {
293
+            $this->message[$pos]['namespace'] = $this->default_namespace;
294
+        }
295 295
         if($this->status == 'header'){
296
-        	if ($this->root_header != $pos) {
297
-	        	$this->responseHeaders .= "<" . (isset($prefix) ? $prefix . ':' : '') . "$name$attstr>";
298
-	        }
296
+            if ($this->root_header != $pos) {
297
+                $this->responseHeaders .= "<" . (isset($prefix) ? $prefix . ':' : '') . "$name$attstr>";
298
+            }
299 299
         } elseif($this->root_struct_name != ''){
300
-        	$this->document .= "<" . (isset($prefix) ? $prefix . ':' : '') . "$name$attstr>";
300
+            $this->document .= "<" . (isset($prefix) ? $prefix . ':' : '') . "$name$attstr>";
301 301
         }
302
-	}
302
+    }
303 303
 
304
-	/**
305
-	* end-element handler
306
-	*
307
-	* @param    resource $parser XML parser object
308
-	* @param    string $name element name
309
-	* @access   private
310
-	*/
311
-	function end_element($parser, $name) {
312
-		// position of current element is equal to the last value left in depth_array for my depth
313
-		$pos = $this->depth_array[$this->depth--];
304
+    /**
305
+     * end-element handler
306
+     *
307
+     * @param    resource $parser XML parser object
308
+     * @param    string $name element name
309
+     * @access   private
310
+     */
311
+    function end_element($parser, $name) {
312
+        // position of current element is equal to the last value left in depth_array for my depth
313
+        $pos = $this->depth_array[$this->depth--];
314 314
 
315 315
         // get element prefix
316
-		if(strpos($name,':')){
317
-			// get ns prefix
318
-			$prefix = substr($name,0,strpos($name,':'));
319
-			// get unqualified name
320
-			$name = substr(strstr($name,':'),1);
321
-		}
316
+        if(strpos($name,':')){
317
+            // get ns prefix
318
+            $prefix = substr($name,0,strpos($name,':'));
319
+            // get unqualified name
320
+            $name = substr(strstr($name,':'),1);
321
+        }
322 322
 		
323
-		// build to native type
324
-		if(isset($this->body_position) && $pos > $this->body_position){
325
-			// deal w/ multirefs
326
-			if(isset($this->message[$pos]['attrs']['href'])){
327
-				// get id
328
-				$id = substr($this->message[$pos]['attrs']['href'],1);
329
-				// add placeholder to href array
330
-				$this->multirefs[$id][$pos] = 'placeholder';
331
-				// add set a reference to it as the result value
332
-				$this->message[$pos]['result'] =& $this->multirefs[$id][$pos];
323
+        // build to native type
324
+        if(isset($this->body_position) && $pos > $this->body_position){
325
+            // deal w/ multirefs
326
+            if(isset($this->message[$pos]['attrs']['href'])){
327
+                // get id
328
+                $id = substr($this->message[$pos]['attrs']['href'],1);
329
+                // add placeholder to href array
330
+                $this->multirefs[$id][$pos] = 'placeholder';
331
+                // add set a reference to it as the result value
332
+                $this->message[$pos]['result'] =& $this->multirefs[$id][$pos];
333 333
             // build complexType values
334
-			} elseif($this->message[$pos]['children'] != ''){
335
-				// if result has already been generated (struct/array)
336
-				if(!isset($this->message[$pos]['result'])){
337
-					$this->message[$pos]['result'] = $this->buildVal($pos);
338
-				}
339
-			// build complexType values of attributes and possibly simpleContent
340
-			} elseif (isset($this->message[$pos]['xattrs'])) {
341
-				if (isset($this->message[$pos]['nil']) && $this->message[$pos]['nil']) {
342
-					$this->message[$pos]['xattrs']['!'] = null;
343
-				} elseif (isset($this->message[$pos]['cdata']) && trim($this->message[$pos]['cdata']) != '') {
344
-	            	if (isset($this->message[$pos]['type'])) {
345
-						$this->message[$pos]['xattrs']['!'] = $this->decodeSimple($this->message[$pos]['cdata'], $this->message[$pos]['type'], isset($this->message[$pos]['type_namespace']) ? $this->message[$pos]['type_namespace'] : '');
346
-					} else {
347
-						$parent = $this->message[$pos]['parent'];
348
-						if (isset($this->message[$parent]['type']) && ($this->message[$parent]['type'] == 'array') && isset($this->message[$parent]['arrayType'])) {
349
-							$this->message[$pos]['xattrs']['!'] = $this->decodeSimple($this->message[$pos]['cdata'], $this->message[$parent]['arrayType'], isset($this->message[$parent]['arrayTypeNamespace']) ? $this->message[$parent]['arrayTypeNamespace'] : '');
350
-						} else {
351
-							$this->message[$pos]['xattrs']['!'] = $this->message[$pos]['cdata'];
352
-						}
353
-					}
354
-				}
355
-				$this->message[$pos]['result'] = $this->message[$pos]['xattrs'];
356
-			// set value of simpleType (or nil complexType)
357
-			} else {
358
-            	//$this->debug('adding data for scalar value '.$this->message[$pos]['name'].' of value '.$this->message[$pos]['cdata']);
359
-				if (isset($this->message[$pos]['nil']) && $this->message[$pos]['nil']) {
360
-					$this->message[$pos]['xattrs']['!'] = null;
361
-				} elseif (isset($this->message[$pos]['type'])) {
362
-					$this->message[$pos]['result'] = $this->decodeSimple($this->message[$pos]['cdata'], $this->message[$pos]['type'], isset($this->message[$pos]['type_namespace']) ? $this->message[$pos]['type_namespace'] : '');
363
-				} else {
364
-					$parent = $this->message[$pos]['parent'];
365
-					if (isset($this->message[$parent]['type']) && ($this->message[$parent]['type'] == 'array') && isset($this->message[$parent]['arrayType'])) {
366
-						$this->message[$pos]['result'] = $this->decodeSimple($this->message[$pos]['cdata'], $this->message[$parent]['arrayType'], isset($this->message[$parent]['arrayTypeNamespace']) ? $this->message[$parent]['arrayTypeNamespace'] : '');
367
-					} else {
368
-						$this->message[$pos]['result'] = $this->message[$pos]['cdata'];
369
-					}
370
-				}
334
+            } elseif($this->message[$pos]['children'] != ''){
335
+                // if result has already been generated (struct/array)
336
+                if(!isset($this->message[$pos]['result'])){
337
+                    $this->message[$pos]['result'] = $this->buildVal($pos);
338
+                }
339
+            // build complexType values of attributes and possibly simpleContent
340
+            } elseif (isset($this->message[$pos]['xattrs'])) {
341
+                if (isset($this->message[$pos]['nil']) && $this->message[$pos]['nil']) {
342
+                    $this->message[$pos]['xattrs']['!'] = null;
343
+                } elseif (isset($this->message[$pos]['cdata']) && trim($this->message[$pos]['cdata']) != '') {
344
+                    if (isset($this->message[$pos]['type'])) {
345
+                        $this->message[$pos]['xattrs']['!'] = $this->decodeSimple($this->message[$pos]['cdata'], $this->message[$pos]['type'], isset($this->message[$pos]['type_namespace']) ? $this->message[$pos]['type_namespace'] : '');
346
+                    } else {
347
+                        $parent = $this->message[$pos]['parent'];
348
+                        if (isset($this->message[$parent]['type']) && ($this->message[$parent]['type'] == 'array') && isset($this->message[$parent]['arrayType'])) {
349
+                            $this->message[$pos]['xattrs']['!'] = $this->decodeSimple($this->message[$pos]['cdata'], $this->message[$parent]['arrayType'], isset($this->message[$parent]['arrayTypeNamespace']) ? $this->message[$parent]['arrayTypeNamespace'] : '');
350
+                        } else {
351
+                            $this->message[$pos]['xattrs']['!'] = $this->message[$pos]['cdata'];
352
+                        }
353
+                    }
354
+                }
355
+                $this->message[$pos]['result'] = $this->message[$pos]['xattrs'];
356
+            // set value of simpleType (or nil complexType)
357
+            } else {
358
+                //$this->debug('adding data for scalar value '.$this->message[$pos]['name'].' of value '.$this->message[$pos]['cdata']);
359
+                if (isset($this->message[$pos]['nil']) && $this->message[$pos]['nil']) {
360
+                    $this->message[$pos]['xattrs']['!'] = null;
361
+                } elseif (isset($this->message[$pos]['type'])) {
362
+                    $this->message[$pos]['result'] = $this->decodeSimple($this->message[$pos]['cdata'], $this->message[$pos]['type'], isset($this->message[$pos]['type_namespace']) ? $this->message[$pos]['type_namespace'] : '');
363
+                } else {
364
+                    $parent = $this->message[$pos]['parent'];
365
+                    if (isset($this->message[$parent]['type']) && ($this->message[$parent]['type'] == 'array') && isset($this->message[$parent]['arrayType'])) {
366
+                        $this->message[$pos]['result'] = $this->decodeSimple($this->message[$pos]['cdata'], $this->message[$parent]['arrayType'], isset($this->message[$parent]['arrayTypeNamespace']) ? $this->message[$parent]['arrayTypeNamespace'] : '');
367
+                    } else {
368
+                        $this->message[$pos]['result'] = $this->message[$pos]['cdata'];
369
+                    }
370
+                }
371 371
 
372
-				/* add value to parent's result, if parent is struct/array
372
+                /* add value to parent's result, if parent is struct/array
373 373
 				$parent = $this->message[$pos]['parent'];
374 374
 				if($this->message[$parent]['type'] != 'map'){
375 375
 					if(strtolower($this->message[$parent]['type']) == 'array'){
@@ -379,261 +379,261 @@  discard block
 block discarded – undo
379 379
 					}
380 380
 				}
381 381
 				*/
382
-			}
383
-		}
382
+            }
383
+        }
384 384
 		
385 385
         // for doclit
386 386
         if($this->status == 'header'){
387
-        	if ($this->root_header != $pos) {
388
-	        	$this->responseHeaders .= "</" . (isset($prefix) ? $prefix . ':' : '') . "$name>";
389
-	        }
387
+            if ($this->root_header != $pos) {
388
+                $this->responseHeaders .= "</" . (isset($prefix) ? $prefix . ':' : '') . "$name>";
389
+            }
390 390
         } elseif($pos >= $this->root_struct){
391
-        	$this->document .= "</" . (isset($prefix) ? $prefix . ':' : '') . "$name>";
391
+            $this->document .= "</" . (isset($prefix) ? $prefix . ':' : '') . "$name>";
392 392
         }
393
-		// switch status
394
-		if ($pos == $this->root_struct){
395
-			$this->status = 'body';
396
-			$this->root_struct_namespace = $this->message[$pos]['namespace'];
397
-		} elseif ($pos == $this->root_header) {
398
-			$this->status = 'envelope';
399
-		} elseif ($name == 'Body' && $this->status == 'body') {
400
-			$this->status = 'envelope';
401
-		} elseif ($name == 'Header' && $this->status == 'header') { // will never happen
402
-			$this->status = 'envelope';
403
-		} elseif ($name == 'Envelope' && $this->status == 'envelope') {
404
-			$this->status = '';
405
-		}
406
-		// set parent back to my parent
407
-		$this->parent = $this->message[$pos]['parent'];
408
-	}
393
+        // switch status
394
+        if ($pos == $this->root_struct){
395
+            $this->status = 'body';
396
+            $this->root_struct_namespace = $this->message[$pos]['namespace'];
397
+        } elseif ($pos == $this->root_header) {
398
+            $this->status = 'envelope';
399
+        } elseif ($name == 'Body' && $this->status == 'body') {
400
+            $this->status = 'envelope';
401
+        } elseif ($name == 'Header' && $this->status == 'header') { // will never happen
402
+            $this->status = 'envelope';
403
+        } elseif ($name == 'Envelope' && $this->status == 'envelope') {
404
+            $this->status = '';
405
+        }
406
+        // set parent back to my parent
407
+        $this->parent = $this->message[$pos]['parent'];
408
+    }
409 409
 
410
-	/**
411
-	* element content handler
412
-	*
413
-	* @param    resource $parser XML parser object
414
-	* @param    string $data element content
415
-	* @access   private
416
-	*/
417
-	function character_data($parser, $data)
410
+    /**
411
+     * element content handler
412
+     *
413
+     * @param    resource $parser XML parser object
414
+     * @param    string $data element content
415
+     * @access   private
416
+     */
417
+    function character_data($parser, $data)
418 418
     {
419
-		$pos = $this->depth_array[$this->depth];
420
-		if ($this->xml_encoding == 'UTF-8'){
421
-			// TODO: add an option to disable this for folks who want
422
-			// raw UTF-8 that, e.g., might not map to iso-8859-1
423
-			// TODO: this can also be handled with xml_parser_set_option($this->parser, XML_OPTION_TARGET_ENCODING, "ISO-8859-1");
424
-			if($this->decode_utf8){
425
-				$data = utf8_decode($data);
426
-			}
427
-		}
419
+        $pos = $this->depth_array[$this->depth];
420
+        if ($this->xml_encoding == 'UTF-8'){
421
+            // TODO: add an option to disable this for folks who want
422
+            // raw UTF-8 that, e.g., might not map to iso-8859-1
423
+            // TODO: this can also be handled with xml_parser_set_option($this->parser, XML_OPTION_TARGET_ENCODING, "ISO-8859-1");
424
+            if($this->decode_utf8){
425
+                $data = utf8_decode($data);
426
+            }
427
+        }
428 428
         $this->message[$pos]['cdata'] .= $data;
429 429
         // for doclit
430 430
         if($this->status == 'header'){
431
-        	$this->responseHeaders .= $data;
431
+            $this->responseHeaders .= $data;
432 432
         } else {
433
-        	$this->document .= $data;
433
+            $this->document .= $data;
434 434
         }
435
-	}
435
+    }
436 436
 
437
-	/**
438
-	* get the parsed message (SOAP Body)
439
-	*
440
-	* @return	mixed
441
-	* @access   public
442
-	* @deprecated	use get_soapbody instead
443
-	*/
444
-	function get_response(){
445
-		return $this->soapresponse;
446
-	}
437
+    /**
438
+     * get the parsed message (SOAP Body)
439
+     *
440
+     * @return	mixed
441
+     * @access   public
442
+     * @deprecated	use get_soapbody instead
443
+     */
444
+    function get_response(){
445
+        return $this->soapresponse;
446
+    }
447 447
 
448
-	/**
449
-	* get the parsed SOAP Body (NULL if there was none)
450
-	*
451
-	* @return	mixed
452
-	* @access   public
453
-	*/
454
-	function get_soapbody(){
455
-		return $this->soapresponse;
456
-	}
448
+    /**
449
+     * get the parsed SOAP Body (NULL if there was none)
450
+     *
451
+     * @return	mixed
452
+     * @access   public
453
+     */
454
+    function get_soapbody(){
455
+        return $this->soapresponse;
456
+    }
457 457
 
458
-	/**
459
-	* get the parsed SOAP Header (NULL if there was none)
460
-	*
461
-	* @return	mixed
462
-	* @access   public
463
-	*/
464
-	function get_soapheader(){
465
-		return $this->soapheader;
466
-	}
458
+    /**
459
+     * get the parsed SOAP Header (NULL if there was none)
460
+     *
461
+     * @return	mixed
462
+     * @access   public
463
+     */
464
+    function get_soapheader(){
465
+        return $this->soapheader;
466
+    }
467 467
 
468
-	/**
469
-	* get the unparsed SOAP Header
470
-	*
471
-	* @return	string XML or empty if no Header
472
-	* @access   public
473
-	*/
474
-	function getHeaders(){
475
-	    return $this->responseHeaders;
476
-	}
468
+    /**
469
+     * get the unparsed SOAP Header
470
+     *
471
+     * @return	string XML or empty if no Header
472
+     * @access   public
473
+     */
474
+    function getHeaders(){
475
+        return $this->responseHeaders;
476
+    }
477 477
 
478
-	/**
479
-	* decodes simple types into PHP variables
480
-	*
481
-	* @param    string $value value to decode
482
-	* @param    string $type XML type to decode
483
-	* @param    string $typens XML type namespace to decode
484
-	* @return	mixed PHP value
485
-	* @access   private
486
-	*/
487
-	function decodeSimple($value, $type, $typens) {
488
-		// TODO: use the namespace!
489
-		if ((!isset($type)) || $type == 'string' || $type == 'long' || $type == 'unsignedLong') {
490
-			return (string) $value;
491
-		}
492
-		if ($type == 'int' || $type == 'integer' || $type == 'short' || $type == 'byte') {
493
-			return (int) $value;
494
-		}
495
-		if ($type == 'float' || $type == 'double' || $type == 'decimal') {
496
-			return (double) $value;
497
-		}
498
-		if ($type == 'boolean') {
499
-			if (strtolower($value) == 'false' || strtolower($value) == 'f') {
500
-				return false;
501
-			}
502
-			return (boolean) $value;
503
-		}
504
-		if ($type == 'base64' || $type == 'base64Binary') {
505
-			$this->debug('Decode base64 value');
506
-			return base64_decode($value);
507
-		}
508
-		// obscure numeric types
509
-		if ($type == 'nonPositiveInteger' || $type == 'negativeInteger'
510
-			|| $type == 'nonNegativeInteger' || $type == 'positiveInteger'
511
-			|| $type == 'unsignedInt'
512
-			|| $type == 'unsignedShort' || $type == 'unsignedByte') {
513
-			return (int) $value;
514
-		}
515
-		// bogus: parser treats array with no elements as a simple type
516
-		if ($type == 'array') {
517
-			return array();
518
-		}
519
-		// everything else
520
-		return (string) $value;
521
-	}
478
+    /**
479
+     * decodes simple types into PHP variables
480
+     *
481
+     * @param    string $value value to decode
482
+     * @param    string $type XML type to decode
483
+     * @param    string $typens XML type namespace to decode
484
+     * @return	mixed PHP value
485
+     * @access   private
486
+     */
487
+    function decodeSimple($value, $type, $typens) {
488
+        // TODO: use the namespace!
489
+        if ((!isset($type)) || $type == 'string' || $type == 'long' || $type == 'unsignedLong') {
490
+            return (string) $value;
491
+        }
492
+        if ($type == 'int' || $type == 'integer' || $type == 'short' || $type == 'byte') {
493
+            return (int) $value;
494
+        }
495
+        if ($type == 'float' || $type == 'double' || $type == 'decimal') {
496
+            return (double) $value;
497
+        }
498
+        if ($type == 'boolean') {
499
+            if (strtolower($value) == 'false' || strtolower($value) == 'f') {
500
+                return false;
501
+            }
502
+            return (boolean) $value;
503
+        }
504
+        if ($type == 'base64' || $type == 'base64Binary') {
505
+            $this->debug('Decode base64 value');
506
+            return base64_decode($value);
507
+        }
508
+        // obscure numeric types
509
+        if ($type == 'nonPositiveInteger' || $type == 'negativeInteger'
510
+            || $type == 'nonNegativeInteger' || $type == 'positiveInteger'
511
+            || $type == 'unsignedInt'
512
+            || $type == 'unsignedShort' || $type == 'unsignedByte') {
513
+            return (int) $value;
514
+        }
515
+        // bogus: parser treats array with no elements as a simple type
516
+        if ($type == 'array') {
517
+            return array();
518
+        }
519
+        // everything else
520
+        return (string) $value;
521
+    }
522 522
 
523
-	/**
524
-	* builds response structures for compound values (arrays/structs)
525
-	* and scalars
526
-	*
527
-	* @param    integer $pos position in node tree
528
-	* @return	mixed	PHP value
529
-	* @access   private
530
-	*/
531
-	function buildVal($pos){
532
-		if(!isset($this->message[$pos]['type'])){
533
-			$this->message[$pos]['type'] = '';
534
-		}
535
-		$this->debug('in buildVal() for '.$this->message[$pos]['name']."(pos $pos) of type ".$this->message[$pos]['type']);
536
-		// if there are children...
537
-		if($this->message[$pos]['children'] != ''){
538
-			$this->debug('in buildVal, there are children');
539
-			$children = explode('|',$this->message[$pos]['children']);
540
-			array_shift($children); // knock off empty
541
-			// md array
542
-			if(isset($this->message[$pos]['arrayCols']) && $this->message[$pos]['arrayCols'] != ''){
543
-            	$r=0; // rowcount
544
-            	$c=0; // colcount
545
-            	foreach($children as $child_pos){
546
-					$this->debug("in buildVal, got an MD array element: $r, $c");
547
-					$params[$r][] = $this->message[$child_pos]['result'];
548
-				    $c++;
549
-				    if($c == $this->message[$pos]['arrayCols']){
550
-				    	$c = 0;
551
-						$r++;
552
-				    }
523
+    /**
524
+     * builds response structures for compound values (arrays/structs)
525
+     * and scalars
526
+     *
527
+     * @param    integer $pos position in node tree
528
+     * @return	mixed	PHP value
529
+     * @access   private
530
+     */
531
+    function buildVal($pos){
532
+        if(!isset($this->message[$pos]['type'])){
533
+            $this->message[$pos]['type'] = '';
534
+        }
535
+        $this->debug('in buildVal() for '.$this->message[$pos]['name']."(pos $pos) of type ".$this->message[$pos]['type']);
536
+        // if there are children...
537
+        if($this->message[$pos]['children'] != ''){
538
+            $this->debug('in buildVal, there are children');
539
+            $children = explode('|',$this->message[$pos]['children']);
540
+            array_shift($children); // knock off empty
541
+            // md array
542
+            if(isset($this->message[$pos]['arrayCols']) && $this->message[$pos]['arrayCols'] != ''){
543
+                $r=0; // rowcount
544
+                $c=0; // colcount
545
+                foreach($children as $child_pos){
546
+                    $this->debug("in buildVal, got an MD array element: $r, $c");
547
+                    $params[$r][] = $this->message[$child_pos]['result'];
548
+                    $c++;
549
+                    if($c == $this->message[$pos]['arrayCols']){
550
+                        $c = 0;
551
+                        $r++;
552
+                    }
553 553
                 }
554 554
             // array
555
-			} elseif($this->message[$pos]['type'] == 'array' || $this->message[$pos]['type'] == 'Array'){
555
+            } elseif($this->message[$pos]['type'] == 'array' || $this->message[$pos]['type'] == 'Array'){
556 556
                 $this->debug('in buildVal, adding array '.$this->message[$pos]['name']);
557 557
                 foreach($children as $child_pos){
558
-                	$params[] = &$this->message[$child_pos]['result'];
558
+                    $params[] = &$this->message[$child_pos]['result'];
559 559
                 }
560 560
             // apache Map type: java hashtable
561 561
             } elseif($this->message[$pos]['type'] == 'Map' && $this->message[$pos]['type_namespace'] == 'http://xml.apache.org/xml-soap'){
562 562
                 $this->debug('in buildVal, Java Map '.$this->message[$pos]['name']);
563 563
                 foreach($children as $child_pos){
564
-                	$kv = explode("|",$this->message[$child_pos]['children']);
565
-                   	$params[$this->message[$kv[1]]['result']] = &$this->message[$kv[2]]['result'];
564
+                    $kv = explode("|",$this->message[$child_pos]['children']);
565
+                        $params[$this->message[$kv[1]]['result']] = &$this->message[$kv[2]]['result'];
566 566
                 }
567 567
             // generic compound type
568 568
             //} elseif($this->message[$pos]['type'] == 'SOAPStruct' || $this->message[$pos]['type'] == 'struct') {
569
-		    } else {
570
-	    		// Apache Vector type: treat as an array
569
+            } else {
570
+                // Apache Vector type: treat as an array
571 571
                 $this->debug('in buildVal, adding Java Vector or generic compound type '.$this->message[$pos]['name']);
572
-				if ($this->message[$pos]['type'] == 'Vector' && $this->message[$pos]['type_namespace'] == 'http://xml.apache.org/xml-soap') {
573
-					$notstruct = 1;
574
-				} else {
575
-					$notstruct = 0;
576
-	            }
577
-            	//
578
-            	foreach($children as $child_pos){
579
-            		if($notstruct){
580
-            			$params[] = &$this->message[$child_pos]['result'];
581
-            		} else {
582
-            			if (isset($params[$this->message[$child_pos]['name']])) {
583
-            				// de-serialize repeated element name into an array
584
-            				if ((!is_array($params[$this->message[$child_pos]['name']])) || (!isset($params[$this->message[$child_pos]['name']][0]))) {
585
-            					$params[$this->message[$child_pos]['name']] = array($params[$this->message[$child_pos]['name']]);
586
-            				}
587
-            				$params[$this->message[$child_pos]['name']][] = &$this->message[$child_pos]['result'];
588
-            			} else {
589
-					    	$params[$this->message[$child_pos]['name']] = &$this->message[$child_pos]['result'];
590
-					    }
591
-                	}
572
+                if ($this->message[$pos]['type'] == 'Vector' && $this->message[$pos]['type_namespace'] == 'http://xml.apache.org/xml-soap') {
573
+                    $notstruct = 1;
574
+                } else {
575
+                    $notstruct = 0;
592 576
                 }
593
-			}
594
-			if (isset($this->message[$pos]['xattrs'])) {
577
+                //
578
+                foreach($children as $child_pos){
579
+                    if($notstruct){
580
+                        $params[] = &$this->message[$child_pos]['result'];
581
+                    } else {
582
+                        if (isset($params[$this->message[$child_pos]['name']])) {
583
+                            // de-serialize repeated element name into an array
584
+                            if ((!is_array($params[$this->message[$child_pos]['name']])) || (!isset($params[$this->message[$child_pos]['name']][0]))) {
585
+                                $params[$this->message[$child_pos]['name']] = array($params[$this->message[$child_pos]['name']]);
586
+                            }
587
+                            $params[$this->message[$child_pos]['name']][] = &$this->message[$child_pos]['result'];
588
+                        } else {
589
+                            $params[$this->message[$child_pos]['name']] = &$this->message[$child_pos]['result'];
590
+                        }
591
+                    }
592
+                }
593
+            }
594
+            if (isset($this->message[$pos]['xattrs'])) {
595 595
                 $this->debug('in buildVal, handling attributes');
596
-				foreach ($this->message[$pos]['xattrs'] as $n => $v) {
597
-					$params[$n] = $v;
598
-				}
599
-			}
600
-			// handle simpleContent
601
-			if (isset($this->message[$pos]['cdata']) && trim($this->message[$pos]['cdata']) != '') {
596
+                foreach ($this->message[$pos]['xattrs'] as $n => $v) {
597
+                    $params[$n] = $v;
598
+                }
599
+            }
600
+            // handle simpleContent
601
+            if (isset($this->message[$pos]['cdata']) && trim($this->message[$pos]['cdata']) != '') {
602 602
                 $this->debug('in buildVal, handling simpleContent');
603
-            	if (isset($this->message[$pos]['type'])) {
604
-					$params['!'] = $this->decodeSimple($this->message[$pos]['cdata'], $this->message[$pos]['type'], isset($this->message[$pos]['type_namespace']) ? $this->message[$pos]['type_namespace'] : '');
605
-				} else {
606
-					$parent = $this->message[$pos]['parent'];
607
-					if (isset($this->message[$parent]['type']) && ($this->message[$parent]['type'] == 'array') && isset($this->message[$parent]['arrayType'])) {
608
-						$params['!'] = $this->decodeSimple($this->message[$pos]['cdata'], $this->message[$parent]['arrayType'], isset($this->message[$parent]['arrayTypeNamespace']) ? $this->message[$parent]['arrayTypeNamespace'] : '');
609
-					} else {
610
-						$params['!'] = $this->message[$pos]['cdata'];
611
-					}
612
-				}
613
-			}
614
-			$ret = is_array($params) ? $params : array();
615
-			$this->debug('in buildVal, return:');
616
-			//$this->appendDebug($this->varDump($ret));
617
-			return $ret;
618
-		} else {
619
-        	$this->debug('in buildVal, no children, building scalar');
620
-			$cdata = isset($this->message[$pos]['cdata']) ? $this->message[$pos]['cdata'] : '';
621
-        	if (isset($this->message[$pos]['type'])) {
622
-				$ret = $this->decodeSimple($cdata, $this->message[$pos]['type'], isset($this->message[$pos]['type_namespace']) ? $this->message[$pos]['type_namespace'] : '');
623
-				$this->debug("in buildVal, return: $ret");
624
-				return $ret;
625
-			}
626
-			$parent = $this->message[$pos]['parent'];
627
-			if (isset($this->message[$parent]['type']) && ($this->message[$parent]['type'] == 'array') && isset($this->message[$parent]['arrayType'])) {
628
-				$ret = $this->decodeSimple($cdata, $this->message[$parent]['arrayType'], isset($this->message[$parent]['arrayTypeNamespace']) ? $this->message[$parent]['arrayTypeNamespace'] : '');
629
-				$this->debug("in buildVal, return: $ret");
630
-				return $ret;
631
-			}
632
-           	$ret = $this->message[$pos]['cdata'];
633
-			$this->debug("in buildVal, return: $ret");
634
-           	return $ret;
635
-		}
636
-	}
603
+                if (isset($this->message[$pos]['type'])) {
604
+                    $params['!'] = $this->decodeSimple($this->message[$pos]['cdata'], $this->message[$pos]['type'], isset($this->message[$pos]['type_namespace']) ? $this->message[$pos]['type_namespace'] : '');
605
+                } else {
606
+                    $parent = $this->message[$pos]['parent'];
607
+                    if (isset($this->message[$parent]['type']) && ($this->message[$parent]['type'] == 'array') && isset($this->message[$parent]['arrayType'])) {
608
+                        $params['!'] = $this->decodeSimple($this->message[$pos]['cdata'], $this->message[$parent]['arrayType'], isset($this->message[$parent]['arrayTypeNamespace']) ? $this->message[$parent]['arrayTypeNamespace'] : '');
609
+                    } else {
610
+                        $params['!'] = $this->message[$pos]['cdata'];
611
+                    }
612
+                }
613
+            }
614
+            $ret = is_array($params) ? $params : array();
615
+            $this->debug('in buildVal, return:');
616
+            //$this->appendDebug($this->varDump($ret));
617
+            return $ret;
618
+        } else {
619
+            $this->debug('in buildVal, no children, building scalar');
620
+            $cdata = isset($this->message[$pos]['cdata']) ? $this->message[$pos]['cdata'] : '';
621
+            if (isset($this->message[$pos]['type'])) {
622
+                $ret = $this->decodeSimple($cdata, $this->message[$pos]['type'], isset($this->message[$pos]['type_namespace']) ? $this->message[$pos]['type_namespace'] : '');
623
+                $this->debug("in buildVal, return: $ret");
624
+                return $ret;
625
+            }
626
+            $parent = $this->message[$pos]['parent'];
627
+            if (isset($this->message[$parent]['type']) && ($this->message[$parent]['type'] == 'array') && isset($this->message[$parent]['arrayType'])) {
628
+                $ret = $this->decodeSimple($cdata, $this->message[$parent]['arrayType'], isset($this->message[$parent]['arrayTypeNamespace']) ? $this->message[$parent]['arrayTypeNamespace'] : '');
629
+                $this->debug("in buildVal, return: $ret");
630
+                return $ret;
631
+            }
632
+                $ret = $this->message[$pos]['cdata'];
633
+            $this->debug("in buildVal, return: $ret");
634
+                return $ret;
635
+        }
636
+    }
637 637
 }
638 638
 
639 639
 /**
Please login to merge, or discard this patch.
main/admin/add_sessions_to_usergroup.php 1 patch
Indentation   +12 added lines, -12 removed lines patch added patch discarded remove patch
@@ -197,7 +197,7 @@  discard block
 block discarded – undo
197 197
       <option value = "%">--</option>
198 198
       <?php
199 199
         echo Display :: get_alphabet_options();
200
-      ?>
200
+        ?>
201 201
      </select>
202 202
 </td>
203 203
 <td align="center">&nbsp;</td>
@@ -207,31 +207,31 @@  discard block
 block discarded – undo
207 207
   <td align="center">
208 208
   <div id="content_source">
209 209
       <?php
210
-      if (!($add_type=='multiple')) {
210
+        if (!($add_type=='multiple')) {
211 211
         ?>
212 212
         <input type="text" id="user_to_add" onkeyup="xajax_search_users(this.value,'single')" />
213 213
         <div id="ajax_list_users_single"></div>
214 214
         <?php
215
-      } else {
216
-      ?>
215
+        } else {
216
+        ?>
217 217
       <div id="ajax_list_multiple">
218 218
         <?php echo Display::select('session_not_in_promotion_name',$session_not_in_promotion, '',array('style'=>'width:360px', 'multiple'=>'multiple','id'=>'session_not_in_promotion','size'=>'15px'),false); ?>
219 219
       </div>
220 220
     <?php
221
-      }
222
-     ?>
221
+        }
222
+        ?>
223 223
   </div>
224 224
   </td>
225 225
   <td width="10%" valign="middle" align="center">
226 226
   <?php
227
-  if ($ajax_search) {
228
-  ?>
227
+    if ($ajax_search) {
228
+    ?>
229 229
     <button class="btn btn-default" type="button" onclick="remove_item(document.getElementById('session_in_promotion'))" >
230 230
         <em class="fa fa-arrow-left"></em>
231 231
     </button>
232 232
   <?php
233
-  } else {
234
-  ?>
233
+    } else {
234
+    ?>
235 235
     <button class="btn btn-default" type="button" onclick="moveItem(document.getElementById('session_not_in_promotion'), document.getElementById('session_in_promotion'))" onclick="moveItem(document.getElementById('session_not_in_promotion'), document.getElementById('session_in_promotion'))">
236 236
         <em class="fa fa-arrow-right"></em>
237 237
     </button>
@@ -240,8 +240,8 @@  discard block
 block discarded – undo
240 240
         <em class="fa fa-arrow-left"></em>
241 241
     </button>
242 242
     <?php
243
-  }
244
-  ?>
243
+    }
244
+    ?>
245 245
     <br /><br /><br /><br /><br /><br />
246 246
   </td>
247 247
   <td align="center">
Please login to merge, or discard this patch.
main/resourcelinker/resourcelinker.inc.php 1 patch
Indentation   +1390 added lines, -1390 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="../exercise/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="../forum/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="../exercise/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="../forum/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="../forum/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="../forum/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=\"../exercise/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=\"../exercise/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=\"../exercise/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=\"../exercise/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,168 +1116,168 @@  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 .= "../exercise/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 .= "../exercise/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 .= "../exercise/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 .= "../exercise/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
-
1279
-		case "Post":
1280
-			/* todo REVIEW THIS SECTION - NOT USING VALID TABLES ANYMORE
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
+
1279
+        case "Post":
1280
+            /* todo REVIEW THIS SECTION - NOT USING VALID TABLES ANYMORE
1281 1281
 			$tbl_posts       = $_course['dbNameGlu'].'bb_posts';
1282 1282
 			$tbl_posts_text  = $_course['dbNameGlu'].'bb_posts_text';
1283 1283
 			$TBL_FORUMS = $_course['dbNameGlu']."bb_forums";
@@ -1308,94 +1308,94 @@  discard block
 block discarded – undo
1308 1308
 				$link .= "../phpbb/viewtopic.php?topic=".$myrow["topic_id"]."&forum=".$myrow["forum_id"]."&md5=".$myrow["md5"];
1309 1309
 			}
1310 1310
 			*/
1311
-			break;
1312
-
1313
-		case "Document":
1314
-			$dbTable  = Database::get_course_table(TABLE_DOCUMENT);
1315
-			$result=Database::query("SELECT * FROM $dbTable WHERE id=$id",__FILE__,__LINE);
1316
-			$myrow=Database::fetch_array($result);
1317
-
1318
-			$pathname=explode("/",$myrow["path"]); // making a correct name for the link
1319
-			$last=count($pathname)-1;  // making a correct name for the link
1320
-			$filename=$pathname[$last];  // making a correct name for the link
1321
-
1322
-			$sql="select * from $tbl_learnpath_item where id=$id_in_path";
1323
-			$result=Database::query($sql);	$row=Database::fetch_array($result);
1324
-
1325
-			if ($builder != 'builder')
1326
-			{
1327
-				$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";
1328
-
1329
-			}
1330
-			else
1331
-			{
1332
-				$enableDocumentParsing='yes';
1333
-				if (!$enableDocumentParsing)
1334
-				{ //this is the solution for the non-parsing version in the builder
1335
-					$file=urlencode($myrow["path"]);
1336
-					$link .= "../document/showinframes.php?file=$file";
1337
-				}
1338
-				else
1339
-				{
1340
-					$link .= "../document/download.php?doc_url=".$myrow["path"];
1341
-				}
1342
-			}
1343
-			break;
1344
-
1345
-		case "Assignments":
1346
-			if ($builder != 'builder')
1347
-			{
1348
-				$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";
1349
-			}
1350
-			else
1351
-			{
1352
-				$link .= "../work/work.php";
1353
-			}
1354
-			break;
1355
-		case "Dropbox":
1356
-			if ($builder != 'builder')
1357
-			{
1358
-				$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";
1359
-			} else {
1360
-				$link .= "../dropbox/index.php";
1361
-			}
1362
-			break;
1363
-		case "Introduction_text":
1364
-			if ($builder != 'builder')
1365
-			{
1366
-				$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";
1367
-			} else {
1368
-				$s = api_get_path(WEB_COURSE_PATH)."$_cid/index.php?intro_cmdEdit=1";
1369
-				$link .= $s;
1370
-			}
1371
-			break;
1372
-		case "Course_description":
1373
-			if ($builder != 'builder')
1374
-			{
1375
-				$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";
1376
-			} else {
1377
-				$s=api_get_path(WEB_CODE_PATH)."course_description";
1378
-				$link .= $s;
1379
-			}
1380
-			break;
1381
-		case "Groups":
1382
-
1383
-			if ($builder != 'builder')
1384
-			{
1385
-				$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";
1386
-			} else {
1387
-				$link .= "../group/group.php?origin=$origin";
1388
-			}
1389
-			break;
1390
-		case "Users":
1391
-			if ($builder != 'builder')
1392
-			{
1393
-				$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";
1394
-			} else {
1395
-				$link .= "../user/user.php?origin=$origin";
1396
-			}
1397
-			break;
1398
-	}//end huge switch-statement
1311
+            break;
1312
+
1313
+        case "Document":
1314
+            $dbTable  = Database::get_course_table(TABLE_DOCUMENT);
1315
+            $result=Database::query("SELECT * FROM $dbTable WHERE id=$id",__FILE__,__LINE);
1316
+            $myrow=Database::fetch_array($result);
1317
+
1318
+            $pathname=explode("/",$myrow["path"]); // making a correct name for the link
1319
+            $last=count($pathname)-1;  // making a correct name for the link
1320
+            $filename=$pathname[$last];  // making a correct name for the link
1321
+
1322
+            $sql="select * from $tbl_learnpath_item where id=$id_in_path";
1323
+            $result=Database::query($sql);	$row=Database::fetch_array($result);
1324
+
1325
+            if ($builder != 'builder')
1326
+            {
1327
+                $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";
1328
+
1329
+            }
1330
+            else
1331
+            {
1332
+                $enableDocumentParsing='yes';
1333
+                if (!$enableDocumentParsing)
1334
+                { //this is the solution for the non-parsing version in the builder
1335
+                    $file=urlencode($myrow["path"]);
1336
+                    $link .= "../document/showinframes.php?file=$file";
1337
+                }
1338
+                else
1339
+                {
1340
+                    $link .= "../document/download.php?doc_url=".$myrow["path"];
1341
+                }
1342
+            }
1343
+            break;
1344
+
1345
+        case "Assignments":
1346
+            if ($builder != 'builder')
1347
+            {
1348
+                $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";
1349
+            }
1350
+            else
1351
+            {
1352
+                $link .= "../work/work.php";
1353
+            }
1354
+            break;
1355
+        case "Dropbox":
1356
+            if ($builder != 'builder')
1357
+            {
1358
+                $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";
1359
+            } else {
1360
+                $link .= "../dropbox/index.php";
1361
+            }
1362
+            break;
1363
+        case "Introduction_text":
1364
+            if ($builder != 'builder')
1365
+            {
1366
+                $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";
1367
+            } else {
1368
+                $s = api_get_path(WEB_COURSE_PATH)."$_cid/index.php?intro_cmdEdit=1";
1369
+                $link .= $s;
1370
+            }
1371
+            break;
1372
+        case "Course_description":
1373
+            if ($builder != 'builder')
1374
+            {
1375
+                $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";
1376
+            } else {
1377
+                $s=api_get_path(WEB_CODE_PATH)."course_description";
1378
+                $link .= $s;
1379
+            }
1380
+            break;
1381
+        case "Groups":
1382
+
1383
+            if ($builder != 'builder')
1384
+            {
1385
+                $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";
1386
+            } else {
1387
+                $link .= "../group/group.php?origin=$origin";
1388
+            }
1389
+            break;
1390
+        case "Users":
1391
+            if ($builder != 'builder')
1392
+            {
1393
+                $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";
1394
+            } else {
1395
+                $link .= "../user/user.php?origin=$origin";
1396
+            }
1397
+            break;
1398
+    }//end huge switch-statement
1399 1399
     return $link;
1400 1400
 }
1401 1401
 
@@ -1404,12 +1404,12 @@  discard block
 block discarded – undo
1404 1404
 */
1405 1405
 function remove_resource($resource_key)
1406 1406
 {
1407
-	$addedresource = $_SESSION['addedresource'];
1408
-	$addedresourceid = $_SESSION['addedresourceid'];
1409
-	unset($addedresource[$resource_key]);
1410
-	unset($addedresourceid[$resource_key]);
1411
-	$_SESSION['addedresource']=$addedresource;
1412
-	$_SESSION['addedresourceid']=$addedresourceid ;
1407
+    $addedresource = $_SESSION['addedresource'];
1408
+    $addedresourceid = $_SESSION['addedresourceid'];
1409
+    unset($addedresource[$resource_key]);
1410
+    unset($addedresourceid[$resource_key]);
1411
+    $_SESSION['addedresource']=$addedresource;
1412
+    $_SESSION['addedresourceid']=$addedresourceid ;
1413 1413
 }
1414 1414
 
1415 1415
 /**
@@ -1418,8 +1418,8 @@  discard block
 block discarded – undo
1418 1418
 */
1419 1419
 function show_addresource_button($additionalparameters = '')
1420 1420
 {
1421
-	global $charset;
1422
-	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.' />';
1421
+    global $charset;
1422
+    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.' />';
1423 1423
 }
1424 1424
 
1425 1425
 /**
@@ -1441,11 +1441,11 @@  discard block
 block discarded – undo
1441 1441
 */
1442 1442
 function delete_added_resource($type, $id)
1443 1443
 {
1444
-	global $_course;
1445
-	$TABLERESOURCE 		= Database::get_course_table(TABLE_LINKED_RESOURCES);
1444
+    global $_course;
1445
+    $TABLERESOURCE 		= Database::get_course_table(TABLE_LINKED_RESOURCES);
1446 1446
 
1447
-	$sql="DELETE FROM $TABLERESOURCE WHERE source_type='$type' and source_id='$id'";
1448
-	Database::query($sql);
1447
+    $sql="DELETE FROM $TABLERESOURCE WHERE source_type='$type' and source_id='$id'";
1448
+    Database::query($sql);
1449 1449
 }
1450 1450
 
1451 1451
 /**
@@ -1454,12 +1454,12 @@  discard block
 block discarded – undo
1454 1454
 */
1455 1455
 function delete_all_resources_type($type)
1456 1456
 {
1457
-  global $_course;
1458
-  $TABLERESOURCE 		= Database::get_course_table(TABLE_LINKED_RESOURCES);
1457
+    global $_course;
1458
+    $TABLERESOURCE 		= Database::get_course_table(TABLE_LINKED_RESOURCES);
1459 1459
 
1460
-  $sql="DELETE FROM $TABLERESOURCE WHERE source_type='$type'";
1460
+    $sql="DELETE FROM $TABLERESOURCE WHERE source_type='$type'";
1461 1461
 
1462
-  Database::query($sql);
1462
+    Database::query($sql);
1463 1463
 }
1464 1464
 
1465 1465
 /**
@@ -1467,15 +1467,15 @@  discard block
 block discarded – undo
1467 1467
 */
1468 1468
 function check_added_resources($type, $id)
1469 1469
 {
1470
-	global $_course, $origin;
1471
-	$TABLERESOURCE 		= Database::get_course_table(TABLE_LINKED_RESOURCES);
1472
-	$sql="SELECT * FROM $TABLERESOURCE WHERE source_type='$type' and source_id='$id'";
1473
-	$result=Database::query($sql);
1474
-	$number_added=Database::num_rows($result);
1475
-	if ($number_added<>0)
1476
-		return true;
1477
-	else
1478
-		return false;
1470
+    global $_course, $origin;
1471
+    $TABLERESOURCE 		= Database::get_course_table(TABLE_LINKED_RESOURCES);
1472
+    $sql="SELECT * FROM $TABLERESOURCE WHERE source_type='$type' and source_id='$id'";
1473
+    $result=Database::query($sql);
1474
+    $number_added=Database::num_rows($result);
1475
+    if ($number_added<>0)
1476
+        return true;
1477
+    else
1478
+        return false;
1479 1479
 }
1480 1480
 
1481 1481
 
@@ -1485,18 +1485,18 @@  discard block
 block discarded – undo
1485 1485
 */
1486 1486
 function edit_added_resources($type, $id)
1487 1487
 {
1488
-	$TABLERESOURCE 		= Database::get_course_table(TABLE_LINKED_RESOURCES);
1488
+    $TABLERESOURCE 		= Database::get_course_table(TABLE_LINKED_RESOURCES);
1489 1489
     $course_id = api_get_course_int_id();
1490 1490
     $id = intval($id);
1491 1491
     $type = Database::escape_string($type);
1492
-	$sql="SELECT * FROM $TABLERESOURCE WHERE c_id = $course_id AND source_type='$type' and source_id=$id";
1493
-	$result=Database::query($sql);
1494
-	while ($row=Database::fetch_array($result))	{
1495
-		$addedresource[]=$row["resource_type"];
1496
-		$addedresourceid[]=$row["resource_id"];
1497
-	}
1498
-	$_SESSION['addedresource']=$addedresource;
1499
-	$_SESSION['addedresourceid']=$addedresourceid;
1492
+    $sql="SELECT * FROM $TABLERESOURCE WHERE c_id = $course_id AND source_type='$type' and source_id=$id";
1493
+    $result=Database::query($sql);
1494
+    while ($row=Database::fetch_array($result))	{
1495
+        $addedresource[]=$row["resource_type"];
1496
+        $addedresourceid[]=$row["resource_id"];
1497
+    }
1498
+    $_SESSION['addedresource']=$addedresource;
1499
+    $_SESSION['addedresourceid']=$addedresourceid;
1500 1500
 }
1501 1501
 
1502 1502
 /**
@@ -1506,20 +1506,20 @@  discard block
 block discarded – undo
1506 1506
 */
1507 1507
 function update_added_resources($type, $id)
1508 1508
 {
1509
-	$TABLERESOURCE 		= Database::get_course_table(TABLE_LINKED_RESOURCES);
1509
+    $TABLERESOURCE 		= Database::get_course_table(TABLE_LINKED_RESOURCES);
1510 1510
     $course_id = api_get_course_int_id();
1511 1511
     $id = intval($id);
1512 1512
     $type = Database::escape_string($type);
1513
-	// delete all the added resources for this item in the database;
1514
-	$sql="DELETE FROM $TABLERESOURCE WHERE c_id = $course_id AND source_type='$type' AND source_id='$id'";
1515
-	//echo $sql;
1516
-	Database::query($sql);
1513
+    // delete all the added resources for this item in the database;
1514
+    $sql="DELETE FROM $TABLERESOURCE WHERE c_id = $course_id AND source_type='$type' AND source_id='$id'";
1515
+    //echo $sql;
1516
+    Database::query($sql);
1517 1517
 
1518
-	// store the resources from the session into the database
1519
-	store_resources($type, $id);
1518
+    // store the resources from the session into the database
1519
+    store_resources($type, $id);
1520 1520
 
1521
-	//delete_added_resource_($type, $id);
1522
-	unset_session_resources();
1521
+    //delete_added_resource_($type, $id);
1522
+    unset_session_resources();
1523 1523
 }
1524 1524
 
1525 1525
 /**
@@ -1527,25 +1527,25 @@  discard block
 block discarded – undo
1527 1527
 */
1528 1528
 function display_added_resources($type, $id, $style='')
1529 1529
 {
1530
-	// the array containing the icons
1531
-	$arr_icons=array('Agenda'=>'../img/agenda.gif', 'Ad Valvas'=>'../img/valves.gif', 'Link'=>'../img/links.gif', 'Exercise'=>'../img/quiz.gif' );
1532
-
1533
-	global $_course, $origin;
1534
-	$TABLERESOURCE 		= Database::get_course_table(TABLE_LINKED_RESOURCES);
1535
-
1536
-	$sql="SELECT * FROM $TABLERESOURCE WHERE source_type='$type' and source_id='$id'";
1537
-	$result=Database::query($sql);
1538
-	while ($row=Database::fetch_array($result))
1539
-	{
1540
-		if ($origin != 'learnpath')
1541
-		{
1542
-			display_addedresource_link($row['resource_type'], $row['resource_id'], $style) ;
1543
-		}
1544
-		else
1545
-		{
1546
-			display_addedresource_link_in_learnpath($row['resource_type'], $row['resource_id'],'agendaitems','','builder','icon') ; echo "<br>";
1547
-		}
1548
-	}
1530
+    // the array containing the icons
1531
+    $arr_icons=array('Agenda'=>'../img/agenda.gif', 'Ad Valvas'=>'../img/valves.gif', 'Link'=>'../img/links.gif', 'Exercise'=>'../img/quiz.gif' );
1532
+
1533
+    global $_course, $origin;
1534
+    $TABLERESOURCE 		= Database::get_course_table(TABLE_LINKED_RESOURCES);
1535
+
1536
+    $sql="SELECT * FROM $TABLERESOURCE WHERE source_type='$type' and source_id='$id'";
1537
+    $result=Database::query($sql);
1538
+    while ($row=Database::fetch_array($result))
1539
+    {
1540
+        if ($origin != 'learnpath')
1541
+        {
1542
+            display_addedresource_link($row['resource_type'], $row['resource_id'], $style) ;
1543
+        }
1544
+        else
1545
+        {
1546
+            display_addedresource_link_in_learnpath($row['resource_type'], $row['resource_id'],'agendaitems','','builder','icon') ; echo "<br>";
1547
+        }
1548
+    }
1549 1549
 }
1550 1550
 
1551 1551
 
@@ -1556,15 +1556,15 @@  discard block
 block discarded – undo
1556 1556
 */
1557 1557
 function display_resources($showdeleteimg)
1558 1558
 {
1559
-	global $action;
1560
-	global $resourceaction;
1561
-	global $id;
1562
-	global $locationkey;
1563
-	global $source_id, $action, $learnpath_id, $chapter_id, $originalresource;
1564
-
1565
-	if ($resourceaction=="removeresource")
1566
-	{
1567
-		/* unneccessary because when editing we delete all the added resources from the
1559
+    global $action;
1560
+    global $resourceaction;
1561
+    global $id;
1562
+    global $locationkey;
1563
+    global $source_id, $action, $learnpath_id, $chapter_id, $originalresource;
1564
+
1565
+    if ($resourceaction=="removeresource")
1566
+    {
1567
+        /* unneccessary because when editing we delete all the added resources from the
1568 1568
 		database and add all these from the session
1569 1569
 		if ($action=="edit") // we have an edit and thus we delete from the database and from the session
1570 1570
 		{
@@ -1580,41 +1580,41 @@  discard block
 block discarded – undo
1580 1580
 		}
1581 1581
 		else // we remove from the session
1582 1582
 		{*/
1583
-		//echo "remove from session";
1584
-		remove_resource($locationkey);
1585
-	}
1586
-	$addedresource=$_SESSION['addedresource'];
1587
-	$addedresourceid=$_SESSION['addedresourceid'];
1588
-	if (is_array($addedresource))
1589
-	{
1590
-		echo '<table>';
1591
-		foreach ($addedresource as $resource)
1592
-		{
1593
-			//echo $resource.":".$addedresourceid[key($addedresource)];
1594
-			echo '<tr><td>';
1595
-			display_addedresource_link($resource,$addedresourceid[key($addedresource)]);
1596
-			echo '</td><td width="30">';
1597
-
1598
-			// if $_SERVER['REQUEST_URI'] contains and ?id=xx we have an edit and the url for deleting a session added resource
1599
-			// should also contain this id.
1600
-			$test=parse_url($_SERVER['REQUEST_URI']);
1601
-			$output = array();
1602
-			parse_str($test['query'],$output);
1603
-
1604
-			if ($showdeleteimg==1)
1605
-			{
1606
-				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 />";
1607
-			}
1608
-			echo '</td></tr>';
1609
-			next($addedresource);
1610
-			//$_SESSION['edit']=='';
1611
-		}
1612
-		echo '</table>';
1613
-	}
1614
-	else // it is a string
1615
-	{
1616
-		echo '';
1617
-	}
1583
+        //echo "remove from session";
1584
+        remove_resource($locationkey);
1585
+    }
1586
+    $addedresource=$_SESSION['addedresource'];
1587
+    $addedresourceid=$_SESSION['addedresourceid'];
1588
+    if (is_array($addedresource))
1589
+    {
1590
+        echo '<table>';
1591
+        foreach ($addedresource as $resource)
1592
+        {
1593
+            //echo $resource.":".$addedresourceid[key($addedresource)];
1594
+            echo '<tr><td>';
1595
+            display_addedresource_link($resource,$addedresourceid[key($addedresource)]);
1596
+            echo '</td><td width="30">';
1597
+
1598
+            // if $_SERVER['REQUEST_URI'] contains and ?id=xx we have an edit and the url for deleting a session added resource
1599
+            // should also contain this id.
1600
+            $test=parse_url($_SERVER['REQUEST_URI']);
1601
+            $output = array();
1602
+            parse_str($test['query'],$output);
1603
+
1604
+            if ($showdeleteimg==1)
1605
+            {
1606
+                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 />";
1607
+            }
1608
+            echo '</td></tr>';
1609
+            next($addedresource);
1610
+            //$_SESSION['edit']=='';
1611
+        }
1612
+        echo '</table>';
1613
+    }
1614
+    else // it is a string
1615
+    {
1616
+        echo '';
1617
+    }
1618 1618
 } // end of the display_resources function
1619 1619
 
1620 1620
 
@@ -1626,49 +1626,49 @@  discard block
 block discarded – undo
1626 1626
 */
1627 1627
 function showorhide_addresourcelink($type, $id)
1628 1628
 {
1629
-	global $from_learnpath, $source_id, $action, $learnpath_id, $chapter_id, $originalresource, $folder, $content, $target;
1630
-	//global $_SESSION['addresource'];
1631
-	//global $_SESSION['addresourceid'];
1632
-	$addedresource=$_SESSION['addedresource'];
1633
-	$addedresourceid=$_SESSION['addedresourceid'];
1634
-
1635
-	if (is_array($_SESSION['addedresource']))
1636
-	{
1637
-		foreach ($addedresource as $toolcompare)
1638
-		{
1639
-			//echo $toolcompare;
1640
-			//echo "/".$type."/".$id."****";
1641
-			//$key=key($addedresource);
1642
-			//echo $addedresourceid[$key];
1643
-			//print_r($addedresourceid);
1644
-			//echo "<br>";
1645
-
1646
-			if ($toolcompare==$type and $addedresourceid[key($addedresource)]==$id)
1647
-			{
1648
-				$show=0;
1649
-			}
1650
-			next($addedresource);
1651
-		}
1652
-		if ($from_learnpath) { $lang_add_it_or_resource=get_lang('AddIt'); } else { $lang_add_it_or_resource=get_lang('AddResource'); }
1653
-		if ($show!==0)
1654
-		{
1655
-			if ($type=="Document")
1656
-			{
1657
-				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>";
1658
-			}
1659
-			else
1660
-			{
1661
-				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>";
1662
-			}
1663
-		}
1664
-	}
1665
-	else // if it is not an array, it is a string
1666
-	{
1667
-		if ($_SESSION['addedresource']!==$type or $_SESSION['addedresourceid']!==$id)
1668
-		{
1669
-			if ($from_learnpath) { $lang_add_it_or_resource=get_lang('AddIt'); } else { $lang_add_it_or_resource=get_lang('AddResource'); }
1670
-			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>";
1671
-		}
1672
-	}
1629
+    global $from_learnpath, $source_id, $action, $learnpath_id, $chapter_id, $originalresource, $folder, $content, $target;
1630
+    //global $_SESSION['addresource'];
1631
+    //global $_SESSION['addresourceid'];
1632
+    $addedresource=$_SESSION['addedresource'];
1633
+    $addedresourceid=$_SESSION['addedresourceid'];
1634
+
1635
+    if (is_array($_SESSION['addedresource']))
1636
+    {
1637
+        foreach ($addedresource as $toolcompare)
1638
+        {
1639
+            //echo $toolcompare;
1640
+            //echo "/".$type."/".$id."****";
1641
+            //$key=key($addedresource);
1642
+            //echo $addedresourceid[$key];
1643
+            //print_r($addedresourceid);
1644
+            //echo "<br>";
1645
+
1646
+            if ($toolcompare==$type and $addedresourceid[key($addedresource)]==$id)
1647
+            {
1648
+                $show=0;
1649
+            }
1650
+            next($addedresource);
1651
+        }
1652
+        if ($from_learnpath) { $lang_add_it_or_resource=get_lang('AddIt'); } else { $lang_add_it_or_resource=get_lang('AddResource'); }
1653
+        if ($show!==0)
1654
+        {
1655
+            if ($type=="Document")
1656
+            {
1657
+                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>";
1658
+            }
1659
+            else
1660
+            {
1661
+                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>";
1662
+            }
1663
+        }
1664
+    }
1665
+    else // if it is not an array, it is a string
1666
+    {
1667
+        if ($_SESSION['addedresource']!==$type or $_SESSION['addedresourceid']!==$id)
1668
+        {
1669
+            if ($from_learnpath) { $lang_add_it_or_resource=get_lang('AddIt'); } else { $lang_add_it_or_resource=get_lang('AddResource'); }
1670
+            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>";
1671
+        }
1672
+    }
1673 1673
 }
1674 1674
 ?>
Please login to merge, or discard this patch.