function insight_report_alerts_save in Insight 7
1 call to insight_report_alerts_save()
File
- ./
insight.module, line 327
Code
function insight_report_alerts_save($alerts, $analyzer, $report = NULL, $nid = NULL, $path = NULL) {
// check if report already exists
if (!is_array($alerts) || count($alerts) == 0) {
return FALSE;
}
if (!isset($report)) {
$report = $alerts[key($alerts)]['report'];
}
if (!isset($nid)) {
$nid = $alerts[key($alerts)]['nid'];
}
if (!isset($path)) {
$path = $alerts[key($alerts)]['path'];
}
$alerts0 = insight_alerts_load_by_params(NULL, $report, NULL, $nid);
$analyzer_defs = insight_analyzer_info();
$alert_defs = $analyzer_defs[$analyzer]['reports'][$report]['alerts'];
foreach ($alert_defs as $name) {
// alert generated
if (isset($alerts[$name])) {
// alert generated, doen't previously exist
if (!isset($alerts0[$name])) {
insight_alert_save($alerts[$name]);
}
else {
if ($alerts0[$name]['active'] != 0) {
insight_alert_activate($alerts0[$name]['iaid'], TRUE);
}
}
}
else {
if (isset($alerts0[$name])) {
// existing alert not ignored
if ($alerts0[$name]['active'] == 0) {
insight_alert_ignore_dismiss($alerts0[$name]['iaid'], TRUE);
}
else {
insight_alert_dismiss($alerts0[$name]['iaid'], TRUE);
}
}
}
}
return $alerts;
}