taxonomy_test.module
Same filename in other branches
Test module for Taxonomy hooks and functions not used in core.
See also
TaxonomyHooksTestCase::testTaxonomyTermHooks()
File
-
modules/
simpletest/ tests/ taxonomy_test.module
View source
<?php
/**
* @file
* Test module for Taxonomy hooks and functions not used in core.
*
* @see TaxonomyHooksTestCase::testTaxonomyTermHooks()
*/
/**
* Implements hook_taxonomy_term_load().
*/
function taxonomy_test_taxonomy_term_load($terms) {
foreach ($terms as $term) {
$antonym = taxonomy_test_get_antonym($term->tid);
if ($antonym) {
$term->antonym = $antonym;
}
}
}
/**
* Implements hook_taxonomy_term_insert().
*/
function taxonomy_test_taxonomy_term_insert($term) {
if (!empty($term->antonym)) {
db_insert('taxonomy_term_antonym')->fields(array(
'tid' => $term->tid,
'name' => trim($term->antonym),
))
->execute();
}
}
/**
* Implements hook_taxonomy_term_update().
*/
function taxonomy_test_taxonomy_term_update($term) {
if (!empty($term->antonym)) {
db_merge('taxonomy_term_antonym')->key(array(
'tid' => $term->tid,
))
->fields(array(
'name' => trim($term->antonym),
))
->execute();
}
}
/**
* Implements hook_taxonomy_term_delete().
*/
function taxonomy_test_taxonomy_term_delete($term) {
db_delete('taxonomy_term_antonym')->condition('tid', $term->tid)
->execute();
}
/**
* Implements hook_taxonomy_term_view().
*/
function taxonomy_test_taxonomy_term_view($term, $view_mode, $langcode) {
if ($view_mode == 'full') {
$term->content['taxonomy_test_term_view_check'] = array(
'#prefix' => '<div>',
'#markup' => t('The antonym is %antonym', array(
'%antonym' => $term->antonym,
)),
'#suffix' => '</div>',
'#weight' => 10,
);
}
}
/**
* Implements hook_entity_view().
*/
function taxonomy_test_entity_view($entity, $type, $view_mode, $langcode) {
if ($type == 'taxonomy_term' && $view_mode == 'full') {
$entity->content['taxonomy_test_entity_view_check'] = array(
'#prefix' => '<div>',
'#markup' => t('The antonym is %antonym', array(
'%antonym' => $entity->antonym,
)),
'#suffix' => '</div>',
'#weight' => 20,
);
}
}
/**
* Implements hook_form_alter().
*/
function taxonomy_test_form_alter(&$form, $form_state, $form_id) {
if ($form_id == 'taxonomy_form_term') {
$antonym = taxonomy_test_get_antonym($form['#term']['tid']);
$form['advanced']['antonym'] = array(
'#type' => 'textfield',
'#title' => t('Antonym'),
'#default_value' => !empty($antonym) ? $antonym : '',
'#description' => t('Antonym of this term.'),
);
}
}
/**
* Return the antonym of the given term ID.
*/
function taxonomy_test_get_antonym($tid) {
return db_select('taxonomy_term_antonym', 'ta')->fields('ta', array(
'name',
))
->condition('tid', $tid)
->execute()
->fetchField();
}
/**
* Implements hook_query_alter().
*/
function taxonomy_test_query_alter(QueryAlterableInterface $query) {
$value = variable_get(__FUNCTION__);
if (isset($value)) {
variable_set(__FUNCTION__, ++$value);
}
}
/**
* Implements hook_query_TAG_alter().
*/
function taxonomy_test_query_term_access_alter(QueryAlterableInterface $query) {
$value = variable_get(__FUNCTION__);
if (isset($value)) {
variable_set(__FUNCTION__, ++$value);
}
}
/**
* Implements hook_query_TAG_alter().
*/
function taxonomy_test_query_taxonomy_term_access_alter(QueryAlterableInterface $query) {
$value = variable_get(__FUNCTION__);
if (isset($value)) {
variable_set(__FUNCTION__, ++$value);
}
}
/**
* Implements hook_block_info().
*/
function taxonomy_test_block_info() {
$blocks['test_block_form'] = array(
'info' => t('Test block with form'),
);
return $blocks;
}
/**
* Implements hook_block_view().
*/
function taxonomy_test_block_view($delta = 0) {
$form = drupal_get_form('taxonomy_test_simple_form');
return array(
'subject' => 'Simple form',
'content' => drupal_render($form),
);
}
/**
* Form builder for testing submission on taxonomy terms overview page.
*/
function taxonomy_test_simple_form($form, &$form_state) {
$form['submit'] = array(
'#type' => 'submit',
'#value' => t('Submit'),
);
return $form;
}
/**
* Test controller class for taxonomy terms.
*
* The main purpose is to make cacheGet() method available for testing.
*/
class TestTaxonomyTermController extends TaxonomyTermController {
public function loadFromCache($ids, $conditions = array()) {
return parent::cacheGet($ids, $conditions);
}
}
Functions
Title | Deprecated | Summary |
---|---|---|
taxonomy_test_block_info | Implements hook_block_info(). | |
taxonomy_test_block_view | Implements hook_block_view(). | |
taxonomy_test_entity_view | Implements hook_entity_view(). | |
taxonomy_test_form_alter | Implements hook_form_alter(). | |
taxonomy_test_get_antonym | Return the antonym of the given term ID. | |
taxonomy_test_query_alter | Implements hook_query_alter(). | |
taxonomy_test_query_taxonomy_term_access_alter | Implements hook_query_TAG_alter(). | |
taxonomy_test_query_term_access_alter | Implements hook_query_TAG_alter(). | |
taxonomy_test_simple_form | Form builder for testing submission on taxonomy terms overview page. | |
taxonomy_test_taxonomy_term_delete | Implements hook_taxonomy_term_delete(). | |
taxonomy_test_taxonomy_term_insert | Implements hook_taxonomy_term_insert(). | |
taxonomy_test_taxonomy_term_load | Implements hook_taxonomy_term_load(). | |
taxonomy_test_taxonomy_term_update | Implements hook_taxonomy_term_update(). | |
taxonomy_test_taxonomy_term_view | Implements hook_taxonomy_term_view(). |
Classes
Title | Deprecated | Summary |
---|---|---|
TestTaxonomyTermController | Test controller class for taxonomy terms. |
Buggy or inaccurate documentation? Please file an issue. Need support? Need help programming? Connect with the Drupal community.