Now all modules are in core modules folder
This commit is contained in:
parent
5ba1cdfa0b
commit
05b6a91b0c
1907 changed files with 0 additions and 0 deletions
158
modules/token/token.pages.inc
Normal file
158
modules/token/token.pages.inc
Normal file
|
@ -0,0 +1,158 @@
|
|||
<?php
|
||||
|
||||
/**
|
||||
* @file
|
||||
* User page callbacks for the token module.
|
||||
*/
|
||||
|
||||
/**
|
||||
* For a given context, builds a formatted list of tokens and descriptions
|
||||
* of their replacement values.
|
||||
*
|
||||
* @param types
|
||||
* The token types to display documentation for. Can be either a single
|
||||
* string or an array of token types. Defaults to 'all'.
|
||||
* @param prefix
|
||||
* The prefix your module will use when parsing tokens. Defaults to '['
|
||||
* @param suffix
|
||||
* The suffix your module will use when parsing tokens. Defaults to ']'
|
||||
* @return An HTML table containing the formatting docs.
|
||||
*
|
||||
* @ingroup themeable
|
||||
*/
|
||||
function theme_token_help($types = 'all', $prefix = TOKEN_PREFIX, $suffix = TOKEN_SUFFIX) {
|
||||
token_include();
|
||||
$full_list = token_get_list($types);
|
||||
|
||||
$headers = array(t('Token'), t('Replacement value'));
|
||||
$rows = array();
|
||||
foreach ($full_list as $key => $category) {
|
||||
$rows[] = array(array('data' => t('@type tokens', array('@type' => drupal_ucfirst($key))), 'class' => 'region', 'colspan' => 2));
|
||||
foreach ($category as $token => $description) {
|
||||
$row = array();
|
||||
$row[] = $prefix . $token . $suffix;
|
||||
$row[] = $description;
|
||||
$rows[] = $row;
|
||||
}
|
||||
}
|
||||
|
||||
$output = theme('table', $headers, $rows, array('class' => 'description'));
|
||||
return $output;
|
||||
}
|
||||
|
||||
/**
|
||||
* Provide a 'tree' display of nested tokens.
|
||||
*
|
||||
* @ingroup themeable
|
||||
*/
|
||||
function theme_token_tree($token_types = array(), $global_types = TRUE, $click_insert = TRUE) {
|
||||
if ($token_types == 'all' || !is_array($token_types) || in_array('all', $token_types)) {
|
||||
$token_types = array('all');
|
||||
}
|
||||
elseif ($global_types) {
|
||||
$token_types[] = 'global';
|
||||
}
|
||||
else {
|
||||
$global_key = array_search('global', $token_types);
|
||||
if ($global_key !== FALSE) {
|
||||
unset($token_types[$global_key]);
|
||||
}
|
||||
}
|
||||
|
||||
// Check for token type validity and sort.
|
||||
$token_types = array_unique($token_types);
|
||||
$info = token_get_list($token_types);
|
||||
//$token_types = array_intersect($token_types, array_keys($info));
|
||||
$token_types = array_keys($info);
|
||||
sort($token_types);
|
||||
|
||||
$header = array(
|
||||
t('Token'),
|
||||
t('Description'),
|
||||
);
|
||||
$rows = array();
|
||||
|
||||
foreach ($token_types as $type) {
|
||||
$parent = NULL;
|
||||
|
||||
if (count($token_types) > 1) {
|
||||
$rows[] = _token_token_tree_format_row($type, array(), TRUE);
|
||||
$parent = $type;
|
||||
}
|
||||
|
||||
foreach ($info[$type] as $token => $description) {
|
||||
$rows[] = _token_token_tree_format_row("[$token]", array('description' => $description, 'parent' => $parent));
|
||||
}
|
||||
}
|
||||
|
||||
if (count($rows)) {
|
||||
drupal_add_js(drupal_get_path('module', 'token') . '/jquery.treeTable.js');
|
||||
drupal_add_css(drupal_get_path('module', 'token') . '/jquery.treeTable.css');
|
||||
drupal_add_js(drupal_get_path('module', 'token') . '/token.js');
|
||||
drupal_add_css(drupal_get_path('module', 'token') . '/token.css');
|
||||
}
|
||||
else {
|
||||
$rows[] = array(array(
|
||||
'data' => t('No tokens available.'),
|
||||
'colspan' => 2,
|
||||
));
|
||||
}
|
||||
|
||||
$table_options = array(
|
||||
'attributes' => array('class' => 'token-tree'),
|
||||
'caption' => '',
|
||||
);
|
||||
if ($click_insert) {
|
||||
$table_options['caption'] = t('Click a token to insert it into the field you\'ve last clicked.');
|
||||
$table_options['attributes']['class'] .= ' token-click-insert';
|
||||
}
|
||||
return theme('table', $header, $rows, $table_options['attributes'], $table_options['caption']);
|
||||
}
|
||||
|
||||
/**
|
||||
* Build a row in the token tree.
|
||||
*/
|
||||
function _token_token_tree_format_row($token, $token_info = array(), $is_group = FALSE) {
|
||||
$row = array(
|
||||
'id' => _token_clean_css_identifier($token),
|
||||
'class' => array(),
|
||||
'data' => array(
|
||||
'token' => '',
|
||||
'description' => !empty($token_info['description']) ? $token_info['description'] : '',
|
||||
),
|
||||
);
|
||||
|
||||
if ($is_group) {
|
||||
// This is a token type/group.
|
||||
$row['data']['token'] = drupal_ucfirst($token);
|
||||
$row['class'][] = 'token-group';
|
||||
$row['id'] .= '-group';
|
||||
}
|
||||
else {
|
||||
// This is a token.
|
||||
$row['data']['token'] = array(
|
||||
'data' => $token,
|
||||
'class' => 'token-key',
|
||||
);
|
||||
if (!empty($token_info['parent'])) {
|
||||
$row['class'][] = 'child-of-' . _token_clean_css_identifier($token_info['parent']) . '-group';
|
||||
}
|
||||
}
|
||||
|
||||
$row['class'] = implode(' ', $row['class']);
|
||||
|
||||
return $row;
|
||||
}
|
||||
|
||||
function _token_clean_css_identifier($id) {
|
||||
return 'token-' . rtrim(str_replace(array('][', '_', ' ', ':'), '-', trim($id, '[]')), '-');
|
||||
}
|
||||
|
||||
/**
|
||||
* Menu callback; prints the available tokens and values for an object.
|
||||
*/
|
||||
function token_devel_token_object($entity, $object) {
|
||||
$tokens = token_get_values($entity, $object);
|
||||
$tokens = array_combine($tokens->tokens, $tokens->values);
|
||||
return kdevel_print_object($tokens);
|
||||
}
|
Reference in a new issue