function _nodewords_tag_value in Nodewords: D6 Meta Tags 6.3
Same name and namespace in other branches
- 6.2 nodewords.module \_nodewords_tag_value()
2 calls to _nodewords_tag_value()
- nodewords_preprocess_page in ./
nodewords.module - Implements hook_preprocess_page().
- nodewords_tags_edit_fields in ./
nodewords.module - Return the form used to set the meta tags values.
File
- ./
nodewords.module, line 1090 - Implement an version that other modules can use to add meta tags.
Code
function _nodewords_tag_value($tag, $value, $options = array()) {
static $default = NULL;
$options += _nodewords_get_default_metatags_type();
$id = $options['id'];
$sid = $options['sid'];
$type = $options['type'];
if (!isset($default[$type][$id][$sid])) {
$default_values = array();
nodewords_load_all_includes('nodewords.hooks.inc');
drupal_alter('metatags_default_values', $default_values, $options + array(
'phase' => 'pre_load',
));
if (!empty($default_values)) {
$default[$type][$id][$sid] = $default_values;
}
else {
$default[$type][$id][$sid] = nodewords_load_tags();
drupal_alter('metatags_default_values', $default[$type][$id][$sid], $options + array(
'phase' => 'post_load',
));
}
}
if ($type == NODEWORDS_TYPE_DEFAULT) {
$value = isset($default[$type][$id][$sid][$tag]) ? $default[$type][$id][$sid][$tag] : array();
}
else {
$tags_info = nodewords_get_possible_tags();
$variable = empty($options['admin']) ? 'nodewords_ui_use_default_value_' . $tag : 'nodewords_admin_use_default_value_' . $tag;
switch (variable_get($variable, 'empty')) {
case 'empty':
$bool = isset($tags_info[$tag]['callback']) && function_exists($function = $tags_info[$tag]['callback'] . '_is_empty');
if ($bool && $function($value)) {
$value = isset($default[$type][$id][$sid][$tag]) ? $default[$type][$id][$sid][$tag] : array();
}
elseif (!$bool && empty($value['value'])) {
$value = isset($default[$type][$id][$sid][$tag]) ? $default[$type][$id][$sid][$tag] : array();
}
break;
case 'always':
$value = isset($default[$type][$id][$sid][$tag]) ? $default[$type][$id][$sid][$tag] : array();
break;
}
}
return $value;
}