Project

General

Profile

Files » chamilo-1.8.8.4-to-1.8.8.6.patch

Yannick Warnier, 20/07/2012 06:28

View differences:

documentation/changelog.html Sun Aug 28 01:56:10 2011 -0500 → documentation/changelog.html Thu Jul 19 22:50:44 2012 -0500
21 21
<div id="main">
22 22

  
23 23

  
24
<h1>Chamilo 1.8.8.6 - Rottweil, 20th of July 2012</h1>
25

  
26
<h3>Release notes - summary</h3>
27
<p>Chamilo 1.8.8.6 is a minor security fix, stable version for version 1.8.8.4. If you are using Chamilo 1.8.8.4, we highly recommend you upgrade to this version, either by following the usual upgrade procedure, or by applying a very small patch, as explained on <a href="http://support.chamilo.org/projects/chamilo-18/wiki/Security_issues">our security issues listing page</a>. The security fixes are all considered "moderate". This means you could loose data (specifically dropbox tool data in this case) and your users might get tricked into providing credentials to potential hackers, but the integrity of your server will not be in direct danger.</p>
28
<h4>Why Rottweil?</h4>
29
<p><a href="https://maps.google.com/maps?q=48.167352,8.627969&hl=fr&ll=48.167352,8.627969&spn=0.006054,0.016512&sll=48.167352,8.627969&sspn=0.006054,0.016512&t=h&z=17">Rottweil</a> is a <a href="http://en.wikipedia.org/wiki/Rottweil">small medieval German town</a> where the occasional tourist might feel very relaxed and secure. This feeling is increased by the obviously-difficult-to-attack strategical position. Considering the security-only aspect of this release, we wanted a small city name that would represent this more secure aspect. Rottweil has been visited by one of our team members in the past... that's all it takes.</p>
30

  
31
<h3>Fixes</h3>
32
<ul>
33
  <li>Fixed long-standing e-mail sending bug (fixed in upstream and documented on the forum and all over the internet)</li>
34
  <li>Fixed a reflected XSS PHP_SELF security flax in the phpdocx 3rd-party library - #5202</li>
35
  <li>Fixed an unauthorized file deletion in dropbox by logged in users - #5202</li>
36
  <li>Fixed XSS unfiltered input in dropbox - #5202</li>
37
</ul>
38

  
39

  
24 40
<h1>Chamilo 1.8.8.4 - La Molina, August 2011</h1>
25 41

  
26 42
<h3>Release notes - summary</h3>
documentation/credits.html Sun Aug 28 01:56:10 2011 -0500 → documentation/credits.html Thu Jul 19 22:50:44 2012 -0500
20 20

  
21 21
<h1>Core developers</h1>
22 22
<ol>
23
  <li>BeezNest Latino (ex Dokeos Latinoamérica) (2008-2011)
23
  <li>BeezNest Latino (ex Dokeos Latinoamérica) (2008-2012)
24 24
  <ul>
25
    <li>Yannick Warnier (ywarnier@beeznest.org) - Lead developer</li>
26
    <li>Julio Allen Montoya Armas (gugli100@gmail.com) - Lead Latino developer</li>
25
    <li>Yannick Warnier (ywarnier@beeznest.org) - Technical leader</li>
26
    <li>Julio Allen Montoya Armas (gugli100@gmail.com) - Lead developer</li>
27 27
    <li>Christian Fasanando (christian534@hotmail.com) - 2009-2010</li>
28 28
  </ul>
29 29
  </li>
30
  <li>Independent (2008-2012)
31
  <ul>
32
    <li> Juan Carlos Raña Trabado - considerable work on the wiki integration and improvements, and the FCKEditor/Mimetex extension as well as *many* FCKEditor's file manager and other modules improvements, as well as a continuous stream of recommendations that helped shape 1.8.5 and 1.8.6.*</li>
33
  </ul>
30 34
  <li>Independent (2008-2011)
31 35
  <ul>
32
    <li> Juan Carlos Raña Trabado - considerable work on the wiki integration and improvements, and the FCKEditor/Mimetex extension as well as *many* FCKEditor's file manager and other modules improvements, as well as a continuous stream of recommendations that helped shape 1.8.5 and 1.8.6.*</li>
33 36
    <li> Ivan Tcholakov - various bugfixes in 1.8.6.*, very accurate bug reporting contributions and a considerable work in the integration of a new version of FCKEditor, along with a bunch of useful plugins and an exceptional work on internationalization</li>
