Index: branches/5.1.x/units/links/links_config.php
===================================================================
--- branches/5.1.x/units/links/links_config.php	(revision 13938)
+++ branches/5.1.x/units/links/links_config.php	(revision 13939)
@@ -1,641 +1,636 @@
 <?php
 /**
 * @version	$Id$
 * @package	In-Link
 * @copyright	Copyright (C) 1997 - 2009 Intechnic. All rights reserved.
 * @license      GNU/GPL
 * In-Portal is Open Source software.
 * This means that this software may have been modified pursuant
 * the GNU General Public License, and as distributed it includes
 * or is derivative of works licensed under the GNU General Public License
 * or other free or open source software licenses.
 * See http://www.in-portal.org/license for copyright notices and details.
 */
 
 	defined('FULL_PATH') or die('restricted access!');
 
 	$config =	Array (
 					'Prefix'			=>	'l',
 					'ItemClass'			=>	Array ('class' => 'kCatDBItem', 'file' => '', 'build_event' => 'OnItemBuild'),
 					'ListClass'			=>	Array ('class' => 'kCatDBList', 'file' => '', 'build_event' => 'OnListBuild'),
 					'EventHandlerClass'	=>	Array ('class' => 'LinksEventHandler', 'file' => 'links_event_handler.php', 'require_classes' => Array ('kCatDBEventHandler'), 'build_event' => 'OnBuild'),
 					'TagProcessorClass' =>	Array ('class' => 'LinkTagProcessor', 'file' => 'link_tag_processor.php', 'require_classes' => Array ('kCatDBTagProcessor'), 'build_event' => 'OnBuild'),
 					'AutoLoad'			=>	true,
 
 					'ConfigPriority' => 0,
 
 					'RewritePriority' => 101,
 					'RewriteListener' => 'ModRewriteHelper:CategoryItemRewriteListener',
 
 					'Hooks' => Array (
 						Array (
 							'Mode' => hBEFORE,
 							'Conditional' => false,
 							'HookToPrefix' => '',
 							'HookToSpecial' => '*',
 							'HookToEvent' => Array ('OnAfterConfigRead'),
 							'DoPrefix' => 'cdata',
 							'DoSpecial' => '*',
 							'DoEvent' => 'OnDefineCustomFields',
 						),
 
 						Array (
 							'Mode' => hBEFORE,
 							'Conditional' => false,
 							'HookToPrefix' => '#file',
 							'HookToSpecial' => '*',
 							'HookToEvent' => Array ('OnAfterConfigRead'),
 							'DoPrefix' => '',
 							'DoSpecial' => '*',
 							'DoEvent' => 'OnCloneSubItem',
 						),
 
 						Array (
 							'Mode' => hBEFORE,
 							'Conditional' => false,
 							'HookToPrefix' => 'rev',
 							'HookToSpecial' => '*',
 							'HookToEvent' => Array ('OnAfterConfigRead'),
 							'DoPrefix' => '',
 							'DoSpecial' => '*',
 							'DoEvent' => 'OnCloneSubItem',
 						),
 
 						Array (
 							'Mode' => hBEFORE,
 							'Conditional' => false,
 							'HookToPrefix' => 'fav',
 							'HookToSpecial' => '*',
 							'HookToEvent' => Array ('OnAfterConfigRead'),
 							'DoPrefix' => '',
 							'DoSpecial' => '*',
 							'DoEvent' => 'OnCloneSubItem',
 						),
 
 						Array (
 							'Mode' => hBEFORE,
 							'Conditional' => false,
 							'HookToPrefix' => 'rel',
 							'HookToSpecial' => '*',
 							'HookToEvent' => Array ('OnAfterConfigRead'),
 							'DoPrefix' => '',
 							'DoSpecial' => '*',
 							'DoEvent' => 'OnCloneSubItem',
 						),
 
 						Array (
 							'Mode' => hBEFORE,
 							'Conditional' => false,
 							'HookToPrefix' => 'img',
 							'HookToSpecial' => '*',
 							'HookToEvent' => Array ('OnAfterConfigRead'),
 							'DoPrefix' => '',
 							'DoSpecial' => '*',
 							'DoEvent' => 'OnCloneSubItem',
 						),
 
 						Array (
 							'Mode' => hBEFORE,
 							'Conditional' => false,
 							'HookToPrefix' => 'ci',
 							'HookToSpecial' => '*',
 							'HookToEvent' => Array ('OnAfterConfigRead'),
 							'DoPrefix' => '',
 							'DoSpecial' => '*',
 							'DoEvent' => 'OnCloneSubItem',
 						),
 
 						Array (
 							'Mode' => hAFTER,
 							'Conditional' => false,
 							'HookToPrefix' => '',
 							'HookToSpecial' => '*',
 							'HookToEvent' => Array ('OnAfterConfigRead'),
 							'DoPrefix' => 'captcha',
 							'DoSpecial' => '*',
 							'DoEvent' => 'OnPrepareCaptcha',
 						),
 					),
 
 					'QueryString'		=>	Array (
 												1	=>	'id',
 												2	=>	'Page',
 												3	=>	'PerPage',
 												4	=>	'event',
 												5	=>	'mode',
 											),
 
 					'AggregateTags' => Array (
 						Array (
 							'AggregateTo' => 'l',
 							'AggregatedTagName' => 'ListLinks',
 							'LocalTagName' => 'PrintList2',
 						),
 					),
 
 					'CatalogItem'			=>	true,
 					'AdminTemplatePath'		=>	'links',
 					'AdminTemplatePrefix'	=>	'links_',
 					'SearchConfigPostfix' 	=>	'links',
 
    					'IDField'			=>	'LinkId',
    					'StatusField'		=>	Array ('Status'),	// field, that is affected by Approve/Decline events
 
    					'ItemType'			=>	4,
 
    					'StatisticsInfo'	=>	Array (
 													'pending'	=>	Array (
 																			'icon'		=>	'icon16_link_pending.png',
 																			'label'		=>	'la_Text_Links',
 																			'js_url' 	=>	'#url#',
 																			'url'		=>	Array ('t' => 'catalog/advanced_view', 'SetTab' => 'l', 'pass' => 'm,l.showall', 'l.showall_event' => 'OnSetFilterPattern', 'l.showall_filters' => 'show_active=0,show_pending=1,show_disabled=0,show_new=1,show_hot=1,show_pop=1,show_pick=1'),
 																			'status'	=>	STATUS_PENDING,
 																	),
 											),
 
    					'TitlePhrase'		=>	'la_Text_Link',	// phrase used to specify item type in relationship list
 
    					'ViewMenuPhrase'	=>	'la_title_Links',
    					'CatalogTabIcon' => 'in-link:icon16_links.png',
    					'UsePendingEditing'	=>	true, // item editing is controlled by LINK.ADD/EDIT, LINK.ADD/EDIT.PENDING permissions
 
    					'CatalogSelectorName'	=>	'linklist', // used in old catalog section
 
    					'ItemPropertyMappings'	=>	Array (
 													'NewDays'		=>	'Link_NewDays',		// number of days item to be NEW
 													'MinPopVotes'	=>	'Link_MinPopVotes',	// minimum number of votes for an item to be POP
 													'MinPopRating'	=>	'Link_MinPopRating',	// minimum rating for an item to be POP
 													'MaxHotNumber'	=>	'Link_MaxHotNumber',	// maximum number of HOT items
 
 													'HotLimit'		=>	'Link_HotLimit',	// variable name in inp_Cache table
 													'ClickField'	=>	'Hits',				// item click count is stored here (in item table)
 												),
 
    					'TitleField'		=>	'Name',
 
    					'TitlePresets'		=>	Array (
 												'default' => Array (
 													'new_status_labels'	=> Array ('l' => '!la_title_AddingLink!'),
 													'edit_status_labels' => Array ('l' => '!la_title_EditingLink!'),
 													'new_titlefield' => Array ('l' => '!la_title_NewLink!'),
 													),
 
 												'links_edit' => Array (
 													'prefixes' => Array ('l'), 'format' => "#l_status# '#l_titlefield#' - !la_title_General!",
 													'toolbar_buttons' => Array ('select', 'cancel', 'prev', 'next'),
 													),
 
 												'link_list' => Array (
 													'prefixes' => Array ('c_List', 'l_List'),
 													'format' =>	"!la_title_Categories! (#c_recordcount#) - !la_title_Links!",
 													'toolbar_buttons' => Array (),
 													),
 
 												'links_categories' => Array (
 													'prefixes' => Array ('l', 'l-ci_List'), 'format' => "#l_status# '#l_titlefield#' - !la_title_Categories!",
 													'toolbar_buttons' => Array ('select', 'cancel', 'prev', 'next', 'new_item', 'delete', 'setprimary',),
 													),
 
 												'links_relations' => Array (
 													'prefixes' => Array ('l'), 'format' => "#l_status# '#l_titlefield#' - !la_title_Relations!",
 													'toolbar_buttons' => Array ('select', 'cancel', 'prev', 'next', 'new_item', 'edit', 'delete', 'approve', 'decline', 'view', 'dbl-click'),
 													),
 
 												'links_images' => Array (
 													'prefixes' => Array ('l'), 'format' => "#l_status# '#l_titlefield#' - !la_title_Images!",
 													'toolbar_buttons' => Array ('select', 'cancel', 'prev', 'next', 'new_item', 'edit', 'delete', 'move_up', 'move_down', 'setprimary', 'view', 'dbl-click'),
 													),
 
 												'links_files' => Array (
 													'prefixes' => Array ('l'), 'format' => "#l_status# '#l_titlefield#' - !la_title_Files!",
 													'toolbar_buttons' => Array ('select', 'cancel', 'prev', 'next', 'new_item', 'edit', 'delete', 'view', 'dbl-click'),
 													),
 
 												'links_reviews'	=> Array (
 													'prefixes' => Array ('l'), 'format' => "#l_status# '#l_titlefield#' - !la_title_Reviews!",
 													'toolbar_buttons' => Array ('select', 'cancel', 'prev', 'next', 'new_item', 'edit', 'delete', 'approve', 'decline', 'move_up', 'move_down', 'view', 'dbl-click'),
 													),
 
 												'links_custom' => Array (
 													'prefixes' => Array ('l'), 'format' => "#l_status# '#l_titlefield#' - !la_title_Custom!",
 													'toolbar_buttons' => Array ('select', 'cancel', 'prev', 'next'),
 													),
 
 												'images_edit' => Array (
 													'prefixes' => Array ('l', 'l-img'),
 													'new_status_labels'		=>	Array ('l-img' => '!la_title_Adding_Image!'),
 													'edit_status_labels'	=>	Array ('l-img' => '!la_title_Editing_Image!'),
 													'new_titlefield'		=>	Array ('l-img' => '!la_title_New_Image!'),
 													'format'				=>	"#l_status# '#l_titlefield#' - #l-img_status# '#l-img_titlefield#'",
 													'toolbar_buttons' => Array ('select', 'cancel'),
 													),
 
 												'file_edit' => Array (
 													'prefixes' => Array ('l', 'l-file'),
 													'new_status_labels' => Array ('l-file' => "!la_title_AddingFile!"),
 													'edit_status_labels' => Array ('l-file' => '!la_title_EditingFile!'),
 													'new_titlefield' => Array ('l-file' => '!la_title_NewFile!'),
 													'format' => "#l_status# '#l_titlefield#' - #l-file_status# '#l-file_titlefield#'",
 													'toolbar_buttons' => Array ('select', 'cancel'),
 													),
 
 												'reviews_edit' => Array (
 													'prefixes' => Array ('l', 'l-rev'),
 													'new_status_labels'	=>	Array ('l-rev' =>"!la_title_Adding_Review! '!la_title_New_Review!'"),
 													'edit_status_labels' =>	Array ('l-rev' => '!la_title_Editing_Review!'),
 													'format' =>	"#l_status# '#l_titlefield#' - #l-rev_status#",
 													'toolbar_buttons' => Array ('select', 'cancel'),
 													),
 
 												'relations_edit' =>	Array (
 													'prefixes' => Array ('l', 'l-rel'),
 													'new_status_labels' => Array ('l-rel' =>"!la_title_Adding_Relationship! '!la_title_New_Relationship!'"),
 													'edit_status_labels' =>	Array ('l-rel' => '!la_title_Editing_Relationship!'),
 													'format' =>	"#l_status# '#l_titlefield#' - #l-rel_status#",
 													'toolbar_buttons' => Array ('select', 'cancel'),
 													),
 
 												'links_export' => Array ('format' => '!la_title_LinksExport!'),
 
 												'links_import' => Array ('format' => '!la_title_ImportLinks!'),
 
 												'duplicate_links' => Array (
 													'prefixes' => Array ('l.duplicates_List'), 'format' => "!la_title_DuplicateLinks! - %s",
 													'toolbar_buttons' => Array ('edit', 'view', 'dbl-click'),
 													),
 
 												'duplicate_links_view' => Array (
 													'prefixes' => Array ('l.duplicates-sub_List'), 'format' => "!la_title_Links!",
 													'toolbar_buttons' => Array ('cancel', 'edit', 'delete', 'merge_links', 'view', 'dbl-click'),
 													),
 
 												'tree_in-link' => Array ('format' => '!la_Text_Version! '.$this->Application->findModule('Name', 'In-Link', 'Version')),
 											),
 
 					'EditTabPresets' => Array (
    						'Default' => Array (
 							'general' => Array ('title' => 'la_tab_General', 't' => 'in-link/links/links_edit', 'priority' => 1),
 							'categories' => Array ('title' => 'la_tab_Categories', 't' => 'in-link/links/links_categories', 'priority' => 2),
 							'relations' => Array ('title' => 'la_tab_Relations', 't' => 'in-link/links/links_relations', 'priority' => 3),
 							'images' => Array ('title' => 'la_tab_Images', 't' => 'in-link/links/links_images', 'priority' => 4),
 							'files' => Array ('title' => 'la_tab_Files', 't' => 'in-link/links/links_files', 'priority' => 5),
 							'reviews' => Array ('title' => 'la_tab_Reviews', 't' => 'in-link/links/links_reviews', 'priority' => 6),
 							'custom' => Array ('title' => 'la_tab_Custom', 't' => 'in-link/links/links_custom', 'priority' => 7),
    						),
    					),
 
 					'PermItemPrefix'	=>	'LINK',
 
 					'PermTabText'		=>	'In-Link',
 					'PermSection'		=>	Array ('main' => 'CATEGORY:in-link:links_list', 'search' => 'in-link:configuration_search', 'custom' => 'in-link:configuration_custom'),
 
 					'Sections'			=>	Array (
 						'in-link'	=>	Array (
 							'parent'		=>	'in-portal:root',
 							'icon'			=>	'settings_in-link',
 							'label'			=>	'la_title_In-Link',
 							'url'			=>	Array ('t' => 'index', 'pass_section' => true, 'pass' => 'm'),
 							'permissions'	=>	Array ('view'),
 							'priority'		=>	2.3,
 							'container'		=>	true,
 							'type'			=>	stTREE,
 						),
 
 						'in-link:links'	=>	Array (
 							'parent'		=>	'in-portal:site',
 							'icon'			=>	'links',
 							'label'			=>	'la_tab_Links',
 							'url'			=>	Array ('t' => 'catalog/advanced_view', 'anchor' => 'tab-l.showall', 'pass' => 'm'),
 							'onclick'		=>	'setCatalogTab(\'l.showall\')',
 							'permissions'	=>	Array ('view'),
 							'priority'		=>	3.1,
 							'type'			=>	stTREE,
 						),
 
 						'in-link:duplicate_checker'	=>	Array (
 							'parent'		=>	'in-link',
 							'icon'			=>	'duplicate_checker',
 							'label'			=>	'la_tab_DuplicateChecker',
 							'url'			=>	Array ('t' => 'in-link/duplicate_checker', 'pass' => 'm'),
 							'permissions'	=>	Array ('view', 'add', 'edit', 'delete'),
 							'priority'		=>	2,
 							'type'			=>	stTREE,
 						),
 
 						// link settings
 						'in-link:setting_folder' => Array (
 							'parent'		=>	'in-portal:system',
 							'icon'			=>	'conf_directory',
 							'label'			=>	'la_title_In-Link',
 							'use_parent_header' => 1,
 							'url'			=>	Array ('t' => 'index', 'pass_section' => true, 'pass' => 'm'),
 							'permissions'	=>	Array ('view'),
 							'priority'		=>	3.3,
 							'container'		=>	true,
 							'type'			=>	stTREE,
 						),
 
 						/*'in-link:inlink_general'	=>	Array (
 							'parent'		=>	'in-link:setting_folder',
 							'icon'			=>	'core:settings_general',
 							'label'			=>	'la_tab_GeneralSettings',
 							'url'			=>	Array ('t' => 'config/config_general', 'pass_section' => true, 'pass' => 'm'),
 							'permissions'	=>	Array ('view', 'edit'),
 							'priority'		=>	0.9,
 							'type'			=>	stTREE,
 						),*/
 
 						'in-link:configuration_output'	=>	Array (
 							'parent'		=>	'in-link:setting_folder',
 							'icon'			=>	'core:conf_output',
 							'label'			=>	'la_tab_ConfigOutput',
 							'url'			=>	Array ('t' => 'config/config_general', 'pass_section' => true, 'pass' => 'm'),
 							'permissions'	=>	Array ('view', 'edit'),
 							'priority'		=>	1,
 							'type'			=>	stTREE,
 						),
 
 						'in-link:configuration_search'	=>	Array (
 							'parent'		=>	'in-link:setting_folder',
 							'icon'			=>	'core:conf_search',
 							'label'			=>	'la_tab_ConfigSearch',
 							'url'			=>	Array ('t' => 'config/config_search', 'module_key' => 'links', 'pass_section' => true, 'pass' => 'm'),
 							'permissions'	=>	Array ('view', 'edit'),
 							'priority'		=>	2,
 							'type'			=>	stTREE,
 						),
 
 						'in-link:configuration_custom'	=>	Array (
 							'parent'		=>	'in-link:setting_folder',
 							'icon'			=>	'core:conf_customfields',
 							'label'			=>	'la_tab_ConfigCustom',
 							'url'			=>	Array ('t' => 'custom_fields/custom_fields_list', 'cf_type' => 4, 'pass_section' => true, 'pass' => 'm,cf'),
 							'permissions'	=>	Array ('view', 'add', 'edit', 'delete'),
 							'priority'		=>	3,
 							'type'			=>	stTREE,
 						),
 					),
 
 					'FilterMenu'		=>	Array (
-												'Groups' => Array (
-													Array ('mode' => 'AND', 'filters' => Array ('show_active', 'show_pending', 'show_disabled'), 'type' => WHERE_FILTER),
-													Array ('mode' => 'AND', 'filters' => Array ('show_new'), 'type' => HAVING_FILTER),
-													Array ('mode' => 'AND', 'filters' => Array ('show_hot'), 'type' => HAVING_FILTER),
-													Array ('mode' => 'AND', 'filters' => Array ('show_pop'), 'type' => HAVING_FILTER),
-													Array ('mode' => 'AND', 'filters' => Array ('show_pick'), 'type' => WHERE_FILTER),
-												),
-												'Filters' => Array (
-													'show_active'	=>	Array ('label' => 'la_Active', 'on_sql' => '', 'off_sql' => '%1$s.Status != 1' ),
-													'show_pending'	=>	Array ('label' => 'la_Pending', 'on_sql' => '', 'off_sql' => '%1$s.Status != 2'  ),
-													'show_disabled'	=>	Array ('label' => 'la_Disabled', 'on_sql' => '', 'off_sql' => '%1$s.Status != 0'  ),
-													's1'	=>	Array (),
-													'show_new'	=>	Array ('label' => 'la_Text_New', 'on_sql' => '', 'off_sql' => '`IsNew` != 1'  ),
-													'show_hot'	=>	Array ('label' => 'la_Text_Hot', 'on_sql' => '', 'off_sql' => '`IsHot` != 1'  ),
-													'show_pop'	=>	Array ('label' => 'la_Text_Pop', 'on_sql' => '', 'off_sql' => '`IsPop` != 1'  ),
-													'show_pick'	=>	Array ('label' => 'la_prompt_EditorsPick', 'on_sql' => '', 'off_sql' => '%1$s.`EditorsPick` != 1'  ),
-												)
-											),
+						'Groups' => Array (													
+							Array ('mode' => 'AND', 'filters' => Array ('show_new'), 'type' => HAVING_FILTER),
+							Array ('mode' => 'AND', 'filters' => Array ('show_hot'), 'type' => HAVING_FILTER),
+							Array ('mode' => 'AND', 'filters' => Array ('show_pop'), 'type' => HAVING_FILTER),
+							Array ('mode' => 'AND', 'filters' => Array ('show_pick'), 'type' => WHERE_FILTER),
+						),
+						'Filters' => Array (
+							'show_new'	=>	Array ('label' => 'la_Text_New', 'on_sql' => '', 'off_sql' => '`IsNew` != 1'  ),
+							'show_hot'	=>	Array ('label' => 'la_Text_Hot', 'on_sql' => '', 'off_sql' => '`IsHot` != 1'  ),
+							'show_pop'	=>	Array ('label' => 'la_Text_Pop', 'on_sql' => '', 'off_sql' => '`IsPop` != 1'  ),
+							'show_pick'	=>	Array ('label' => 'la_prompt_EditorsPick', 'on_sql' => '', 'off_sql' => '%1$s.`EditorsPick` != 1'  ),
+						),
+					),
 
 					'TableName'			=>	TABLE_PREFIX.'Link',
 
 					'CalculatedFields' => Array (
 						'' => Array (
 							'UserName' => 'IF (ISNULL(u.Login), IF (%1$s.CreatedById = ' . USER_ROOT . ', "root", IF (%1$s.CreatedById = ' . USER_GUEST . ', "Guest", "n/a")), u.Login)',
 							'CategoryId' => TABLE_PREFIX.'%3$sCategoryItems.CategoryId',
 							'Filename' => TABLE_PREFIX.'%3$sCategoryItems.Filename',
 							'CategoryFilename' => TABLE_PREFIX.'Category.NamedParentPath',
 							'PrimaryCat'	=> TABLE_PREFIX.'%3$sCategoryItems.PrimaryCat',
 							'ParentPath' => TABLE_PREFIX.'Category.ParentPath',
 
 							'AltName'		=>	'img.AltName',
 							'SameImages'	=>	'img.SameImages',
 							'LocalThumb'	=>	'img.LocalThumb',
 							'ThumbPath'		=>	'img.ThumbPath',
 							'ThumbUrl'		=>	'img.ThumbUrl',
 							'LocalImage'	=>	'img.LocalImage',
 							'LocalPath'		=>	'img.LocalPath',
 							'FullUrl'		=>	'img.Url',
 						),
 					),
 
 					'CacheModRewrite' => true,
 
 					'AggregatedCalculatedFields' => Array (
 
 												'duplicates'	=>	Array (
 																		'DupeCount'	=>	'COUNT(*)',
 																	),
 										),
 
 
 					'ListSQLs'			=>	Array (	'' => '	SELECT %1$s.* %2$s
 															FROM %1$s
 															LEFT JOIN '.TABLE_PREFIX.'%3$sCategoryItems ON '.TABLE_PREFIX.'%3$sCategoryItems.ItemResourceId = %1$s.ResourceId
 															LEFT JOIN '.TABLE_PREFIX.'Category ON '.TABLE_PREFIX.'Category.CategoryId = '.TABLE_PREFIX.'%3$sCategoryItems.CategoryId
 															LEFT JOIN '.TABLE_PREFIX.'%3$sImages img ON img.ResourceId = %1$s.ResourceId AND img.DefaultImg = 1
 															LEFT JOIN '.TABLE_PREFIX.'PermCache perm ON perm.CategoryId = '.TABLE_PREFIX.'%3$sCategoryItems.CategoryId
 															LEFT JOIN '.TABLE_PREFIX.'PortalUser u ON %1$s.CreatedById = u.PortalUserId
 															LEFT JOIN '.TABLE_PREFIX.'%3$sLinkCustomData cust ON %1$s.ResourceId = cust.ResourceId',
 
 											), // key - special, value - list select sql
 
 					'ListSortings'	=> 	Array (
 												'' => Array (
 															'ForcedSorting' => Array ('Priority' => 'desc'),
 															'Sorting' => Array ('Name' => 'asc', 'Description' => 'desc'),
 														)
 										),
 					'ItemSQLs'			=>	Array (	'' => '	SELECT %1$s.* %2$s
 															FROM %1$s
 															LEFT JOIN '.TABLE_PREFIX.'%3$sCategoryItems ON '.TABLE_PREFIX.'%3$sCategoryItems.ItemResourceId = %1$s.ResourceId
 															LEFT JOIN '.TABLE_PREFIX.'Category ON '.TABLE_PREFIX.'Category.CategoryId = '.TABLE_PREFIX.'%3$sCategoryItems.CategoryId
 															LEFT JOIN '.TABLE_PREFIX.'%3$sImages img ON img.ResourceId = %1$s.ResourceId AND img.DefaultImg = 1
 															LEFT JOIN '.TABLE_PREFIX.'PortalUser u ON %1$s.CreatedById = u.PortalUserId
 															LEFT JOIN '.TABLE_PREFIX.'%3$sLinkCustomData cust ON %1$s.ResourceId = cust.ResourceId'),
 
 					'SubItems'			=>	Array ('l-rev', 'l-ci', 'l-rel', 'l-img', 'l-cdata', 'l-fav', 'l-file'),
 
 					'Fields' => Array (
 			            'LinkId'			=>	Array ('type' => 'int', 'not_null' => 1, 'default' => 0,),
 			            'Name'				=>	Array ('type' => 'string', 'formatter' => 'kMultiLanguage', 'not_null' => 1, 'required' => 1, 'max_len' => 255, 'default' => ''),
 						'AutomaticFilename' =>	Array ('type' => 'int', 'formatter' => 'kOptionsFormatter', 'options' => Array (1 => 'la_Yes', 0 => 'la_No'), 'use_phrases' => 1, 'not_null' => 1, 'default' => 1),
 			            'Description'		=>	Array ('type' => 'string', 'formatter' => 'kMultiLanguage', 'using_fck' => 1, 'default' => null),
 			            'Url'				=>	Array ('type' => 'string', 'not_null' => 1, 'required' => 1, 'default' => ''),
 			            'CreatedOn'			=>	Array ('type' => 'int', 'formatter' => 'kDateFormatter', 'default' => '#NOW#'),
 			            'Modified'			=>	Array ('type' => 'int', 'formatter' => 'kDateFormatter', 'default' => '#NOW#'),
 			            'Expire'			=>	Array ('type' => 'int', 'formatter' => 'kDateFormatter', 'default' => null),
 			            'Hits'				=>	Array ('type' => 'double', 'formatter' => 'kFormatter', 'format' => '%d', 'not_null' => 1, 'default' => 0),
 			            'CachedRating'		=>	Array ('type' => 'string', 'not_null' => 1, 'formatter' => 'kFormatter', 'default' => 0),
 			            'CachedVotesQty'	=>	Array ('type' => 'int', 'formatter' => 'kFormatter', 'not_null' => 1, 'default' => 0),
 			            'CachedReviewsQty'	=>	Array ('type' => 'int', 'not_null' => 1, 'default' => 0),
 			            'CreatedById'		=>	Array ('type' => 'int', 'formatter' => 'kLEFTFormatter', 'error_msgs' => Array ('invalid_option' => '!la_error_UserNotFound!'), 'options' => Array (USER_ROOT => 'root', USER_GUEST => 'Guest'), 'left_sql' => 'SELECT %s FROM '.TABLE_PREFIX.'PortalUser WHERE `%s` = \'%s\'', 'left_key_field' => 'PortalUserId', 'left_title_field' => 'Login', 'not_null' => 1, 'default' => USER_ROOT),
 			            'ModifiedById'		=>	Array ('type' => 'int', 'formatter' => 'kLEFTFormatter', 'error_msgs' => Array ('invalid_option' => '!la_error_UserNotFound!'), 'options' => Array (USER_ROOT => 'root', USER_GUEST => 'Guest'), 'left_sql' => 'SELECT %s FROM '.TABLE_PREFIX.'PortalUser WHERE `%s` = \'%s\'', 'left_key_field' => 'PortalUserId', 'left_title_field' => 'Login', 'not_null' => 1, 'default' => USER_ROOT),
 			            'Priority'			=>	Array ('type' => 'int', 'not_null' => 1, 'default' => 0),
 			            'Status'			=>	Array (
 			            	'type' => 'int',
 			            	'formatter' => 'kOptionsFormatter',
 			            	'options' => Array (1 => 'la_Active', 2 => 'la_Pending', 0 => 'la_Disabled'), 'use_phrases' => 1,
 			            	'not_null' => 1, 'default' => 2,
 						),
 			            'EditorsPick'		=>	Array (
 			            	'type' => 'int',
 			            	'formatter' => 'kOptionsFormatter',
 			            	'options' => Array (1 => 'la_Yes', 0 => 'la_No'), 'use_phrases' => 1,
 			            	'not_null' => 1, 'default' => 0,
 						),
 			            'ResourceId'		=>	Array ('type' => 'int', 'default' => null),
 						'HotItem'			=>	Array ('type' => 'int', 'formatter' => 'kOptionsFormatter', 'options' => Array (2 => 'la_Auto', 1 => 'la_Always', 0 => 'la_Never'), 'use_phrases' => 1,  'not_null' => 1, 'default' => 2),
 						'PopItem'			=>	Array ('type' => 'int', 'formatter' => 'kOptionsFormatter', 'options' => Array (2 => 'la_Auto', 1 => 'la_Always', 0 => 'la_Never'), 'use_phrases' => 1,  'not_null' => 1, 'default' => 2),
 						'NewItem'			=>	Array ('type' => 'int', 'formatter' => 'kOptionsFormatter', 'options' => Array (2 => 'la_Auto', 1 => 'la_Always', 0 => 'la_Never'), 'use_phrases' => 1,  'not_null' => 1, 'default' => 2),
 			            'OrgId'				=>	Array ('type' => 'int', 'default' => null),
 			            'CustomTemplate'	=>	Array ('type' => 'string', 'not_null' => 1, 'default' => ''),
 			            'MetaKeywords'			=>	Array ('type' => 'string', 'default' => null),
 						'MetaDescription'		=>	Array ('type' => 'string', 'formatter' => 'kFormatter', 'using_fck' => 1, 'default' => null),
 						'ReciprocalLinkFound' => Array (
 							'type' => 'int',
 							'formatter' => 'kOptionsFormatter', 'options' => Array (0 => 'la_NotChecked', 1 => 'la_Yes', 2 => 'la_No'), 'use_phrases' => 1,
 							'not_null' => 1, 'default' => 0
 						),
 		        	),
 
 					'VirtualFields'	=> 	Array (
 						'UserName'		=>	Array ('type' => 'string', 'default' => ''),
 						'DupeCount'		=>	Array ('type' => 'string', 'default' => ''),
 
 						'ListingTypeId'	=>	Array ('type' => 'int', 'formatter' => 'kOptionsFormatter', 'options_sql' => 'SELECT %1$s FROM '.TABLE_PREFIX.'ListingTypes ORDER BY Name', 'option_title_field' => 'Name', 'option_key_field' => 'ListingTypeId', 'default' => 0),
 
 						'MoreCategories' => Array ('type' => 'string', 'default' => ''),
 
 						// export related fields: begin
 						'CategoryId'			=>	Array ('type' => 'int', 'formatter' => 'kOptionsFormatter', 'options' => Array (), 'default' => 0),
 						'ExportFormat'			=>	Array ('type' => 'int', 'formatter' => 'kOptionsFormatter', 'options' => Array (1 => 'CSV', /*2 => 'XML'*/), 'default' => 1),
 						'ExportFilename'		=>	Array ('type' => 'string', 'default' => ''),
 						'FieldsSeparatedBy'		=>	Array ('type' => 'string', 'default' => ', '),
 						'FieldsEnclosedBy'		=>	Array ('type' => 'string', 'default' => '"'),
 						'LineEndings'			=>	Array ('type' => 'int', 'formatter' => 'kOptionsFormatter', 'options' => Array (1 => 'Windows', 2 => 'UNIX'), 'default' => 1),
 						'LineEndingsInside'		=>	Array ('type' => 'int', 'formatter' => 'kOptionsFormatter', 'options' => Array (1 => 'CRLF', 2 => 'LF'), 'default' => 2),
 						'IncludeFieldTitles'	=>	Array (
 					    	'type' => 'int',
 					    	'formatter' => 'kOptionsFormatter',
 					    	'options' => Array (0 => 'la_No', 1 => 'la_Yes'),
 					    	'use_phrases' => 1, 'not_null' => 1, 'default' => 1,
 						),
 						'ExportColumns'			=>	Array ('type' => 'string', 'formatter' => 'kOptionsFormatter', 'options' => Array ()),
 						'AvailableColumns'		=>	Array ('type' => 'string', 'formatter' => 'kOptionsFormatter', 'options' => Array ()),
 						'CategoryFormat'		=>	Array ('type' => 'int', 'formatter' => 'kOptionsFormatter', 'options' => Array (1 => 'la_MixedCategoryPath', 2 => 'la_SeparatedCategoryPath'), 'use_phrases' => 1, 'default' => 1),
 						'CategorySeparator'		=>	Array ('type' => 'string', 'error_field' => 'CategoryFormat', 'default' => ':'),
 						'IsBaseCategory'		=>	Array (
 					    	'type' => 'int',
 					    	'formatter' => 'kOptionsFormatter',
 					    	'options' => Array (0 => 'la_No', 1 => 'la_Yes'),
 					    	'use_phrases' => 1, 'not_null' => 1, 'default' => 0,
 						),
 						// export related fields: end
 
 						// import related fields: begin
 						'FieldTitles'			=>	Array ('type' => 'int', 'formatter' => 'kOptionsFormatter', 'options' => Array (1 => 'la_Automatic', 2 => 'la_Manual'), 'use_phrases' => 1, 'default' => 1),
 						'ImportSource'			=>	Array ('type' => 'int', 'formatter' => 'kOptionsFormatter', 'options' => Array (1 => 'la_Upload', 2 => 'la_Local'), 'use_phrases' => 1, 'default' => 2),
 						'ImportFilename'		=>	Array ('type' => 'string', 'formatter' => 'kUploadFormatter', 'max_size' => MAX_UPLOAD_SIZE, 'upload_dir' => EXPORT_BASE_PATH . '/'),
 						'ImportLocalFilename'	=>	Array ('type' => 'string', 'formatter' => 'kOptionsFormatter', 'default' => ''),
 						'CheckDuplicatesMethod'	=>	Array ('type' => 'int', 'formatter' => 'kOptionsFormatter', 'options' => Array (1 => 'la_IDField', 2 => 'la_OtherFields'), 'use_phrases' => 1, 'default' => 1),
 						'ReplaceDuplicates'		=>	Array ('type' => 'int', 'formatter' => 'kOptionsFormatter', 'options' => Array (0 => 'la_No', 1 => 'la_Yes'), 'use_phrases' => 1, 'default' => 0),
 						'DuplicateCheckFields'	=>	Array ('type' => 'string', 'formatter' => 'kOptionsFormatter', 'options' => Array ('Name' => 'NAME', 'Url' => 'URL'), 'default' => '|Name|Url|'),
 						'SkipFirstRow'			=>	Array ('type' => 'int', 'formatter' => 'kOptionsFormatter', 'options' => Array (1 => 'la_Yes', 0 => 'la_No'), 'use_phrases' => 1, 'default' => 1),
 						// import related fields: end
 
 						'ThumbnailImage'		=>	Array ('type' => 'string', 'default' => ''),
 						'FullImage'				=>	Array ('type' => 'string', 'default' => ''),
 						'ImageAlt'				=>	Array ('type' => 'string', 'default' => ''),
 
 						'Filename'				=>	Array ('type' => 'string', 'not_null' => 1, 'default' => ''),
 						'CachedNavbar'			=>	Array ('type' => 'string', 'default' => ''),
 						'ParentPath'			=>	Array ('type' => 'string', 'default' => ''),
 
 						// for primary image
 						'AltName'		=>	Array ('type' => 'string', 'default' => ''),
 						'SameImages'	=>	Array ('type' => 'string', 'default' => ''),
 						'LocalThumb'	=>	Array ('type' => 'string', 'default' => ''),
 						'ThumbPath'		=>	Array ('type' => 'string', 'default' => ''),
 						'ThumbUrl'		=>	Array ('type' => 'string', 'default' => ''),
 						'LocalImage'	=>	Array ('type' => 'string', 'default' => ''),
 						'LocalPath'		=>	Array ('type' => 'string', 'default' => ''),
 						'FullUrl'		=>	Array ('type' => 'string', 'default' => ''),
 					),
 
 					'Grids' => Array (
 						'Default' => Array (
 							'Icons' => Array (
 								0 => 'icon16_link_disabled.png',
 								1 => 'icon16_link.png',
 								2 => 'icon16_link_pending.png',
 								'NEW' => 'icon16_link_new.png',
 							),
 							'Fields' => Array (
 								'LinkId' => Array ('title' => 'la_col_Id', 'data_block' => 'grid_checkbox_td', 'filter_block' => 'grid_range_filter', 'width' => 60, ),
 								'Name' => Array ('title' => 'la_col_LinkName', 'data_block' => 'grid_catitem_td', 'width' => 200, ),
 								'Url' => Array ('title' => 'la_col_LinkUrl', 'width' => 200, ),
 								'Description' => Array ('title' => 'la_col_Description', 'first_chars' => 100, 'width' => 100, ),
 								'CreatedOn' => Array ('title' => 'la_col_CreatedOn', 'filter_block' => 'grid_date_range_filter', 'width' => 145, ),
 								'Modified' => Array ('title' => 'la_col_Modified', 'filter_block' => 'grid_date_range_filter', 'width' => 145, ),
 								'Status' => Array ('title' => 'la_col_Status', 'filter_block' => 'grid_options_filter', 'width' => 70, ),
 								'Hits' => Array ('title' => 'la_col_Hits', 'filter_block' => 'grid_range_filter', 'width' => 60, ),
 								'CachedRating' => Array ('title' => 'la_col_Rating', 'filter_block' => 'grid_range_filter', 'width' => 70, ),
 								'CachedVotesQty' => Array ('title' => 'la_col_VoteCount', 'filter_block' => 'grid_range_filter', 'width' => 70, ),
 								'CachedReviewsQty' => Array ('title' => 'la_col_ReviewCount', 'filter_block' => 'grid_range_filter', 'width' => 85, ),
 							),
 						),
 
 						'Radio' => Array (
 							'Icons' => Array (
 								0 => 'icon16_link_disabled.png',
 								1 => 'icon16_link.png',
 								2 => 'icon16_link_pending.png',
 								'NEW' => 'icon16_link_new.png',
 							),
 							'Selector' => 'radio',
 							'Fields' => Array (
 								'LinkId' => Array ('title' => 'la_col_Id', 'data_block' => 'grid_radio_td', 'filter_block' => 'grid_range_filter', 'width' => 70, ),
 								'Name' => Array ('title' => 'la_col_LinkName', 'data_block' => 'grid_catitem_td', 'width' => 200, ),
 								'Url' => Array ('title' => 'la_col_LinkUrl', 'width' => 200, ),
 								'Description' => Array ('title' => 'la_col_Description', 'first_chars' => 100, 'width' => 100, ),
 								'CreatedOn' => Array ('title' => 'la_col_CreatedOn', 'filter_block' => 'grid_date_range_filter', 'width' => 145, ),
 								'Modified' => Array ('title' => 'la_col_Modified', 'filter_block' => 'grid_date_range_filter', 'width' => 145, ),
 								'Status' => Array ('title' => 'la_col_Status', 'filter_block' => 'grid_options_filter', 'width' => 70, ),
 								'Hits' => Array ('title' => 'la_col_Hits', 'filter_block' => 'grid_range_filter', 'width' => 60, ),
 								'CachedRating' => Array ('title' => 'la_col_Rating', 'filter_block' => 'grid_range_filter', 'width' => 70, ),
 								'CachedVotesQty' => Array ('title' => 'la_col_VoteCount', 'filter_block' => 'grid_range_filter', 'width' => 70, ),
 								'CachedReviewsQty' => Array ('title' => 'la_col_ReviewCount', 'filter_block' => 'grid_range_filter', 'width' => 85, ),
 							),
 						),
 
 						'Duplicates' => Array (
 							'Icons' => Array (
 								0 => 'icon16_link_disabled.png',
 								1 => 'icon16_link.png',
 								2 => 'icon16_link_pending.png',
 								'NEW' => 'icon16_link_new.png',
 							),
 
 							'Fields' => Array (
 								'Name' => Array ('title' => 'la_col_LinkName', 'filter_block' => 'grid_like_filter', 'width' => 250, ),
 								'Url' => Array ('title' => 'la_col_LinkUrl', 'filter_block' => 'grid_like_filter', 'width' => 300, ),
 								'DupeCount' => Array ('title' => 'la_col_DupeCount', 'filter_block' => 'grid_range_filter', 'width' => 100, ),
 							),
 						),
 					),
 
 
 					'ConfigMapping' => 	Array (
 												'PerPage'				=>	'Perpage_Links',
 												'ShortListPerPage'		=>	'Perpage_Links_Short',
 												'ForceEditorPick'		=>	'Link_ShowPick',
 												'DefaultSorting1Field'	=>	'Link_SortField',
 												'DefaultSorting2Field'	=>	'Link_SortField2',
 												'DefaultSorting1Dir'	=>	'Link_SortOrder',
 												'DefaultSorting2Dir'	=>	'Link_SortOrder2',
 
 												'RatingDelayValue'		=>	'link_RatingDelay_Value',
 												'RatingDelayInterval'	=>	'link_RatingDelay_Interval',
 
 										),
 	);
