diff -ruN 17/administrator/components/com_banners/controllers/banner.php 18/administrator/components/com_banners/controllers/banner.php
--- 17/administrator/components/com_banners/controllers/banner.php	2010-04-23 13:40:10.000000000 +0200
+++ 18/administrator/components/com_banners/controllers/banner.php	2010-05-28 03:28:54.000000000 +0200
@@ -1,6 +1,6 @@
 <?php
 /**
- * @version		$Id: banner.php 14401 2010-01-26 14:10:00Z louis $
+ * @version		$Id: banner.php 17299 2010-05-27 16:06:54Z ian $
  * @package		Joomla
  * @subpackage	Banners
  * @copyright	Copyright (C) 2005 - 2010 Open Source Matters. All rights reserved.
@@ -51,6 +51,10 @@
 		$filter_catid		= $mainframe->getUserStateFromRequest( $context.'filter_catid',		'filter_catid',		'',			'int' );
 		$filter_state		= $mainframe->getUserStateFromRequest( $context.'filter_state',		'filter_state',		'',			'word' );
 		$search				= $mainframe->getUserStateFromRequest( $context.'search',			'search',			'',			'string' );
+		if (strpos($search, '"') !== false) {
+			$search = str_replace(array('=', '<'), '', $search);
+		}
+		$search = JString::strtolower($search);
 
 		$limit		= $mainframe->getUserStateFromRequest( 'global.list.limit', 'limit', $mainframe->getCfg('list_limit'), 'int' );
 		$limitstart = $mainframe->getUserStateFromRequest( $context.'limitstart', 'limitstart', 0, 'int' );
diff -ruN 17/administrator/components/com_banners/controllers/client.php 18/administrator/components/com_banners/controllers/client.php
--- 17/administrator/components/com_banners/controllers/client.php	2010-04-23 13:40:10.000000000 +0200
+++ 18/administrator/components/com_banners/controllers/client.php	2010-05-28 03:28:54.000000000 +0200
@@ -1,6 +1,6 @@
 <?php
 /**
- * @version		$Id: client.php 14401 2010-01-26 14:10:00Z louis $
+ * @version		$Id: client.php 17299 2010-05-27 16:06:54Z ian $
  * @package		Joomla
  * @subpackage	Banners
  * @copyright	Copyright (C) 2005 - 2010 Open Source Matters. All rights reserved.
@@ -44,7 +44,10 @@
 		$filter_order		= $mainframe->getUserStateFromRequest( $context.'filter_order',		'filter_order',		'a.name',	'cmd' );
 		$filter_order_Dir	= $mainframe->getUserStateFromRequest( $context.'filter_order_Dir',	'filter_order_Dir',	'',			'word' );
 		$search				= $mainframe->getUserStateFromRequest( $context.'search',			'search',			'',			'string' );
-		$search				= JString::strtolower( $search );
+		if (strpos($search, '"') !== false) {
+			$search = str_replace(array('=', '<'), '', $search);
+		}
+		$search = JString::strtolower($search);
 
 		$limit		= $mainframe->getUserStateFromRequest( 'global.list.limit',		'limit',		$mainframe->getCfg('list_limit'), 'int' );
 		$limitstart	= $mainframe->getUserStateFromRequest( $context.'limitstart',	'limitstart',	0, 'int' );
diff -ruN 17/administrator/components/com_banners/views/banner.php 18/administrator/components/com_banners/views/banner.php
--- 17/administrator/components/com_banners/views/banner.php	2010-04-23 13:40:10.000000000 +0200
+++ 18/administrator/components/com_banners/views/banner.php	2010-05-28 03:28:54.000000000 +0200
@@ -1,6 +1,6 @@
 <?php
 /**
- * @version		$Id: banner.php 14401 2010-01-26 14:10:00Z louis $
+ * @version		$Id: banner.php 17299 2010-05-27 16:06:54Z ian $
  * @package		Joomla
  * @subpackage	Banners
  * @copyright	Copyright (C) 2005 - 2010 Open Source Matters. All rights reserved.
@@ -46,7 +46,7 @@
 		<tr>
 			<td align="left" width="100%">
 				<?php echo JText::_( 'Filter' ); ?>:
-				<input type="text" name="search" id="search" value="<?php echo $lists['search'];?>" class="text_area" onchange="document.adminForm.submit();" />
+				<input type="text" name="search" id="search" value="<?php echo htmlspecialchars($lists['search']);?>" class="text_area" onchange="document.adminForm.submit();" />
 				<button onclick="this.form.submit();"><?php echo JText::_( 'Go' ); ?></button>
 				<button onclick="document.getElementById('search').value='';this.form.getElementById('filter_catid').value='0';this.form.getElementById('filter_state').value='';this.form.submit();"><?php echo JText::_( 'Filter Reset' ); ?></button>
 			</td>
diff -ruN 17/administrator/components/com_banners/views/client.php 18/administrator/components/com_banners/views/client.php
--- 17/administrator/components/com_banners/views/client.php	2010-04-23 13:40:10.000000000 +0200
+++ 18/administrator/components/com_banners/views/client.php	2010-05-28 03:28:54.000000000 +0200
@@ -1,6 +1,6 @@
 <?php
 /**
- * @version		$Id: client.php 14401 2010-01-26 14:10:00Z louis $
+ * @version		$Id: client.php 17299 2010-05-27 16:06:54Z ian $
  * @package		Joomla
  * @subpackage	Banners
  * @copyright	Copyright (C) 2005 - 2010 Open Source Matters. All rights reserved.
@@ -39,7 +39,7 @@
 			<tr>
 				<td align="left" width="100%">
 					<?php echo JText::_( 'Filter' ); ?>:
-					<input type="text" name="search" id="search" value="<?php echo $lists['search'];?>" class="text_area" onchange="document.adminForm.submit();" />
+					<input type="text" name="search" id="search" value="<?php echo htmlspecialchars($lists['search']);?>" class="text_area" onchange="document.adminForm.submit();" />
 					<button onclick="this.form.submit();"><?php echo JText::_( 'Go' ); ?></button>
 					<button onclick="document.getElementById('search').value='';this.form.submit();"><?php echo JText::_( 'Reset' ); ?></button>
 				</td>
diff -ruN 17/administrator/components/com_categories/admin.categories.html.php 18/administrator/components/com_categories/admin.categories.html.php
--- 17/administrator/components/com_categories/admin.categories.html.php	2010-04-23 13:40:10.000000000 +0200
+++ 18/administrator/components/com_categories/admin.categories.html.php	2010-05-28 03:28:54.000000000 +0200
@@ -1,6 +1,6 @@
 <?php
 /**
- * @version		$Id: admin.categories.html.php 14401 2010-01-26 14:10:00Z louis $
+ * @version		$Id: admin.categories.html.php 17299 2010-05-27 16:06:54Z ian $
  * @package		Joomla
  * @subpackage	Categories
  * @copyright	Copyright (C) 2005 - 2010 Open Source Matters. All rights reserved.
@@ -43,7 +43,7 @@
 			<tr>
 				<td align="left" width="100%">
 					<?php echo JText::_( 'Filter' ); ?>:
-					<input type="text" name="search" id="search" value="<?php echo $lists['search'];?>" class="text_area" onchange="document.adminForm.submit();" />
+					<input type="text" name="search" id="search" value="<?php echo htmlspecialchars($lists['search']);?>" class="text_area" onchange="document.adminForm.submit();" />
 					<button onclick="this.form.submit();"><?php echo JText::_( 'Go' ); ?></button>
 					<button onclick="document.getElementById('search').value='';this.form.getElementById('sectionid').value='-1';this.form.getElementById('filter_state').value='';this.form.submit();"><?php echo JText::_( 'Reset' ); ?></button>
 				</td>
diff -ruN 17/administrator/components/com_categories/admin.categories.php 18/administrator/components/com_categories/admin.categories.php
--- 17/administrator/components/com_categories/admin.categories.php	2010-04-23 13:40:10.000000000 +0200
+++ 18/administrator/components/com_categories/admin.categories.php	2010-05-28 03:28:54.000000000 +0200
@@ -1,6 +1,6 @@
 <?php
 /**
- * @version		$Id: admin.categories.php 15194 2010-03-05 08:53:57Z ian $
+ * @version		$Id: admin.categories.php 17299 2010-05-27 16:06:54Z ian $
  * @package		Joomla
  * @subpackage	Categories
  * @copyright	Copyright (C) 2005 - 2010 Open Source Matters. All rights reserved.
@@ -117,7 +117,10 @@
 	$filter_state		= $mainframe->getUserStateFromRequest( $option.'.'.$section.'.filter_state',	'filter_state',		'',				'word' );
 	$sectionid			= $mainframe->getUserStateFromRequest( $option.'.'.$section.'.sectionid',		'sectionid',		0,				'int' );
 	$search				= $mainframe->getUserStateFromRequest( $option.'.search',						'search',			'',				'string' );
-	$search				= JString::strtolower( $search );
+	if (strpos($search, '"') !== false) {
+		$search = str_replace(array('=', '<'), '', $search);
+	}
+	$search = JString::strtolower($search);
 
 	$limit		= $mainframe->getUserStateFromRequest( 'global.list.limit', 'limit', $mainframe->getCfg('list_limit'), 'int' );
 	$limitstart	= $mainframe->getUserStateFromRequest( $option.'.limitstart', 'limitstart', 0, 'int' );
diff -ruN 17/administrator/components/com_contact/admin.contact.html.php 18/administrator/components/com_contact/admin.contact.html.php
--- 17/administrator/components/com_contact/admin.contact.html.php	2010-04-23 13:40:10.000000000 +0200
+++ 18/administrator/components/com_contact/admin.contact.html.php	2010-05-28 03:28:54.000000000 +0200
@@ -1,6 +1,6 @@
 <?php
 /**
-* @version		$Id: admin.contact.html.php 14401 2010-01-26 14:10:00Z louis $
+* @version		$Id: admin.contact.html.php 17299 2010-05-27 16:06:54Z ian $
 * @package		Joomla
 * @subpackage	Contact
 * @copyright	Copyright (C) 2005 - 2010 Open Source Matters. All rights reserved.
@@ -36,7 +36,7 @@
 		<tr>
 			<td align="left" width="100%">
 				<?php echo JText::_( 'Filter' ); ?>:
-				<input type="text" name="search" id="search" value="<?php echo $lists['search'];?>" class="text_area" onchange="document.adminForm.submit();" />
+				<input type="text" name="search" id="search" value="<?php echo htmlspecialchars($lists['search']);?>" class="text_area" onchange="document.adminForm.submit();" />
 				<button onclick="this.form.submit();"><?php echo JText::_( 'Go' ); ?></button>
 				<button onclick="document.getElementById('search').value='';this.form.getElementById('filter_catid').value='0';this.form.getElementById('filter_state').value='';this.form.submit();"><?php echo JText::_( 'Reset' ); ?></button>
 			</td>
diff -ruN 17/administrator/components/com_contact/admin.contact.php 18/administrator/components/com_contact/admin.contact.php
--- 17/administrator/components/com_contact/admin.contact.php	2010-04-23 13:40:10.000000000 +0200
+++ 18/administrator/components/com_contact/admin.contact.php	2010-05-28 03:28:54.000000000 +0200
@@ -1,6 +1,6 @@
 <?php
 /**
-* @version		$Id: admin.contact.php 14401 2010-01-26 14:10:00Z louis $
+* @version		$Id: admin.contact.php 17299 2010-05-27 16:06:54Z ian $
 * @package		Joomla
 * @subpackage	Contact
 * @copyright	Copyright (C) 2005 - 2010 Open Source Matters. All rights reserved.
@@ -107,7 +107,10 @@
 	$filter_state 		= $mainframe->getUserStateFromRequest( $option.'filter_state', 		'filter_state', 	'',				'word' );
 	$filter_catid 		= $mainframe->getUserStateFromRequest( $option.'filter_catid', 		'filter_catid',		0,				'int' );
 	$search 			= $mainframe->getUserStateFromRequest( $option.'search', 			'search', 			'',				'string' );
-	$search 			= JString::strtolower( $search );
+	if (strpos($search, '"') !== false) {
+		$search = str_replace(array('=', '<'), '', $search);
+	}
+	$search = JString::strtolower($search);
 
 	$limit		= $mainframe->getUserStateFromRequest('global.list.limit', 'limit', $mainframe->getCfg('list_limit'), 'int');
 	$limitstart	= $mainframe->getUserStateFromRequest($option.'.limitstart', 'limitstart', 0, 'int');
diff -ruN 17/administrator/components/com_content/admin.content.html.php 18/administrator/components/com_content/admin.content.html.php
--- 17/administrator/components/com_content/admin.content.html.php	2010-04-23 13:40:10.000000000 +0200
+++ 18/administrator/components/com_content/admin.content.html.php	2010-05-28 03:28:54.000000000 +0200
@@ -1,6 +1,6 @@
 <?php
 /**
-* @version		$Id: admin.content.html.php 14401 2010-01-26 14:10:00Z louis $
+* @version		$Id: admin.content.html.php 17299 2010-05-27 16:06:54Z ian $
 * @package		Joomla
 * @subpackage	Content
 * @copyright	Copyright (C) 2005 - 2010 Open Source Matters. All rights reserved.
@@ -50,7 +50,7 @@
 				<tr>
 					<td width="100%">
 						<?php echo JText::_( 'Filter' ); ?>:
-						<input type="text" name="search" id="search" value="<?php echo $lists['search'];?>" class="text_area" onchange="document.adminForm.submit();" title="<?php echo JText::_( 'Filter by title or enter article ID' );?>"/>
+						<input type="text" name="search" id="search" value="<?php echo htmlspecialchars($lists['search']);?>" class="text_area" onchange="document.adminForm.submit();" title="<?php echo JText::_( 'Filter by title or enter article ID' );?>"/>
 						<button onclick="this.form.submit();"><?php echo JText::_( 'Go' ); ?></button>
 						<button onclick="document.getElementById('search').value='';this.form.getElementById('filter_sectionid').value='-1';this.form.getElementById('catid').value='0';this.form.getElementById('filter_authorid').value='0';this.form.getElementById('filter_state').value='';this.form.submit();"><?php echo JText::_( 'Reset' ); ?></button>
 					</td>
@@ -297,7 +297,7 @@
 		<tr>
 			<td align="left" width="100%">
 				<?php echo JText::_( 'Filter' ); ?>:
-				<input type="text" name="search" id="search" value="<?php echo $lists['search'];?>" class="text_area" onchange="document.adminForm.submit();" />
+				<input type="text" name="search" id="search" value="<?php echo htmlspecialchars($lists['search']);?>" class="text_area" onchange="document.adminForm.submit();" />
 				<input type="button" value="<?php echo JText::_( 'Go' ); ?>" class="button" onclick="this.form.submit();" />
 				<input type="button" value="<?php echo JText::_( 'Reset' ); ?>" class="button" onclick="getElementById('search').value='';this.form.submit();" />
 			</td>
diff -ruN 17/administrator/components/com_content/controller.php 18/administrator/components/com_content/controller.php
--- 17/administrator/components/com_content/controller.php	2010-04-23 13:40:10.000000000 +0200
+++ 18/administrator/components/com_content/controller.php	2010-05-28 03:28:54.000000000 +0200
@@ -1,6 +1,6 @@
 <?php
 /**
- * @version		$Id: controller.php 14401 2010-01-26 14:10:00Z louis $
+ * @version		$Id: controller.php 17299 2010-05-27 16:06:54Z ian $
  * @package		Joomla
  * @subpackage	Content
  * @copyright	Copyright (C) 2005 - 2010 Open Source Matters. All rights reserved.
@@ -61,7 +61,10 @@
 		$filter_authorid	= $mainframe->getUserStateFromRequest( $context.'filter_authorid',	'filter_authorid',	0,	'int' );
 		$filter_sectionid	= $mainframe->getUserStateFromRequest( $context.'filter_sectionid',	'filter_sectionid',	-1,	'int' );
 		$search				= $mainframe->getUserStateFromRequest( $context.'search',			'search',			'',	'string' );
-		$search				= JString::strtolower($search);
+		if (strpos($search, '"') !== false) {
+			$search = str_replace(array('=', '<'), '', $search);
+		}
+		$search = JString::strtolower($search);
 
 		$limit		= $mainframe->getUserStateFromRequest('global.list.limit', 'limit', $mainframe->getCfg('list_limit'), 'int');
 		$limitstart	= $mainframe->getUserStateFromRequest($context.'limitstart', 'limitstart', 0, 'int');
@@ -221,7 +224,10 @@
 		$filter_authorid		= $mainframe->getUserStateFromRequest("$option.$sectionid.viewarchive.filter_authorid",		'filter_authorid',	0,			'int');
 		$filter_sectionid		= $mainframe->getUserStateFromRequest("$option.$sectionid.viewarchive.filter_sectionid",	'filter_sectionid',	0,			'int');
 		$search					= $mainframe->getUserStateFromRequest("$option.$sectionid.viewarchive.search",				'search',			'',			'string');
-		$search					= JString::strtolower($search);
+		if (strpos($search, '"') !== false) {
+			$search = str_replace(array('=', '<'), '', $search);
+		}
+		$search = JString::strtolower($search);
 		$redirect				= $sectionid;
 
 		// A section id of zero means view all articles [all sections]
diff -ruN 17/administrator/components/com_content/models/element.php 18/administrator/components/com_content/models/element.php
--- 17/administrator/components/com_content/models/element.php	2010-04-23 13:40:10.000000000 +0200
+++ 18/administrator/components/com_content/models/element.php	2010-05-28 03:28:54.000000000 +0200
@@ -1,6 +1,6 @@
 <?php
 /**
- * @version		$Id: element.php 14401 2010-01-26 14:10:00Z louis $
+ * @version		$Id: element.php 17299 2010-05-27 16:06:54Z ian $
  * @package		Joomla
  * @subpackage	Content
  * @copyright	Copyright (C) 2005 - 2010 Open Source Matters. All rights reserved.
@@ -65,7 +65,10 @@
 		$limit				= $mainframe->getUserStateFromRequest('global.list.limit',					'limit', $mainframe->getCfg('list_limit'), 'int');
 		$limitstart			= $mainframe->getUserStateFromRequest('articleelement.limitstart',			'limitstart',		0,	'int');
 		$search				= $mainframe->getUserStateFromRequest('articleelement.search',				'search',			'',	'string');
-		$search				= JString::strtolower($search);
+		if (strpos($search, '"') !== false) {
+			$search = str_replace(array('=', '<'), '', $search);
+		}
+		$search = JString::strtolower($search);
 
 		//$where[] = "c.state >= 0";
 		$where[] = "c.state != -2";
diff -ruN 17/administrator/components/com_content/views/element/view.php 18/administrator/components/com_content/views/element/view.php
--- 17/administrator/components/com_content/views/element/view.php	2010-04-23 13:40:10.000000000 +0200
+++ 18/administrator/components/com_content/views/element/view.php	2010-05-28 03:28:54.000000000 +0200
@@ -1,6 +1,6 @@
 <?php
 /**
- * @version		$Id: view.php 14401 2010-01-26 14:10:00Z louis $
+ * @version		$Id: view.php 17299 2010-05-27 16:06:54Z ian $
  * @package		Joomla
  * @subpackage	Content
  * @copyright	Copyright (C) 2005 - 2010 Open Source Matters. All rights reserved.
@@ -59,7 +59,7 @@
 				<tr>
 					<td width="100%">
 						<?php echo JText::_( 'Filter' ); ?>:
-						<input type="text" name="search" id="search" value="<?php echo $lists['search'];?>" class="text_area" onchange="document.adminForm.submit();" />
+						<input type="text" name="search" id="search" value="<?php echo htmlspecialchars($lists['search']);?>" class="text_area" onchange="document.adminForm.submit();" />
 						<button onclick="this.form.submit();"><?php echo JText::_( 'Go' ); ?></button>
 						<button onclick="document.getElementById('search').value='';this.form.submit();"><?php echo JText::_( 'Reset' ); ?></button>
 					</td>
@@ -174,7 +174,10 @@
 		$limit				= $mainframe->getUserStateFromRequest('global.list.limit',					'limit', $mainframe->getCfg('list_limit'), 'int');
 		$limitstart			= $mainframe->getUserStateFromRequest('articleelement.limitstart',			'limitstart',		0,	'int');
 		$search				= $mainframe->getUserStateFromRequest('articleelement.search',				'search',			'',	'string');
-		$search				= JString::strtolower($search);
+		if (strpos($search, '"') !== false) {
+			$search = str_replace(array('=', '<'), '', $search);
+		}
+		$search = JString::strtolower($search);
 
 		// get list of categories for dropdown filter
 		$filter = ($filter_sectionid >= 0) ? ' WHERE cc.section = '.$db->Quote($filter_sectionid) : '';
diff -ruN 17/administrator/components/com_frontpage/admin.frontpage.php 18/administrator/components/com_frontpage/admin.frontpage.php
--- 17/administrator/components/com_frontpage/admin.frontpage.php	2010-04-23 13:40:10.000000000 +0200
+++ 18/administrator/components/com_frontpage/admin.frontpage.php	2010-05-28 03:28:54.000000000 +0200
@@ -1,6 +1,6 @@
 <?php
 /**
-* @version		$Id: admin.frontpage.php 14401 2010-01-26 14:10:00Z louis $
+* @version		$Id: admin.frontpage.php 17299 2010-05-27 16:06:54Z ian $
 * @package		Joomla
 * @subpackage	Content
 * @copyright	Copyright (C) 2005 - 2010 Open Source Matters. All rights reserved.
@@ -93,7 +93,10 @@
 	$filter_authorid	= $mainframe->getUserStateFromRequest( $option.'.filter_authorid',	'filter_authorid',	0,				'int' );
 	$filter_sectionid	= $mainframe->getUserStateFromRequest( $option.'.filter_sectionid',	'filter_sectionid',	-1,				'int' );
 	$search				= $mainframe->getUserStateFromRequest( $option.'.search',			'search',			'',				'string' );
-	$search				= JString::strtolower( $search );
+	if (strpos($search, '"') !== false) {
+		$search = str_replace(array('=', '<'), '', $search);
+	}
+	$search = JString::strtolower($search);
 
 	$limit		= $mainframe->getUserStateFromRequest( 'global.list.limit', 'limit', $mainframe->getCfg('list_limit'), 'int' );
 	$limitstart	= $mainframe->getUserStateFromRequest( $option.'.limitstart', 'limitstart', 0, 'int' );
diff -ruN 17/administrator/components/com_frontpage/views/frontpage.php 18/administrator/components/com_frontpage/views/frontpage.php
--- 17/administrator/components/com_frontpage/views/frontpage.php	2010-04-23 13:40:10.000000000 +0200
+++ 18/administrator/components/com_frontpage/views/frontpage.php	2010-05-28 03:28:54.000000000 +0200
@@ -1,6 +1,6 @@
 <?php
 /**
-* @version		$Id: frontpage.php 14401 2010-01-26 14:10:00Z louis $
+* @version		$Id: frontpage.php 17299 2010-05-27 16:06:54Z ian $
 * @package		Joomla
 * @subpackage	Content
 * @copyright	Copyright (C) 2005 - 2010 Open Source Matters. All rights reserved.
@@ -46,7 +46,7 @@
 				<tr>
 					<td width="100%" class="filter">
 						<?php echo JText::_( 'Filter' ); ?>:
-						<input type="text" name="search" id="search" value="<?php echo $lists['search'];?>" class="text_area" onchange="document.adminForm.submit();" />
+						<input type="text" name="search" id="search" value="<?php echo htmlspecialchars($lists['search']);?>" class="text_area" onchange="document.adminForm.submit();" />
 						<button onclick="this.form.submit();"><?php echo JText::_( 'Go' ); ?></button>
 						<button onclick="document.getElementById('search').value=''; this.form.getElementById('filter_sectionid').value='-1'; this.form.getElementById('catid').value='0'; this.form.getElementById('filter_authorid').value='0'; this.form.getElementById('filter_state').value=''; this.form.submit();"><?php echo JText::_( 'Reset' ); ?></button>
 					</td>
diff -ruN 17/administrator/components/com_menus/models/list.php 18/administrator/components/com_menus/models/list.php
--- 17/administrator/components/com_menus/models/list.php	2010-04-23 13:40:10.000000000 +0200
+++ 18/administrator/components/com_menus/models/list.php	2010-05-28 03:28:54.000000000 +0200
@@ -1,6 +1,6 @@
 <?php
 /**
- * @version		$Id: list.php 16380 2010-04-23 09:19:48Z ian $
+ * @version		$Id: list.php 17299 2010-05-27 16:06:54Z ian $
  * @package		Joomla
  * @subpackage	Menus
  * @copyright	Copyright (C) 2005 - 2010 Open Source Matters. All rights reserved.
@@ -61,7 +61,10 @@
 		$limitstart			= $mainframe->getUserStateFromRequest( 'com_menus.'.$menutype.'.limitstart',		'limitstart',		0,				'int' );
 		$levellimit			= $mainframe->getUserStateFromRequest( 'com_menus.'.$menutype.'.levellimit',		'levellimit',		10,				'int' );
 		$search				= $mainframe->getUserStateFromRequest( 'com_menus.'.$menutype.'.search',			'search',			'',				'string' );
-		$search				= JString::strtolower( $search );
+		if (strpos($search, '"') !== false) {
+			$search = str_replace(array('=', '<'), '', $search);
+		}
+		$search = JString::strtolower($search);
 
 		$and = '';
 		if ( $filter_state )
diff -ruN 17/administrator/components/com_menus/views/list/tmpl/default.php 18/administrator/components/com_menus/views/list/tmpl/default.php
--- 17/administrator/components/com_menus/views/list/tmpl/default.php	2009-05-29 14:50:56.000000000 +0200
+++ 18/administrator/components/com_menus/views/list/tmpl/default.php	2010-05-28 03:28:54.000000000 +0200
@@ -6,7 +6,7 @@
 		<tr>
 			<td align="left" width="100%">
 				<?php echo JText::_( 'Filter' ); ?>:
-				<input type="text" name="search" id="search" value="<?php echo $this->lists['search'];?>" class="text_area" onchange="document.adminForm.submit();" />
+				<input type="text" name="search" id="search" value="<?php echo htmlspecialchars($this->lists['search']);?>" class="text_area" onchange="document.adminForm.submit();" />
 				<button onclick="this.form.submit();"><?php echo JText::_( 'Go' ); ?></button>
 				<button onclick="document.getElementById('search').value='';this.form.getElementById('levellimit').value='10';this.form.getElementById('filter_state').value='';this.form.submit();"><?php echo JText::_( 'Reset' ); ?></button>
 			</td>
diff -ruN 17/administrator/components/com_menus/views/list/view.php 18/administrator/components/com_menus/views/list/view.php
--- 17/administrator/components/com_menus/views/list/view.php	2010-04-23 13:40:10.000000000 +0200
+++ 18/administrator/components/com_menus/views/list/view.php	2010-05-28 03:28:54.000000000 +0200
@@ -1,6 +1,6 @@
 <?php
 /**
- * @version		$Id: view.php 14401 2010-01-26 14:10:00Z louis $
+ * @version		$Id: view.php 17299 2010-05-27 16:06:54Z ian $
  * @package		Joomla
  * @subpackage	Menus
  * @copyright	Copyright (C) 2005 - 2010 Open Source Matters. All rights reserved.
@@ -168,7 +168,10 @@
 		$filter_state		= $mainframe->getUserStateFromRequest( "com_menus.$menutype.filter_state",		'filter_state',		'',				'word' );
 		$levellimit			= $mainframe->getUserStateFromRequest( "com_menus.$menutype.levellimit",		'levellimit',		10,				'int' );
 		$search				= $mainframe->getUserStateFromRequest( "com_menus.$menutype.search",			'search',			'',				'string' );
-		$search				= JString::strtolower( $search );
+		if (strpos($search, '"') !== false) {
+			$search = str_replace(array('=', '<'), '', $search);
+		}
+		$search = JString::strtolower($search);
 
 		// level limit filter
 		$lists['levellist'] = JHTML::_('select.integerlist',    1, 20, 1, 'levellimit', 'size="1" onchange="document.adminForm.submit();"', $levellimit );
diff -ruN 17/administrator/components/com_messages/admin.messages.html.php 18/administrator/components/com_messages/admin.messages.html.php
--- 17/administrator/components/com_messages/admin.messages.html.php	2010-04-23 13:40:10.000000000 +0200
+++ 18/administrator/components/com_messages/admin.messages.html.php	2010-05-28 03:28:54.000000000 +0200
@@ -1,6 +1,6 @@
 <?php
 /**
-* @version		$Id: admin.messages.html.php 14401 2010-01-26 14:10:00Z louis $
+* @version		$Id: admin.messages.html.php 17299 2010-05-27 16:06:54Z ian $
 * @package		Joomla
 * @subpackage	Messages
 * @copyright	Copyright (C) 2005 - 2010 Open Source Matters. All rights reserved.
@@ -32,7 +32,7 @@
 		<tr>
 			<td align="left" width="100%">
 				<?php echo JText::_( 'Search' ); ?>:
-				<input type="text" name="search" id="search" value="<?php echo $lists['search'];?>" class="text_area" onchange="document.adminForm.submit();" />
+				<input type="text" name="search" id="search" value="<?php echo htmlspecialchars($lists['search']);?>" class="text_area" onchange="document.adminForm.submit();" />
 				<button onclick="this.form.submit();"><?php echo JText::_( 'Go' ); ?></button>
 				<button onclick="document.getElementById('search').value='';this.form.getElementById('filter_state').value='';this.form.submit();"><?php echo JText::_( 'Reset' ); ?></button>
 			</td>
diff -ruN 17/administrator/components/com_messages/admin.messages.php 18/administrator/components/com_messages/admin.messages.php
--- 17/administrator/components/com_messages/admin.messages.php	2010-04-23 13:40:10.000000000 +0200
+++ 18/administrator/components/com_messages/admin.messages.php	2010-05-28 03:28:54.000000000 +0200
@@ -1,6 +1,6 @@
 <?php
 /**
-* @version		$Id: admin.messages.php 14401 2010-01-26 14:10:00Z louis $
+* @version		$Id: admin.messages.php 17299 2010-05-27 16:06:54Z ian $
 * @package		Joomla
 * @subpackage	Messages
 * @copyright	Copyright (C) 2005 - 2010 Open Source Matters. All rights reserved.
@@ -74,7 +74,10 @@
 	$limit				= $mainframe->getUserStateFromRequest( 'global.list.limit',			'limit',			$mainframe->getCfg('list_limit'), 'int' );
 	$limitstart			= $mainframe->getUserStateFromRequest( $context.'.limitstart',		'limitstart',		0,				'int' );
 	$search				= $mainframe->getUserStateFromRequest( $context.'search',			'search',			'',				'string' );
-	$search				= JString::strtolower( $search );
+	if (strpos($search, '"') !== false) {
+		$search = str_replace(array('=', '<'), '', $search);
+	}
+	$search = JString::strtolower($search);
 
 	$where = array();
 	$where[] = ' a.user_id_to='.(int) $user->get('id');
diff -ruN 17/administrator/components/com_modules/admin.modules.html.php 18/administrator/components/com_modules/admin.modules.html.php
--- 17/administrator/components/com_modules/admin.modules.html.php	2010-04-23 13:40:10.000000000 +0200
+++ 18/administrator/components/com_modules/admin.modules.html.php	2010-05-28 03:28:54.000000000 +0200
@@ -1,6 +1,6 @@
 <?php
 /**
-* @version		$Id: admin.modules.html.php 15182 2010-03-04 23:11:09Z ian $
+* @version		$Id: admin.modules.html.php 17299 2010-05-27 16:06:54Z ian $
 * @package		Joomla
 * @subpackage	Modules
 * @copyright	Copyright (C) 2005 - 2010 Open Source Matters. All rights reserved.
@@ -40,7 +40,7 @@
 			<tr>
 				<td align="left" width="100%">
 					<?php echo JText::_( 'Filter' ); ?>:
-					<input type="text" name="search" id="search" value="<?php echo $lists['search'];?>" class="text_area" onchange="document.adminForm.submit();" />
+					<input type="text" name="search" id="search" value="<?php echo htmlspecialchars($lists['search']);?>" class="text_area" onchange="document.adminForm.submit();" />
 					<button onclick="this.form.submit();"><?php echo JText::_( 'Go' ); ?></button>
 					<button onclick="document.getElementById('search').value='';this.form.submit();"><?php echo JText::_( 'Reset' ); ?></button>
 				</td>
diff -ruN 17/administrator/components/com_modules/controller.php 18/administrator/components/com_modules/controller.php
--- 17/administrator/components/com_modules/controller.php	2010-04-23 13:40:10.000000000 +0200
+++ 18/administrator/components/com_modules/controller.php	2010-05-28 03:28:54.000000000 +0200
@@ -1,6 +1,6 @@
 <?php
 /**
- * @version		$Id: controller.php 14401 2010-01-26 14:10:00Z louis $
+ * @version		$Id: controller.php 17299 2010-05-27 16:06:54Z ian $
  * @package		Joomla
  * @subpackage	Modules
  * @copyright	Copyright (C) 2005 - 2010 Open Source Matters. All rights reserved.
@@ -64,7 +64,10 @@
 		$filter_type		= $mainframe->getUserStateFromRequest( $option.'filter_type',		'filter_type',		'',				'cmd' );
 		$filter_assigned	= $mainframe->getUserStateFromRequest( $option.'filter_assigned',	'filter_assigned',	'',				'cmd' );
 		$search				= $mainframe->getUserStateFromRequest( $option.'search',			'search',			'',				'string' );
-		$search				= JString::strtolower( $search );
+		if (strpos($search, '"') !== false) {
+			$search = str_replace(array('=', '<'), '', $search);
+		}
+		$search = JString::strtolower($search);
 
 		$limit		= $mainframe->getUserStateFromRequest( 'global.list.limit', 'limit', $mainframe->getCfg('list_limit'), 'int' );
 		$limitstart	= $mainframe->getUserStateFromRequest( $option.'.limitstart', 'limitstart', 0, 'int' );
diff -ruN 17/administrator/components/com_newsfeeds/admin.newsfeeds.html.php 18/administrator/components/com_newsfeeds/admin.newsfeeds.html.php
--- 17/administrator/components/com_newsfeeds/admin.newsfeeds.html.php	2010-04-23 13:40:10.000000000 +0200
+++ 18/administrator/components/com_newsfeeds/admin.newsfeeds.html.php	2010-05-28 03:28:54.000000000 +0200
@@ -1,6 +1,6 @@
 <?php
 /**
-* @version		$Id: admin.newsfeeds.html.php 14401 2010-01-26 14:10:00Z louis $
+* @version		$Id: admin.newsfeeds.html.php 17299 2010-05-27 16:06:54Z ian $
 * @package		Joomla
 * @subpackage	Newsfeeds
 * @copyright	Copyright (C) 2005 - 2010 Open Source Matters. All rights reserved.
@@ -38,7 +38,7 @@
 		<tr>
 			<td align="left" width="100%">
 				<?php echo JText::_( 'Filter' ); ?>:
-				<input type="text" name="search" id="search" value="<?php echo $lists['search'];?>" class="text_area" onchange="document.adminForm.submit();" />
+				<input type="text" name="search" id="search" value="<?php echo htmlspecialchars($lists['search']);?>" class="text_area" onchange="document.adminForm.submit();" />
 				<button onclick="this.form.submit();"><?php echo JText::_( 'Go' ); ?></button>
 				<button onclick="document.getElementById('search').value='';this.form.getElementById('filter_catid').value='0';this.form.getElementById('filter_state').value='';this.form.submit();"><?php echo JText::_( 'Reset' ); ?></button>
 			</td>
diff -ruN 17/administrator/components/com_newsfeeds/admin.newsfeeds.php 18/administrator/components/com_newsfeeds/admin.newsfeeds.php
--- 17/administrator/components/com_newsfeeds/admin.newsfeeds.php	2010-04-23 13:40:10.000000000 +0200
+++ 18/administrator/components/com_newsfeeds/admin.newsfeeds.php	2010-05-28 03:28:54.000000000 +0200
@@ -1,6 +1,6 @@
 <?php
 /**
-* @version		$Id: admin.newsfeeds.php 14401 2010-01-26 14:10:00Z louis $
+* @version		$Id: admin.newsfeeds.php 17299 2010-05-27 16:06:54Z ian $
 * @package		Joomla
 * @subpackage	Newsfeeds
 * @copyright	Copyright (C) 2005 - 2010 Open Source Matters. All rights reserved.
@@ -91,7 +91,10 @@
 	$filter_state		= $mainframe->getUserStateFromRequest( "$option.filter_state",		'filter_state',		'',				'word' );
 	$filter_catid		= $mainframe->getUserStateFromRequest( "$option.filter_catid",		'filter_catid',		0,				'int' );
 	$search				= $mainframe->getUserStateFromRequest( "$option.search",			'search',			'',				'string' );
-	$search				= JString::strtolower( $search );
+	if (strpos($search, '"') !== false) {
+		$search = str_replace(array('=', '<'), '', $search);
+	}
+	$search = JString::strtolower($search);
 
 	$limit		= $mainframe->getUserStateFromRequest( 'global.list.limit', 'limit', $mainframe->getCfg('list_limit'), 'int' );
 	$limitstart	= $mainframe->getUserStateFromRequest( $option.'.limitstart', 'limitstart', 0, 'int' );
diff -ruN 17/administrator/components/com_plugins/views/plugins/tmpl/default.php 18/administrator/components/com_plugins/views/plugins/tmpl/default.php
--- 17/administrator/components/com_plugins/views/plugins/tmpl/default.php	2009-05-29 14:50:46.000000000 +0200
+++ 18/administrator/components/com_plugins/views/plugins/tmpl/default.php	2010-05-28 03:28:54.000000000 +0200
@@ -18,7 +18,7 @@
 	<tr>
 		<td align="left" width="100%">
 			<?php echo JText::_( 'Filter' ); ?>:
-			<input type="text" name="search" id="search" value="<?php echo $this->lists['search'];?>" class="text_area" onchange="document.adminForm.submit();" />
+			<input type="text" name="search" id="search" value="<?php echo htmlspecialchars($this->lists['search']);?>" class="text_area" onchange="document.adminForm.submit();" />
 			<button onclick="this.form.submit();"><?php echo JText::_( 'Go' ); ?></button>
 			<button onclick="document.getElementById('search').value='';this.form.submit();"><?php echo JText::_( 'Reset' ); ?></button>
 		</td>
diff -ruN 17/administrator/components/com_plugins/views/plugins/view.html.php 18/administrator/components/com_plugins/views/plugins/view.html.php
--- 17/administrator/components/com_plugins/views/plugins/view.html.php	2010-04-23 13:40:10.000000000 +0200
+++ 18/administrator/components/com_plugins/views/plugins/view.html.php	2010-05-28 03:28:54.000000000 +0200
@@ -1,6 +1,6 @@
 <?php
 /**
-* @version		$Id: view.html.php 14401 2010-01-26 14:10:00Z louis $
+* @version		$Id: view.html.php 17299 2010-05-27 16:06:54Z ian $
 * @package		Joomla
 * @subpackage	Config
 * @copyright	Copyright (C) 2005 - 2010 Open Source Matters. All rights reserved.
@@ -40,7 +40,10 @@
 		$filter_state		= $mainframe->getUserStateFromRequest( "$option.$client.filter_state",		'filter_state',		'',			'word' );
 		$filter_type		= $mainframe->getUserStateFromRequest( "$option.$client.filter_type", 		'filter_type',		1,			'cmd' );
 		$search				= $mainframe->getUserStateFromRequest( "$option.$client.search",			'search',			'',			'string' );
-		$search				= JString::strtolower( $search );
+		if (strpos($search, '"') !== false) {
+			$search = str_replace(array('=', '<'), '', $search);
+		}
+		$search = JString::strtolower($search);
 
 		$limit		= $mainframe->getUserStateFromRequest( 'global.list.limit', 'limit', $mainframe->getCfg('list_limit'), 'int' );
 		$limitstart	= $mainframe->getUserStateFromRequest( $option.'.limitstart', 'limitstart', 0, 'int' );
diff -ruN 17/administrator/components/com_poll/views/polls/tmpl/default.php 18/administrator/components/com_poll/views/polls/tmpl/default.php
--- 17/administrator/components/com_poll/views/polls/tmpl/default.php	2009-05-29 14:51:20.000000000 +0200
+++ 18/administrator/components/com_poll/views/polls/tmpl/default.php	2010-05-28 03:28:54.000000000 +0200
@@ -17,7 +17,7 @@
 	<tr>
 		<td align="left" width="100%">
 			<?php echo JText::_( 'Filter' ); ?>:
-			<input type="text" name="search" id="search" value="<?php echo $this->lists['search'];?>" class="text_area" onchange="document.adminForm.submit();" />
+			<input type="text" name="search" id="search" value="<?php echo htmlspecialchars($this->lists['search']);?>" class="text_area" onchange="document.adminForm.submit();" />
 			<button onclick="this.form.submit();"><?php echo JText::_( 'Go' ); ?></button>
 			<button onclick="document.getElementById('search').value='';this.form.getElementById('filter_state').value='';this.form.submit();"><?php echo JText::_( 'Reset' ); ?></button>
 		</td>
diff -ruN 17/administrator/components/com_poll/views/polls/view.html.php 18/administrator/components/com_poll/views/polls/view.html.php
--- 17/administrator/components/com_poll/views/polls/view.html.php	2010-04-23 13:40:10.000000000 +0200
+++ 18/administrator/components/com_poll/views/polls/view.html.php	2010-05-28 03:28:54.000000000 +0200
@@ -1,6 +1,6 @@
 <?php
 /**
-* @version		$Id: view.html.php 14401 2010-01-26 14:10:00Z louis $
+* @version		$Id: view.html.php 17299 2010-05-27 16:06:54Z ian $
 * @package		Joomla
 * @subpackage	Config
 * @copyright	Copyright (C) 2005 - 2010 Open Source Matters. All rights reserved.
@@ -36,7 +36,10 @@
 		$filter_order_Dir	= $mainframe->getUserStateFromRequest( "$option.filter_order_Dir",	'filter_order_Dir',	'',		'word' );
 		$filter_state		= $mainframe->getUserStateFromRequest( "$option.filter_state",		'filter_state',		'',		'word' );
 		$search				= $mainframe->getUserStateFromRequest( "$option.search",			'search',			'',		'string' );
-		$search				= JString::strtolower( $search );
+		if (strpos($search, '"') !== false) {
+			$search = str_replace(array('=', '<'), '', $search);
+		}
+		$search = JString::strtolower($search);
 
 		$limit		= $mainframe->getUserStateFromRequest( 'global.list.limit', 'limit', $mainframe->getCfg('list_limit'), 'int' );
 		$limitstart	= $mainframe->getUserStateFromRequest( $option.'.limitstart', 'limitstart', 0, 'int' );
diff -ruN 17/administrator/components/com_search/models/search.php 18/administrator/components/com_search/models/search.php
--- 17/administrator/components/com_search/models/search.php	2010-04-23 13:40:10.000000000 +0200
+++ 18/administrator/components/com_search/models/search.php	2010-05-28 03:28:54.000000000 +0200
@@ -1,6 +1,6 @@
 <?php
 /**
- * @version		$Id: search.php 14401 2010-01-26 14:10:00Z louis $
+ * @version		$Id: search.php 17299 2010-05-27 16:06:54Z ian $
  * @package		Joomla
  * @subpackage	Search
  * @copyright	Copyright (C) 2005 - 2010 Open Source Matters. All rights reserved.
@@ -52,7 +52,10 @@
 		$limit				= $mainframe->getUserStateFromRequest( 'global.list.limit',				'limit',			$mainframe->getCfg('list_limit'), 'int' );
 		$limitstart			= $mainframe->getUserStateFromRequest( 'com_search.limitstart',			'limitstart',		0,		'int' );
 		$search				= $mainframe->getUserStateFromRequest( 'com_search.search',				'search',			'',		'string' );
-		$search				= JString::strtolower( $search );
+		if (strpos($search, '"') !== false) {
+			$search = str_replace(array('=', '<'), '', $search);
+		}
+		$search = JString::strtolower($search);
 		$showResults		= JRequest::getInt('search_results');
 
 		// table ordering
diff -ruN 17/administrator/components/com_search/views/search/view.php 18/administrator/components/com_search/views/search/view.php
--- 17/administrator/components/com_search/views/search/view.php	2010-04-23 13:40:10.000000000 +0200
+++ 18/administrator/components/com_search/views/search/view.php	2010-05-28 03:28:54.000000000 +0200
@@ -1,6 +1,6 @@
 <?php
 /**
-* @version		$Id: view.php 14401 2010-01-26 14:10:00Z louis $
+* @version		$Id: view.php 17299 2010-05-27 16:06:54Z ian $
 * @package		Joomla
 * @subpackage	Search
 * @copyright	Copyright (C) 2005 - 2010 Open Source Matters. All rights reserved.
@@ -50,7 +50,11 @@
 		$showResults	= JRequest::getInt('search_results');
 
 		$search 		= $mainframe->getUserStateFromRequest( 'com_search.search', 'search', '', 'string' );
-
+		if (strpos($search, '"') !== false) {
+			$search = str_replace(array('=', '<'), '', $search);
+		}
+		$search = JString::strtolower($search);
+        
 		$this->assignRef('items', 	$items);
 		$this->assignRef('enabled', $enabled);
 		$this->assignRef('pageNav', $pageNav);
diff -ruN 17/administrator/components/com_sections/admin.sections.html.php 18/administrator/components/com_sections/admin.sections.html.php
--- 17/administrator/components/com_sections/admin.sections.html.php	2010-04-23 13:40:12.000000000 +0200
+++ 18/administrator/components/com_sections/admin.sections.html.php	2010-05-28 03:28:54.000000000 +0200
@@ -1,6 +1,6 @@
 <?php
 /**
-* @version		$Id: admin.sections.html.php 14401 2010-01-26 14:10:00Z louis $
+* @version		$Id: admin.sections.html.php 17299 2010-05-27 16:06:54Z ian $
 * @package		Joomla
 * @subpackage	Sections
 * @copyright	Copyright (C) 2005 - 2010 Open Source Matters. All rights reserved.
@@ -43,7 +43,7 @@
 		<tr>
 			<td align="left" width="100%">
 				<?php echo JText::_( 'Filter' ); ?>:
-				<input type="text" name="search" id="search" value="<?php echo $lists['search'];?>" class="text_area" onchange="document.adminForm.submit();" />
+				<input type="text" name="search" id="search" value="<?php echo htmlspecialchars($lists['search']);?>" class="text_area" onchange="document.adminForm.submit();" />
 				<button onclick="this.form.submit();"><?php echo JText::_( 'Go' ); ?></button>
 				<button onclick="document.getElementById('search').value='';this.form.submit();"><?php echo JText::_( 'Reset' ); ?></button>
 			</td>
diff -ruN 17/administrator/components/com_sections/admin.sections.php 18/administrator/components/com_sections/admin.sections.php
--- 17/administrator/components/com_sections/admin.sections.php	2010-04-23 13:40:12.000000000 +0200
+++ 18/administrator/components/com_sections/admin.sections.php	2010-05-28 03:28:54.000000000 +0200
@@ -1,6 +1,6 @@
 <?php
 /**
-* @version		$Id: admin.sections.php 14401 2010-01-26 14:10:00Z louis $
+* @version		$Id: admin.sections.php 17299 2010-05-27 16:06:54Z ian $
 * @package		Joomla
 * @subpackage	Sections
 * @copyright	Copyright (C) 2005 - 2010 Open Source Matters. All rights reserved.
@@ -110,7 +110,10 @@
 	$filter_order_Dir	= $mainframe->getUserStateFromRequest( $option.'.filter_order_Dir',	'filter_order_Dir',	'',				'word' );
 	$filter_state		= $mainframe->getUserStateFromRequest( $option.'.filter_state',		'filter_state',		'',				'word' );
 	$search				= $mainframe->getUserStateFromRequest( $option.'.search',			'search',			'',				'string' );
-	$search				= JString::strtolower( $search );
+	if (strpos($search, '"') !== false) {
+		$search = str_replace(array('=', '<'), '', $search);
+	}
+	$search = JString::strtolower($search);
 
 	$limit		= $mainframe->getUserStateFromRequest( 'global.list.limit', 'limit', $mainframe->getCfg('list_limit'), 'int' );
 	$limitstart	= $mainframe->getUserStateFromRequest( $option.'.limitstart', 'limitstart', 0, 'int' );
diff -ruN 17/administrator/components/com_trash/admin.trash.html.php 18/administrator/components/com_trash/admin.trash.html.php
--- 17/administrator/components/com_trash/admin.trash.html.php	2010-04-23 13:40:12.000000000 +0200
+++ 18/administrator/components/com_trash/admin.trash.html.php	2010-05-28 03:28:54.000000000 +0200
@@ -1,6 +1,6 @@
 <?php
 /**
-* @version		$Id: admin.trash.html.php 14401 2010-01-26 14:10:00Z louis $
+* @version		$Id: admin.trash.html.php 17299 2010-05-27 16:06:54Z ian $
 * @package		Joomla
 * @subpackage	Trash
 * @copyright	Copyright (C) 2005 - 2010 Open Source Matters. All rights reserved.
@@ -35,7 +35,7 @@
 		<tr>
 			<td align="left" width="100%">
 				<?php echo JText::_( 'Filter' ); ?>:
-				<input type="text" name="search" id="search" value="<?php echo $lists['search'];?>" class="text_area" onchange="document.adminForm.submit();" />
+				<input type="text" name="search" id="search" value="<?php echo htmlspecialchars($lists['search']);?>" class="text_area" onchange="document.adminForm.submit();" />
 				<button onclick="this.form.submit();"><?php echo JText::_( 'Go' ); ?></button>
 				<button onclick="document.getElementById('search').value='';this.form.submit();"><?php echo JText::_( 'Reset' ); ?></button>
 			</td>
@@ -159,7 +159,7 @@
 		<tr>
 			<td align="left" width="100%">
 				<?php echo JText::_( 'Filter' ); ?>:
-				<input type="text" name="search" id="search" value="<?php echo $lists['search'];?>" class="text_area" onchange="document.adminForm.submit();" />
+				<input type="text" name="search" id="search" value="<?php echo htmlspecialchars($lists['search']);?>" class="text_area" onchange="document.adminForm.submit();" />
 				<button onclick="this.form.submit();"><?php echo JText::_( 'Go' ); ?></button>
 				<button onclick="document.getElementById('search').value='';this.form.submit();"><?php echo JText::_( 'Reset' ); ?></button>
 			</td>
diff -ruN 17/administrator/components/com_trash/admin.trash.php 18/administrator/components/com_trash/admin.trash.php
--- 17/administrator/components/com_trash/admin.trash.php	2010-04-23 13:40:12.000000000 +0200
+++ 18/administrator/components/com_trash/admin.trash.php	2010-05-28 03:28:54.000000000 +0200
@@ -1,6 +1,6 @@
 <?php
 /**
-* @version		$Id: admin.trash.php 14401 2010-01-26 14:10:00Z louis $
+* @version		$Id: admin.trash.php 17299 2010-05-27 16:06:54Z ian $
 * @package		Joomla
 * @subpackage	Trash
 * @copyright	Copyright (C) 2005 - 2010 Open Source Matters. All rights reserved.
@@ -79,7 +79,10 @@
 	$filter_order		= $mainframe->getUserStateFromRequest( "$option.viewContent.filter_order",		'filter_order',		'sectname', 'cmd' );
 	$filter_order_Dir	= $mainframe->getUserStateFromRequest( "$option.viewContent.filter_order_Dir",	'filter_order_Dir',	'',			'word' );
 	$search				= $mainframe->getUserStateFromRequest( "$option.search",						'search', 			'',			'string' );
-	$search				= JString::strtolower( $search );
+	if (strpos($search, '"') !== false) {
+		$search = str_replace(array('=', '<'), '', $search);
+	}
+	$search = JString::strtolower($search);
 
 	$limit		= $mainframe->getUserStateFromRequest( 'global.list.limit', 'limit', $mainframe->getCfg('list_limit'), 'int' );
 	$limitstart = $mainframe->getUserStateFromRequest( $option.'.limitstart', 'limitstart', 0, 'int' );
@@ -150,7 +153,10 @@
 	$limit				= $mainframe->getUserStateFromRequest( "limit",								'limit',			$mainframe->getCfg('list_limit'), 'int' );
 	$limitstart 		= $mainframe->getUserStateFromRequest( "$option.viewMenu.limitstart",		'limitstart', 		0,				'int' );
 	$search				= $mainframe->getUserStateFromRequest( "$option.search",					'search',			'',				'string' );
-	$search				= JString::strtolower( $search );
+	if (strpos($search, '"') !== false) {
+		$search = str_replace(array('=', '<'), '', $search);
+	}
+	$search = JString::strtolower($search);
 
 	$where[] = 'm.published = -2';
 
diff -ruN 17/administrator/components/com_users/views/users/tmpl/default.php 18/administrator/components/com_users/views/users/tmpl/default.php
--- 17/administrator/components/com_users/views/users/tmpl/default.php	2009-05-29 14:51:12.000000000 +0200
+++ 18/administrator/components/com_users/views/users/tmpl/default.php	2010-05-28 03:28:54.000000000 +0200
@@ -16,7 +16,7 @@
 		<tr>
 			<td width="100%">
 				<?php echo JText::_( 'Filter' ); ?>:
-				<input type="text" name="search" id="search" value="<?php echo $this->lists['search'];?>" class="text_area" onchange="document.adminForm.submit();" />
+				<input type="text" name="search" id="search" value="<?php echo htmlspecialchars($this->lists['search']);?>" class="text_area" onchange="document.adminForm.submit();" />
 				<button onclick="this.form.submit();"><?php echo JText::_( 'Go' ); ?></button>
 				<button onclick="document.getElementById('search').value='';this.form.getElementById('filter_type').value='0';this.form.getElementById('filter_logged').value='0';this.form.submit();"><?php echo JText::_( 'Reset' ); ?></button>
 			</td>
diff -ruN 17/administrator/components/com_users/views/users/view.html.php 18/administrator/components/com_users/views/users/view.html.php
--- 17/administrator/components/com_users/views/users/view.html.php	2010-04-23 13:40:12.000000000 +0200
+++ 18/administrator/components/com_users/views/users/view.html.php	2010-05-28 03:28:54.000000000 +0200
@@ -1,6 +1,6 @@
 <?php
 /**
-* @version		$Id: view.html.php 14401 2010-01-26 14:10:00Z louis $
+* @version		$Id: view.html.php 17299 2010-05-27 16:06:54Z ian $
 * @package		Joomla
 * @subpackage	Users
 * @copyright	Copyright (C) 2005 - 2010 Open Source Matters. All rights reserved.
@@ -40,7 +40,10 @@
 		$filter_type		= $mainframe->getUserStateFromRequest( "$option.filter_type",		'filter_type', 		0,			'string' );
 		$filter_logged		= $mainframe->getUserStateFromRequest( "$option.filter_logged",		'filter_logged', 	0,			'int' );
 		$search				= $mainframe->getUserStateFromRequest( "$option.search",			'search', 			'',			'string' );
-		$search				= JString::strtolower( $search );
+		if (strpos($search, '"') !== false) {
+			$search = str_replace(array('=', '<'), '', $search);
+		}
+		$search = JString::strtolower($search);
 
 		$limit		= $mainframe->getUserStateFromRequest( 'global.list.limit', 'limit', $mainframe->getCfg('list_limit'), 'int' );
 		$limitstart = $mainframe->getUserStateFromRequest( $option.'.limitstart', 'limitstart', 0, 'int' );
diff -ruN 17/administrator/components/com_weblinks/models/weblinks.php 18/administrator/components/com_weblinks/models/weblinks.php
--- 17/administrator/components/com_weblinks/models/weblinks.php	2010-04-23 13:40:12.000000000 +0200
+++ 18/administrator/components/com_weblinks/models/weblinks.php	2010-05-28 03:28:56.000000000 +0200
@@ -1,6 +1,6 @@
 <?php
 /**
- * @version		$Id: weblinks.php 14401 2010-01-26 14:10:00Z louis $
+ * @version		$Id: weblinks.php 17299 2010-05-27 16:06:54Z ian $
  * @package		Joomla
  * @subpackage	Content
  * @copyright	Copyright (C) 2005 - 2010 Open Source Matters. All rights reserved.
@@ -165,7 +165,10 @@
 		$filter_order		= $mainframe->getUserStateFromRequest( $option.'filter_order',		'filter_order',		'a.ordering',	'cmd' );
 		$filter_order_Dir	= $mainframe->getUserStateFromRequest( $option.'filter_order_Dir',	'filter_order_Dir',	'',				'word' );
 		$search				= $mainframe->getUserStateFromRequest( $option.'search',			'search',			'',				'string' );
-		$search				= JString::strtolower( $search );
+		if (strpos($search, '"') !== false) {
+			$search = str_replace(array('=', '<'), '', $search);
+		}
+		$search = JString::strtolower($search);
 
 		$where = array();
 
diff -ruN 17/administrator/components/com_weblinks/views/weblinks/tmpl/default.php 18/administrator/components/com_weblinks/views/weblinks/tmpl/default.php
--- 17/administrator/components/com_weblinks/views/weblinks/tmpl/default.php	2009-05-29 14:51:26.000000000 +0200
+++ 18/administrator/components/com_weblinks/views/weblinks/tmpl/default.php	2010-05-28 03:28:56.000000000 +0200
@@ -19,7 +19,7 @@
 <tr>
 	<td align="left" width="100%">
 		<?php echo JText::_( 'Filter' ); ?>:
-		<input type="text" name="search" id="search" value="<?php echo $this->lists['search'];?>" class="text_area" onchange="document.adminForm.submit();" />
+		<input type="text" name="search" id="search" value="<?php echo htmlspecialchars($this->lists['search']);?>" class="text_area" onchange="document.adminForm.submit();" />
 		<button onclick="this.form.submit();"><?php echo JText::_( 'Go' ); ?></button>
 		<button onclick="document.getElementById('search').value='';this.form.getElementById('filter_catid').value='0';this.form.getElementById('filter_state').value='';this.form.submit();"><?php echo JText::_( 'Reset' ); ?></button>
 	</td>
diff -ruN 17/administrator/components/com_weblinks/views/weblinks/view.html.php 18/administrator/components/com_weblinks/views/weblinks/view.html.php
--- 17/administrator/components/com_weblinks/views/weblinks/view.html.php	2010-04-23 13:40:12.000000000 +0200
+++ 18/administrator/components/com_weblinks/views/weblinks/view.html.php	2010-05-28 03:28:56.000000000 +0200
@@ -1,6 +1,6 @@
 <?php
 /**
-* @version		$Id: view.html.php 14401 2010-01-26 14:10:00Z louis $
+* @version		$Id: view.html.php 17299 2010-05-27 16:06:54Z ian $
 * @package		Joomla
 * @subpackage	Weblinks
 * @copyright	Copyright (C) 2005 - 2010 Open Source Matters. All rights reserved.
@@ -39,7 +39,10 @@
 		$filter_order		= $mainframe->getUserStateFromRequest( $option.'filter_order',		'filter_order',		'a.ordering',	'cmd' );
 		$filter_order_Dir	= $mainframe->getUserStateFromRequest( $option.'filter_order_Dir',	'filter_order_Dir',	'',				'word' );
 		$search				= $mainframe->getUserStateFromRequest( $option.'search',			'search',			'',				'string' );
-		$search				= JString::strtolower( $search );
+		if (strpos($search, '"') !== false) {
+			$search = str_replace(array('=', '<'), '', $search);
+		}
+		$search = JString::strtolower($search);
 
 		// Get data from the model
 		$items		= & $this->get( 'Data');
diff -ruN 17/administrator/includes/framework.php 18/administrator/includes/framework.php
--- 17/administrator/includes/framework.php	2010-04-27 03:31:16.000000000 +0200
+++ 18/administrator/includes/framework.php	2010-05-28 03:28:56.000000000 +0200
@@ -1,6 +1,6 @@
 <?php
 /**
-* @version		$Id: framework.php 16504 2010-04-26 17:32:35Z dextercowley $
+* @version		$Id: framework.php 17262 2010-05-25 15:11:15Z ian $
 * @package		Joomla
 * @copyright	Copyright (C) 2005 - 2010 Open Source Matters. All rights reserved.
 * @license		GNU/GPL, see LICENSE.php
diff -ruN 17/administrator/language/ca-ES/ca-ES.xml 18/administrator/language/ca-ES/ca-ES.xml
--- 17/administrator/language/ca-ES/ca-ES.xml	2010-04-27 18:52:18.000000000 +0200
+++ 18/administrator/language/ca-ES/ca-ES.xml	2010-05-29 01:41:10.000000000 +0200
@@ -3,8 +3,8 @@
 	<tag>ca-ES</tag>
 	<name>Catalan</name>
 	<description>Catalan language administrator pack for Joomla</description>
-	<version>1.5.17</version>
-	<creationDate>2010-04-27</creationDate>
+	<version>1.5.18</version>
+	<creationDate>2010-05-29</creationDate>
 	<author>Catalan Joomla Translation Team</author>
 	<authorUrl>www.joomla.cat</authorUrl>
 	<authorEmail>dverger@joomla.cat</authorEmail>
diff -ruN 17/administrator/language/es-ES/es-ES.xml 18/administrator/language/es-ES/es-ES.xml
--- 17/administrator/language/es-ES/es-ES.xml	2010-04-28 00:23:44.000000000 +0200
+++ 18/administrator/language/es-ES/es-ES.xml	2010-05-29 01:40:44.000000000 +0200
@@ -3,8 +3,8 @@
 	<tag>es-ES</tag>
 	<name>Español (spanish formal Internacional)</name>
 	<description>Idioma para usar en la parte administrativa de Joomla! 1.5. Creado por Joomla! Spanish - Traductor oficial asociado</description>
-	<version>1.5.17</version>
-	<creationDate>2010-04-27</creationDate>
+	<version>1.5.18</version>
+	<creationDate>2010-05-29</creationDate>
 	<author>Joomla! Spanish</author>
 	<authorUrl>www.joomlaspanish.org</authorUrl>
 	<authorEmail>extensiones@joomlaspanish.org</authorEmail>
diff -ruN 17/CHANGELOG.php 18/CHANGELOG.php
--- 17/CHANGELOG.php	2010-04-27 03:31:16.000000000 +0200
+++ 18/CHANGELOG.php	2010-05-28 03:28:52.000000000 +0200
@@ -1,6 +1,6 @@
 <?php
 /**
-* @version		$Id: CHANGELOG.php 16504 2010-04-26 17:32:35Z dextercowley $
+* @version		$Id: CHANGELOG.php 17301 2010-05-27 21:08:11Z ian $
 * @package		Joomla
 * @copyright	Copyright (C) 2005 - 2010 Open Source Matters. All rights reserved.
 * @license		GNU/GPL, see LICENSE.php
@@ -36,6 +36,12 @@
 - -> Removed
 ! -> Note
 
+-------------------- 1.5.18 Stable Release [27-May-2010] ------------------
+
+25-May-2010 Ian MacLennan
+ # [#20424] Revert issue 19859 (Graceful handling of Apache plugin failures)
+ ! [#19859] Reverted 19859.
+
 -------------------- 1.5.17 Stable Release [27-April-2010] ------------------
 
 26-Apr-2010 Mark Dexter
diff -ruN 17/includes/framework.php 18/includes/framework.php
--- 17/includes/framework.php	2010-04-27 03:31:16.000000000 +0200
+++ 18/includes/framework.php	2010-05-28 03:28:56.000000000 +0200
@@ -1,6 +1,6 @@
 <?php
 /**
-* @version		$Id: framework.php 16504 2010-04-26 17:32:35Z dextercowley $
+* @version		$Id: framework.php 17262 2010-05-25 15:11:15Z ian $
 * @package		Joomla
 * @copyright	Copyright (C) 2005 - 2010 Open Source Matters. All rights reserved.
 * @license		GNU/GPL, see LICENSE.php
diff -ruN 17/language/ca-ES/ca-ES.ini 18/language/ca-ES/ca-ES.ini
--- 17/language/ca-ES/ca-ES.ini	2010-04-27 18:22:00.000000000 +0200
+++ 18/language/ca-ES/ca-ES.ini	2010-05-29 01:30:36.000000000 +0200
@@ -216,8 +216,6 @@
 MAIL_FUNCTION_DISABLED=S'ha inhabilitat la funció mail() i no s'ha pogut enviar el correu.
 MAIL_MSG=Si us plau no respongueu a aquest missatge ja que s'ha generat automàticament i només té el propòsit d'informar.
 MAIL_MSG_ADMIN=Hola %s,\n\n\nUn usuari ha enviat %s:\n [ %s ]\nacaba de ser tramès per l'usuari:\n [ %s ]\nper a %s.\n\n\n\nSi us plau aneu a %s/%s per a visualitzar i aprovar aquest %s.
-MAIL_MSG_ADMIN_ERROR_SUBJECT=Hi ha un problema amb el lloc Joomla
-MAIL_MSG_ADMIN_ERROR=Quan s'intenta accedir a %s, es detecta un error amb el connector %s %s i aquest s'ha inhabilitat. Seguidament hi ha la descripció tècnica de l'error:
 MESSAGE=Missatge
 METHOD=Mètode
 METHOD NOT FOUND:=No s'ha trobat el mètode:
diff -ruN 17/language/ca-ES/ca-ES.xml 18/language/ca-ES/ca-ES.xml
--- 17/language/ca-ES/ca-ES.xml	2010-04-27 18:52:30.000000000 +0200
+++ 18/language/ca-ES/ca-ES.xml	2010-05-29 01:40:06.000000000 +0200
@@ -3,8 +3,8 @@
 	<tag>ca-ES</tag>
 	<name>Catalan</name>
 	<description>Catalan language site pack for Joomla</description>
-	<version>1.5.17</version>
-	<creationDate>2010-04-27</creationDate>
+	<version>1.5.18</version>
+	<creationDate>2010-05-29</creationDate>
 	<author>Catalan Joomla Translation Team</author>
 	<authorUrl>www.joomla.cat</authorUrl>
 	<authorEmail>dverger@joomla.cat</authorEmail>
diff -ruN 17/language/en-GB/en-GB.ini 18/language/en-GB/en-GB.ini
--- 17/language/en-GB/en-GB.ini	2010-04-27 03:31:16.000000000 +0200
+++ 18/language/en-GB/en-GB.ini	2010-05-28 03:28:56.000000000 +0200
@@ -214,8 +214,6 @@
 MAIL_FUNCTION_DISABLED=The mail() function has been disabled and the mail cannot be sent.
 MAIL_MSG=Please do not respond to this message as it is automatically generated and is for information purposes only.
 MAIL_MSG_ADMIN=Hello %s,\n\n\nA User submitted %s:\n [ %s ]\nhas been just submitted by User:\n [ %s ]\nfor %s.\n\n\n\nPlease go to %s/%s to view and approve this %s.\n\n
-MAIL_MSG_ADMIN_ERROR_SUBJECT=Problem with Joomla site
-MAIL_MSG_ADMIN_ERROR=When trying to access %s, an error was detected with %s plugin %s and it has been disabled. Technical error description follows:
 MESSAGE=Message
 METHOD=Method
 METHOD NOT FOUND:=Method not found:
diff -ruN 17/language/es-ES/es-ES.ini 18/language/es-ES/es-ES.ini
--- 17/language/es-ES/es-ES.ini	2010-04-28 00:45:14.000000000 +0200
+++ 18/language/es-ES/es-ES.ini	2010-05-29 01:27:16.000000000 +0200
@@ -214,8 +214,6 @@
 MAIL_FUNCTION_DISABLED=La función mail() ha sido desactivada y no se se puede enviar
 MAIL_MSG=Por favor no responda a este mensaje, ya que es generado de forma automática y es utilizado solamente para propósitos informativos.
 MAIL_MSG_ADMIN=Hola %s,\n\n\nEnvio de un usuario %s:\n [ %s ]\nha sido enviado por el usuario:\n [ %s ]\npara %s.\n\n\n\nPor favor vaya a %s/%s para revisar y aprobar este %s.
-MAIL_MSG_ADMIN_ERROR_SUBJECT=Problema con el sitio de Joomla
-MAIL_MSG_ADMIN_ERROR=Cuando se intenta acceder %s, un error se detectó con %s  plugin %s y ha sido deshabilitado. Descripción técnica del error siguiente:
 MESSAGE=Mensaje
 METHOD=Método
 METHOD NOT FOUND:=Método no encontrado:
diff -ruN 17/language/es-ES/es-ES.xml 18/language/es-ES/es-ES.xml
--- 17/language/es-ES/es-ES.xml	2010-04-28 00:23:16.000000000 +0200
+++ 18/language/es-ES/es-ES.xml	2010-05-29 01:39:26.000000000 +0200
@@ -3,8 +3,8 @@
 	<tag>es-ES</tag>
 	<name>Español (spanish formal Internacional)</name>
 	<description>Idioma creado por Joomla! Spanish para Joomla 1.5 zona frontal - Traductor oficial asociado</description>
-	<version>1.5.17</version>
-	<creationDate>2010-04-27</creationDate>
+	<version>1.5.18</version>
+	<creationDate>2010-05-29</creationDate>
 	<author>Joomla! Spanish</author>
 	<authorUrl>www.joomlaspanish.org</authorUrl>
 	<authorEmail>extensiones@joomlaspanish.org</authorEmail>
diff -ruN 17/libraries/joomla/plugin/helper.php 18/libraries/joomla/plugin/helper.php
--- 17/libraries/joomla/plugin/helper.php	2010-04-27 03:31:16.000000000 +0200
+++ 18/libraries/joomla/plugin/helper.php	2010-05-28 03:28:56.000000000 +0200
@@ -1,6 +1,6 @@
 <?php
 /**
-* @version		$Id: helper.php 16503 2010-04-26 17:17:33Z dextercowley $
+* @version		$Id: helper.php 17261 2010-05-25 15:06:51Z ian $
 * @package		Joomla.Framework
 * @subpackage	Plugin
 * @copyright	Copyright (C) 2005 - 2010 Open Source Matters. All rights reserved.
@@ -111,29 +111,10 @@
 	function _import( &$plugin, $autocreate = true, $dispatcher = null )
 	{
 		static $paths;
-		static $shutdown_handler_installed;
-		$mainframe =& JFactory::getApplication();
 
 		if (!$paths) {
 			$paths = array();
 		}
-	
-		// Install shutdown handler if not installed yet
-		if(!$shutdown_handler_installed)
-		{
-			// only register the shutdown function if we are capable of checking the errors (reqs PHP 5.2+)
-			if (version_compare("5.2", phpversion(), "<="))
-			{
-				// you can only register a static method if it is declared static
-				// we can't declare static b/c it breaks on PHP4
-				// therefore we instantiate the helper for this one purpose
-				$pluginHelper = new JPluginHelper;
-				register_shutdown_function(array($pluginHelper, 'shutdown'));
-			}
-			// we may not have installed the handler, but setting this to true
-			// will prevent us from continually running the version compare
-			$shutdown_handler_installed = true;
-		}
 
 		$result	= false;
 		$plugin->type = preg_replace('/[^A-Z0-9_\.-]/i', '', $plugin->type);
@@ -149,7 +130,6 @@
 				global $_MAMBOTS, $mainframe;
 
 				jimport('joomla.plugin.plugin');
-				$mainframe->set('currentPlugin', $plugin);
 				require_once( $path );
 				$paths[$path] = true;
 
@@ -168,10 +148,12 @@
 
 						// create the plugin
 						$instance = new $className($dispatcher, (array)($plugin));
-						
 					}
 				}
-				$mainframe->set('currentPlugin', NULL);
+			}
+			else
+			{
+				$paths[$path] = false;
 			}
 		}
 	}
@@ -220,89 +202,4 @@
 		return $plugins;
 	}
 
-	/**
-	 * Shutdown handler called by PHP when executing plugin produces a fatal error
-	 * Only runs in PHP 5.2+, don't call it without checking version first
-	 *
-	 * @access public
-	 */
-	function shutdown()
-	{
-		global $mainframe;
-		$currentPlugin = $mainframe->get('currentPlugin', NULL);
-
-		if($currentPlugin)
-		{
-			$error = error_get_last();
-			if($error['type'] == E_ERROR || $error['type'] == E_PARSE || $error['type'] == E_COMPILE_ERROR)
-			{
-
-				$disabled = false;
-				$cfg =& JFactory::getConfig();
-
-				/* If not in debug mode, attempt to disable the plugin */
-				if(!$cfg->getValue('config.debug'))
-				{
-					$db =& JFactory::getDBO();
-					$q = 'UPDATE #__plugins SET `published`=0 WHERE `folder`=' . $db->quote($currentPlugin->type) . 
-						 'AND `element`=' . $db->quote($currentPlugin->name) .
-						 'LIMIT 1';
-					$db->setQuery($q);
-					$disabled = $db->query();
-
-					/* Following code is based on com_weblinks */
-
-					// admin users gid
-					$gid = 25;
-
-					// list of admins
-					$query = 'SELECT email, name' .
-							' FROM #__users' .
-							' WHERE gid = ' . $gid .
-							' AND sendEmail = 1';
-					$db->setQuery($query);
-					if ($db->query()) 
-					{
-						$adminRows = $db->loadObjectList();
-						$mail =& JFactory::getMailer();
-
-						// send email notification to admins
-						foreach ($adminRows as $adminRow) 
-						{
-							$mail->addRecipient($adminRow->email, $adminRow->name);
-						}
-
-						$uri = JURI::getInstance();
-						$mail->setSubject(JText::sprintf('MAIL_MSG_ADMIN_ERROR_SUBJECT'), $uri->getHost());
-
-						$body = JText::sprintf(
-							'MAIL_MSG_ADMIN_ERROR', 
-							JURI::current(), $currentPlugin->type, $currentPlugin->name);
-						$body .= "\n";
-						$body .= "\n" . $error['message'];
-						$body .= "\n" . $error['file'] . ' : ' . $error['line'];
-						$mail->setBody($body);
-
-						$mail->send();
-					}
-				}
-
-				if($disabled)
-				{
-					$app = JFactory::getApplication();
-					$app->redirect(JURI::current());
-				}
-				else
-				{
-					JError::raise(
-							$error['type'], 
-							500, 
-							JText::sprintf('Error loading %s plugin "%s"', $currentPlugin->type, $currentPlugin->name),
-							JText::sprintf('%s : %d', $error['file'], $error['line']), 
-							$currentPlugin
-							);
-				}
-			}
-		}
-	}
 }
