function contentanalysis_get_aid in Content Analysis 7
Same name and namespace in other branches
- 8 contentanalysis.module \contentanalysis_get_aid()
- 6 contentanalysis.module \contentanalysis_get_aid()
Returns the aid for a given context
Parameters
$context:
$save: Boolean to save the aid if it does not already exist
Return value
aid
1 call to contentanalysis_get_aid()
- contentanalysis_do_analysis in ./
contentanalysis.module - Provides analysis on context passed in
File
- ./
contentanalysis.module, line 1661
Code
function contentanalysis_get_aid($context, $save = 0) {
// save data to db
$aid = NULL;
$where = '';
if (isset($context['source']) && $context['source'] == 'node-edit-form' && is_null($context['nid'])) {
return $aid;
}
$query = db_select('contentanalysis', 'ca')
->fields('ca');
if (isset($context['aid']) && $context['aid'] > 0) {
$query
->condition('aid', $context['aid']);
$where = TRUE;
}
elseif (isset($context['nid']) && $context['nid'] > 0) {
$query
->condition('nid', $context['nid']);
$where = TRUE;
}
elseif (!is_null($context['path'])) {
$query
->condition('path', $context['path']);
$where = TRUE;
}
elseif (!is_null($context['url'])) {
$query
->condition('url', $context['url']);
$where = TRUE;
}
if ($where && $save) {
// by pass db save if analyzing content direct submission
$result = $query
->execute()
->fetchObject();
$fields = array(
'last_analysis' => time(),
'nid' => isset($context['nid']) && $context['nid'] ? $context['nid'] : 0,
'path' => isset($context['path']) && $context['path'] ? $context['path'] : '',
'url' => $context['url'],
);
if ($result && $result->aid) {
$aid = $result->aid;
db_update('contentanalysis')
->fields($fields)
->condition('aid', $result->aid)
->execute();
}
elseif (isset($fields['url'])) {
$context['last_analysis'] = REQUEST_TIME;
$query = db_insert('contentanalysis')
->fields($fields);
$aid = $query
->execute();
}
}
return $aid;
}