Get("Link_View");
$Links_AllValue = 127;
if(!is_numeric($LinkView))
{   
   $LinkView = 127;
}
$Link_SortField = $objConfig->Get('Link_SortField');
if( !strlen($Link_SortField) ) $Link_SortField = 'Priority';
$Link_SortOrder = $objConfig->Get('Link_SortOrder');
if( !strlen($Link_SortOrder) ) $Link_SortOrder = 'desc';
$Perpage_Links = (int)$objConfig->Get("Perpage_Links");
if(!$Perpage_Links)
  $Perpage_Links="'all'";
if($LinkView == $Links_AllValue)
{
    $Link_ShowAll = 1;
    $LinkFilter = "";
}
else
{
	// FILTERING CODE V. 1.2
  	$where_clauses = Array(); $q = '';
  	
  	// Group #1: Link Statuses (active,pending,disabled)
  	$Status = array(-1);
  	if($LinkView & $Bit_Pending) {
  		$Status[] = STATUS_PENDING;
  		$Status[] = -2;
  	}
  	if($LinkView & $Bit_Active) $Status[] = STATUS_ACTIVE;
  	if($LinkView  & $Bit_Disabled) $Status[] = STATUS_DISABLED;
	if( count($Status) ) $where_clauses[] = 'Status IN ('.implode(',', $Status).')';
	
	// Group #2: Link Statistics (new,popular,hot,pick)
	$Status = array();
	if(!($LinkView & $Bit_New))
  	{
      $cutoff = adodb_date("U") - ($objConfig->Get("Link_NewDays") * 86400);
      if($cutoff > 0) $q = 'CreatedOn > '.$cutoff;
       $q .= (!empty($q) ? ' OR ' : '').'NewItem = 1';
      $Status[] = "NOT ($q)";
  	}
  	
  	if(!($LinkView & $Bit_Pop))
  	{
      $cutoff = $objLinkList->GetPopValue();
      if($cutoff > 0) $q = 'CachedRating >= '.$cutoff;
      $q .= ' AND CachedVotesQty >= '.$objConfig->Get('Link_MinPopVotes');
      $q .= (!empty($q) ? ' OR ' : '').'PopItem = 1';
      $Status[] = "NOT ($q)";
  	}
  	
  	if(!($LinkView & $Bit_Hot))
  	{
      	$cutoff = $objLinkList->GetHotValue();
      	if($cutoff > 0) $q = 'Hits >= '.$cutoff;
      	$q .= (!empty($q) ? ' OR ' : '').'HotItem = 1';
      	$Status[] = "NOT ($q)";
  	}
	  	
  	if(!($LinkView & $Bit_Ed)) $Status[] = 'NOT (EditorsPick = 1)';
  	if( count($Status) )
		$where_clauses[] = '('.implode(') AND (', $Status).')';
	
	$LinkFilter = count($where_clauses) ? '('.implode(') AND (', $where_clauses).')' : '';
}
$list = $objSession->GetVariable("l_adv_view_search");
$objLinkList->Clear();
$objLinkList->EnablePaging=TRUE;
$lt = $objLinkList->SourceTable;
$catjoin = GetTablePrefix()."CategoryItems";
$cattable = $objCatList->SourceTable;
$order = "EditorsPick DESC, Priority DESC";
  
$sql = "SELECT * FROM $lt ";
//$sql .= "INNER JOIN $catjoin ON ($lt.ResourceId=$catjoin.ItemResourceId) ";
  $lado = &GetADODBConnection();
  $tsql = $sql." WHERE OrgId IS NOT NULL AND OrgId>0 ";
  $rs = $lado->Execute($tsql);
  $OrgIds = array();
  while($rs && !$rs->EOF)
  {
  	$OrgIds[] = $rs->fields["OrgId"];
  	$rs->MoveNext();
  } 
  if(count($OrgIds)>0)
  {
  	$LinkFilter .= ($LinkFilter ? ' AND ' : '')." (LinkId NOT IN (".implode(",",$OrgIds)."))";
  }
  $order = $objLinkList->QueryOrderByClause(TRUE,TRUE,TRUE);	
  //echo "OBQ: $order
