Get('PortalUserId');
$a =& $objArticleList->GetItem($id);
$a->AddFavorite($userid);
$cat_id = $a->GetPrimaryCategory();
UpdateCategoryCount('Article', $cat_id, $objArticleList->CacheListType('favorites'));
DeleteModuleTagCache('innews');
break;
case "n_del_favorite":
$id = $n_var_list["id"];
$userid = $objSession->Get("PortalUserId");
$a =& $objArticleList->GetItem($id);
$a->DeleteFavorite($userid);
$cat_id = $a->GetPrimaryCategory();
UpdateCategoryCount('Article', $cat_id, $objArticleList->CacheListType('favorites'));
DeleteModuleTagCache('innews');
break;
case "n_rate_article":
$id = $n_var_list["id"];
$news =& $objArticleList->GetItem($id);
if($objSession->InSpamControl($news->Get("ResourceId"),"Ratinge"))
{
$StatusMessage["rating"] = language("la_Rating_AlreadyVoted");
}
else
{
$ValName = "News_RatingDelay_Value";
$IntName = "News_RatingDelay_Interval";
$exp_secs = $objConfig->Get($ValName) * $objConfig->Get($IntName);
$objSession->AddToSpamControl($news->Get("ResourceId"),$exp_secs,"Rating");
$vote = $_POST["frmRateVote"];
$news->SubmitVote($vote,"");
$StatusMessage["rating"] = language("la_Vote_Added");
}
DeleteModuleTagCache('innews');
break;
case "n_sort_articles":
if(is_numeric($_POST["Perpage_News"]))
{
$objSession->SetPersistantVariable("Perpage_News",$_POST["Perpage_News"]);
}
else
{
$objSession->SetPersistantVariable("Perpage_News", $objConfig->Get("Perpage_News"));
}
if (strlen($_POST["News_SortField"]))
{
//$objSession->SetPersistantVariable("News_ArticleSort", $_POST["article_sort_field"]. " ".$_POST["article_sort_order"]);
$objSession->SetPersistantVariable("News_SortField",$_POST["News_SortField"]);
$objSession->SetPersistantVariable("News_SortField2","");
}
if (strlen($_POST["News_SortOrder"]))
{
$objSession->SetPersistantVariable("News_SortOrder",$_POST["News_SortOrder"]);
$objSession->SetPersistantVariable("News_SortOrder2","");
}
$n_var_list["p"] = 1;
$objArticleList->Page = 1;
DeleteModuleTagCache('innews');
break;
case "n_add_review":
//phpinfo(INFO_VARIABLES);
$perm = 0;
$CategoryId=$objCatList->CurrentCategoryID();
if ($objSession->HasCatPermission("NEWS.REVIEW.PENDING"))
$perm = 2;
if ($objSession->HasCatPermission("NEWS.REVIEW"))
$perm = 1;
if ($perm == 0)
{
$MissingCount++;
$FormError["n_addreview"]["review"] = language("lu_ferror_no_access");
}
else
{
$id = $n_var_list["id"];
$article =& $objArticleList->GetItem($id);
$value = $objSession->InSpamControl($article->Get("ResourceId"),"Review");
//if($article->ReviewIPExists($_SERVER["REMOTE_ADDR"]))
if ($value)
{
$MissingCount++;
$FormError["n_addreview"]["review"] = language("lu_ferror_review_duplicate");
}
else
{
$ValName = "News_ReviewDelay_Value";
$IntName = "News_ReviewDelay_Interval";
$exp_secs = $objConfig->Get($ValName) * $objConfig->Get($IntName);
$objSession->AddToSpamControl($article->Get("ResourceId"),$exp_secs,"Review");
$CreatedOn = adodb_date("U");
$ReviewText = inp_escape($_POST["review"]);
$id = $n_var_list["id"];
$userid = $objSession->Get("PortalUserId");
$article->AddReview($userid,$ReviewText,($perm==2),$_SERVER["REMOTE_ADDR"]);
if(strlen($_GET["Confirm"]))
{
$var_list["t"] = $_GET["Confirm"];
}
else
$var_list["t"] = $_GET["DestTemplate"];
}
}
DeleteModuleTagCache('kernel');
break;
case "n_rate_news":
//phpinfo();
if ($objSession->HasCatPermission("NEWS.RATE"))
$perm = 1;
if ($perm == 0)
{
$MissingCount++;
$FormError["l_rate"]["review"] = language("lu_ferror_no_access");
}
else
{
$MissingCount = SetMissingDataErrors("n_rate");
$id = $n_var_list["id"];
$article =& $objArticleList->GetItem($id);
if (is_object($objSession)) {
$value = $objSession->InSpamControl($article->Get("ResourceId"),"Rating");
}
if($value)
{
$MissingCount++;
$FormError["n_rate"]["review"] = language("lu_rating_alreadyvoted");
if(strlen($_GET["Duplicate"]))
{
$var_list["t"] = $_GET["Duplicate"];
}
else
$var_list["t"] = $_GET["DestTemplate"];
}
if($MissingCount==0)
{
$ValName = "News_RatingDelay_Value";
$IntName = "News_RatingDelay_Interval";
$exp_secs = $objConfig->Get($ValName) * $objConfig->Get($IntName);
$objSession->AddToSpamControl($article->Get("ResourceId"),$exp_secs,"Rating");
$vote = $_POST["rating"];
$article->SubmitVote($vote,"");
if(strlen($_GET["Confirm"]))
{
$var_list["t"] = $_GET["Confirm"];
}
else
$var_list["t"] = $_GET["DestTemplate"];
}
}
DeleteModuleTagCache('innews');
break;
case "n_email_article":
if($objSession->Get("PortalUserId"))
{
$u =& $objSession->CurrentUser;
$email = $u->Get("Email");
}
else
$email = "Guest";
$n = $objArticleList->GetItem($newid);
$email_subject=$objConfig->Get("n_email_subject");
if($objConfig->Get("n_email_sender"))
$email_subject .= $email;
$email_subject = str_replace("%sender%",$email,$email_subject);
$message = str_replace("%sender%",$email,$objConfig->Get("n_email_body"));
$message = str_replace("%except%",$n->Get("Excerpt"),$message);
$message = str_replace("%news_link%",$n->parsetag("news_link"),$message);
mail($email_to, $email_subject, $message,
"From: ".$objConfig->Get("email_from")."\r\n"
."Reply-To: ".$objConfig->Get("email_replyto")."\r\n"
."X-Mailer: In-Portal");
break;
case "m_simple_search":
$type = $objItemTypes->GetTypeByName("Article");
$keywords = trim($_POST["keywords"]);
$length = $objConfig->Get('Search_MinKeyword_Length');
$isExact = (substr($keywords, 0, 2) == '\"' && substr($keywords, strlen($keywords) - 2, 2) == '\"');
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) {
$objNewsSearch = new clsSearchResults("News",$objArticleList->classname);
$objNewsSearch->SetKeywords($keywords);
$objNewsSearch->AddSimpleFields('n');
if (is_numeric($objConfig->Get("SearchRel_Pop_articles"))) {
$objNewsSearch->PctPop = ($objConfig->Get("SearchRel_Pop_articles")/100);
}
if(is_numeric($objConfig->Get("SearchRel_Keyword_articles"))) {
$objNewsSearch->PctRelevance = ($objConfig->Get("SearchRel_Keyword_articles")/100);
}
if(is_numeric($objConfig->Get("SearchRel_Rating_articles"))) {
$objNewsSearch->PctRating = ($objConfig->Get("SearchRel_Rating_articles")/100);
}
$objNewsSearch->PerformSearch($type->Get("ItemType"),$SortOrder,FALSE);
//$objNewsSearch->SetRelevence($type->Get("ItemType"), "NewsId");
}
break;
case "m_adv_search":
switch($_GET["type"])
{
case 2: /* article */
//echo "Searching Articles
";
$objAdvSearch = new clsAdvancedSearchResults("News",$objArticleList->classname, $_GET["type"]);
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($Value) && $Verb=="any")
{
$Verb = 'contains';
}
if(strlen($Value) && strlen($Verb)>0 && $Verb!="any")
{
//echo "Adding ARTICLE SearchField: [".$field->Get("TableName")."]; [".$field->Get("FieldName")."]; [$Verb]; [$Value]; [$Conjuction]
";
$objAdvSearch->AddAdvancedField($field->Get("TableName"),$field->Get("FieldName"),$Verb,$Value,$Conjuction, 'n');
}
}
$objAdvSearch->PerformSearch(2,NULL,TRUE);
}
break;
case "m_simple_subsearch":
$keywords = $_POST["keywords"];
$type = $objItemTypes->GetTypeByName("Article");
if(strlen($keywords))
{
$objNewsSearch = new clsSearchResults("News",$objArticleList->classname);
$objNewsSearch->SetKeywords($keywords);
$objNewsSearch->AddSimpleFields('n');
if (is_numeric($objConfig->Get("SearchRel_Pop_articles"))) {
$objNewsSearch->PctPop = ($objConfig->Get("SearchRel_Pop_articles")/100);
}
if (is_numeric($objConfig->Get("SearchRel_Keyword_articles"))) {
$objNewsSearch->PctRelevance = ($objConfig->Get("SearchRel_Keyword_articles")/100);
}
if (is_numeric($objConfig->Get("SearchRel_Rating_articles"))) {
$objNewsSearch->PctRating = ($objConfig->Get("SearchRel_Rating_articles")/100);
}
if(count($SearchResultIdList)>0)
{
$objNewsSearch->PerformSearch($type->Get("ItemType"),$SortOrder,FALSE,$SearchResultIdList);
//$objNewsSearch->SetRelevence($type->Get("ItemType"), "NewsId");
}
}
break;
}
?>