diff -ruN 17/libraries/joomla/plugin/helper-php4.php 18/libraries/joomla/plugin/helper-php4.php
--- 17/libraries/joomla/plugin/helper-php4.php	2010-04-25 00:54:24.000000000 +0200
+++ 18/libraries/joomla/plugin/helper-php4.php	1970-01-01 01:00:00.000000000 +0100
@@ -1,205 +0,0 @@
-<?php
-/**
-* @version		$Id: helper.php 10707 2008-08-21 09:52:47Z eddieajau $
-* @package		Joomla.Framework
-* @subpackage	Plugin
-* @copyright	Copyright (C) 2005 - 2008 Open Source Matters. All rights reserved.
-* @license		GNU/GPL, see LICENSE.php
-* Joomla! is free software. This version may have been modified pursuant
-* to the GNU General Public License, and as distributed it includes or
-* is derivative of works licensed under the GNU General Public License or
-* other free or open source software licenses.
-* See COPYRIGHT.php for copyright notices and details.
-*/
-
-// Check to ensure this file is within the rest of the framework
-defined('JPATH_BASE') or die();
-
-/**
-* Plugin helper class
-*
-* @static
-* @package		Joomla.Framework
-* @subpackage	Plugin
-* @since		1.5
-*/
-class JPluginHelper
-{
-	/**
-	 * Get the plugin data of a specific type if no specific plugin is specified
-	 * otherwise only the specific plugin data is returned
-	 *
-	 * @access public
-	 * @param string 	$type 	The plugin type, relates to the sub-directory in the plugins directory
-	 * @param string 	$plugin	The plugin name
-	 * @return mixed 	An array of plugin data objects, or a plugin data object
-	 */
-	function &getPlugin($type, $plugin = null)
-	{
-		$result = array();
-
-		$plugins = JPluginHelper::_load();
-
-		$total = count($plugins);
-		for($i = 0; $i < $total; $i++)
-		{
-			if(is_null($plugin))
-			{
-				if($plugins[$i]->type == $type) {
-					$result[] = $plugins[$i];
-				}
-			}
-			else
-			{
-				if($plugins[$i]->type == $type && $plugins[$i]->name == $plugin) {
-					$result = $plugins[$i];
-					break;
-				}
-			}
-
-		}
-
-		return $result;
-	}
-
-	/**
-	 * Checks if a plugin is enabled
-	 *
-	 * @access	public
-	 * @param string 	$type 	The plugin type, relates to the sub-directory in the plugins directory
-	 * @param string 	$plugin	The plugin name
-	 * @return	boolean
-	 */
-	function isEnabled( $type, $plugin = null )
-	{
-		$result = &JPluginHelper::getPlugin( $type, $plugin);
-		return (!empty($result));
-	}
-
-	/**
-	* Loads all the plugin files for a particular type if no specific plugin is specified
-	* otherwise only the specific pugin is loaded.
-	*
-	* @access public
-	* @param string 	$type 	The plugin type, relates to the sub-directory in the plugins directory
-	* @param string 	$plugin	The plugin name
-	* @return boolean True if success
-	*/
-	function importPlugin($type, $plugin = null, $autocreate = true, $dispatcher = null)
-	{
-		$result = false;
-
-		$plugins = JPluginHelper::_load();
-
-		$total = count($plugins);
-		for($i = 0; $i < $total; $i++) {
-			if($plugins[$i]->type == $type && ($plugins[$i]->name == $plugin ||  $plugin === null)) {
-				JPluginHelper::_import( $plugins[$i], $autocreate, $dispatcher );
-				$result = true;
-			}
-		}
-
-		return $result;
-	}
-
-	/**
-	 * Loads the plugin file
-	 *
-	 * @access private
-	 * @return boolean True if success
-	 */
-	function _import( &$plugin, $autocreate = true, $dispatcher = null )
-	{
-		static $paths;
-
-		if (!$paths) {
-			$paths = array();
-		}
-
-		$result	= false;
-		$plugin->type = preg_replace('/[^A-Z0-9_\.-]/i', '', $plugin->type);
-		$plugin->name  = preg_replace('/[^A-Z0-9_\.-]/i', '', $plugin->name);
-
-		$path	= JPATH_PLUGINS.DS.$plugin->type.DS.$plugin->name.'.php';
-
-		if (!isset( $paths[$path] ))
-		{
-			if (file_exists( $path ))
-			{
-				//needed for backwards compatibility
-				global $_MAMBOTS, $mainframe;
-
-				jimport('joomla.plugin.plugin');
-				require_once( $path );
-				$paths[$path] = true;
-
-				if($autocreate)
-				{
-					// Makes sure we have an event dispatcher
-					if(!is_object($dispatcher)) {
-						$dispatcher = & JDispatcher::getInstance();
-					}
-
-					$className = 'plg'.$plugin->type.$plugin->name;
-					if(class_exists($className))
-					{
-						// load plugin parameters
-						$plugin =& JPluginHelper::getPlugin($plugin->type, $plugin->name);
-
-						// create the plugin
-						$instance = new $className($dispatcher, (array)($plugin));
-					}
-				}
-			}
-			else
-			{
-				$paths[$path] = false;
-			}
-		}
-	}
-
-	/**
-	 * Loads the published plugins
-	 *
-	 * @access private
-	 */
-	function _load()
-	{
-		static $plugins;
-
-		if (isset($plugins)) {
-			return $plugins;
-		}
-
-		$db		=& JFactory::getDBO();
-		$user	=& JFactory::getUser();
-
-		if (isset($user))
-		{
-			$aid = $user->get('aid', 0);
-
-			$query = 'SELECT folder AS type, element AS name, params'
-				. ' FROM #__plugins'
-				. ' WHERE published >= 1'
-				. ' AND access <= ' . (int) $aid
-				. ' ORDER BY ordering';
-		}
-		else
-		{
-			$query = 'SELECT folder AS type, element AS name, params'
-				. ' FROM #__plugins'
-				. ' WHERE published >= 1'
-				. ' ORDER BY ordering';
-		}
-
-		$db->setQuery( $query );
-
-		if (!($plugins = $db->loadObjectList())) {
-			JError::raiseWarning( 'SOME_ERROR_CODE', "Error loading Plugins: " . $db->getErrorMsg());
-			return false;
-		}
-
-		return $plugins;
-	}
-
-}
diff -ruN 17/libraries/joomla/version.php 18/libraries/joomla/version.php
--- 17/libraries/joomla/version.php	2010-04-27 03:31:16.000000000 +0200
+++ 18/libraries/joomla/version.php	2010-05-28 03:28:56.000000000 +0200
@@ -1,6 +1,6 @@
 <?php
 /**
- * @version		$Id: version.php 16503 2010-04-26 17:17:33Z dextercowley $
+ * @version		$Id: version.php 17299 2010-05-27 16:06:54Z ian $
  * @package	Joomla.Framework
  * @copyright	Copyright (C) 2005 - 2010 Open Source Matters. All rights reserved.
  * @license		GNU/GPL, see LICENSE.php
@@ -26,15 +26,15 @@
 	/** @var string Development Status */
 	var $DEV_STATUS = 'Stable';
 	/** @var int Sub Release Level */
-	var $DEV_LEVEL 	= '17';
+	var $DEV_LEVEL 	= '18';
 	/** @var int build Number */
 	var $BUILD	= '';
 	/** @var string Codename */
-	var $CODENAME 	= 'Wojmamni ama woobusani';
+	var $CODENAME 	= 'wojmamni ama wojnaiki';
 	/** @var string Date */
-	var $RELDATE 	= '27-April-2010';
+	var $RELDATE 	= '27-May-2010';
 	/** @var string Time */
-	var $RELTIME 	= '04:00';
+	var $RELTIME 	= '18:00';
 	/** @var string Timezone */
 	var $RELTZ 	= 'GMT';
 	/** @var string Copyright Text */
