New module 'Content Taxonomy'

This commit is contained in:
Manuel Cillero 2017-07-26 13:22:53 +02:00
parent 881f0335cf
commit 96f6051c34
21 changed files with 3644 additions and 0 deletions

View file

@ -0,0 +1,56 @@
<?php
/**
* Implementation of hook_token_list().
*/
function content_taxonomy_token_list($type = 'all') {
if ($type == 'field' || $type == 'all') {
$tokens = array();
$tokens['content_taxonomy']['term'] = t('Name of top taxonomy term');
$tokens['content_taxonomy']['term-raw'] = t('Unfiltered name of top taxonomy term. WARNING - raw user input.');
$tokens['content_taxonomy']['tid'] = t('ID of top taxonomy term');
$tokens['content_taxonomy']['terms'] = t('Names of all taxonomy terms separated by commas');
$tokens['content_taxonomy']['terms-raw'] = t('Unfiltered names of all taxonomy terms separated by commas. WARNING - raw user input.');
$tokens['content_taxonomy']['tids'] = t('IDs of all taxonomy terms separated by commas');
$tokens['content_taxonomy']['vocab'] = t('Name of terms vocabulary');
$tokens['content_taxonomy']['vid'] = t('ID of terms vocabulary');
return $tokens;
}
}
/**
* Implementation of hook_token_values().
*/
function content_taxonomy_token_values($type, $object = NULL) {
if ($type == 'field') {
$items = $object;
$terms = array();
$tids = array();
foreach ($items as $item) {
$tid = $item['value'];
if ($tid) {
$term = taxonomy_get_term($tid);
$tids[] = $tid;
$terms[] = $term->name;
$vid = $term->vid;
}
}
if ($vid) {
$vocabulary = taxonomy_vocabulary_load($vid);
}
$tokens['terms-raw'] = implode(', ', $terms);
$tokens['terms'] = check_plain($tokens['terms-raw']);
$tokens['tids'] = implode(', ', $tids);
$tokens['term-raw'] = $terms[0];
$tokens['term'] = check_plain($tokens['term-raw']);
$tokens['tid'] = $tids[0];
$tokens['vocab'] = isset($vocabulary) ? $vocabulary->name : '';
$tokens['vid'] = $vid;
return $tokens;
}
}