function contentanalysis_parse_context_node_load in Content Analysis 7
Same name and namespace in other branches
- 8 contentanalysis.module \contentanalysis_parse_context_node_load()
- 6 contentanalysis.module \contentanalysis_parse_context_node_load()
Normalizes context data inputed from the node_load function
Parameters
$context: Initialized context formatted array
Return value
A normalized context array
1 call to contentanalysis_parse_context_node_load()
- contentanalysis_parse_context in ./
contentanalysis.module - Inspects context to select a normalizing context parser
File
- ./
contentanalysis.module, line 752
Code
function contentanalysis_parse_context_node_load($context, &$analysis) {
if (isset($context['node']) && is_object($context['node'])) {
$node = $context['node'];
}
elseif ($context['nid']) {
$node = node_load($context['nid']);
if (!$node) {
$msg = t('Nid @nid is invalid.', array(
'@nid' => $context['nid'],
));
$analysis['messages'][] = contentanalysis_format_message($msg, 'error');
return $context;
}
$context['node'] = $node;
}
else {
$msg = t('A valid node/nid was not submitted.');
$analysis['messages'][] = contentanalysis_format_message($msg, 'error');
return $context;
}
$context['node_type'] = $node->type;
$context['title'] = !is_null($context['title']) ? $context['title'] : $node->title;
if (is_null($context['page_title'])) {
$context_title = $context['title'];
$context_page_title = $context['title'];
if (module_exists('page_title')) {
$page_title_pattern = variable_get('page_title_type_' . (isset($node->type) ? $node->type : ''), '');
if (empty($page_title_pattern)) {
$page_title_pattern = variable_get('page_title_default', '[current-page:page-title] | [site:name]');
}
//$page_title_pattern = str_replace('[page-title]', (($context_page_title && (!is_null($context_page_title)))?$context_page_title:$context_title), $page_title_pattern);
//$page_title_pattern = str_replace('[title]', check_plain($context_title), $page_title_pattern);
//$page_title_pattern = str_replace('[title-raw]', $context_title, $page_title_pattern);
$types = array();
if (isset($node)) {
$types['node'] = $node;
}
$types['page_title'] = NULL;
$context['page_title'] = token_replace($page_title_pattern, $types);
}
}
else {
$context['page_title'] = $context['title'] ? $context['title'] : $node->title;
}
$context['node_body'] = $context['body'];
$node_view = node_view($context['node']);
if (isset($node_view['body'][0]['#markup'])) {
$context['body'] = $node_view['body'][0]['#markup'];
}
// prepend node title
if (variable_get('contentanalysis_node_parse_nodetitle_prepend', CONTENTANALYSIS_NODE_PARSE_NODETITLE_PREPEND_DEFAULT)) {
$h = $context['title'];
$p = variable_get('contentanalysis_node_parse_nodetitle_tags', CONTENTANALYSIS_NODE_PARSE_NODETITLE_TAGS_DEFAULT);
if (strpos($p, '[node:title]') !== FALSE) {
$h = str_replace('[node:title]', $h, $p);
}
$context['body'] = $h . "\n" . $context['body'];
}
if (is_null($context['body_notags'])) {
$context['body_notags'] = strip_tags($context['body']);
}
// get metatag context
if (isset($node->metatags['keywords']['value'])) {
$context['meta_keywords'] = $node->metatags['keywords']['value'];
}
if (isset($node->metatags['description']['value'])) {
$context['meta_description'] = $node->metatags['description']['value'];
}
$context = contentanalysis_parse_context_metatags($context);
if (is_null($context['path'])) {
$path = 'node/' . $context['nid'];
$path_alias = drupal_get_path_alias($path);
$context['path'] = $path_alias ? $path_alias : $path;
}
if (is_null($context['url'])) {
$url = 'http';
if (isset($_SERVER["HTTPS"]) && $_SERVER["HTTPS"] == "on") {
$url .= "s";
}
$url .= "://";
if ($_SERVER["SERVER_PORT"] != "80") {
$url .= $_SERVER["SERVER_NAME"] . ":" . $_SERVER["SERVER_PORT"];
}
else {
$url .= $_SERVER["SERVER_NAME"];
}
$url .= base_path();
$url .= $context['path'];
$context['url'] = $url;
}
return $context;
}