function browserclass_tokens in Browser Class 7
Implements hook_tokens().
File
- ./
browserclass.tokens.inc, line 73 - Builds placeholder replacement tokens for browser-related data.
Code
function browserclass_tokens($type, $tokens, array $data = [], array $options = []) {
$replacements = [];
// Browser class tokens.
if ($type == 'browserclass') {
foreach ($tokens as $name => $original) {
switch ($name) {
case 'browser-classes':
$browser_classes = implode(' ', browserclass_get_classes());
$replacements[$original] = check_plain($browser_classes);
break;
case 'browser':
$browser = implode(' ', browserclass_get_classes(BROWSERCLASS_BROWSER));
$replacements[$original] = check_plain($browser);
break;
case 'platform':
$platform = implode(' ', browserclass_get_classes(BROWSERCLASS_PLATFORM));
$replacements[$original] = check_plain($platform);
break;
case 'device':
$device = implode(' ', browserclass_get_classes(BROWSERCLASS_MOBILE));
$replacements[$original] = check_plain($device);
break;
case 'hook-classes':
$hook_classes = implode(' ', browserclass_get_classes(BROWSERCLASS_OTHER_CLASSES));
$replacements[$original] = check_plain($hook_classes);
break;
}
}
}
// User tokens.
if ($type == 'user') {
foreach ($tokens as $name => $original) {
switch ($name) {
case 'browserclass':
$browser_classes = implode(' ', browserclass_get_classes());
$replacements[$original] = check_plain($browser_classes);
break;
}
}
// Chained token relationships.
if ($browserclass_tokens = token_find_with_prefix($tokens, 'browserclass')) {
$replacements += token_generate('browserclass', $browserclass_tokens, [], $options);
}
}
// Site information tokens.
if ($type == 'site') {
foreach ($tokens as $name => $original) {
switch ($name) {
case 'browserclass':
$browser_classes = implode(' ', browserclass_get_classes());
$replacements[$original] = check_plain($browser_classes);
break;
}
}
// Chained token relationships.
if ($browserclass_tokens = token_find_with_prefix($tokens, 'browserclass')) {
$replacements += token_generate('browserclass', $browserclass_tokens, [], $options);
}
}
return $replacements;
}