\ No newline at end of file
Index: branches/5.1.x/units/link_validation/link_validation_config.php
===================================================================
--- branches/5.1.x/units/link_validation/link_validation_config.php	(revision 13938)
+++ branches/5.1.x/units/link_validation/link_validation_config.php	(revision 13939)
@@ -1,183 +1,171 @@
 <?php
 /**
 * @version	$Id$
 * @package	In-Link
 * @copyright	Copyright (C) 1997 - 2009 Intechnic. All rights reserved.
 * @license      GNU/GPL
 * In-Portal is Open Source software.
 * This means that this software may have been modified pursuant
 * the GNU General Public License, and as distributed it includes
 * or is derivative of works licensed under the GNU General Public License
 * or other free or open source software licenses.
 * See http://www.in-portal.org/license for copyright notices and details.
 */
 
 defined('FULL_PATH') or die('restricted access!');
 
 	$config = Array (
 		'Prefix' => 'link-validation',
 		'ItemClass' => Array ('class' => 'kDBItem', 'file' => '', 'build_event' => 'OnItemBuild'),
 		'ListClass' => Array ('class' => 'kDBList', 'file' => '', 'build_event' => 'OnListBuild'),
 		'EventHandlerClass' => Array ('class' => 'LinkValidationEventHandler', 'file' => 'link_validation_eh.php', 'build_event' => 'OnBuild'),
 		'TagProcessorClass' => Array ('class' => 'LinkValidationTagProcessor', 'file' => 'link_validation_tp.php', 'build_event' => 'OnBuild'),
 
 		'AutoLoad' => true,
 
 		'Hooks' => Array (
 			Array (
 				'Mode' => hAFTER,
 				'Conditional' => true,
 				'HookToPrefix' => 'l',
 				'HookToSpecial' => '*',
 				'HookToEvent' => Array('OnAfterConfigRead'),
 				'DoPrefix' => '',
 				'DoSpecial' => '*',
 				'DoEvent' => 'OnPrepareLinkEditing',
 			),
 		),
 
 		'QueryString' => Array (
 			1 => 'id',
 			2 => 'Page',
 			3 => 'PerPage',
 			4 => 'event',
 			5 => 'mode',
 		),
 
 		'RegularEvents' => Array (
 			'link_validation' => Array ('EventName' => 'OnCronValidation', 'RunInterval' => 3600*24, 'Type' => reAFTER),
 		),
 
 		'IDField' => 'LinkValidationId',
 
 		'TableName' => TABLE_PREFIX.'LinkValidation',
 
 		'StatusField' => Array ('ValidationStatus', 'LinkStatus'),
 
 		'TitlePresets' => Array (
 			'link_validation_list' => Array ('prefixes' => Array ('link-validation_List'), 'format' => "!la_tab_LinkValidation!"),
 			'link_validation_progress' => Array ('format' => '!la_tab_ValidatingLinks!'),
 		),
 
 		'PermSection' => Array('main' => 'in-link:link_validation'),
 
 		'Sections' => Array (
 			'in-link:link_validation' => Array (
 				'parent'		=>	'in-link',
 				'icon'			=>	'in-link:validate',
 				'label'			=>	'la_tab_LinkValidation',
 				'url'			=>	Array('t' => 'in-link/link_validation/link_validation_list', 'pass' => 'm'),
 				'permissions'	=>	Array('view', 'advanced:continue', 'advanced:restart', 'advanced:validate', 'advanced:reset'),
 				'priority'		=>	3,
 				'type'			=>	stTREE,
 			),
 		),
 
-		'FilterMenu' => Array (
-			'Groups' => Array(
-				Array('mode' => 'AND', 'filters' => Array('show_valid', 'show_invalid', 'show_not_validated'), 'type' => WHERE_FILTER),
-			),
-
-			'Filters' => Array (
-				'show_valid' => Array ('label' =>'la_Text_Valid', 'on_sql' => '', 'off_sql' => '%1$s.ValidationStatus != ' . LINK_VALIDATION_VALID . ' OR %1$s.ValidationStatus IS NULL'),
-				'show_invalid' => Array ('label' => 'la_Text_Invalid', 'on_sql' => '', 'off_sql' => '%1$s.ValidationStatus != ' . LINK_VALIDATION_INVALID . ' OR %1$s.ValidationStatus IS NULL'),
-				'show_not_validated' => Array ('label' => 'la_Text_Not_Validated', 'on_sql' => '', 'off_sql' => '%1$s.ValidationStatus != ' . LINK_VALIDATION_NOT_VALIDATED . ' OR %1$s.ValidationStatus IS NOT NULL'),
-			)
-		),
-
 		'ListSQLs' => Array (
 			'' => '	SELECT %1$s.* %2$s
 					FROM ' . TABLE_PREFIX . 'Link l
 					LEFT JOIN %1$s ON %1$s.LinkId = l.LinkId
 					LEFT JOIN ' . TABLE_PREFIX . 'CategoryItems ci ON ci.ItemResourceId = l.ResourceId
 					LEFT JOIN '.TABLE_PREFIX.'Category c ON c.CategoryId = ci.CategoryId',
 		),
 
 		'ListSortings' => Array (
 			'' => Array (
 				'Sorting' => Array ('LinkValidationId' => 'desc'),
 			)
 		),
 
 		'CalculatedFields' => Array (
 			'' => Array (
 				'ForeignLinkId' => 'l.LinkId',
 				'LinkName' => 'l.Name',
 				'LinkUrl' => 'l.Url',
 				'LinkCreatedOn' => 'l.CreatedOn',
 				'LinkStatus' => 'l.Status',
 				'LinkValidationStatus' => 'IF(%1$s.ValidationStatus IS NULL, ' . LINK_VALIDATION_NOT_VALIDATED . ', %1$s.ValidationStatus)',
 
 				'CategoryId' => 'ci.CategoryId',
 			),
 		),
 
 		'Fields' => Array (
 			'LinkValidationId' => Array ('type' => 'int', 'not_null' => 1, 'default' => 0),
 			'LinkId' => Array ('type' => 'int', 'not_null' => 1, 'default' => 0),
 			'ValidationTime' => Array ('type' => 'int', 'formatter' => 'kDateFormatter', 'default' => NULL),
 			'ValidationCode' => Array (
 				'type' => 'string',
 				'formatter' => 'kOptionsFormatter', 'options' => Array (200 => '200 OK', 301 => '301 Moved Permanently', 302 => '302 Found', 400 => '400 Bad Request', 403 => '403 Forbidden', 404 => '404 Not Found', 500 => '500 Internal Server Error'),
 				'max_len' => 50, 'default' => NULL
 			),
 			'ValidationStatus' => Array (
 				'type' => 'int',
 				'formatter' => 'kOptionsFormatter', 'options' => Array (0 => 'la_Text_Not_Validated', 1 => 'la_Text_Valid', 2 => 'la_Text_Invalid'), 'use_phrases' => 1,
 				'not_null' => 1, 'default' => 0
 			),
 		),
 
 		'VirtualFields' => Array (
 			'ForeignLinkId' => Array ('type' => 'int', 'not_null' => 1, 'default' => 0),
 			'LinkName' => Array('type' => 'string', /*'formatter' => 'kMultiLanguage',*/ 'not_null' => 1, 'max_len' => 255, 'default' => ''),
 			'LinkUrl' => Array ('type' => 'string', 'not_null' => 1, 'default' => ''),
 			'LinkCreatedOn' => Array('type' => 'int', 'formatter' => 'kDateFormatter', 'default' => '#NOW#'),
 			'LinkStatus' => Array('type' => 'int', 'formatter' => 'kOptionsFormatter', 'options' => Array (1 => 'la_Active', 2 => 'la_Pending', 0 => 'la_Disabled'), 'use_phrases' => 1, 'not_null' => 1, 'default' => 2),
 			'LinkValidationStatus' => Array (
 				'type' => 'int',
 				'formatter' => 'kOptionsFormatter', 'options' => Array (0 => 'la_Text_Not_Validated', 1 => 'la_Text_Valid', 2 => 'la_Text_Invalid'), 'use_phrases' => 1,
 				'not_null' => 1, 'default' => 0
 			),
 
 			// for category path drawing
 			'CategoryId' => Array ('type' => 'int', 'default' => 0),
 			'CachedNavbar' => Array ('type' => 'string', 'default' => ''),
 		),
 
 		'Grids' => Array (
 			'Default' => Array (
 				'Icons' => Array (
 					'default' => 'icon16_link.png',
 					// for valid links
 					LINK_VALIDATION_VALID . '_' . STATUS_DISABLED => 'icon16_valid_disabled.gif',
 					LINK_VALIDATION_VALID . '_' . STATUS_ACTIVE => 'icon16_valid.gif',
 					LINK_VALIDATION_VALID . '_' . STATUS_PENDING => 'icon16_valid_pend.gif',
 
 					// for invalid links
 					LINK_VALIDATION_INVALID . '_' . STATUS_DISABLED => 'icon16_invalid_disabled.gif',
 					LINK_VALIDATION_INVALID . '_' . STATUS_ACTIVE => 'icon16_invalid.gif',
 					LINK_VALIDATION_INVALID . '_' . STATUS_PENDING => 'icon16_invalid_pend.gif',
 
 					// for not validated links
 					LINK_VALIDATION_NOT_VALIDATED . '_' . STATUS_DISABLED => 'icon16_not_validated_disabled.gif',
 					LINK_VALIDATION_NOT_VALIDATED . '_' . STATUS_ACTIVE => 'icon16_not_validated.gif',
 					LINK_VALIDATION_NOT_VALIDATED . '_' . STATUS_PENDING => 'icon16_not_validated_pend.gif',
 
 					'_' . STATUS_DISABLED => 'icon16_not_validated_disabled.gif',
 					'_' . STATUS_ACTIVE => 'icon16_not_validated.gif',
 					'_' . STATUS_PENDING => 'icon16_not_validated_pend.gif',
 				),
 
 				'Fields' => Array (
 					'ForeignLinkId' => Array ('title' => 'la_col_Id', 'data_block' => 'grid_checkbox_td', 'filter_block' => 'grid_range_filter', 'module' => 'In-Link', 'width' => 60, ),
 					'LinkName' => Array ('title' => 'la_col_LinkName', 'data_block' => 'grid_link_name_td', 'filter_block' => 'grid_like_filter', 'first_chars' => 30, 'width' => 180, ),
 					'LinkUrl' => Array ('title' => 'la_col_LinkUrl', 'data_block' => 'grid_url_td', 'filter_block' => 'grid_like_filter', 'width' => 200, ),
 					'LinkValidationStatus' => Array ('title' => 'la_col_Status', 'filter_block' => 'grid_options_filter', 'width' => 87, ),
 					'ValidationCode' => Array ('title' => 'la_col_ValidationCode', 'filter_block' => 'grid_options_filter', 'width' => 155, ),
 					'ValidationTime' => Array ('title' => 'la_col_ValidatedOn', 'filter_block' => 'grid_date_range_filter', 'width' => 140, ),
 					'LinkCreatedOn' => Array ('title' => 'la_col_CreatedOn', 'filter_block' => 'grid_date_range_filter', 'width' => 140, ),
 				),
 			),
 		),
 	);
