function acquia_contenthub_subscriber_evaluate_filter_conditions in Acquia Content Hub 8
Checks whether this asset (entity) matches the filter condition.
Parameters
\Drupal\acquia_contenthub_subscriber\ContentHubFilterInterface $contenthub_filter: A Content Hub Filter.
array $asset: An entity [entity_type, entity_uuid].
Return value
bool TRUE if matches condition, FALSE otherwise.
1 call to acquia_contenthub_subscriber_evaluate_filter_conditions()
- acquia_contenthub_subscriber_process_filters in acquia_contenthub_subscriber/
acquia_contenthub_subscriber.module - Processes an Asset that has arrived through a Webhook.
File
- acquia_contenthub_subscriber/
acquia_contenthub_subscriber.module, line 123 - Handles Content Hub Content Subscriptions and Updates.
Code
function acquia_contenthub_subscriber_evaluate_filter_conditions(ContentHubFilterInterface $contenthub_filter, array $asset) {
$asset_uuid = $asset['uuid'];
$asset_type = $asset['type'];
/* @var \Drupal\acquia_contenthub\ContentHubSearch $contenthub_search */
$contenthub_search = \Drupal::service('acquia_contenthub.acquia_contenthub_search');
// Obtain the Filter conditions.
$conditions = $contenthub_filter
->getConditions();
// Process the uuid that comes in the webhook's asset.
if (isset($asset_uuid) && !empty($conditions)) {
$count = $contenthub_search
->buildElasticSearchQuery($conditions, $asset_uuid, $asset_type);
if ($count > 0) {
return TRUE;
}
}
else {
return TRUE;
}
// If we reach here, return FALSE.
return FALSE;
}