1.20.x views.module | views_query_views_alter(QueryAlterableInterface $query) |
Implements hook_query_TAG_alter().
This is the hook_query_alter() for queries tagged by Views and is used to add in substitutions from hook_views_query_substitutions().
File
- modules/
views/ views.module, line 1849 - Primarily Backdrop hooks and global API functions to manipulate views.
Code
function views_query_views_alter(QueryAlterableInterface $query) {
$substitutions = $query->getMetaData('views_substitutions');
$tables = &$query->getTables();
$where = &$query->conditions();
// Replaces substitions in tables.
foreach ($tables as $table_name => $table_metadata) {
foreach ($table_metadata['arguments'] as $replacement_key => $value) {
if (isset($substitutions[$value])) {
$tables[$table_name]['arguments'][$replacement_key] = $substitutions[$value];
}
}
}
// Replaces substitions in filter criterias.
_views_query_tag_alter_condition($query, $where, $substitutions);
}