34 37
  </ul>
35 38
  </li>
documentation/index.html Sun Aug 28 01:56:10 2011 -0500 → documentation/index.html Thu Jul 19 22:50:44 2012 -0500
14 14

  
15 15
<body>
16 16
<div id="header1">
17
<h1>Chamilo 1.8.8.4 <span style="font-style: italic;"></span> - Documentation</h1>
17
<h1>Chamilo 1.8.8.6 <span style="font-style: italic;"></span> - Documentation</h1>
18 18
</div>
19 19

  
20 20
<div id="outerframe">
documentation/installation_guide.html Sun Aug 28 01:56:10 2011 -0500 → documentation/installation_guide.html Thu Jul 19 22:50:44 2012 -0500
16 16
<body>
17 17

  
18 18
<div id="header1">
19
    <h1>Chamilo 1.8.8.4 : Installation Guide</h1>
19
    <h1>Chamilo 1.8.8.6 : Installation Guide</h1>
20 20
</div>
21 21

  
22 22
<a href="index.html">Documentation</a> &gt; Installation Guide
......
24 24
<div id="main">
25 25
<p></p>
26 26

  
27
<p>Thank you for downloading Chamilo 1.8.8.4</p>
27
<p>Thank you for downloading Chamilo 1.8.8.6</p>
28 28
<ul>
29 29
  <li>Test Chamilo on <a href="http://campus.chamilo.org">Free Campus</a></li>
30 30
</ul>
......
298 298
<br />
299 299
<em> NOTE: </em> This version of Chamilo can only be used to upgrade from 
300 300
smaller versions of Chamilo or Dok€os. For example, you cannot use the normal 
301
upgrade scripts from Chamilo 1.8.8.4 to upgrade from Dok€os 2.0. If you need this, 
301
upgrade scripts from Chamilo 1.8.8.6 to upgrade from Dok€os 2.0. If you need this, 
302 302
please contact one of the Chamilo Association's official providers.
303 303

  
304 304
<p></p>
305 305

  
306
<h3>3.1 Upgrading from Chamilo 1.8.8 or 1.8.8.2</h3>
306
<h3>3.1 Upgrading from Chamilo 1.8.8, 1.8.8.2 or 1.8.8.4</h3>
307 307
<ul>
308 308
  <li> check that you haven't left any customised stylesheet or image*</li>
309
  <li> download the Chamilo 1.8.8.4 install package from the <a href="http://www.chamilo.org/download">Chamilo download page</a></li>
