function contentanalysis_do_analysis in Content Analysis 6
Same name and namespace in other branches
- 8 contentanalysis.module \contentanalysis_do_analysis()
- 7 contentanalysis.module \contentanalysis_do_analysis()
Provides analysis on context passed in
- Normalizes the context
- Passes context to analyzer modules' "callback" declaired in analyzer definition
_params
Parameters
unknown_type $context:
unknown_type $analyzers:
1 call to contentanalysis_do_analysis()
- contentanalysis_analyze_js in ./
contentanalysis.module - Returns content analysis for AJAX calls
File
- ./
contentanalysis.module, line 857
Code
function contentanalysis_do_analysis($context, $analyzers = -1, $analyzers_params = array()) {
//print_r($context);
$analysis_struc = array(
'#title' => '',
'#status' => 'status',
'content' => array(),
'stats' => array(),
'tests' => array(),
'messages' => array(),
'page_title' => array(
'#title' => t('Page title'),
'#status' => 'status',
),
'body' => array(
'#title' => t('Body'),
'#status' => 'status',
),
'meta_keywords' => array(
'#title' => t('Meta keywords'),
'#status' => 'status',
),
'meta_description' => array(
'#title' => t('Meta description'),
'#status' => 'status',
),
);
// change structure if content is directly inputed without a full page
if ($context['source'] == 'admin') {
if (!$context['inputs']['nid'] && !$context['inputs']['body'] && !$context['inputs']['url']) {
$analysis = $analysis_struc;
$analysis['messages'] = contentanalysis_format_message(t('No input was submitted. Please enter content, a Node ID or URL.'), 'error');
return $analysis;
}
}
$context = contentanalysis_parse_context($context);
// allow modules to alter context
drupal_alter('contentanalysis_context_parser', $context);
// save data to db
$save = $context['options']['dontsave'] ? 0 : 1;
$context['aid'] = contentanalysis_get_aid($context, $save);
// change section labels if content is directly inputed
if ($context['source'] == 'admin-form' && is_null($context['inputs']['url']) && is_null($context['inputs']['nid'])) {
$analysis_struc['body']['#title'] = t('Text');
unset($analysis_struc['page_title']);
unset($analysis_struc['meta_keywords']);
unset($analysis_struc['meta_description']);
}
$analysis = array();
$analysis['#context'] = $context;
$analyzers = module_invoke_all('contentanalysis_analyzers');
drupal_alter('contentanalysis_analyzers', $analyzers);
foreach ($analyzers as $aid => $analyzer) {
if ($context['inputs']['analyzers'][$aid]) {
$analysis_struc['#title'] = $analyzer['title'];
$analysis[$aid] = call_user_func($analyzer['callback'], $context, $analysis_struc, $analyzers_params[$aid]);
}
}
// do quickstart analysis if no analyzers are enabled
if (variable_get('contentanalysis_analyzerchecklist', 1)) {
$analysis_struc['#title'] = t('Analyzer checklist');
$analysis['contentanalysis'] = contentanalysis_checklist_analyzer($context, $analysis_struc);
}
return $analysis;
}