class BlockedUsers in Open Social 10.2.x
Same name and namespace in other branches
- 8.9 modules/social_features/social_search/src/Plugin/search_api/processor/BlockedUsers.php \Drupal\social_search\Plugin\search_api\processor\BlockedUsers
- 8 modules/social_features/social_search/src/Plugin/search_api/processor/BlockedUsers.php \Drupal\social_search\Plugin\search_api\processor\BlockedUsers
- 8.2 modules/social_features/social_search/src/Plugin/search_api/processor/BlockedUsers.php \Drupal\social_search\Plugin\search_api\processor\BlockedUsers
- 8.3 modules/social_features/social_search/src/Plugin/search_api/processor/BlockedUsers.php \Drupal\social_search\Plugin\search_api\processor\BlockedUsers
- 8.4 modules/social_features/social_search/src/Plugin/search_api/processor/BlockedUsers.php \Drupal\social_search\Plugin\search_api\processor\BlockedUsers
- 8.5 modules/social_features/social_search/src/Plugin/search_api/processor/BlockedUsers.php \Drupal\social_search\Plugin\search_api\processor\BlockedUsers
- 8.6 modules/social_features/social_search/src/Plugin/search_api/processor/BlockedUsers.php \Drupal\social_search\Plugin\search_api\processor\BlockedUsers
- 8.7 modules/social_features/social_search/src/Plugin/search_api/processor/BlockedUsers.php \Drupal\social_search\Plugin\search_api\processor\BlockedUsers
- 8.8 modules/social_features/social_search/src/Plugin/search_api/processor/BlockedUsers.php \Drupal\social_search\Plugin\search_api\processor\BlockedUsers
- 10.3.x modules/social_features/social_search/src/Plugin/search_api/processor/BlockedUsers.php \Drupal\social_search\Plugin\search_api\processor\BlockedUsers
- 10.0.x modules/social_features/social_search/src/Plugin/search_api/processor/BlockedUsers.php \Drupal\social_search\Plugin\search_api\processor\BlockedUsers
- 10.1.x modules/social_features/social_search/src/Plugin/search_api/processor/BlockedUsers.php \Drupal\social_search\Plugin\search_api\processor\BlockedUsers
Ignores blocked users in index and queries.
Makes sure blocked users are no longer indexed AND also filters out blocked users from queries.
Plugin annotation
@SearchApiProcessor(
id = "blocked_users",
label = @Translation("Skip Blocked users"),
description = @Translation("Makes sure that blocked users are not added to the index."),
stages = {
"alter_items" = 0,
"preprocess_query" = -30,
},
)
Hierarchy
- class \Drupal\social_search\Plugin\search_api\processor\BlockedUsers extends \Drupal\search_api\Processor\ProcessorPluginBase
Expanded class hierarchy of BlockedUsers
File
- modules/
social_features/ social_search/ src/ Plugin/ search_api/ processor/ BlockedUsers.php, line 27
Namespace
Drupal\social_search\Plugin\search_api\processorView source
class BlockedUsers extends ProcessorPluginBase {
/**
* {@inheritdoc}
*/
public static function supportsIndex(IndexInterface $index) {
$entity_types = [
'profile',
];
foreach ($index
->getDatasources() as $datasource) {
if (in_array($datasource
->getEntityTypeId(), $entity_types)) {
return TRUE;
}
}
return FALSE;
}
/**
* {@inheritdoc}
*/
public function alterIndexedItems(array &$items) {
foreach ($items as $item_id => $item) {
$object = $item
->getOriginalObject()
->getValue();
if ($object instanceof ProfileInterface) {
// Profile ownedId is the userId.
if ($object
->getOwner()
->isBlocked() === TRUE) {
unset($items[$item_id]);
}
}
elseif ($object instanceof UserInterface) {
if ($object
->isBlocked() === TRUE) {
unset($items[$item_id]);
}
}
}
}
/**
* {@inheritdoc}
*/
public function preprocessSearchQuery(QueryInterface $query) {
if (!$query
->getOption('search_api_bypass_access')) {
// Add a condition to filter out users through the status field.
$conditions = $query
->createConditionGroup('AND');
$conditions
->addCondition('user_status', 0, '<>');
// Add the conditions.
$query
->addConditionGroup($conditions);
}
}
}
Members
Name | Modifiers | Type | Description | Overrides |
---|---|---|---|---|
BlockedUsers:: |
public | function | ||
BlockedUsers:: |
public | function | ||
BlockedUsers:: |
public static | function |