310
  <li> unzip the new files of Chamilo 1.8.8.4 over the files of the older version (or unzip the files in one folder and then copy the files from there to the older version's directory)</li>
311
  <li> update $_configuration['system_version'] to '1.8.8.4' in the main/inc/conf/configuration.php file</li>
312
  <li> that's it! You are now using Chamilo 1.8.8.4</li>
309
  <li> download the Chamilo 1.8.8.6 install package from the <a href="http://www.chamilo.org/download">Chamilo download page</a></li>
310
  <li> unzip the new files of Chamilo 1.8.8.6 over the files of the older version (or unzip the files in one folder and then copy the files from there to the older version's directory)</li>
311
  <li> update $_configuration['system_version'] to '1.8.8.6' in the main/inc/conf/configuration.php file</li>
312
  <li> that's it! You are now using Chamilo 1.8.8.6</li>
313 313
</ul>
314 314

  
315 315
<h3>3.1 Upgrading from Chamilo 1.8.x</h3>
316 316
<ul>
317 317
  <li> check that you haven't left any customised stylesheet or image*</li>
318
  <li> download the Chamilo 1.8.8.4 install package from the <a href="http://www.chamilo.org/download">Chamilo download page</a></li>
319
  <li> unzip the new files of Chamilo 1.8.8.4 over the files of the older version (or unzip the files in one folder and then copy the files from there to the older version's directory)</li>
318
  <li> download the Chamilo 1.8.8.6 install package from the <a href="http://www.chamilo.org/download">Chamilo download page</a></li>
319
  <li> unzip the new files of Chamilo 1.8.8.6 over the files of the older version (or unzip the files in one folder and then copy the files from there to the older version's directory)</li>
320 320
  <li> point your browser on your portal URL + main/install/</li>
321 321
  <li> choose your language and click&nbsp;<span style="font-style: italic;">Upgrade from 1.8.x</span></li>
322 322
</ul>
......
328 328
<em>If you upgrade from Dok€os 1.8.x</em> :&nbsp;
329 329
<ul>
330 330
  <li> check that you haven't left any customised stylesheet or image*</li>
331
  <li> download the Chamilo 1.8.8.4 install package from the <a href="http://www.chamilo.org/download">Chamilo download page</a></li>
332
  <li> unzip the new files of Chamilo 1.8.8.4 over the files of the older version (or unzip the files in one folder and then copy the files from there to the older version's directory)</li>
331
  <li> download the Chamilo 1.8.8.6 install package from the <a href="http://www.chamilo.org/download">Chamilo download page</a></li>
332
  <li> unzip the new files of Chamilo 1.8.8.6 over the files of the older version (or unzip the files in one folder and then copy the files from there to the older version's directory)</li>
333 333
  <li> point your browser on your portal URL + main/install/</li>
334 334
  <li> choose your language and click&nbsp;<span style="font-style: italic;">Upgrade from 1.8.x</span></li>
335 335
</ul>
......
369 369
    <em>old_version</em> and make it writeable by the web server. This
370 370
is important to allow the move of the courses/ and upload/ directories
371 371
to the new install</li>
372
  <li> download the Chamilo 1.8.8.4 install package from the
372
  <li> download the Chamilo 1.8.8.6 install package from the
373 373
    <a href="http://www.chamilo.org/download">Chamilo download page</a></li>
374
  <li> unzip the new files of Chamilo 1.8.8.4 in the main Chamilo/Dok€os directory. The
374
  <li> unzip the new files of Chamilo 1.8.8.6 in the main Chamilo/Dok€os directory. The
375 375
new directory <em>main</em> should be located directly inside your
376 376
Chamilo/Dok€os root folder</li>
377 377
  <li> point your browser on your portal URL</li>
......
444 444
  <li>mkdir /var/www/chamilo/old_version</li>
445 445
  <li>mv /var/www/chamilo/* /var/www/chamilo/old_version/</li>
446 446
  <li>chmod -R 0777 /var/www/chamilo/old_version/</li>
447
  <li>wget http://chamilo.googlecode.com/files/chamilo-1.8.8.4.tar.gz</li>
448
  <li>tar zxvf chamilo-1.8.8.4.tar.gz</li>
449
  <li>sudo cp -ra chamilo-1.8.8.4/* /var/www/chamilo/</li>
450
  <li>rm chamilo-1.8.8.4.tar.gz</li>
451
  <li>sudo rm -r chamilo-1.8.8.4/</li>
447
  <li>wget http://chamilo.googlecode.com/files/chamilo-1.8.8.6.tar.gz</li>
448
  <li>tar zxvf chamilo-1.8.8.6.tar.gz</li>
449
  <li>sudo cp -ra chamilo-1.8.8.6/* /var/www/chamilo/</li>
450
  <li>rm chamilo-1.8.8.6.tar.gz</li>
451
  <li>sudo rm -r chamilo-1.8.8.6/</li>
452 452
</ul>
453 453

  
454 454
<br />
......
794 794
        <img src="http://jigsaw.w3.org/css-validator/images/vcss-blue" style="margin: 1em; float: right;" alt="Valid CSS" />
795 795
    </a>
796 796
</body>
797
</html>
797
</html>
documentation/installation_guide_es_ES.html Sun Aug 28 01:56:10 2011 -0500 → documentation/installation_guide_es_ES.html Thu Jul 19 22:50:44 2012 -0500
19 19

  
20 20

  
21 21
<div id="header1">
22
<h1>Chamilo 1.8.8.4 - Guía de Instalación</h1>
22
<h1>Chamilo 1.8.8.6 - Guía de Instalación</h1>
23 23
Esta versión no es totalmente actualizada. Por favor consultar versión en inglés.
24 24
</div>
25 25

  
documentation/optimization.html Sun Aug 28 01:56:10 2011 -0500 → documentation/optimization.html Thu Jul 19 22:50:44 2012 -0500
16 16
<body>
17 17

  
18 18
<div id="header1">
19
	<h1>Chamilo 1.8.8.4 : Optimization Guide</h1>
19
	<h1>Chamilo 1.8.8.6 : Optimization Guide</h1>
20 20
</div>
21 21

  
22 22
<a href="index.html">Documentation</a> &gt; Optimization Guide
documentation/security.html Sun Aug 28 01:56:10 2011 -0500 → documentation/security.html Thu Jul 19 22:50:44 2012 -0500
16 16
<body>
17 17

  
18 18
<div id="header1">
19
	<h1>Chamilo 1.8.8.4 : Security Guide</h1>
19
	<h1>Chamilo 1.8.8.6 : Security Guide</h1>
20 20
</div>
21 21

  
22 22
<a href="index.html">Documentation</a> &gt; Security Guide
main/dropbox/dropbox_functions.inc.php Sun Aug 28 01:56:10 2011 -0500 → main/dropbox/dropbox_functions.inc.php Thu Jul 19 22:50:44 2012 -0500
102 102
* @author Patrick Cool <patrick.cool@UGent.be>, Ghent University
103 103
* @version march 2006
104 104
*/
105
function delete_category($action, $id) {
105
function delete_category($action, $id, $user_id = null) {
106 106
	global $dropbox_cnf;
107
	global $_user, $is_courseAdmin, $is_courseTutor;
107
	global $is_courseAdmin, $is_courseTutor;
108
    if (empty($user_id)) {
109
        $user_id = api_get_user_id();
110
    }
111
    $cat = get_dropbox_category($id);
112
    if (count($cat)==0) { return false; }
113
    if ($cat['user_id'] != $user_id && !api_is_platform_admin($user_id)) {
114
        return false;
115
    }
108 116

  
109 117
	// an additional check that might not be necessary
110 118
	if ($action == 'deletereceivedcategory') {
......
122 130
	}
123 131

  
124 132
	// step 1: delete the category
125
	$sql = "DELETE FROM ".$dropbox_cnf['tbl_category']." WHERE cat_id='".Database::escape_string($id)."' AND $sentreceived='1'";
133
	$sql = "DELETE FROM ".$dropbox_cnf['tbl_category']." WHERE cat_id='".intval($id)."' AND $sentreceived='1'";
126 134
	$result = Database::query($sql);
127 135

  
128 136
	// step 2: delete all the documents in this category
129
	$sql = "SELECT * FROM ".$entries_table." WHERE cat_id='".Database::escape_string($id)."'";
137
	$sql = "SELECT * FROM ".$entries_table." WHERE cat_id='".intval($id)."'";
130 138
	$result = Database::query($sql);
131 139

  
132 140
	while($row = Database::fetch_array($result)) {
......
268 276
}
269 277

  
270 278
/**
271
* This function retrieves all the dropbox categories and returns them as an array
279
* This function retrieves all dropbox categories and returns them as an array
272 280
*
273 281
* @param $filter default '', when we need only the categories of the sent or the received part.
274 282
*
......
299 307
}
300 308

  
301 309
/**
310
 * Get a dropbox category details
311
 * @param int The category ID
312
 * @return array The details of this category
313
 */
314
function get_dropbox_category($id) {
315
    global $dropbox_cnf;
316
    if (empty($id) or $id != intval($id)) { return array(); }
317
    $sql = "SELECT * FROM ".$dropbox_cnf['tbl_category']." WHERE cat_id='".$id."'";
318
    $res = Database::query($sql);
319
    if ($res === false) {
320
        return array();
321
    }
322
    $row = Database::fetch_assoc($res);
323
    return $row;
324
}
325

  
326
/**
302 327
* This functions stores a new dropboxcategory
303 328
*
304 329
* @var 	it might not seem very elegant if you create a category in sent and in received with the same name that you get two entries in the
main/dropbox/index.php Sun Aug 28 01:56:10 2011 -0500 → main/dropbox/index.php Thu Jul 19 22:50:44 2012 -0500
288 288
			echo '<div class="actions">';
289 289
			if ($view_dropbox_category_received != 0  && api_is_allowed_to_session_edit(false, true)) {				
290 290
				echo '<a href="'.api_get_self().'?'.api_get_cidreq().'&view_received_category=0&amp;view_sent_category='.Security::remove_XSS($_GET['view_sent_category']).'&amp;view='.Security::remove_XSS($_GET['view']).'">'.Display::return_icon('folder_up.png', get_lang('Up').' '.get_lang('Root'),'','32')."</a>";
291
				echo get_lang('Category').': <strong>'.$dropbox_categories[$view_dropbox_category_received]['cat_name'].'</strong> ';				
291
				echo get_lang('Category').': <strong>'.Security::remove_XSS($dropbox_categories[$view_dropbox_category_received]['cat_name']).'</strong> ';				
292 292
				$movelist[0] = 'Root'; // move_received selectbox content
293 293
			} else {
294 294
				echo '<a href="'.api_get_self().'?'.api_get_cidreq().'&action=addreceivedcategory&view='.Security::remove_XSS($_GET['view']).'">'.Display::return_icon('new_folder.png', get_lang('AddNewCategory'),'','32').'</a>';
......
299 299
				echo '<div class="actions">';
300 300
				if ($view_dropbox_category_received != 0 && api_is_allowed_to_session_edit(false, true)) {					
301 301
					echo '<a href="'.api_get_self().'?'.api_get_cidreq().'&view_received_category=0&amp;view_sent_category='.Security::remove_XSS($_GET['view_sent_category']).'&amp;view='.Security::remove_XSS($_GET['view']).'">'.Display::return_icon('folder_up.png', get_lang('Up').' '.get_lang('Root'),'','32')."</a>";
302
					echo get_lang('Category').': <strong>'.$dropbox_categories[$view_dropbox_category_received]['cat_name'].'</strong> ';
302
					echo get_lang('Category').': <strong>'.Security::remove_XSS($dropbox_categories[$view_dropbox_category_received]['cat_name']).'</strong> ';
303 303
					$movelist[0] = 'Root'; // move_received selectbox content
304 304
				} else {
305 305
					echo '<a href="'.api_get_self().'?'.api_get_cidreq().'&action=addreceivedcategory&view='.Security::remove_XSS($_GET['view']).'">'.Display::return_icon('new_folder.png', get_lang('AddNewCategory'),'','32').'</a>';
......
325 325
			echo '<div class="actions">';
326 326
			if ($view_dropbox_category_sent != 0) {				
327 327
				echo '<a href="'.api_get_self().'?'.api_get_cidreq().'&view_received_category='.Security::remove_XSS($_GET['view_received_category']).'&amp;view_sent_category=0&amp;view='.Security::remove_XSS($_GET['view']).'">'.Display::return_icon('folder_up.png', get_lang('Up').' '.get_lang('Root'),'','32')."</a>";
328
				echo get_lang('Category').': <strong>'.$dropbox_categories[$view_dropbox_category_sent]['cat_name'].'</strong> ';
328
				echo get_lang('Category').': <strong>'.Security::remove_XSS($dropbox_categories[$view_dropbox_category_sent]['cat_name']).'</strong> ';
329 329
			} else {
330 330
				echo "<a href=\"".api_get_self()."?".api_get_cidreq()."&view=".Security::remove_XSS($_GET['view'])."&amp;action=addsentcategory\">".Display::return_icon('new_folder.png', get_lang('AddNewCategory'),'','32')."</a>\n";
331 331
			}
......
337 337
			if (api_is_allowed_to_session_edit(false, true)) {
338 338
				echo '<div class="actions">';
339 339
				if ($view_dropbox_category_sent != 0) {
340
					echo get_lang('CurrentlySeeing').': <strong>'.$dropbox_categories[$view_dropbox_category_sent]['cat_name'].'</strong> ';
340
					echo get_lang('CurrentlySeeing').': <strong>'.Security::remove_XSS($dropbox_categories[$view_dropbox_category_sent]['cat_name']).'</strong> ';
341 341
					echo '<a href="'.api_get_self().'?'.api_get_cidreq().'&view_received_category='.Security::remove_XSS($_GET['view_received_category']).'&amp;view_sent_category=0&amp;view='.Security::remove_XSS($_GET['view']).'">'.Display::return_icon('folder_up.png', get_lang('Up').' '.get_lang('Root'),'','32')."</a>";
342 342
				} else {
343 343
					echo "<a href=\"".api_get_self()."?".api_get_cidreq()."&view=".Security::remove_XSS($_GET['view'])."&amp;action=addsentcategory\">".Display::return_icon('new_folder.png', get_lang('AddNewCategory'),'','32')."</a>\n";
......
492 492
					$dropbox_category_data[] = '';
493 493
					$dropbox_category_data[] = '';
494 494
					$dropbox_category_data[] = '<a href="'.api_get_self().'?'.api_get_cidreq().'&view_received_category='.Security::remove_XSS($_GET['view_received_category']).'&amp;view_sent_category='.Security::remove_XSS($_GET['view_sent_category']).'&amp;view='.Security::remove_XSS($_GET['view']).'&amp;action=editcategory&amp;id='.$category['cat_id'].'">'.Display::return_icon('edit.png',get_lang('Edit'),'',22).'</a>
495
										  <a href="'.api_get_self().'?'.api_get_cidreq().'&view_received_category='.Security::remove_XSS($_GET['view_received_category']).'&amp;view_sent_category='.Security::remove_XSS($_GET['view_sent_category']).'&amp;view='.Security::remove_XSS($_GET['view']).'&amp;action=deletereceivedcategory&amp;id='.$category['cat_id'].'" onclick="javascript: return confirmation(\''.$category['cat_name'].'\');">'.Display::return_icon('delete.png', get_lang('Delete'),'',22).'</a>';
495
										  <a href="'.api_get_self().'?'.api_get_cidreq().'&view_received_category='.Security::remove_XSS($_GET['view_received_category']).'&amp;view_sent_category='.Security::remove_XSS($_GET['view_sent_category']).'&amp;view='.Security::remove_XSS($_GET['view']).'&amp;action=deletereceivedcategory&amp;id='.$category['cat_id'].'" onclick="javascript: return confirmation(\''.Security::remove_XSS($category['cat_name']).'\');">'.Display::return_icon('delete.png', get_lang('Delete'),'',22).'</a>';
496 496
				}
497 497
				if (is_array($dropbox_category_data) && count($dropbox_category_data) > 0) {
498 498
					$dropbox_data_recieved[] = $dropbox_category_data;
......
504 504
		$selectlist = array('delete_received' => get_lang('Delete'), 'download_received' => get_lang('Download'));
505 505
		if (is_array($movelist)) {
506 506
			foreach ($movelist as $catid => $catname){
507
				$selectlist['move_received_'.$catid] = get_lang('Move') . '->'. $catname;
507
				$selectlist['move_received_'.$catid] = get_lang('Move') . '->'. Security::remove_XSS($catname);
508 508
			}
509 509
		}
510 510

  
......
629 629
				if ($category['sent'] == '1') {
630 630
					$dropbox_category_data[] = $category['cat_id']; // This is where the checkbox icon for the files appear.
631 631
					$link_open = '<a href="'.api_get_self().'?'.api_get_cidreq().'&view_received_category='.Security::remove_XSS($_GET['view_received_category']).'&amp;view_sent_category='.$category['cat_id'].'&amp;view='.Security::remove_XSS($_GET['view']).'">';
632
					$dropbox_category_data[] = $link_open.build_document_icon_tag('folder', $category['cat_name']).'</a>';
633
					$dropbox_category_data[] = '<a href="dropbox_download.php?'.api_get_cidreq().'&cat_id='.$category['cat_id'].'&amp;action=downloadcategory&amp;sent_received=sent">'.Display::return_icon('save_pack.png', get_lang('Save'), array('style' => 'float:right;'),22).'</a>'.$link_open.$category['cat_name'].'</a>';
632
					$dropbox_category_data[] = $link_open.build_document_icon_tag('folder', Security::remove_XSS($category['cat_name'])).'</a>';
633
					$dropbox_category_data[] = '<a href="dropbox_download.php?'.api_get_cidreq().'&cat_id='.$category['cat_id'].'&amp;action=downloadcategory&amp;sent_received=sent">'.Display::return_icon('save_pack.png', get_lang('Save'), array('style' => 'float:right;'),22).'</a>'.$link_open.Security::remove_XSS($category['cat_name']).'</a>';
634 634
					//$dropbox_category_data[] = '';
635 635
					$dropbox_category_data[] = '';
636 636
					//$dropbox_category_data[] = '';
637 637
					$dropbox_category_data[] = '';
638 638
					$dropbox_category_data[] = '';
639 639
					$dropbox_category_data[] = '<a href="'.api_get_self().'?'.api_get_cidreq().'&view_received_category='.Security::remove_XSS($_GET['view_received_category']).'&amp;view_sent_category='.Security::remove_XSS($_GET['view_sent_category']).'&amp;view='.Security::remove_XSS($_GET['view']).'&amp;action=editcategory&id='.$category['cat_id'].'">'.Display::return_icon('edit.png', get_lang('Edit'),'',22).'</a>
640
									<a href="'.api_get_self().'?'.api_get_cidreq().'&view_received_category='.Security::remove_XSS($_GET['view_received_category']).'&amp;view_sent_category='.Security::remove_XSS($_GET['view_sent_category']).'&amp;view='.Security::remove_XSS($_GET['view']).'&amp;action=deletesentcategory&amp;id='.$category['cat_id'].'" onclick="javascript: return confirmation(\''.$category['cat_name'].'\');">'.Display::return_icon('delete.png', get_lang('Delete'),'',22).'</a>';
640
									<a href="'.api_get_self().'?'.api_get_cidreq().'&view_received_category='.Security::remove_XSS($_GET['view_received_category']).'&amp;view_sent_category='.Security::remove_XSS($_GET['view_sent_category']).'&amp;view='.Security::remove_XSS($_GET['view']).'&amp;action=deletesentcategory&amp;id='.$category['cat_id'].'" onclick="javascript: return confirmation(\''.Security::remove_XSS($category['cat_name']).'\');">'.Display::return_icon('delete.png', get_lang('Delete'),'',22).'</a>';
641 641
				}
642 642
				if (is_array($dropbox_category_data) && count($dropbox_category_data) > 0) {
643 643
					$dropbox_data_sent[] = $dropbox_category_data;
main/inc/lib/mail.lib.inc.php Sun Aug 28 01:56:10 2011 -0500 → main/inc/lib/mail.lib.inc.php Thu Jul 19 22:50:44 2012 -0500
30 30
 * @see                     class.phpmailer.php
31 31
 */
32 32
function api_mail($recipient_name, $recipient_email, $subject, $message, $sender_name = '', $sender_email = '', $extra_headers = '') {
33
	if (api_valid_email($recipient_email)) {
33
	if (!api_valid_email($recipient_email)) {
34 34
		return 0;
35 35
	}
36 36
    //global $regexp_rfc3696; // Deprecated, 13-OCT-2010.
main/inc/lib/phpdocx/pdf/www/examples.php Sun Aug 28 01:56:10 2011 -0500 → main/inc/lib/phpdocx/pdf/www/examples.php Thu Jul 19 22:50:44 2012 -0500
1 1
<?php
2

  
2
exit();
3 3
require_once("../dompdf_config.inc.php");
4 4
if ( isset( $_POST["html"] ) ) {
5 5

  
......
105 105
based browser and are having difficulties loading the sample output, try
106 106
saving it to a file first.)</p>
107 107

  
108
<?php include("foot.inc"); ?>
108
<?php include("foot.inc"); ?>
main/install/index.php Sun Aug 28 01:56:10 2011 -0500 → main/install/index.php Thu Jul 19 22:50:44 2012 -0500
104 104
// Upgrading from any subversion of 1.6 is just like upgrading from 1.6.5
105 105
$update_from_version_6 = array('1.6', '1.6.1', '1.6.2', '1.6.3', '1.6.4', '1.6.5');
106 106
// Upgrading from any subversion of 1.8 avoids the additional step of upgrading from 1.6
107
$update_from_version_8 = array('1.8', '1.8.2', '1.8.3', '1.8.4', '1.8.5', '1.8.6', '1.8.6.1', '1.8.6.2','1.8.7','1.8.7.1','1.8.8','1.8.8.2');
107
$update_from_version_8 = array('1.8', '1.8.2', '1.8.3', '1.8.4', '1.8.5', '1.8.6', '1.8.6.1', '1.8.6.2','1.8.7','1.8.7.1','1.8.8','1.8.8.2','1.8.8.4');
108 108

  
109 109
$my_old_version = '';
110 110
$tmp_version = get_config_param('dokeos_version');
......
119 119
	$my_old_version = $dokeos_version;
120 120
}
121 121

  
122
$new_version 		= '1.8.8.4';
122
$new_version 		= '1.8.8.6';
123 123
$new_version_stable = true;
124 124
$new_version_major 	= false;
125 125
$software_name 		= 'Chamilo';
......
836 836
	<div class="footer_emails"><div style="clear:both"></div></div>	
837 837
</div>
838 838
</body>
839
</html>
839
</html>
(1-1/2)