";
  if(strlen($list)==0)
  {  	
  	$where = $LinkFilter ? "WHERE ".$LinkFilter : '';
  	$SearchQuery = '';
  }
  else
  {
    $SearchQuery = $objLinkList->AdminSearchWhereClause($list);
    if(strlen($SearchQuery))
    {
      $SearchQuery = " (".$SearchQuery.")".($LinkFilter ? ' AND ('.$LinkFilter.')' : '');
      $where = 'WHERE '.$SearchQuery;     
    }
    else
      $where = $LinkFilter ? "WHERE ".$LinkFilter : '';
  }
  $sql .= $where." ".$order;
//echo "Links SQL: $sql
";
  $objLinkList->Query_Item($sql,false,'set_last');
   
  $objLinkList->QueryItemCount = TableCount($objLinkList->SourceTable,($SearchQuery ? $SearchQuery : $LinkFilter),0);
  $CatTotal = TableCount($objLinkList->SourceTable,null,0);
  
  $caption = language("la_ItemTab_Links");
  $ItemTabs->AddTab(language("la_ItemTab_Links"),"links",$objLinkList->QueryItemCount, $m_tab_Links_hide,$CatTotal);
$lang_URL = language("la_prompt_URL");
$lang_Links = language("la_Text_Links");
$lang_Reviews = language("la_Text_Reviews");
$TotalItemCount += $objLinkList->QueryItemCount;
$Link_Paste = "false";
if($objLinkList->ItemsOnClipboard()>0)
    $Link_Paste = "true";
print <<
var Link_SortField = '$Link_SortField';
var Link_SortOrder = '$Link_SortOrder';
var Links_Perpage = $Perpage_Links;
var LinkView = $LinkView;
var LinkTitle = '$caption';
var lang_URL = "$lang_URL";
var lang_Links = "$lang_Links";
var lang_Reviews = "$lang_Reviews";
var Links_Paste = $Link_Paste;
         
