Index: install/english.lang
===================================================================
--- install/english.lang (revision 14719)
+++ install/english.lang (working copy)
@@ -171,6 +171,7 @@
VGVtcGxhdGUgZm9yICJJbnN1ZmZpY2llbnQgUGVybWlzc2lvbnMiIEVycm9y
R1pJUCBjb21wcmVzc2lvbiBsZXZlbCAwLTk=
UGF0aCB0byBXZWJzaXRl
+ UGVyZm9ybSBFeGFjdCBTZWFyY2g=
Q29tbWVudHMgcGVyIHBhZ2U=
UXVpY2sgU2VjdGlvbiBQZXJtaXNzaW9uIFJlYnVpbGQ=
IlJlY3ljbGUgQmluIiBTZWN0aW9uSWQ=
@@ -629,6 +630,7 @@
SW1hZ2UgRmlsZXM=
TXVsdGlwbGUgTWVtY2FjaGVkIHNlcnZlcnMgY2FuIGJlIGxpc3RlZCBzZXBhcmF0ZWQgYnkgc2VtaS1jb2xvbiAoOykuIEZvciBleGFtcGxlLCAxOTIuMTY4LjEuMToxMTIxOzE5Mi4xNjguMS4yOjExMjE7MTkyLjE2OC4xLjM6MTEyMQ==
SG93IHNvb24gKGluIHNlY29uZHMpIHRoZSBzZWN0aW9uIGNhY2hlIHNob3VsZCBhdXRvLWV4cGlyZSBhZnRlciBpdCdzIGNyZWF0aW9uLiBCeSBkZWZhdWx0IHN5c3RlbSB0ZW5kcyB0byByZWJ1aWxkIHRoZSBjYWNoZSBvbmx5IHdoZW4gaXQncyBwcm9wZXJ0aWVzIG9yIGVsZW1lbnRzIGhhdmUgY2hhbmdlZC4=
+ U2VhcmNoIGZvciBhbGwgZW50ZXJlZCBrZXl3b3JkcywgaW5zdGVhZCBvZiBhbnkgb25lIG9mIHRoZW0=
UE9QMyBTZXJ2ZXIgUG9ydC4gRm9yIGV4LiAiMTEwIiBmb3IgcmVndWxhciBjb25uZWN0aW9uLCAiOTk1IiBmb3Igc2VjdXJlIGNvbm5lY3Rpb24u
UE9QMyBTZXJ2ZXIgQWRkcmVzcy4gRm9yIGV4LiB1c2UgInNzbDovL3BvcC5nbWFpbC5jb20iIGZvciBHbWFpbCwgInBvcC5tYWlsLnlhaG9vLmNvbSIgZm9yIFlhaG9vLg==
aHR0cHM6Ly93d3cuZG9tYWluLmNvbS9wYXRo
Index: install/install_data.sql
===================================================================
--- install/install_data.sql (revision 14719)
+++ install/install_data.sql (working copy)
@@ -132,6 +132,8 @@
INSERT INTO ConfigurationValues VALUES(DEFAULT, 'CategoriesRebuildSerial', '0', 'In-Portal', '', '', '', '', NULL, NULL, 0, 0, 0, NULL);
+INSERT INTO ConfigurationValues VALUES (DEFAULT, 'PerformExactSearch', '1', 'In-Portal', 'in-portal:configure_advanced', 'la_section_SettingsWebsite', 'la_config_PerformExactSearch', 'checkbox', '', '', '10.10', '0', '0', 'la_hint_PerformExactSearch');
+
INSERT INTO ItemTypes VALUES (1, 'In-Portal', 'c', 'Category', 'Name', 'CreatedById', NULL, NULL, 'la_ItemTab_Categories', 1, 'admin/category/addcategory.php', 'clsCategory', 'Category');
INSERT INTO ItemTypes VALUES (6, 'In-Portal', 'u', 'PortalUser', 'Login', 'PortalUserId', NULL, NULL, '', 0, '', 'clsPortalUser', 'User');
Index: install/upgrades.sql
===================================================================
--- install/upgrades.sql (revision 14719)
+++ install/upgrades.sql (working copy)
@@ -2193,3 +2193,5 @@
UPDATE ConfigurationValues
SET DisplayOrder = DisplayOrder + 0.01
WHERE `Section` = 'in-portal:configure_advanced' AND Heading = 'la_section_SettingsWebsite';
+
+INSERT INTO ConfigurationValues VALUES (DEFAULT, 'PerformExactSearch', '1', 'In-Portal', 'in-portal:configure_advanced', 'la_section_SettingsWebsite', 'la_config_PerformExactSearch', 'checkbox', '', '', '10.10', '0', '0', 'la_hint_PerformExactSearch');
Index: units/helpers/search_helper.php
===================================================================
--- units/helpers/search_helper.php (revision 14719)
+++ units/helpers/search_helper.php (working copy)
@@ -18,6 +18,20 @@
/**
+ * Perform Exact Search flag
+ *
+ * @var bool
+ */
+ protected $_perform_exact_search = true;
+
+ public function __construct()
+ {
+ parent::__construct();
+
+ $this->_perform_exact_search = $this->Application->ConfigValue('PerformExactSearch');
+ }
+
+ /**
* Splits search phrase into keyword using quotes,plus and minus sings and spaces as split criteria
*
* @param string $keyword
@@ -50,6 +64,14 @@
$final[$kw] = $res[1][$index];
}
+ if ($this->_perform_exact_search) {
+ foreach ($final AS $kw => $plus_minus) {
+ if (!$plus_minus) {
+ $final[$kw] = '+';
+ }
+ }
+ }
+
return $final;
}