aDriv4 - MANAGER
Edit File: taxonomy_test.module
<?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); } }