PasteButton = PasteButton || Links_Paste;
	\$fw_menus['l_view_menu'] = function()
	{
		// filtring menu
		\$Menus['l_filtring_menu'] = new Menu(lang_View);
	    \$Menus['l_filtring_menu'].addMenuItem(lang_All,"config_val('Link_View', $Links_AllValue);",LinkView==$Links_AllValue);
	    \$Menus['l_filtring_menu'].addMenuItem(lang_None,"config_val('Link_View', 0);",LinkView==0);
	    \$Menus['l_filtring_menu'].addMenuSeparator();
	    \$Menus['l_filtring_menu'].addMenuItem(lang_Active,"FlipBit('Link_View',LinkView,6);",BitStatus(LinkView,6));
	    \$Menus['l_filtring_menu'].addMenuItem(lang_Pending,"FlipBit('Link_View',LinkView,5);", BitStatus(LinkView,5));
	    \$Menus['l_filtring_menu'].addMenuItem(lang_Disabled,"FlipBit('Link_View',LinkView,4);",BitStatus(LinkView,4));  
	    \$Menus['l_filtring_menu'].addMenuSeparator();
	    \$Menus['l_filtring_menu'].addMenuItem(lang_New,"FlipBit('Link_View',LinkView,3);",BitStatus(LinkView,3));
	    \$Menus['l_filtring_menu'].addMenuItem(lang_Pop,"FlipBit('Link_View',LinkView,2);",BitStatus(LinkView,2));
	    \$Menus['l_filtring_menu'].addMenuItem(lang_Hot,"FlipBit('Link_View',LinkView,1);",BitStatus(LinkView,1));
	    \$Menus['l_filtring_menu'].addMenuItem(lang_EdPick,"FlipBit('Link_View',LinkView,0);",BitStatus(LinkView,0)); 
	
		// sorting menu
    	\$Menus['l_sorting_menu'] = new Menu(lang_Sort);
	    \$Menus['l_sorting_menu'].addMenuItem(lang_Asc,"config_val('Link_SortOrder','asc');",RadioIsSelected(Link_SortOrder,'asc'));
	    \$Menus['l_sorting_menu'].addMenuItem(lang_Desc,"config_val('Link_SortOrder','desc');",RadioIsSelected(Link_SortOrder,'desc'));
	    \$Menus['l_sorting_menu'].addMenuSeparator();
	    \$Menus['l_sorting_menu'].addMenuItem(lang_Default,"config_val('Link_SortField','Name');","");
	    \$Menus['l_sorting_menu'].addMenuItem(lang_Name,"config_val('Link_SortField','Name');",RadioIsSelected(Link_SortField,'Name'));
	    \$Menus['l_sorting_menu'].addMenuItem(lang_URL,"config_val('Link_SortField','Url');",RadioIsSelected(Link_SortField,'Url'));
	    \$Menus['l_sorting_menu'].addMenuItem(lang_CreatedOn,"config_val('Link_SortField','CreatedOn');",RadioIsSelected(Link_SortField,'CreatedOn'));
	    \$Menus['l_sorting_menu'].addMenuItem(lang_Reviews,"config_val('Link_SortField','CachedReviewsQty');",RadioIsSelected(Link_SortField,'CachedReviewsQty'));    
	    \$Menus['l_sorting_menu'].addMenuItem(lang_Rating,"config_val('Link_SortField','CachedRating');",RadioIsSelected(Link_SortField,'CachedRating'));    
	    \$Menus['l_sorting_menu'].addMenuItem(lang_Votes,"config_val('Link_SortField','CachedVotesQty');",RadioIsSelected(Link_SortField,'CachedVotesQty'));
	    \$Menus['l_sorting_menu'].addMenuItem(lang_Hits,"config_val('Link_SortField','CachedHits');",RadioIsSelected(Link_SortField,'CachedHits'));
	    // perpage menu
		\$Menus['l_perpage_menu'] = new Menu(lang_PerPage);
		\$Menus['l_perpage_menu'].addMenuItem("10","config_val('Perpage_Links', '10');",RadioIsSelected(Links_Perpage,10));
		\$Menus['l_perpage_menu'].addMenuItem("20","config_val('Perpage_Links', '20');",RadioIsSelected(Links_Perpage,20));
		\$Menus['l_perpage_menu'].addMenuItem("50","config_val('Perpage_Links', '50');",RadioIsSelected(Links_Perpage,50));
		\$Menus['l_perpage_menu'].addMenuItem("100","config_val('Perpage_Links', '100');",RadioIsSelected(Links_Perpage,100));
		\$Menus['l_perpage_menu'].addMenuItem("500","config_val('Perpage_Links', '500');",RadioIsSelected(Links_Perpage,500));
    
		// select menu
		\$Menus['l_select_menu'] = new Menu(lang_Select);
		\$Menus['l_select_menu'].addMenuItem(lang_All,"javascript:selectAllC('"+activeTab.id+"');","");
		\$Menus['l_select_menu'].addMenuItem(lang_Unselect,"javascript:unselectAll('"+activeTab.id+"');","");
		\$Menus['l_select_menu'].addMenuItem(lang_Invert,"javascript:invert('"+activeTab.id+"');","");
		
		// view menus
		\$Menus['l_view_menu'] = new Menu(LinkTitle);
		\$Menus['l_view_menu'].addMenuItem( \$Menus['l_filtring_menu'] );
		\$Menus['l_view_menu'].addMenuItem( \$Menus['l_sorting_menu'] );
		\$Menus['l_view_menu'].addMenuItem( \$Menus['l_perpage_menu'] );
		\$Menus['l_view_menu'].addMenuItem( \$Menus['l_select_menu'] );
	}
	function SubmitSearch(formname, action)
	{    
	 	var f = document.getElementById(formname);
		if(f)
		{ 
	        f.Action.value = action;
	        f.submit();
		}
	}
END;
?>