Index: trunk/core/units/general/cat_tag_processor.php =================================================================== diff -u -N -r8734 -r8757 --- trunk/core/units/general/cat_tag_processor.php (.../cat_tag_processor.php) (revision 8734) +++ trunk/core/units/general/cat_tag_processor.php (.../cat_tag_processor.php) (revision 8757) @@ -212,11 +212,19 @@ $params['raise_warnings'] = 0; $object =& $this->getObject($params); - /* @var $object kDBItem */ + /* @var $object kCatDBItem */ + // 1. category restriction $params['cat_id'] = $object->isLoaded() ? $object->GetDBField('ParentPath') : $this->Application->GetVar('m_cat_id'); - return $perm_helper->TagPermissionCheck($params, $this->getPrefixSpecial().'_HasPermission'); + // 2. owner restriction + $owner_field = $this->Application->getUnitOption($this->Prefix, 'OwnerField'); + if (!$owner_field) { + $owner_field = 'CreatedById'; + } + $is_owner = $object->GetDBField($owner_field) == $this->Application->RecallVar('user_id'); + + return $perm_helper->TagPermissionCheck($params, $is_owner); } /**