\ No newline at end of file
Index: branches/5.1.x/units/listings/listings_config.php
===================================================================
--- branches/5.1.x/units/listings/listings_config.php	(revision 13938)
+++ branches/5.1.x/units/listings/listings_config.php	(revision 13939)
@@ -1,188 +1,175 @@
 <?php
 /**
 * @version	$Id$
 * @package	In-Link
 * @copyright	Copyright (C) 1997 - 2009 Intechnic. All rights reserved.
 * @license      GNU/GPL
 * In-Portal is Open Source software.
 * This means that this software may have been modified pursuant
 * the GNU General Public License, and as distributed it includes
 * or is derivative of works licensed under the GNU General Public License
 * or other free or open source software licenses.
 * See http://www.in-portal.org/license for copyright notices and details.
 */
 
 	defined('FULL_PATH') or die('restricted access!');
 
 	$config =	Array (
 					'Prefix'			=>	'ls',
 					'ItemClass'			=>	Array ('class' => 'kDBItem', 'file' => '', 'build_event' => 'OnItemBuild'),
 					'ListClass'			=>	Array ('class' => 'kDBList', 'file' => '', 'build_event' => 'OnListBuild'),
 					'EventHandlerClass'	=>	Array ('class' => 'ListingsEventHandler', 'file' => 'listings_event_handler.php', 'build_event' => 'OnBuild'),
 					'TagProcessorClass' =>	Array ('class' => 'ListingsTagProcessor', 'file' => 'listings_tag_processor.php', 'build_event' => 'OnBuild'),
 					'AutoLoad'			=>	true,
 
 					'Hooks'				=>	Array (
 												Array (
 													'Mode' => hAFTER,
 													'Conditional' => false,
 													'HookToPrefix' => 'l',
 													'HookToSpecial' => '*',
 													'HookToEvent' => Array ('OnBeforeDeleteOriginal'),
 													'DoPrefix' => '',
 													'DoSpecial' => '*',
 													'DoEvent' => 'OnMoveEnhancement',
 												),
 											),
 
 					'QueryString'		=>	Array (
 												1	=>	'id',
 												2	=>	'Page',
 												3	=>	'PerPage',
 												4	=>	'event',
 												5	=>	'mode',
 											),
 
 					'RegularEvents'		=>	Array (
 													'listings_expiration' => Array ('EventName' => 'OnCheckExpiredPaidListings', 'RunInterval' => 1800, 'Type' => reAFTER),
 											),
 
    					'IDField' 			=>	'ListingId',
    					'StatusField'		=>	Array ('Status', 'PendingRenewal'),
    					'TitleField'		=>	'LinkName',
 
 					'TitlePresets'		=>	Array (
 												'default'	=>	Array (	'new_status_labels'		=> Array ('ls' => '!la_title_AddingListing!'),
 																		'edit_status_labels'	=> Array ('ls' => '!la_title_EditingListing!'),
 																		'new_titlefield'		=> Array ('ls' => '!la_title_NewListing!'),
 																),
 
 												'listing_list' => Array ('prefixes' => Array ('ls_List'), 'format' => "!la_title_PaidListings!",),
 												'listing_edit' => Array ('prefixes' => Array ('ls'), 'format' => "#ls_status# '#ls_titlefield#' - !la_title_General!",),
 											),
 
 					'PermSection'		=>	Array ('main' => 'in-link:paid_listings'),
 
 					'Sections'			=>	Array (
 						'in-link:paid_listings_folder'	=>	Array (
 							'parent'		=>	'in-link',
 							'icon'			=>	'paid_listings',
 							'label'			=>	'la_tab_PaidListings',
 							'use_parent_header' => 1,
 							'permissions'	=>	Array (),
 							'priority'		=>	1,
 							'type'			=>	stTREE,
 						),
 
 						'in-link:paid_listings'	=>	Array (
 							'parent'		=>	'in-link:paid_listings_folder',
 							'icon'			=>	'paid_listings',
 							'label'			=>	'la_tab_Listings',
 							'url'			=>	Array ('t' => 'in-link/paid_listings/paid_listings_list', 'pass' => 'm'),
 							'permissions'	=>	Array ('view', 'add', 'edit', 'delete', 'advanced:approve', 'advanced:decline'),
 							'priority'		=>	1.1, // <parent_priority>.<own_priority>, because this section replaces parent in tree
 							'type'			=>	stTAB,
 						),
 					),
 
 					'TableName'			=>	TABLE_PREFIX.'Listings',
 
 					'ListSQLs'			=>	Array (	'' => '	SELECT %1$s.* %2$s
 															FROM %1$s
 															LEFT JOIN '.TABLE_PREFIX.'Link item_table ON item_table.ResourceId = %1$s.ItemResourceId
 															LEFT JOIN '.TABLE_PREFIX.'PortalUser u ON u.PortalUserId = item_table.CreatedById'),
 
 					'ItemSQLs'			=>	Array (	'' => '	SELECT %1$s.* %2$s
 															FROM %1$s
 															LEFT JOIN '.TABLE_PREFIX.'Link item_table ON item_table.ResourceId = %1$s.ItemResourceId
 															LEFT JOIN '.TABLE_PREFIX.'PortalUser u ON u.PortalUserId = item_table.CreatedById'),
 
 					'ListSortings'	=> 	Array (
 												''	=>	Array (
 																'Sorting' => Array ('PurchasedOn' => 'desc'),
 														)
 										),
 
 					'CalculatedFields'	=>	Array (
 													''	=>	Array (
 																	'LinkName'	=>	'CONCAT(item_table.Name, " (", item_table.Url, ")")',
 																	'LinkOwner'	=>	'IF (ISNULL(u.Login), IF (item_table.CreatedById = ' . USER_ROOT . ', "root", IF (item_table.CreatedById = ' . USER_GUEST . ', "Guest", "n/a")), u.Login)',
 															),
 											),
 					'Fields' => Array (
 						'ListingId' => Array ('type' => 'int', 'not_null' => 1, 'default' => 0,),
 						'ListingTypeId' => Array (
 							'type' => 'int',
 							'formatter' => 'kOptionsFormatter',
 							'options_sql' => 'SELECT %s
 												FROM '.TABLE_PREFIX.'ListingTypes
 											ORDER BY Name',
 							'option_key_field' => 'ListingTypeId', 'option_title_field' => 'Name',
 							'default' => 0,
 						),
 						'ItemResourceId' => Array (
 							'type' => 'int',
 							'required' => 1, 'unique' => Array ('ItemResourceId'),  'default' => null,
 							'error_field' => 'LinkName',
 						),
 						'PurchasedOn' => Array ('type' => 'int', 'formatter' => 'kDateFormatter', 'default' => '#NOW#'),
 						'ExpiresOn' => Array ('type' => 'int', 'formatter' => 'kDateFormatter', 'default' => '#NOW#', 'required' =>1),
 						'Status' => Array (
 							'type' => 'int',
 							'formatter' => 'kOptionsFormatter',
 							'options' => Array (1 => 'la_Active', 2 => 'la_Pending', 0 => 'la_Disabled'), 'use_phrases' => 1,
 							'not_null' => 1, 'default' => 2,
 						),
 						'PendingRenewal' => Array (
 							'type' => 'int',
 							'formatter' => 'kOptionsFormatter',
 							'options' => Array (0 => 'la_NotPendingRenewal', 1 => 'la_PendingRenewal'), 'use_phrases' => 1,
 							'not_null' => 1, 'default' => 0,
 						),
 						'RenewalReminderSent' => Array ('type' => 'int', 'not_null' => 1, 'default' => 0),
 					),
 
 					'VirtualFields'	=>	Array (
 						'LinkName'	=>	Array ('type' => 'string'),
 						'LinkOwner'	=>	Array ('type' => 'string'),
 					),
 
-					'FilterMenu'		=>	Array (
-												'Groups' => Array (
-													Array ('mode' => 'AND', 'filters' => Array (0,1,2), 'type' => WHERE_FILTER),
-													Array ('mode' => 'AND', 'filters' => Array (3), 'type' => WHERE_FILTER),
-												),
-
-												'Filters' => Array (
-													0	=>	Array ('label' => 'la_Enabled', 'on_sql' => '', 'off_sql' => '%1$s.Status != 1' ),
-													1	=>	Array ('label' => 'la_Disabled', 'on_sql' => '', 'off_sql' => '%1$s.Status != 0'  ),
-													2	=>	Array ('label' => 'la_Pending', 'on_sql' => '', 'off_sql' => '%1$s.Status != 2'  ),
-													3	=>	Array ('label' => 'la_PendingRenewal', 'on_sql' => '', 'off_sql' => '%1$s.PendingRenewal != 1'  ),
-												)
-											),
-
 					'Grids'	=> Array (
 						'Default' => Array (
 							'Icons' => Array (
 								'default' => 'icon16_item.png',
 								'1_0' => 'icon16_link.png',
 								'0_0' => 'icon16_link_disabled.png',
 								'2_0' => 'icon16_link_pending.png',
 								'1_1' => 'icon16_link_pending.png',
 								'0_1' => 'icon16_link_disabled.png',
 								'2_1' => 'icon16_link_pending.png'),
 								'module' => 'core',
 
 							'Fields' => Array (
 								'ListingId' => Array ( 'title' => 'la_col_Id' , 'data_block' => 'grid_checkbox_td', 'filter_block' => 'grid_range_filter', 'width' => 60, ),
 								'LinkName' => Array ( 'title' => 'la_col_LinkName' , 'data_block' => 'link_td', 'filter_block' => 'grid_like_filter', 'width' => 170, ),
 								'ListingTypeId' => Array ( 'title' => 'la_col_ListingTypeName' , 'data_block' => 'listing_type_td', 'filter_block' => 'grid_like_filter', 'width' => 100, ),
 								'LinkOwner' => Array ( 'title' => 'la_col_LinkOwner', 'filter_block' => 'grid_like_filter', 'width' => 115, ),
 								'PendingRenewal' => Array ( 'title' => 'la_col_PendingRenewal', 'filter_block' => 'grid_options_filter', 'width' => 143, ),
 								'PurchasedOn' => Array ( 'title' => 'la_col_PurchasedOn', 'filter_block' => 'grid_date_range_filter', 'width' => 140, ),
 								'ExpiresOn' => Array ( 'title' => 'la_col_ExpiresOn', 'filter_block' => 'grid_date_range_filter', 'width' => 140, ),
+								'Status' => Array ( 'title' => 'la_col_Status' , 'filter_block' => 'grid_options_filter'),
 							),
 						),
 					),
 
 	);
\ No newline at end of file
Index: branches/5.1.x/admin_templates/links/links_files.tpl
===================================================================
--- branches/5.1.x/admin_templates/links/links_files.tpl	(revision 13938)
+++ branches/5.1.x/admin_templates/links/links_files.tpl	(revision 13939)
@@ -1,86 +1,86 @@
 <inp2:adm_SetPopupSize width="880" height="680"/>
 
 <inp2:m_include t="incs/header"/>
 <inp2:m_RenderElement name="combined_header" prefix="l" section="in-portal:browse" title_preset="links_files" tab_preset="Default" pagination="1" pagination_prefix="l-file"/>
 
 <!-- ToolBar -->
 <table class="toolbar" height="30" cellspacing="0" cellpadding="0" width="100%" border="0">
 <tbody>
 	<tr>
   	<td>
   		<script type="text/javascript">
 
   				function edit()
 	  			{
 	  				std_edit_temp_item('l-file', 'in-link/links/file_edit');
 	  			}
 
   				a_toolbar = new ToolBar();
 				a_toolbar.AddButton( new ToolBarButton('select', '<inp2:m_phrase label="la_ToolTip_Save" escape="1"/>', function() {
 							submit_event('l','<inp2:l_SaveEvent/>');
 						}
 					) );
 				a_toolbar.AddButton( new ToolBarButton('cancel', '<inp2:m_phrase label="la_ToolTip_Cancel" escape="1"/>', function() {
 							submit_event('l','OnCancelEdit');
 						}
 				 ) );
 
 				a_toolbar.AddButton( new ToolBarSeparator('sep1') );
 
 				a_toolbar.AddButton( new ToolBarButton('prev', '<inp2:m_phrase label="la_ToolTip_Prev" escape="1"/>', function() {
 							go_to_id('l', '<inp2:l_PrevId/>');
 						}
 				 ) );
 				a_toolbar.AddButton( new ToolBarButton('next', '<inp2:m_phrase label="la_ToolTip_Next" escape="1"/>', function() {
 							go_to_id('l', '<inp2:l_NextId/>');
 						}
 				 ) );
 
 				a_toolbar.AddButton( new ToolBarSeparator('sep2') );
 
 				a_toolbar.AddButton( new ToolBarButton('new_item', '<inp2:m_phrase label="la_ToolTip_NewFile" escape="1"/>::<inp2:m_phrase label="la_ToolTip_Add" escape="1"/>',
 						function() {
 							std_new_item('l-file', 'in-link/links/file_edit')
 						} ) );
 
 				a_toolbar.AddButton( new ToolBarButton('edit', '<inp2:m_phrase label="la_ToolTip_Edit" escape="1"/>', edit) );
 				a_toolbar.AddButton( new ToolBarButton('delete', '<inp2:m_phrase label="la_ToolTip_Delete" escape="1"/>',
 						function() {
 							std_delete_items('l-file')
 						} ) );
 
 				a_toolbar.AddButton( new ToolBarSeparator('sep3') );
 
 				a_toolbar.AddButton( new ToolBarButton('view', '<inp2:m_phrase label="la_ToolTip_View" escape="1"/>', function() {
 							show_viewmenu(a_toolbar,'view');
 						}
 				) );
 
 				a_toolbar.Render();
 
 				<inp2:m_if check="l_IsSingle" >
 					a_toolbar.HideButton('prev');
 					a_toolbar.HideButton('next');
 					a_toolbar.HideButton('sep1');
 				<inp2:m_else/>
 					<inp2:m_if check="l_IsLast" >
 						a_toolbar.DisableButton('next');
 					</inp2:m_if>
 					<inp2:m_if check="l_IsFirst" >
 						a_toolbar.DisableButton('prev');
 					</inp2:m_if>
 				</inp2:m_if>
 			</script>
 		</td>
 
 		<inp2:m_RenderElement name="search_main_toolbar" prefix="l-file" grid="Default"/>
 	</tr>
 </tbody>
 </table>
 
-<inp2:m_RenderElement name="grid" PrefixSpecial="l-file" IdField="FileId" grid="Default" menu_filters="yes"/>
+<inp2:m_RenderElement name="grid" PrefixSpecial="l-file" IdField="FileId" grid="Default"/>
 <script type="text/javascript">
 	Grids['l-file'].SetDependantToolbarButtons( new Array('edit','delete') );
 </script>
 
 <inp2:m_include t="incs/footer"/>
\ No newline at end of file
Index: branches/5.1.x/admin_templates/links/links_reviews.tpl
===================================================================
--- branches/5.1.x/admin_templates/links/links_reviews.tpl	(revision 13938)
+++ branches/5.1.x/admin_templates/links/links_reviews.tpl	(revision 13939)
@@ -1,114 +1,114 @@
 <inp2:adm_SetPopupSize width="880" height="680"/>
 
 <inp2:m_include t="incs/header"/>
 <inp2:m_RenderElement name="combined_header" prefix="l" section="in-portal:browse" title_preset="links_reviews" tab_preset="Default" pagination="1" pagination_prefix="l-rev"/>
 
 <!-- ToolBar -->
 <table class="toolbar" height="30" cellspacing="0" cellpadding="0" width="100%" border="0">
 <tbody>
 	<tr>
   	<td>
   		<script type="text/javascript">
 				a_toolbar = new ToolBar();
 				a_toolbar.AddButton( new ToolBarButton('select', '<inp2:m_phrase label="la_ToolTip_Save" escape="1"/>', function() {
 							submit_event('l','<inp2:l_SaveEvent/>');
 						}
 					) );
 				a_toolbar.AddButton( new ToolBarButton('cancel', '<inp2:m_phrase label="la_ToolTip_Cancel" escape="1"/>', function() {
 							submit_event('l','OnCancelEdit');
 						}
 				 ) );
 
 				a_toolbar.AddButton( new ToolBarSeparator('sep1') );
 
 				a_toolbar.AddButton( new ToolBarButton('prev', '<inp2:m_phrase label="la_ToolTip_Prev" escape="1"/>', function() {
 							go_to_id('l', '<inp2:l_PrevId/>');
 						}
 				 ) );
 				a_toolbar.AddButton( new ToolBarButton('next', '<inp2:m_phrase label="la_ToolTip_Next" escape="1"/>', function() {
 							go_to_id('l', '<inp2:l_NextId/>');
 						}
 				 ) );
 
 				a_toolbar.AddButton( new ToolBarSeparator('sep2') );
 
 				//Pricing related:
 				a_toolbar.AddButton( new ToolBarButton('new_item', '<inp2:m_phrase label="la_ToolTip_NewReview" escape="1"/>::<inp2:m_phrase label="la_ToolTip_Add" escape="1"/>',
 						function() {
 							std_new_item('l-rev', 'in-link/links/review_edit')
 						} ) );
 
 				function edit()
 	  			{
 	  				std_edit_temp_item('l-rev', 'in-link/links/review_edit');
 	  			}
 
 				a_toolbar.AddButton( new ToolBarButton('edit', '<inp2:m_phrase label="la_ToolTip_Edit" escape="1"/>', edit) );
 				a_toolbar.AddButton( new ToolBarButton('delete', '<inp2:m_phrase label="la_ToolTip_Delete" escape="1"/>',
 						function() {
 							std_delete_items('l-rev')
 						} ) );
 
 				a_toolbar.AddButton( new ToolBarSeparator('sep3') );
 
 				a_toolbar.AddButton( new ToolBarButton('approve', '<inp2:m_phrase label="la_ToolTip_Approve" escape="1"/>', function() {
 							submit_event('l-rev','OnMassApprove');
 						}
 				 ) );
 
 				a_toolbar.AddButton( new ToolBarButton('decline', '<inp2:m_phrase label="la_ToolTip_Decline" escape="1"/>', function() {
 							submit_event('l-rev','OnMassDecline');
 						}
 				 ) );
 
 				a_toolbar.AddButton( new ToolBarSeparator('sep4') );
 
 				a_toolbar.AddButton( new ToolBarButton('move_up', '<inp2:m_phrase label="la_ToolTip_MoveUp" escape="1"/>', function() {
 							submit_event('l-rev','OnMassMoveUp');
 						}
 				 ) );
 
 				a_toolbar.AddButton( new ToolBarButton('move_down', '<inp2:m_phrase label="la_ToolTip_MoveDown" escape="1"/>', function() {
 							submit_event('l-rev','OnMassMoveDown');
 						}
 				 ) );
 
 				 a_toolbar.AddButton( new ToolBarSeparator('sep5') );
 
 				a_toolbar.AddButton( new ToolBarButton('view', '<inp2:m_phrase label="la_ToolTip_View" escape="1"/>', function() {
 							show_viewmenu(a_toolbar,'view');
 						}
 				) );
 
 				a_toolbar.Render();
 
 				<inp2:m_if check="l_IsSingle" >
 					a_toolbar.HideButton('prev');
 					a_toolbar.HideButton('next');
 					a_toolbar.HideButton('sep1');
 				<inp2:m_else/>
 					<inp2:m_if check="l_IsLast" >
 						a_toolbar.DisableButton('next');
 					</inp2:m_if>
 					<inp2:m_if check="l_IsFirst" >
 						a_toolbar.DisableButton('prev');
 					</inp2:m_if>
 				</inp2:m_if>
 			</script>
 		</td>
 
 		<inp2:m_RenderElement name="search_main_toolbar" prefix="l-rev" grid="Default"/>
 	</tr>
 </tbody>
 </table>
 
 <inp2:m_DefineElement name="reviewtext_checkbox_td">
 	<inp2:Field field="$field" no_special="no_special" cut_first="100"/>
 </inp2:m_DefineElement>
 
-<inp2:m_RenderElement name="grid" PrefixSpecial="l-rev" IdField="ReviewId" grid="Default" menu_filters="yes"/>
+<inp2:m_RenderElement name="grid" PrefixSpecial="l-rev" IdField="ReviewId" grid="Default"/>
 <script type="text/javascript">
 	Grids['l-rev'].SetDependantToolbarButtons( new Array('edit','delete','approve','decline','move_up','move_down') );
 </script>
 
 <inp2:m_include t="incs/footer"/>
\ No newline at end of file
Index: branches/5.1.x/admin_templates/links/links_images.tpl
===================================================================
--- branches/5.1.x/admin_templates/links/links_images.tpl	(revision 13938)
+++ branches/5.1.x/admin_templates/links/links_images.tpl	(revision 13939)
@@ -1,107 +1,107 @@
 <inp2:adm_SetPopupSize width="880" height="680"/>
 
 <inp2:m_include t="incs/header"/>
 <inp2:m_RenderElement name="combined_header" prefix="l" section="in-portal:browse" title_preset="links_images" tab_preset="Default" pagination="1" pagination_prefix="l-img"/>
 
 <inp2:m_include t="incs/image_blocks"/>
 
 <!-- ToolBar -->
 <table class="toolbar" height="30" cellspacing="0" cellpadding="0" width="100%" border="0">
 <tbody>
 	<tr>
   	<td>
   		<script type="text/javascript">
 
   				function edit()
 	  			{
 	  				std_edit_temp_item('l-img', 'in-link/links/images_edit');
 	  			}
 
   				a_toolbar = new ToolBar();
 				a_toolbar.AddButton( new ToolBarButton('select', '<inp2:m_phrase label="la_ToolTip_Save" escape="1"/>', function() {
 							submit_event('l','<inp2:l_SaveEvent/>');
 						}
 					) );
 				a_toolbar.AddButton( new ToolBarButton('cancel', '<inp2:m_phrase label="la_ToolTip_Cancel" escape="1"/>', function() {
 							submit_event('l','OnCancelEdit');
 						}
 				 ) );
 
 				a_toolbar.AddButton( new ToolBarSeparator('sep1') );
 
 				a_toolbar.AddButton( new ToolBarButton('prev', '<inp2:m_phrase label="la_ToolTip_Prev" escape="1"/>', function() {
 							go_to_id('l', '<inp2:l_PrevId/>');
 						}
 				 ) );
 				a_toolbar.AddButton( new ToolBarButton('next', '<inp2:m_phrase label="la_ToolTip_Next" escape="1"/>', function() {
 							go_to_id('l', '<inp2:l_NextId/>');
 						}
 				 ) );
 
 				a_toolbar.AddButton( new ToolBarSeparator('sep2') );
 
 
 
 				a_toolbar.AddButton( new ToolBarButton('new_item', '<inp2:m_phrase label="la_ToolTip_New_Images" escape="1"/>::<inp2:m_phrase label="la_ToolTip_Add" escape="1"/>',
 						function() {
 							std_new_item('l-img', 'in-link/links/images_edit')
 						} ) );
 
 				a_toolbar.AddButton( new ToolBarButton('edit', '<inp2:m_phrase label="la_ToolTip_Edit" escape="1"/>', edit) );
 				a_toolbar.AddButton( new ToolBarButton('delete', '<inp2:m_phrase label="la_ToolTip_Delete" escape="1"/>',
 						function() {
 							std_delete_items('l-img')
 						} ) );
 
 				a_toolbar.AddButton( new ToolBarSeparator('sep3') );
 
 				a_toolbar.AddButton( new ToolBarButton('move_up', '<inp2:m_phrase label="la_ToolTip_MoveUp" escape="1"/>', function() {
 							submit_event('l-img','OnMassMoveUp');
 						}
 				 ) );
 
 				a_toolbar.AddButton( new ToolBarButton('move_down', '<inp2:m_phrase label="la_ToolTip_MoveDown" escape="1"/>', function() {
 							submit_event('l-img','OnMassMoveDown');
 						}
 				 ) );
 
 				 a_toolbar.AddButton( new ToolBarButton('setprimary', '<inp2:m_phrase label="la_ToolTip_SetPrimary" escape="1"/>', function() {
 							submit_event('l-img','OnSetPrimary');
 						}
 				 ) );
 
 				  a_toolbar.AddButton( new ToolBarSeparator('sep4') );
 
 				a_toolbar.AddButton( new ToolBarButton('view', '<inp2:m_phrase label="la_ToolTip_View" escape="1"/>', function() {
 							show_viewmenu(a_toolbar,'view');
 						}
 				) );
 
 				a_toolbar.Render();
 
 				<inp2:m_if check="l_IsSingle" >
 					a_toolbar.HideButton('prev');
 					a_toolbar.HideButton('next');
 					a_toolbar.HideButton('sep1');
 				<inp2:m_else/>
 					<inp2:m_if check="l_IsLast" >
 						a_toolbar.DisableButton('next');
 					</inp2:m_if>
 					<inp2:m_if check="l_IsFirst" >
 						a_toolbar.DisableButton('prev');
 					</inp2:m_if>
 				</inp2:m_if>
 			</script>
 		</td>
 
 		<inp2:m_RenderElement name="search_main_toolbar" prefix="l-img" grid="Default"/>
 	</tr>
 </tbody>
 </table>
 
-<inp2:m_RenderElement name="grid" PrefixSpecial="l-img" IdField="ImageId" grid="Default" menu_filters="yes"/>
+<inp2:m_RenderElement name="grid" PrefixSpecial="l-img" IdField="ImageId" grid="Default"/>
 <script type="text/javascript">
 	Grids['l-img'].SetDependantToolbarButtons( new Array('edit','delete','move_up','move_down','setprimary') );
 </script>
 
 <inp2:m_include t="incs/footer"/>
\ No newline at end of file
Index: branches/5.1.x/admin_templates/links/links_relations.tpl
===================================================================
--- branches/5.1.x/admin_templates/links/links_relations.tpl	(revision 13938)
+++ branches/5.1.x/admin_templates/links/links_relations.tpl	(revision 13939)
@@ -1,105 +1,105 @@
 <inp2:adm_SetPopupSize width="880" height="680"/>
 
 <inp2:m_include t="incs/header"/>
 <inp2:m_RenderElement name="combined_header" prefix="l" section="in-portal:browse" title_preset="links_relations" tab_preset="Default" pagination="1" pagination_prefix="l-rel"/>
 
 <!-- ToolBar -->
 <table class="toolbar" height="30" cellspacing="0" cellpadding="0" width="100%" border="0">
 <tbody>
 	<tr>
   	<td>
   		<script type="text/javascript">
 				a_toolbar = new ToolBar();
 				a_toolbar.AddButton( new ToolBarButton('select', '<inp2:m_phrase label="la_ToolTip_Save" escape="1"/>', function() {
 							submit_event('l','<inp2:l_SaveEvent/>');
 						}
 					) );
 				a_toolbar.AddButton( new ToolBarButton('cancel', '<inp2:m_phrase label="la_ToolTip_Cancel" escape="1"/>', function() {
 							submit_event('l','OnCancelEdit');
 						}
 				 ) );
 
 				a_toolbar.AddButton( new ToolBarSeparator('sep1') );
 
 				a_toolbar.AddButton( new ToolBarButton('prev', '<inp2:m_phrase label="la_ToolTip_Prev" escape="1"/>', function() {
 							go_to_id('l', '<inp2:l_PrevId/>');
 						}
 				 ) );
 				a_toolbar.AddButton( new ToolBarButton('next', '<inp2:m_phrase label="la_ToolTip_Next" escape="1"/>', function() {
 							go_to_id('l', '<inp2:l_NextId/>');
 						}
 				 ) );
 
 				a_toolbar.AddButton( new ToolBarSeparator('sep2') );
 
 				//Relations related:
 				a_toolbar.AddButton( new ToolBarButton('new_item', '<inp2:m_phrase label="la_ToolTip_New_Relation" escape="1"/>::<inp2:m_phrase label="la_ToolTip_Add" escape="1"/>',
 						function() {
 							openSelector('l-rel', '<inp2:adm_SelectorLink prefix="l-rel" selection_mode="single" tab_prefixes="all"/>', 'TargetId', '950x600');
 						} ) );
 
 				function edit()
 	  			{
 	  				std_edit_temp_item('l-rel', 'in-link/links/relations_edit');
 	  			}
 
 				a_toolbar.AddButton( new ToolBarButton('edit', '<inp2:m_phrase label="la_ToolTip_Edit" escape="1"/>', edit) );
 				a_toolbar.AddButton( new ToolBarButton('delete', '<inp2:m_phrase label="la_ToolTip_Delete" escape="1"/>',
 						function() {
 							std_delete_items('l-rel')
 						} ) );
 
 
 				a_toolbar.AddButton( new ToolBarSeparator('sep3') );
 
 				a_toolbar.AddButton( new ToolBarButton('approve', '<inp2:m_phrase label="la_ToolTip_Approve" escape="1"/>', function() {
 							submit_event('l-rel','OnMassApprove');
 						}
 				 ) );
 
 				a_toolbar.AddButton( new ToolBarButton('decline', '<inp2:m_phrase label="la_ToolTip_Decline" escape="1"/>', function() {
 							submit_event('l-rel','OnMassDecline');
 						}
 				 ) );
 
 				a_toolbar.AddButton( new ToolBarSeparator('sep4') );
 
 				a_toolbar.AddButton( new ToolBarButton('view', '<inp2:m_phrase label="la_ToolTip_View" escape="1"/>', function() {
 							show_viewmenu(a_toolbar,'view');
 						}
 				) );
 
 				a_toolbar.Render();
 
 				<inp2:m_if check="l_IsSingle" >
 					a_toolbar.HideButton('prev');
 					a_toolbar.HideButton('next');
 					a_toolbar.HideButton('sep1');
 					//a_toolbar.HideButton('sep2');
 				<inp2:m_else/>
 					<inp2:m_if check="l_IsLast" >
 						a_toolbar.DisableButton('next');
 					</inp2:m_if>
 					<inp2:m_if check="l_IsFirst" >
 						a_toolbar.DisableButton('prev');
 					</inp2:m_if>
 				</inp2:m_if>
 			</script>
 		</td>
 
 		<inp2:m_RenderElement name="search_main_toolbar" prefix="l-rel" grid="Default"/>
 	</tr>
 </tbody>
 </table>
 
-<inp2:m_RenderElement name="grid" PrefixSpecial="l-rel" IdField="RelationshipId" grid="Default" menu_filters="yes"/>
+<inp2:m_RenderElement name="grid" PrefixSpecial="l-rel" IdField="RelationshipId" grid="Default"/>
 <script type="text/javascript">
 	Grids['l-rel'].SetDependantToolbarButtons( new Array('edit','delete','approve','decline') );
 </script>
 <input type="hidden" name="TargetId" id="TargetId" value="<inp2:m_get name="TargetId"/>">
 <input type="hidden" name="TargetType" id="TargetType" value="<inp2:m_get name="TargetType"/>">
 <inp2:m_include t="incs/footer"/>
 
 <script type="text/javascript">
 	var $env = document.getElementById('sid').value+'-:m<inp2:m_get name="m_cat_id"/>-1-1-1-s';
 </script>
\ No newline at end of file
Index: branches/5.1.x/admin_templates/link_validation/link_validation_list.tpl
===================================================================
--- branches/5.1.x/admin_templates/link_validation/link_validation_list.tpl	(revision 13938)
+++ branches/5.1.x/admin_templates/link_validation/link_validation_list.tpl	(revision 13939)
@@ -1,134 +1,134 @@
 <inp2:m_include t="incs/header"/>
 <inp2:m_RenderElement name="combined_header" section="in-link:link_validation" prefix="link-validation" title_preset="link_validation_list" pagination="1"/>
 
 <!-- ToolBar -->
 <table class="toolbar" height="30" cellspacing="0" cellpadding="0" width="100%" border="0">
 <tbody>
 	<tr>
 	  	<td>
 	  		<script type="text/javascript">
 	  			//do not rename - this function is used in default grid for double click!
 	  			function edit()
 	  			{
 					std_edit_item('l', 'in-link/links/links_edit');
 	  			}
 
 	  			var a_toolbar = new ToolBar();
 
 	  			a_toolbar.AddButton(
 					new ToolBarButton(
 						'in-link:validate_continue',
 						'<inp2:m_phrase label="la_ToolTip_ContinueValidation" escape="1"/>::<inp2:m_phrase label="la_ShortToolTip_Continue" escape="1"/>',
 						function() {
 							Application.SetVar('progress_template', 'in-link/link_validation/link_validation_progress');
 							submit_event('link-validation', 'OnContinueValidation');
 						}
 					)
 				);
 
 				a_toolbar.AddButton(
 					new ToolBarButton(
 						'in-link:validate_restart',
 						'<inp2:m_phrase label="la_ToolTip_NewValidation" escape="1"/>::<inp2:m_phrase label="la_ShortToolTip_New" escape="1"/>',
 						function() {
 							Application.SetVar('progress_template', 'in-link/link_validation/link_validation_progress');
 							submit_event('link-validation', 'OnRestartValidation');
 						}
 					)
 				);
 
 				a_toolbar.AddButton( new ToolBarSeparator('sep1') );
 
 				a_toolbar.AddButton(
 					new ToolBarButton(
 						'in-link:validate',
 						'<inp2:m_phrase label="la_ToolTip_ValidateSelected" escape="1"/>',
 						function() {
 							Application.SetVar('progress_template', 'in-link/link_validation/link_validation_progress');
 							submit_event('link-validation', 'OnValidateSelected');
 						}
 					)
 				);
 
 				a_toolbar.AddButton(
 					new ToolBarButton(
 						'in-link:validate_reset',
 						'<inp2:m_phrase label="la_ToolTip_ResetValidationStatus" escape="1"/>::<inp2:m_phrase label="la_ShortToolTip_ResetValidationStatus" escape="1"/>',
 						function() {
 							submit_event('link-validation', 'OnResetValidationStatus');
 						}
 					)
 				);
 
 				a_toolbar.AddButton( new ToolBarSeparator('sep2') );
 
 				a_toolbar.AddButton( new ToolBarButton('edit', '<inp2:m_phrase label="la_ToolTip_Edit" escape="1"/>', edit) );
 
 				a_toolbar.AddButton(
 					new ToolBarButton(
 						'delete',
 						'<inp2:m_phrase label="la_ToolTip_Delete" escape="1"/>',
 						function() {
 							var phrase = phrases['la_Delete_Confirm'] ? phrases['la_Delete_Confirm'] : 'Are you sure you want to delete selected items?';
 							if (inpConfirm(phrase)) {
 						  		submit_event('link-validation', 'OnDeleteLinks');
 							}
 						}
 					)
 				);
 
 				a_toolbar.AddButton( new ToolBarSeparator('sep3') );
 
 				a_toolbar.AddButton(
 					new ToolBarButton(
 						'approve',
 						'<inp2:m_phrase label="la_ToolTip_Approve" escape="1"/>',
 						function() {
 							submit_event('link-validation', 'OnApproveLinks');
 						}
 					)
 				);
 
 				a_toolbar.AddButton(
 					new ToolBarButton(
 						'decline',
 						'<inp2:m_phrase label="la_ToolTip_Decline" escape="1"/>',
 						function() {
 							submit_event('link-validation', 'OnDeclineLinks');
 						}
 					)
 				);
 
 				a_toolbar.AddButton( new ToolBarSeparator('sep4') );
 
 				a_toolbar.AddButton( new ToolBarButton('view', '<inp2:m_phrase label="la_ToolTip_View" escape="1"/>', function() {
 							show_viewmenu(a_toolbar,'view');
 						}
 				) );
 
 				a_toolbar.Render();
 			</script>
 		</td>
 		<inp2:m_RenderElement name="search_main_toolbar" prefix="link-validation" grid="Default"/>
 	</tr>
 </tbody>
 </table>
 
 <inp2:m_DefineElement name="grid_url_td" format="" nl2br="" first_chars="" td_style="" currency="">
 	<a href="<inp2:FormatUrl field='$field'/>"><inp2:Field field='$field' first_chars="30"/></a>
 </inp2:m_DefineElement>
 
 <inp2:m_DefineElement name="grid_link_name_td" format="" nl2br="" first_chars="" td_style="" currency="">
 	<inp2:Field field='$field' first_chars="$first_chars"/><br />
 	<span class="small-statistics">
 		<inp2:Field name="CategoryId" db="db" result_to_var="item_category"/>
 		<inp2:m_Phrase name="la_fld_Category"/>: <a href="<inp2:m_Link template="catalog/catalog" m_cat_id="$item_category"/>"><inp2:CategoryName /></a>
 	</span>
 </inp2:m_DefineElement>
 
 
-<inp2:m_RenderElement name="grid" PrefixSpecial="link-validation" IdField="ForeignLinkId" grid="Default" menu_filters="yes"/>
+<inp2:m_RenderElement name="grid" PrefixSpecial="link-validation" IdField="ForeignLinkId" grid="Default"/>
 <script type="text/javascript">
 	Grids['link-validation'].SetDependantToolbarButtons( new Array('validate', 'validate_reset', 'edit', 'approve', 'decline', 'delete') );
 </script>
 <inp2:m_include t="incs/footer"/>
\ No newline at end of file
Index: branches/5.1.x/admin_templates/paid_listings/paid_listings_list.tpl
===================================================================
--- branches/5.1.x/admin_templates/paid_listings/paid_listings_list.tpl	(revision 13938)
+++ branches/5.1.x/admin_templates/paid_listings/paid_listings_list.tpl	(revision 13939)
@@ -1,75 +1,75 @@
 <inp2:m_include t="incs/header"/>
 <inp2:m_RenderElement name="combined_header" prefix="ls" section="in-link:paid_listings" title_preset="listing_list" pagination="1" tabs="in-link/paid_listings/paid_listing_types_tabs"/>
 
 <!-- ToolBar -->
 <table class="toolbar" height="30" cellspacing="0" cellpadding="0" width="100%" border="0">
 <tbody>
 	<tr>
   	<td>
   		<script type="text/javascript">
 				a_toolbar = new ToolBar();
 
 				a_toolbar.AddButton( new ToolBarButton('new_item', '<inp2:m_phrase label="la_ToolTip_NewPaidListing" escape="1"/>::<inp2:m_phrase label="la_ToolTip_Add" escape="1"/>',
 						function() {
 							std_precreate_item('ls', 'in-link/paid_listings/paid_listing_edit')
 						} ) );
 
 				function edit()
 				{
 				  	std_edit_item('ls', 'in-link/paid_listings/paid_listing_edit');
 				}
 
 				a_toolbar.AddButton( new ToolBarButton('edit', '<inp2:m_phrase label="la_ToolTip_Edit" escape="1"/>', edit) );
 
 				a_toolbar.AddButton( new ToolBarButton('delete', '<inp2:m_phrase label="la_ToolTip_Delete" escape="1"/>',
 						function() {
 							std_delete_items('ls')
 						} ) );
 
 			  	a_toolbar.AddButton( new ToolBarSeparator('sep1') );
 
 			  	a_toolbar.AddButton( new ToolBarButton('approve', '<inp2:m_phrase label="la_ToolTip_Approve" escape="1"/>', function() {
 							submit_event('ls','OnMassApprove');
 						}
 				 ) );
 
 				a_toolbar.AddButton( new ToolBarButton('decline', '<inp2:m_phrase label="la_ToolTip_Decline" escape="1"/>', function() {
 							submit_event('ls','OnMassDecline');
 						}
 				 ) );
 
 				a_toolbar.AddButton( new ToolBarSeparator('sep2') );
 
 			  	a_toolbar.AddButton( new ToolBarButton('view', '<inp2:m_phrase label="la_ToolTip_View" escape="1"/>', function() {
 							show_viewmenu(a_toolbar,'view');
 						}
 				) );
 
 				a_toolbar.Render();
 
 			</script>
 		</td>
 
 		<inp2:m_RenderElement name="search_main_toolbar" prefix="ls" grid="Default"/>
 	</tr>
 </tbody>
 </table>
 
 <inp2:m_DefineElement name="duration_td">
 	<inp2:ls_Field name="Duration" />&nbsp;<inp2:ls_Field name="DurationType" />
 </inp2:m_DefineElement>
 
 <inp2:m_DefineElement name="listing_type_td">
 	<a href="<inp2:ListingTypeLink edit_template="in-link/paid_listings/paid_listing_type_edit" />"><inp2:Field name="$field" /></a>
 </inp2:m_DefineElement>
 
 <inp2:m_DefineElement name="link_td">
 	<a href="<inp2:LinkEditLink edit_template="in-link/links/links_edit"/>"><inp2:Field name="$field" /></a>
 </inp2:m_DefineElement>
 
-<inp2:m_RenderElement name="grid" PrefixSpecial="ls" IdField="ListingId" grid="Default" menu_filters="yes"/>
+<inp2:m_RenderElement name="grid" PrefixSpecial="ls" IdField="ListingId" grid="Default"/>
 <script type="text/javascript">
 	Grids['ls'].SetDependantToolbarButtons( new Array('edit','delete','approve','decline') );
 </script>
 
 <inp2:m_include t="incs/footer"/>
\ No newline at end of file