setHTMLByIndex(1,'Front Action: '.$Action.'','append'); echo 'Show Debugger
'; } // ====== Debugger related: end ====== switch($Action) { case "m_login": // if($objSession->ValidSession()) $objSession->Logout(); //echo $objSession->GetSessionKey()."
\n"; if ($objConfig->Get("CookieSessions") == 1 && $_COOKIE["CookiesTest"] != "1") { $FormError["login"]["login_user"] = language("lu_cookies_error"); } else { $MissingCount = SetMissingDataErrors("login"); if($MissingCount==2) { $FormError["login"]["login_user"]= language("lu_ferror_loginboth"); unset($FormError["login"]["login_password"]); } if($MissingCount==0) { if($_POST["login_user"]=="root") { $FormError["login"]["login_user"]= language("lu_access_denied"); } else { $LoginCheck = $objSession->Login( $_POST["login_user"], md5($_POST["login_password"]) ); if($LoginCheck === true) { if( !headers_sent() && GetVar('usercookie') == 1 ) { $c = $_POST["login_user"]."|"; $pw = $_POST["login_password"]; if(strlen($pw) < 31) $pw = md5($pw); $c .= $pw; setcookie("login",$c,time()+2592000); } // set new destination template if passed $dest = GetVar('dest', true); if(!$dest) $dest = GetVar('DestTemplate', true); if($dest) $var_list['t'] = $dest; } else { switch($LoginCheck) { case -1: // user or/and pass wrong $FormError["login"]["login_password"] = language("lu_incorrect_login"); break; case -2: // user ok, but has no permission $FormError["login"]["login_password"] = language("la_text_nopermissions"); break; } } } } } break; case "m_resetpw": $passed_arr = explode(';', base64_decode($_GET['user_key'])); $found = false; $u = $objUsers->GetItemByField("Email", $passed_arr[1]); if(is_object($u)) { $found = ($u->Get("PortalUserId")==$passed_arr[0] && $u->Get("Status")==1) && strlen($u->Get("Password")); } if($found) { $newpw = makepassword(); $objSession->Set('password', $newpw); $u->Set("Password",$newpw); $u->Set("PassResetTime", time()); $u->Update(); $u->SendUserEventMail("USER.PSWD",$u->Get("PortalUserId")); $u->SendAdminEventMail("USER.PSWD"); $u->Set("Password",md5($newpw)); $u->Update(); $u->Clean(); } break; case "m_forgotpw": $MissingCount = SetMissingDataErrors("forgotpw"); $pass_reset_add = $objConfig->Get("Users_AllowReset"); if($MissingCount==0) { $username = $_POST["username"]; $email = $_POST["email"]; $found = FALSE; if(strlen($username)) { $u = $objUsers->GetItemByField("Login",$username); if(is_object($u)) $found = ($u->Get("Login")==$username && $u->Get("Status")==1) && strlen($u->Get("Password")); } else if(strlen($email)) { $u = $objUsers->GetItemByField("Email",$email); if(is_object($u)) $found = ($u->Get("Email")==$email && $u->Get("Status")==1) && strlen($u->Get("Password")); } $allow_reset = $u->Get("PassResetTime") + $pass_reset_add; if($found && $allow_reset <= time()) { //$newpw = makepassword(); //$objSession->Set('password', $newpw); $objSession->Set('tmp_user_id', $u->Get("PortalUserId")); $objSession->Set('tmp_email', $u->Get("Email")); //$u->Set("Password",$newpw); //$u->Update(); $u->SendUserEventMail("USER.PSWDC",$u->Get("PortalUserId")); //$u->SendAdminEventMail("USER.PSWDC"); //$u->Set("Password",md5($newpw)); //$u->Update(); $u->Clean(); } else { if(!strlen($username) && !strlen($email)) { $FormError["forgotpw"]["username"] = language("lu_ferror_forgotpw_nodata"); $MissingCount++; } else { if(strlen($username)) $FormError["forgotpw"]["username"] = language("lu_ferror_unknown_username"); if(strlen($email)) $FormError["forgotpw"]["email"] = language("lu_ferror_unknown_email"); if ($allow_reset > time()) { $FormError["forgotpw"]["username"] = language("lu_ferror_reset_denied"); //$FormError["forgotpw"] = language("lu_ferror_reset_denied"); } $MissingCount++; } if(strlen($_GET["error"])) $var_list["t"] = $_GET["error"]; } } else if(strlen($_GET["error"])) $var_list["t"] = $_GET["error"]; break; case "m_subscribe_confirm": $t = ""; $SubscribeAddress = $_POST["subscribe_email"]; if(!ValidEmail($SubscribeAddress)&& strlen($SubscribeAddress)) { $t = $_GET["Error"]; $SubscribeError = "lu_invalid_emailaddress"; } else { if((int)$objConfig->Get("User_SubscriberGroup")>0) { $g = $objGroups->GetItem($objConfig->Get("User_SubscriberGroup")); if(is_object($g)) { $email = $_POST["subscribe_email"]; if(strlen($email)>0) { $u = $objUsers->GetItemByField("Email",$email); if(is_object($u)) { if($u->CheckBanned()) { $t = $_GET["Error"]; $SubscribeError ="lu_subscribe_banned"; } else { if($u->IsInGroup($g->Get("GroupId"))) { $t = $_GET["Unsubscribe"]; } else $t = $_GET["Subscribe"]; } } else $t = $_GET["Subscribe"]; } else { $t = $_GET["Error"]; $SubscribeError ="lu_subscribe_no_address"; } } else { $t = $_GET["Error"]; $SubscribeError ="lu_subscribe_unknown_error"; } } } if(strlen($t)) { $var_list["t"] = $t; $var_list_update["t"] = $t; } break; case "m_subscribe": //phpinfo(INFO_VARIABLES); if($_POST["buttons"][0]==language("lu_button_yes")) { $SubscribeAddress = $_POST["subscribe_email"]; if(strlen($SubscribeAddress)>0) { if(ValidEmail($SubscribeAddress)) { $GroupId = (int)$objConfig->Get("User_SubscriberGroup"); if ($GroupId) { $g = $objGroups->GetItem($GroupId); $u = $objUsers->GetItemByField("Email",$SubscribeAddress); if(is_object($u)) { if(strtolower($u->Get("Email"))==strtolower($SubscribeAddress)) { $bExists = TRUE; } else $bExists = FALSE; } if($bExists) { $g->AddUser($u->Get("PortalUserId")); } else { $u = new clsPortalUser(NULL); $u->Set("Email",$SubscribeAddress); $u->Set("ip",$_SERVER['REMOTE_ADDR']); $u->Set("CreatedOn",date("U")); $u->Set("Status",1); if(!$u->CheckBanned()) { $u->Create(); $g->AddUser($u->Get("PortalUserId"),1); } else $SubscribeResult = "lu_subscribe_banned"; } $SubscribeResult = "lu_subscribe_success"; $u->SendUserEventMail("USER.SUBSCRIBE",$u->Get("PortalUserId")); $u->SendAdminEventMail("USER.SUBSCRIBE"); if(strlen($_GET["Subscribe"])>0) $var_list["t"] = $_GET["Subscribe"]; } } else { $SubscribeResult = "lu_invalid_emailaddress"; } } else $SubscribeResult = "lu_subscribe_missing_address"; } if(!strlen($SubscribeResult)) $SubscribeResult = "lu_subscribe_success"; break; case "m_unsubscribe": if($_POST["buttons"][0]==language("lu_button_yes")) { $MissingCount = SetMissingDataErrors("m_unsubscribe"); if($MissingCount==0) { $email = $_POST["subscribe_email"]; $u = $objUsers->GetItemByField("Email",$email); if(is_object($u)) { if(strtolower($u->Get("Email"))==strtolower($email)) { $GroupId = (int)$objConfig->Get("User_SubscriberGroup"); if($u->PrimaryGroup()==$GroupId) { $u_gorup_list = $u->GetGroupList(); if (count($u_gorup_list) > 1) { $u->RemoveFromGroup($GroupId); } else { $u->RemoveFromAllGroups(); $u->Delete(); } } else { $u->RemoveFromGroup($GroupId); } } } if(strlen($_GET["Subscribe"])>0) $var_list["t"] = $_GET["Subscribe"]; } } break; case "m_logout": // $objSession->Logout(); //unset($objSession); //$objSession = new clsUserSession(); // $var_list_update["t"] = "index"; // setcookie("login","",time()-3600); break; case "m_register": $_POST=inp_escape($_POST); $MissingCount = SetMissingDataErrors("m_register"); if(!$objConfig->Get("User_Password_Auto")) { if(($_POST["password"] != $_POST["passwordverify"]) || !strlen($_POST["passwordverify"])) { $MissingCount++; $FormError["m_register"]["passwordverify"] = language("lu_ferror_pswd_mismatch"); } if(strlen($_POST["password"])>30) { // echo "VAR: ".$_POST["password"]; die(); $MissingCount++; $FormError["m_register"]["password"] = language("lu_ferror_pswd_toolong"); } if (strlen($_POST['password']) < $objConfig->Get("Min_Password")) { $MissingCount++; $FormError["m_register"]["password"] = language("lu_ferror_pswd_tooshort"); } } $u = $objUsers->GetItemByField("Login",$_POST["username"]); if(is_object($u)) { if($u->Get("Login")==$_POST["username"]) { $MissingCount++; $FormError["m_register"]["username"] = language("lu_user_exists"); } } if (strlen($_POST['username']) < $objConfig->Get("Min_UserName")) { $MissingCount++; $FormError["m_register"]["username"] = language("lu_ferror_username_tooshort"); } if(!$MissingCount) { $CreatedOn = adodb_date("U"); $GroupId = $objConfig->Get("User_NewGroup"); $Status=0; /* determine the status of new users */ switch ($objConfig->Get("User_Allow_New")) { case "1": $Status=1; break; case "3": $Status=2; break; } /* set Destination template */ $var_list["t"] = strlen($_GET["dest"])? $_GET["dest"] : "index"; if($Status>0) { if($objConfig->Get("User_Password_Auto")) { $password = makepassword(); $objSession->Set("password", $password); } else $password = $_POST["password"]; $_POST["dob"] = $_POST["dob_month"]."/".$_POST["dob_day"]."/".$_POST["dob_year"]; $dob = DateTimestamp($_POST["dob"],GetDateFormat()); $ip = $_SERVER['REMOTE_ADDR']; $u = &$objUsers->Add_User($_POST["username"], md5($password), $_POST["email"], $CreatedOn, $_POST["firstname"], $_POST["lastname"], $Status, $_POST["phone"], $_POST["street"], $_POST["city"], $_POST["state"], $_POST["zip"], $_POST["country"], $dob, $ip, TRUE); if(!is_object($u)) { $RuleId=$u; $r = $objBanList->GetItem($RuleId); $err = $r->Get("ErrorTag"); if(strlen($err)) { $FormError["m_register"][$r->Get("ItemField")] = language($err); $MissingCount++; } } else { $u->Set("Password",$password); $u->Clean(); if($GroupId>0) { $g = $objGroups->GetItem($GroupId); $g->AddUser($u->Get("PortalUserId"),1); } $custom = $_POST["custom"]; if(is_array($custom)) { for($x=0;$xSetCustomField($custom[$x],$_POST[$custom[$x]]); } $u->SaveCustomFields(); } if($Status==1) { if($objConfig->Get("User_Password_Auto")) { $u->SendUserEventMail("USER.VALIDATE",$u->Get("PortalUserId")); $u->SendAdminEventMail("USER.VALIDATE"); } else { $doLoginNow = true; $u->SendUserEventMail("USER.ADD",$u->Get("PortalUserId")); $u->SendAdminEventMail("USER.ADD"); } } else { $u->SendUserEventMail("USER.ADD.PENDING",$u->Get("PortalUserId")); $u->SendAdminEventMail("USER.ADD.PENDING"); } if ($doLoginNow) $objSession->Login($_POST["username"], md5($password)); } } } break; case "m_add_friend": $id = $_GET["UserId"]; $userid = $objSession->Get("PortalUserId"); if($id!=$userid) { $u =& $objUsers->GetItem($id); $u->AddFavorite($userid); } break; case "m_del_friend": $id = $_GET["UserId"]; $userid = $objSession->Get("PortalUserId"); $u =& $objUsers->GetItem($id); $u->DeleteFavorite(); break; case "m_acctinfo": // phpinfo(INFO_VARIABLES); $_POST=inp_escape($_POST); $MissingCount = SetMissingDataErrors("m_acctinfo"); $UserId = $_GET["UserId"]; if($UserId != $objSession->Get("PortalUserId")) { $MissingCount++; $FormError["m_acctinfo"]["UserId"] = language("lu_ferror_m_profile_userid"); } if(strlen($_POST["password"])>0) { if(($_POST["password"] != $_POST["passwordverify"]) || !strlen($_POST["passwordverify"])) { $MissingCount++; $FormError["m_acctinfo"]["passwordverify"] = language("lu_ferror_pswd_mismatch"); } if(strlen($_POST["password"])>30) { // echo "VAR: ".$_POST["password"]; die(); $MissingCount++; $FormError["m_acctinfo"]["password"] = language("lu_ferror_pswd_toolong"); } if (strlen($_POST['password']) < $objConfig->Get("Min_Password")) { $MissingCount++; $FormError["m_acctinfo"]["password"] = language("lu_ferror_pswd_tooshort"); } } if(!$MissingCount) { /* save profile */ $u =& $objUsers->GetItem($UserId); $status = $u->Get("Status"); $_POST["dob"] = $_POST["dob_month"]."/".$_POST["dob_day"]."/".$_POST["dob_year"]; $dob = DateTimestamp($_POST["dob"], GetDateFormat()); if(strlen($_POST["password"])>0) { $password = md5($_POST["password"]); } else $password = ""; $objUsers->Edit_User($UserId, $_POST["username"], $password, $_POST["email"], 0, $_POST["firstname"], $_POST["lastname"], $status, $_POST["phone"], $_POST["street"], $_POST["city"], $_POST["state"], $_POST["zip"], $_POST["country"], $dob); $ResourceId= $u->Get("ResourceId"); $objCustomDataList->LoadResource($ResourceId); $objCustomFields = new clsCustomFieldList(6); for($i=0;$i<$objCustomFields->NumItems(); $i++) { $field = & $objCustomFields->GetItemRefByIndex($i); $fieldid= $field->Get("CustomFieldId"); $fname = $field->Get("FieldName"); if(isset($_POST[$fname])) $objCustomDataList->SetFieldValue($fieldid,$ResourceId,$_POST[$fname]); elseif(isset($_POST[strtolower($fname)])) $objCustomDataList->SetFieldValue($fieldid,$ResourceId,$_POST[strtolower($fname)]); } $objCustomDataList->SaveData(); } break; case "m_profile": $userid = $objSession->Get("PortalUserId"); if($userid>0) { $u = $objUsers->GetItem($userid); foreach($_POST as $field=>$value) { if(substr($field,0,3)=="pp_") { $objSession->SetPersistantVariable($field,$value); } } } break; case "m_set_lang": $lang = $_GET["lang"]; $LangId = 0; if(strlen($lang)) { $l = $objLanguages->GetItemByField("PackName",$lang); if(is_object($l)) { $LangId = $l->Get("LanguageId"); } } if($LangId) { if($objSession->Get("PortalUserId")>0) { $objSession->SetPersistantVariable("Language",$LangId); } $objSession->Set("Language",$LangId); $objSession->Update(); $m_var_list_update["lang"] = $LangId; $m_var_list["lang"] = $LangId; } break; case "m_set_theme": $id = $_POST["ThemeId"]; if(!is_numeric($id)) $id = $_GET["ThemeId"]; if($id) { $objSession->SetThemeName($id); $m_var_list["t"] = "index"; $m_var_list_update["theme"] = $id; $m_var_list["theme"] = $id; unset($CurrentTheme); } break; case "m_sort_cats": $objSession->SetVariable("Category_Sortfield",$_POST["cat_field_sort"]); $objSession->SetVariable("Category_Sortorder",$_POST["cat_sort_order"]); break; case "m_add_cat_confirm": // phpinfo(INFO_VARIABLES); $perm = 0; $CategoryId=$objCatList->CurrentCategoryID(); if ($objSession->HasCatPermission("CATEGORY.ADD.PENDING")) $perm = 2; if ($objSession->HasCatPermission("CATEGORY.ADD")) $perm = 1; if ($perm == 0) { $MissingCount++; $FormError["m_addcat"]["name"] = language("lu_ferror_no_access"); } else { $MissingCount = SetMissingDataErrors("m_addcat"); if(is_array($_FILES)) { foreach($_FILES as $field => $file) { $allowed = TRUE; if(strlen($_POST["imagetypes"][$field])) { $types = explode(",",strtolower($_POST["imagetypes"][$field])); if(is_array($types)) { if(count($types)>0) { $path_parts = pathinfo($file["name"]); $ext = $path_parts["extension"]; $allowed = in_array($ext,$types); if(!$allowed) { $MissingCount++; $FormError["m_addcat"][$field] = language("lu_ferror_wrongtype"); } } } } $maxsize = (int)$_POST["maxsize"][$field]; if($maxsize>0 && $allowed && $file["size"]>$maxsize) { $allowed = FALSE; $MissingCount++; $FormError["m_addcat"][$field] = language("lu_ferror_toolarge"); } } } if($MissingCount==0) { $CreatedOn = date("U"); $_POST=inp_striptags($_POST); $name = $_POST["name"]; $desc = $_POST["description"]; $metadesc = $_POST["meta_description"]; $keywords = $_POST["meta_keywords"]; $parent = $objCatList->CurrentCategoryID(); $cat =& $objCatList->Add($parent, $name, $desc, $CreatedOn, 0, $perm, 2, 2, 2, 0, $keywords,$metadesc); $cat->UpdateCachedPath(); $cat->Update(); $cat->UpdateACL(); $objCatList->UpdateMissingCacheData(); if(strlen($_GET["Confirm"])) { $var_list["t"] = $_GET["Confirm"]; } else $var_list["t"] = $_GET["DestTemplate"]; } } break; case "m_front_review_add": if($objSession->InSpamControl($_POST["ItemId"])) { $StatusMessage["review"] = language("la_Review_AlreadyReviewed"); } else { $objReviews = new clsItemReviewList(); $Status = $objConfig->Get("Review_DefaultStatus"); $CreatedOn = adodb_date("U"); $html = (int)$objConfig->Get("Review_Html"); $ReviewText = inp_striptags($_POST["review_text"]); $r = $objReviews->AddReview($CreatedOn,$ReviewText,$Status, $IPAddress, 0, $_POST["ItemId"], $_POST["ItemType"], $objSession->Get("PortalUserId")); foreach($ItemTypes as $type=>$id) { if($id==$_POST["ItemType"]) { $ValName = $type."_ReviewDelay_Value"; $IntName = $type."_ReviewDelay_Interval"; break; } } if(strlen($ValName) && strlen($IntName)) { $exp_secs = $objConfig->Get($ValName) * $objConfig->Get($IntName); $objSession->AddToSpamControl($_POST["ItemId"],$exp_secs); if(is_object($r)) { if($Status) { $StatusMessage["review"] = language("la_Review_Added"); } else $StatusMessage["review"] = language("la_Review_Pending"); } else $StatusMessage["review"] = language("la_Review_Error"); } else $StatusMessage["error"] = language("la_ConfigError_Review"); } break; case "m_suggest_email": $cutoff = time()+(int)$objConfig->Get("Suggest_MinInterval"); $email = inp_striptags($_POST["suggest_email"]); if (strlen($email)) { if(ValidEmail($email)) { $sql = "SELECT * FROM ".GetTablePrefix()."SuggestMail WHERE email='".$email."' and sent<".$cutoff; $adodbConnection = &GetADODBConnection(); $rs = $adodbConnection->Execute($sql); $rs = false; if($rs && !$rs->EOF) { if(strlen($_GET["Error"])>0) $var_list["t"] = $_GET["Error"]; $suggest_result = "$email ".language("lu_already_suggested ")." ".LangDate($rs->fields["sent"]); } else { $Event =& $objMessageList->GetEmailEventObject("USER.SUGGEST"); if(is_object($Event)) { if($Event->Get("Enabled")=="1") { $Event->Item = $this; $Event->SendToAddress($email); $sql = "INSERT INTO ".GetTablePrefix()."SuggestMail (email,sent) VALUES ('".$email."','".time()."')"; $rs = $adodbConnection->Execute($sql); $suggest_result=language("lu_suggest_success")." ".$email; } } $e =& $objMessageList->GetEmailEventObject("USER.SUGGEST",1); if($e->Get("Enabled")==1) $e->SendAdmin(); if(strlen($_GET["Confirm"])>0) $var_list["t"] = $_GET["Confirm"]; } } else { if(strlen($_GET["Error"])>0) $var_list["t"] = $_GET["Error"]; $suggest_result=language("lu_invalid_emailaddress"); } } else { if(strlen($_GET["Error"])>0) $var_list["t"] = $_GET["Error"]; $suggest_result=language("lu_suggest_no_address"); } break; case "m_simple_search": $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); $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 { if(strlen($_GET["Error"])>0) $var_list["t"] = $_GET["Error"]; $MissingCount = SetMissingDataErrors("m_simplesearch"); $MissingCount++; $FormError["m_simplesearch"]["keywords"] = language("lu_no_keyword"); } break; case "m_adv_search": if( !is_object($objSearchConfig) ) $objSearchConfig = new clsSearchConfigList(); switch($_GET["type"]) { case 1: /* category */ //echo "Searching for categories
"; $objAdvSearch = new clsAdvancedSearchResults("Category","clsCategory"); foreach($objSearchConfig->Items as $field) { $fld = $field->Get("FieldName"); $Verb = $_POST["verb"][$field->Get("FieldName")]; if(!strlen($Verb) && $field->Get("FieldType")=="boolean") { if($_POST["value"][$field->Get("FieldName")]!=-1) { $Value = $_POST["value"][$field->Get("FieldName")]; $Verb = "is"; } } else { $Value = $_POST["value"][$field->Get("FieldName")]; } switch( $_POST["andor"][$field->Get("FieldName")]) { case 1: $Conjuction = "AND"; break; case 2: $Conjuction = "OR"; break; default: $Conjuction = ""; break; } if(strlen($Verb)>0 && $Verb!="any") { //echo "Adding CAT SearchField: [".$field->Get("TableName")."]; [".$field->Get("FieldName")."]; [$Verb]; [$Value]; [$Conjuction]
"; $objAdvSearch->AddAdvancedField($field->Get("TableName"),$field->Get("FieldName"),$Verb,$Value,$Conjuction); } } $objAdvSearch->PerformSearch(1,NULL,TRUE); break; } break; case "m_id": echo $Action.":".$DownloadId; die(); break; case "m_simple_subsearch": $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); $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); $SearchResultIdList = $objSearch->Result_IdList(); if(count($SearchResultIdList)>0) { $objSearch->PerformSearch(1,$SortOrder,TRUE,$SearchResultIdList); //$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"); $MissingCount++; $FormError["m_simplesearch"]["keywords"] = language("lu_no_keyword"); } break; } ?>