class TaxonomyTermController
Controller class for taxonomy terms.
This extends the DrupalDefaultEntityController class. Only alteration is that we match the condition on term name case-independently.
Hierarchy
- class \DrupalDefaultEntityController implements \DrupalEntityControllerInterface
- class \TaxonomyTermController extends \DrupalDefaultEntityController
Expanded class hierarchy of TaxonomyTermController
1 string reference to 'TaxonomyTermController'
- taxonomy_entity_info in modules/
taxonomy/ taxonomy.module - Implements hook_entity_info().
File
-
modules/
taxonomy/ taxonomy.module, line 1249
View source
class TaxonomyTermController extends DrupalDefaultEntityController {
protected function buildQuery($ids, $conditions = array(), $revision_id = FALSE) {
$query = parent::buildQuery($ids, $conditions, $revision_id);
$query->addTag('translatable');
$query->addTag('taxonomy_term_access');
// When name is passed as a condition use LIKE.
if (isset($conditions['name'])) {
$query_conditions =& $query->conditions();
foreach ($query_conditions as $key => $condition) {
if (is_array($condition) && $condition['field'] == 'base.name') {
$query_conditions[$key]['operator'] = 'LIKE';
$query_conditions[$key]['value'] = db_like($query_conditions[$key]['value']);
}
}
}
// Add the machine name field from the {taxonomy_vocabulary} table.
$query->innerJoin('taxonomy_vocabulary', 'v', 'base.vid = v.vid');
$query->addField('v', 'machine_name', 'vocabulary_machine_name');
return $query;
}
protected function cacheGet($ids, $conditions = array()) {
$terms = parent::cacheGet($ids, $conditions);
// Name matching is case insensitive, note that with some collations
// LOWER() and drupal_strtolower() may return different results.
foreach ($terms as $term) {
$term_values = (array) $term;
if (isset($conditions['name']) && drupal_strtolower($conditions['name']) != drupal_strtolower($term_values['name'])) {
unset($terms[$term->tid]);
}
}
return $terms;
}
}
Members
Title Sort descending | Modifiers | Object type | Summary | Overriden Title | Overrides |
---|---|---|---|---|---|
DrupalDefaultEntityController::$cache | protected | property | Whether this entity type should use the static cache. | ||
DrupalDefaultEntityController::$entityCache | protected | property | Static cache of entities, keyed by entity ID. | ||
DrupalDefaultEntityController::$entityInfo | protected | property | Array of information about the entity. | ||
DrupalDefaultEntityController::$entityType | protected | property | Entity type for this controller instance. | ||
DrupalDefaultEntityController::$hookLoadArguments | protected | property | Additional arguments to pass to hook_TYPE_load(). | ||
DrupalDefaultEntityController::$idKey | protected | property | Name of the entity's ID field in the entity database table. | ||
DrupalDefaultEntityController::$revisionKey | protected | property | Name of entity's revision database table field, if it supports revisions. | ||
DrupalDefaultEntityController::$revisionTable | protected | property | The table that stores revisions, if the entity supports revisions. | ||
DrupalDefaultEntityController::attachLoad | protected | function | Attaches data to entities upon loading. | 4 | |
DrupalDefaultEntityController::cacheSet | protected | function | Stores entities in the static entity cache. | ||
DrupalDefaultEntityController::cleanIds | protected | function | Ensures integer entity IDs are valid. | ||
DrupalDefaultEntityController::filterId | protected | function | Callback for array_filter that removes non-integer IDs. | ||
DrupalDefaultEntityController::load | public | function | Implements DrupalEntityControllerInterface::load(). | Overrides DrupalEntityControllerInterface::load | |
DrupalDefaultEntityController::resetCache | public | function | Implements DrupalEntityControllerInterface::resetCache(). | Overrides DrupalEntityControllerInterface::resetCache | |
DrupalDefaultEntityController::__construct | public | function | Constructor: sets basic variables. | ||
TaxonomyTermController::buildQuery | protected | function | Builds the query to load the entity. | Overrides DrupalDefaultEntityController::buildQuery | |
TaxonomyTermController::cacheGet | protected | function | Gets entities from the static cache. | Overrides DrupalDefaultEntityController::cacheGet |
Buggy or inaccurate documentation? Please file an issue. Need support? Need help programming? Connect with the Drupal community.