Index: trunk/kernel/searchaction.php
===================================================================
diff -u -r724 -r836
--- trunk/kernel/searchaction.php (.../searchaction.php) (revision 724)
+++ trunk/kernel/searchaction.php (.../searchaction.php) (revision 836)
@@ -35,6 +35,19 @@
$objSession->SetVariable("UserSearchWord","");
$objSession->SetVariable("Page_Userlist",1);
break;
+
+ case "m_usergroup_search": /* user list */
+ $searchlist = trim($objSession->GetVariable("UserGroupSearchWord"));
+ if(strlen($searchlist)>0)
+ $searchlist = ",";
+ $searchlist = $_POST["list_search"];
+ $objSession->SetVariable("UserGroupSearchWord",$searchlist);
+ $objSession->SetVariable("Page_Userlist",1);
+ break;
+ case "m_usergroup_search_reset": /*user list */
+ $objSession->SetVariable("UserGroupSearchWord","");
+ $objSession->SetVariable("Page_Userlist",1);
+ break;
case "m_summary_search": /* summary list */
$searchlist = trim($objSession->GetVariable("UserSearchWord"));
@@ -208,5 +221,29 @@
$objSession->SetVariable("EmailsLSearchWord","");
$objSession->SetVariable("Page_EmailsL",1);
break;
+
+ case 'm_searchword_search':
+ $searchlist = trim( $objSession->GetVariable("KeywordSearchWord") );
+ if(strlen($searchlist) > 0) $searchlist = ",";
+ $searchlist = $_POST["list_search"];
+ $objSession->SetVariable("KeywordSearchWord",$searchlist);
+ $objSession->SetVariable("Page_SearchLog",1);
+ break;
+ case 'm_searchword_search_reset':
+ $objSession->SetVariable("KeywordSearchWord","");
+ $objSession->SetVariable("Page_SearchLog",1);
+ break;
+
+ case 'm_session_search':
+ $searchlist = trim( $objSession->GetVariable("SessionSearchWord") );
+ if(strlen($searchlist) > 0) $searchlist = ",";
+ $searchlist = $_POST["list_search"];
+ $objSession->SetVariable("SessionSearchWord",$searchlist);
+ $objSession->SetVariable("Page_Sessionlist",1);
+ break;
+ case 'm_session_search_reset':
+ $objSession->SetVariable("SessionSearchWord","");
+ $objSession->SetVariable("Page_Sessionlist",1);
+ break;
}
?>
Index: trunk/tools/debug_sample.php
===================================================================
diff -u -r821 -r836
--- trunk/tools/debug_sample.php (.../debug_sample.php) (revision 821)
+++ trunk/tools/debug_sample.php (.../debug_sample.php) (revision 836)
@@ -31,6 +31,9 @@
define('DEBUG_MODE', 1); // global debugging
define('DEBUG_ACTIONS', KERNEL_ACTIONS + SHOW_REQUEST + FRONT_KERNEL_ACTIONS + FRONT_SHOW_REQUEST);
//define('DEBUG_HELP', 1); // allow to add missing help
+
+ // For local license testing
+ define('GET_LICENSE_URL', 'http://maris.prod.intechnic.lv/in-business/license.php');
if( defined('DEBUG_MODE') && constant('DEBUG_MODE') == 1 )
{
Index: trunk/admin/logs/searchlog.php
===================================================================
diff -u -r822 -r836
--- trunk/admin/logs/searchlog.php (.../searchlog.php) (revision 822)
+++ trunk/admin/logs/searchlog.php (.../searchlog.php) (revision 836)
@@ -140,7 +140,7 @@
$SearchWords = $objSession->GetVariable("KeywordSearchWord");
if(strlen($SearchWords))
{
- $where = $objSearchWords->AdminSearchWhereClause($SearchWords);
+ $where = $objSearchList->AdminSearchWhereClause($SearchWords);
}
else
$where = "";
Index: trunk/admin/users/adduser_items.php
===================================================================
diff -u -r822 -r836
--- trunk/admin/users/adduser_items.php (.../adduser_items.php) (revision 822)
+++ trunk/admin/users/adduser_items.php (.../adduser_items.php) (revision 836)
@@ -107,9 +107,6 @@
$itemcount=$objEditItems->NumItems();
$c = $objEditItems->GetItemByIndex($en);
-$objImageList = new clsImageList();
-$objImageList->Query_Images("ResourceId=".$c->Get("ResourceId"),"");
-
if($itemcount>1)
{
if ($en+1 == $itemcount)
@@ -161,7 +158,8 @@
$filter = false; // always initialize variables before use
-if ($UserView != $Bit_All) {
+
+if ($ItemView != $Bit_All) {
$filter = true;
}
Index: trunk/kernel/frontaction.php
===================================================================
diff -u -r827 -r836
--- trunk/kernel/frontaction.php (.../frontaction.php) (revision 827)
+++ trunk/kernel/frontaction.php (.../frontaction.php) (revision 836)
@@ -767,26 +767,58 @@
$keywords = $_POST["keywords"];
$type = $objItemTypes->GetTypeByName("Category");
$objSearch = new clsSearchResults("Category","clsCategory");
+ $length = $objConfig->Get('Search_MinKeyword_Length');
if(strlen($keywords))
- {
- $objSearchList = new clsSearchLogList();
- $objSearchList->UpdateKeyword($keywords,0);
+ {
+ $performSearch = false;
+ $isExact = (substr($keywords, 0, 1) == '"' && substr($keywords, strlen($keywords) - 1, 1) == '"');
- $objSearch->SetKeywords($keywords);
- $objSearch->AddSimpleFields();
- if(is_numeric($objConfig->Get("SearchRel_Pop_category")))
- $objSearch->PctPop = ($objConfig->Get("SearchRel_Pop_category")/100);
- if(is_numeric($objConfig->Get("SearchRel_Keyword_category")))
- $objSearch->PctRelevance = ($objConfig->Get("SearchRel_Keyword_category")/100);
- if(is_numeric($objConfig->Get("SearchRel_Rating_article")))
- $objSearch->PctRating = ($objConfig->Get("SearchRel_Rating_category")/100);
-
- //echo "Searching On $keywords
\n";
- $objSearch->PerformSearch(1,$SortOrder,TRUE);
- $SearchPerformed = TRUE;
- //$objSearch->SetRelevence($type->Get("ItemType"), "CategoryId");
- //echo "Finished Setting Category Relevence
\n";
+ if ($isExact) {
+ $performSearch = (strlen(trim(str_replace('"', '', $keywords))) >= $length);
+ }
+ else {
+ $key_arr = explode(' ', $keywords);
+
+ foreach($key_arr as $value) {
+ if (strlen($value) < $length) {
+ $keywords = str_replace(' '.$value, '', $keywords);
+ $keywords = str_replace($value.' ', '', $keywords);
+ }
+ }
+
+ $keywords = str_replace(' ', ' ', $keywords);
+
+ $performSearch = (strlen($keywords) >= $length);
+ }
+
+ if ($performSearch) {
+ $objSearchList = new clsSearchLogList();
+ $objSearchList->UpdateKeyword($keywords,0);
+
+ $objSearch->SetKeywords($keywords);
+ $objSearch->AddSimpleFields();
+ if(is_numeric($objConfig->Get("SearchRel_Pop_category")))
+ $objSearch->PctPop = ($objConfig->Get("SearchRel_Pop_category")/100);
+ if(is_numeric($objConfig->Get("SearchRel_Keyword_category")))
+ $objSearch->PctRelevance = ($objConfig->Get("SearchRel_Keyword_category")/100);
+ if(is_numeric($objConfig->Get("SearchRel_Rating_article")))
+ $objSearch->PctRating = ($objConfig->Get("SearchRel_Rating_category")/100);
+
+ //echo "Searching On $keywords
\n";
+ $objSearch->PerformSearch(1,$SortOrder,TRUE);
+ $SearchPerformed = TRUE;
+ //$objSearch->SetRelevence($type->Get("ItemType"), "CategoryId");
+ //echo "Finished Setting Category Relevence
\n";
+ }
+ else {
+ if(strlen($_GET["Error"])>0)
+ $var_list["t"] = $_GET["Error"];
+
+ $MissingCount = SetMissingDataErrors("m_simplesearch");
+ $MissingCount++;
+ $FormError["m_simplesearch"]["keywords"] = language("lu_keywords_tooshort");
+ }
}
else
{
@@ -853,8 +885,32 @@
$keywords = $_POST["keywords"];
$type = $objItemTypes->GetTypeByName("Category");
$objSearch = new clsSearchResults("Category","clsCategory");
+ $length = $objConfig->Get('Search_MinKeyword_Length');
+
if(strlen($keywords))
- {
+ {
+ $performSearch = false;
+ $isExact = (substr($keywords, 0, 1) == '"' && substr($keywords, strlen($keywords) - 1, 1) == '"');
+
+ if ($isExact) {
+ $performSearch = (strlen(trim(str_replace('"', '', $keywords))) >= $length);
+ }
+ else {
+ $key_arr = explode(' ', $keywords);
+
+ foreach($key_arr as $value) {
+ if (strlen($value) < $length) {
+ $keywords = str_replace(' '.$value, '', $keywords);
+ $keywords = str_replace($value.' ', '', $keywords);
+ }
+ }
+
+ $keywords = str_replace(' ', ' ', $keywords);
+
+ $performSearch = (strlen($keywords) >= $length);
+ }
+
+ if ($performSearch) {
$objSearchList = new clsSearchLogList();
$objSearchList->UpdateKeyword($keywords,0);
@@ -874,6 +930,12 @@
//$objSearch->SetRelevence($type->Get("ItemType"), "CategoryId");
}
$SearchPerformed = TRUE;
+ }
+ else {
+ $MissingCount = SetMissingDataErrors("m_simplesearch");
+ $MissingCount++;
+ $FormError["m_simplesearch"]["keywords"] = language("lu_keywords_tooshort");
+ }
}
else {
$MissingCount = SetMissingDataErrors("m_simplesearch");
Index: trunk/admin/install/upgrades/inportal_upgrade_v1.0.10.sql
===================================================================
diff -u -r811 -r836
--- trunk/admin/install/upgrades/inportal_upgrade_v1.0.10.sql (.../inportal_upgrade_v1.0.10.sql) (revision 811)
+++ trunk/admin/install/upgrades/inportal_upgrade_v1.0.10.sql (.../inportal_upgrade_v1.0.10.sql) (revision 836)
@@ -1,5 +1,8 @@
-ALTER TABLE Category DROP INDEX ResourceId, ADD UNIQUE ResourceId (ResourceId);
-ALTER TABLE PortalGroup DROP INDEX ResourceId, ADD UNIQUE ResourceId (ResourceId);
-ALTER TABLE PortalUser DROP INDEX ResourceId, ADD UNIQUE ResourceId (ResourceId);
-
+ALTER TABLE Category DROP INDEX ResourceId, ADD UNIQUE ResourceId (ResourceId);
+ALTER TABLE PortalGroup DROP INDEX ResourceId, ADD UNIQUE ResourceId (ResourceId);
+ALTER TABLE PortalUser DROP INDEX ResourceId, ADD UNIQUE ResourceId (ResourceId);
+
+INSERT INTO ConfigurationValues VALUES ('Search_MinKeyword_Length', '3', 'In-Portal', '');
+
+
UPDATE Modules SET Version = '1.0.10' WHERE Name = 'In-Portal';
\ No newline at end of file
Index: trunk/admin/install/inportal_data.sql
===================================================================
diff -u -r796 -r836
--- trunk/admin/install/inportal_data.sql (.../inportal_data.sql) (revision 796)
+++ trunk/admin/install/inportal_data.sql (.../inportal_data.sql) (revision 836)
@@ -151,6 +151,7 @@
INSERT INTO ConfigurationValues VALUES ('EmailsL_SortField', 'time_sent', 'In-Portal', '');
INSERT INTO ConfigurationValues VALUES ('Perpage_EmailsL', '20', 'In-Portal', '');
INSERT INTO ConfigurationValues VALUES ('Perpage_CustomData', '20', 'In-Portal', '');
+INSERT INTO ConfigurationValues VALUES ('Search_MinKeyword_Length', '3', 'In-Portal', '');
INSERT INTO Events VALUES (30, 'USER.ADD', 1, 0, 'In-Portal:Users', 'la_event_user.add', 0)
INSERT INTO Events VALUES (32, 'USER.ADD', 2, 0, 'In-Portal:Users', 'la_event_user.add', 1)
Index: trunk/kernel/include/itemdb.php
===================================================================
diff -u -r826 -r836
--- trunk/kernel/include/itemdb.php (.../itemdb.php) (revision 826)
+++ trunk/kernel/include/itemdb.php (.../itemdb.php) (revision 836)
@@ -162,8 +162,9 @@
$var = "m_" . $name[$i];
if( !$this->HasField($name[$i]) || ($this->Data[$name[$i]] != $value[$i]))
{
+ $this->DetectChanges($name[$i], $value[$i]);
$this->Data[$name[$i]] = $value[$i];
- $this->m_dirtyFieldsMap[$name[$i]] = $value[$i];
+ $this->m_dirtyFieldsMap[$name[$i]] = $value[$i];
}
}
}
@@ -172,6 +173,7 @@
$var = "m_" . $name;
if( !$this->HasField($name) || $this->Data[$name] != $value )
{
+ $this->DetectChanges($name, $value);
$this->Data[$name] = $value;
$this->m_dirtyFieldsMap[$name] = $value;
}
@@ -270,8 +272,6 @@
$sql = "UPDATE ".$this->tablename ." SET ";
$first = 1;
- $this->DetectChanges();
-
foreach ($this->m_dirtyFieldsMap as $key => $value)
{
if(!is_numeric($key) && $key != $this->IdField() && $key!='ResourceId')
@@ -374,17 +374,17 @@
return $sql;
}
- function DetectChanges()
+ function DetectChanges($name, $value)
{
global $objSession;
-//print_pre($this->m_dirtyFieldsMap);
- foreach ($this->m_dirtyFieldsMap as $key => $value) {
- //if ($this->Data[$key] != $this->m_dirtyFieldsMap[$key]) {
- if ((!strstr($key, 'Modif') && $key != 'CreatedOn')) {
- $objSession->SetVariable("HasChanges", 1);
- }
- //}
- }
+ //print_pre($_POST);
+ //echo "$name: $value
";
+ if ($this->Data[$name] != $value && !strstr($name, 'Modif') && !strstr($name, 'Created')) {
+ //echo "$name Modified ".$this->Data[$name]." $value
";
+ if (!strstr($name, 'Hot') && !strstr($name, 'Pop')) {
+ $objSession->SetVariable("HasChanges", 1);
+ }
+ }
}
function Create()
@@ -409,7 +409,6 @@
$this->SetUniqueId($this->adodbConnection->Insert_ID());
- $this->DetectChanges();
/*if ($this->adodbConnection->Affected_Rows() > 0) {
$objSession->SetVariable("HasChanges", 1);
} */