Index: branches/5.0.x/core/kernel/db/db_tag_processor.php =================================================================== diff -u -r12382 -r12497 --- branches/5.0.x/core/kernel/db/db_tag_processor.php (.../db_tag_processor.php) (revision 12382) +++ branches/5.0.x/core/kernel/db/db_tag_processor.php (.../db_tag_processor.php) (revision 12497) @@ -1,6 +1,6 @@ getObject($params); + $grids = $this->Application->getUnitOption($this->Prefix, 'Grids'); + $grid = $grids[ $params['grid'] ]; - $grids = $this->Application->getUnitOption($this->Prefix,'Grids'); - $icons =& $grids[ $params['grid'] ]['Icons']; + if (!array_key_exists('Icons', $grid)) { + return ''; + } - $key = ''; - $status_fields = $this->Application->getUnitOption($this->Prefix,'StatusField'); - if(!$status_fields) return $icons['default']; + $icons = $grid['Icons']; - foreach($status_fields as $status_field) - { - $key .= $object->GetDBField($status_field).'_'; + if (array_key_exists('name', $params)) { + $icon_name = $params['name']; + return array_key_exists($icon_name, $icons) ? $icons[$icon_name] : ''; } - $key = rtrim($key,'_'); - $value = ($key !== false) ? $key : 'default'; - return isset($icons[$value]) ? $icons[$value] : $icons['default']; + $status_fields = $this->Application->getUnitOption($this->Prefix, 'StatusField'); + + if (!$status_fields) { + return $icons['default']; + } + + $object =& $this->getObject($params); + /* @var $object kDBList */ + + $icon = ''; + + foreach ($status_fields as $status_field) { + $icon .= $object->GetDBField($status_field) . '_'; + } + + $icon = rtrim($icon, '_'); + + return array_key_exists($icon, $icons) ? $icons[$icon] : $icons['default']; } /** Index: branches/5.0.x/core/kernel/db/cat_tag_processor.php =================================================================== diff -u -r12343 -r12497 --- branches/5.0.x/core/kernel/db/cat_tag_processor.php (.../cat_tag_processor.php) (revision 12343) +++ branches/5.0.x/core/kernel/db/cat_tag_processor.php (.../cat_tag_processor.php) (revision 12497) @@ -1,6 +1,6 @@ Application->recallObject($this->getPrefixSpecial(),$this->Prefix, $params); + $grids = $this->Application->getUnitOption($this->Prefix, 'Grids'); + $grid = $grids[ $params['grid'] ]; - $grids = $this->Application->getUnitOption($this->Prefix,'Grids'); - $icons =& $grids[ $params['grid'] ]['Icons']; + if (!array_key_exists('Icons', $grid)) { + return ''; + } - $status_fields = $this->Application->getUnitOption($this->Prefix,'StatusField'); - if (!$status_fields) return $icons['default']; + $icons = $grid['Icons']; + if (array_key_exists('name', $params)) { + $icon_name = $params['name']; + return array_key_exists($icon_name, $icons) ? $icons[$icon_name] : ''; + } + + $status_fields = $this->Application->getUnitOption($this->Prefix, 'StatusField'); + + if (!$status_fields) { + return $icons['default']; + } + + $object =& $this->getObject($params); + /* @var $object kDBList */ + $value = $object->GetDBField($status_fields[0]); // sets base status icon - /* @var $object kDBItem */ + if ($value == STATUS_ACTIVE) { - if( $object->HasField('IsPop') && $object->GetDBField('IsPop') ) $value = 'POP'; - if( $object->HasField('IsHot') && $object->GetDBField('IsHot') ) $value = 'HOT'; +// if( $object->HasField('IsPop') && $object->GetDBField('IsPop') ) $value = 'POP'; +// if( $object->HasField('IsHot') && $object->GetDBField('IsHot') ) $value = 'HOT'; if( $object->HasField('IsNew') && $object->GetDBField('IsNew') ) $value = 'NEW'; - if( $object->HasField('EditorsPick') && $object->GetDBField('EditorsPick') ) $value = 'PICK'; +// if( $object->HasField('EditorsPick') && $object->GetDBField('EditorsPick') ) $value = 'PICK'; } - return isset($icons[$value]) ? $icons[$value] : $icons['default']; + return array_key_exists($value, $icons) ? $icons[$value] : $icons['default']; } /** Index: branches/5.0.x/core/units/categories/categories_tag_processor.php =================================================================== diff -u -r12495 -r12497 --- branches/5.0.x/core/units/categories/categories_tag_processor.php (.../categories_tag_processor.php) (revision 12495) +++ branches/5.0.x/core/units/categories/categories_tag_processor.php (.../categories_tag_processor.php) (revision 12497) @@ -1,6 +1,6 @@ Prefix != 'c') { - return parent::ItemIcon($params); + $grids = $this->Application->getUnitOption($this->Prefix, 'Grids'); + $grid = $grids[ $params['grid'] ]; + + if (!array_key_exists('Icons', $grid)) { + return ''; } + $icons = $grid['Icons']; + + if (array_key_exists('name', $params)) { + $icon_name = $params['name']; + return array_key_exists($icon_name, $icons) ? $icons[$icon_name] : ''; + } + $object =& $this->getObject($params); + /* @var $object kDBList */ + if ($object->GetDBField('IsSystem')) { return 'icon16_section_system.png'; } $status = $object->GetDBField('Status'); - if (!$status) { + + if ($status == STATUS_DISABLED) { return 'icon16_section_disabled.png'; } if (!$object->GetDBField('IsMenu')) { return 'icon16_section_menuhidden.png'; } - if ($status == 2) { + if ($status == STATUS_PENDING) { return 'icon16_section_pending.png'; } Index: branches/5.0.x/core/admin_templates/incs/grid_blocks.tpl =================================================================== diff -u -r12479 -r12497 --- branches/5.0.x/core/admin_templates/incs/grid_blocks.tpl (.../grid_blocks.tpl) (revision 12479) +++ branches/5.0.x/core/admin_templates/incs/grid_blocks.tpl (.../grid_blocks.tpl) (revision 12497) @@ -558,7 +558,8 @@ - + + Index: branches/5.0.x/core/units/logs/session_logs/session_logs_config.php =================================================================== diff -u -r12495 -r12497 --- branches/5.0.x/core/units/logs/session_logs/session_logs_config.php (.../session_logs_config.php) (revision 12495) +++ branches/5.0.x/core/units/logs/session_logs/session_logs_config.php (.../session_logs_config.php) (revision 12497) @@ -1,6 +1,6 @@ Array ( 'Default' => Array ( + 'Icons' => Array ('default' => 'icon16_item.png'), 'Fields' => Array ( - 'Icons' => Array ('default' => 'icon16_item.png'), 'SessionLogId' => Array ('title' => 'la_col_Id', 'data_block' => 'grid_checkbox_td', 'filter_block' => 'grid_range_filter', 'width' => 70, ), 'PortalUserId' => Array ('title' => 'la_col_PortalUserId', 'filter_block' => 'grid_like_filter', 'width' => 70, ), 'UserLogin' => Array ('title' => 'la_col_Username', 'filter_block' => 'grid_like_filter', 'width' => 100, ),