Revised way of identifying graphs that can be embedded (v1.15)[5]

This commit is contained in:
Mark Oudsen 2021-03-01 20:22:42 +01:00
parent 995fdf0b68
commit 2808544170
2 changed files with 49 additions and 17 deletions

View File

@ -16,5 +16,6 @@
"smtp_server": "localhost", "smtp_server": "localhost",
"smtp_port": 25, "smtp_port": 25,
"smtp_transport": "none", "smtp_transport": "none",
"smtp_strict": "yes" "smtp_strict": "yes",
"graph_match": "any"
} }

View File

@ -12,9 +12,12 @@
// 1.01 2021/02/27 - Mark Oudsen - Enhanced search for associated graphs to an item // bug fixes // 1.01 2021/02/27 - Mark Oudsen - Enhanced search for associated graphs to an item // bug fixes
// 1.10 2021/02/27 - Mark Oudsen - Moved all configuration outside code // 1.10 2021/02/27 - Mark Oudsen - Moved all configuration outside code
// 1.11 2021/02/28 - Mark Oudsen - Bugfixes // 1.11 2021/02/28 - Mark Oudsen - Bugfixes
// 1.12 2021/03/01 - Mark Oudsen - Bugfixes - Adding mail server configuration via config.json // 1.12 2021/03/01 - Mark Oudsen - Bugfixes
// Adding mail server configuration via config.json
// 1.13 2021/03/01 - Mark Oudsen - Added smtp options to encrypt none,ssl,tls // 1.13 2021/03/01 - Mark Oudsen - Added smtp options to encrypt none,ssl,tls
// 1.14 2021/03/01 - Mark Oudsen - Added smtp strict certificates yes|no via config.json // 1.14 2021/03/01 - Mark Oudsen - Added smtp strict certificates yes|no via config.json
// 1.15 2021/03/01 - Mark Oudsen - Revised relevant graph locator; allowing other item graphs if current
// item does not have a graph associated
// ------------------------------------------------------------------------------------------------------ // ------------------------------------------------------------------------------------------------------
// //
// (C) M.J.Oudsen, mark.oudsen@puzzl.nl // (C) M.J.Oudsen, mark.oudsen@puzzl.nl
@ -37,7 +40,7 @@
// CONSTANTS // CONSTANTS
$cVersion = 'v1.14'; $cVersion = 'v1.15';
$cCRLF = chr(10).chr(13); $cCRLF = chr(10).chr(13);
$maskDateTime = 'Y-m-d H:i:s'; $maskDateTime = 'Y-m-d H:i:s';
@ -375,6 +378,9 @@
$p_smtp_strict = 'yes'; $p_smtp_strict = 'yes';
if ((isset($config['smtp_strict'])) && ($config['smtp_strict']=='no')) { $p_smtp_strict = 'no'; } if ((isset($config['smtp_strict'])) && ($config['smtp_strict']=='no')) { $p_smtp_strict = 'no'; }
$p_graph_match = 'any';
if ((isset($config['graph_match'])) && ($config['graph_match']=='exact')) { $p_graph_match = 'exact'; }
// --- CONFIGURATION --- // --- CONFIGURATION ---
// Script related settings // Script related settings
@ -579,6 +585,7 @@
_log('# Retreiving associated graph items for the identified graphs'); _log('# Retreiving associated graph items for the identified graphs');
$matchedGraphs = array(); $matchedGraphs = array();
$otherGraphs = array();
foreach($thisGraph['result'] as $aGraph) foreach($thisGraph['result'] as $aGraph)
{ {
@ -591,7 +598,7 @@
$thisGraphItems[$aGraph['graphid']] = postJSON($z_url_api,$request); $thisGraphItems[$aGraph['graphid']] = postJSON($z_url_api,$request);
foreach($thisGraphItems[$aGraph['graphid']]['result'] as $graphItem) foreach($thisGraphItems[$aGraph['graphid']]['result'] as $aKey=>$graphItem)
{ {
if ($graphItem['itemid']==$itemId) if ($graphItem['itemid']==$itemId)
{ {
@ -600,12 +607,14 @@
} }
else else
{ {
$otherGraphs[] = $aGraph;
_log('- Graph item (nomatch)'.$cCRLF.json_encode($aGraph,JSON_PRETTY_PRINT|JSON_NUMERIC_CHECK)); _log('- Graph item (nomatch)'.$cCRLF.json_encode($aGraph,JSON_PRETTY_PRINT|JSON_NUMERIC_CHECK));
} }
} }
} }
_log('> Graphs found (matching) = '.sizeof($matchedGraphs)); _log('> Graphs found (matching/others) = '.sizeof($matchedGraphs).' / '.sizeof($otherGraphs));
// --- READ EVENT INFORMATION --- // --- READ EVENT INFORMATION ---
@ -648,11 +657,13 @@
$graphFile = ''; $graphFile = '';
$graphURL = ''; $graphURL = '';
if (sizeof($matchedGraphs)>0) if ((sizeof($matchedGraphs)+sizeof($otherGraphs))>0)
{ {
// TODO: if multiple graphs, pick the first one or the one that is TAGGED with a mailGraph tag/value // TODO: if multiple graphs, pick the first one or the one that is TAGGED with a mailGraph tag/value
_log('# Adding graph #'.$matchedGraphs[0]['graphid']); if (sizeof($matchedGraphs)>0)
{
_log('# Adding MATCHED graph #'.$matchedGraphs[0]['graphid']);
$graphFile = GraphImageById($matchedGraphs[0]['graphid'],$p_graphWidth,$p_graphHeight,$p_showLegend); $graphFile = GraphImageById($matchedGraphs[0]['graphid'],$p_graphWidth,$p_graphHeight,$p_showLegend);
_log('> Filename = '.$graphFile); _log('> Filename = '.$graphFile);
@ -660,6 +671,23 @@
$mailData['GRAPH_ID'] = $matchedGraphs[0]['graphid']; $mailData['GRAPH_ID'] = $matchedGraphs[0]['graphid'];
$mailData['GRAPH_NAME'] = $matchedGraphs[0]['name']; $mailData['GRAPH_NAME'] = $matchedGraphs[0]['name'];
$mailData['GRAPH_URL'] = $z_url_image . $graphFile; $mailData['GRAPH_URL'] = $z_url_image . $graphFile;
$mailData['GRAPH_MATCH'] = 'Exact';
}
else
{
if (($p_graph_match!='exact') && (sizeof($otherGraphs)>0))
{
_log('# Adding OTHER graph #'.$otherGraphs[0]['graphid']);
$graphFile = GraphImageById($otherGraphs[0]['graphid'],$p_graphWidth,$p_graphHeight,$p_showLegend);
_log('> Filename = '.$graphFile);
$mailData['GRAPH_ID'] = $otherGraphs[0]['graphid'];
$mailData['GRAPH_NAME'] = $otherGraphs[0]['name'];
$mailData['GRAPH_URL'] = $z_url_image . $graphFile;
$mailData['GRAPH_MATCH'] = 'Other';
}
}
} }
// Prepare HTML LOG content // Prepare HTML LOG content
@ -708,6 +736,8 @@
]); ]);
} }
} }
else
{
if ($transport instanceof \Swift_Transport_EsmtpTransport) if ($transport instanceof \Swift_Transport_EsmtpTransport)
{ {
$transport->setStreamOptions([ $transport->setStreamOptions([
@ -716,8 +746,6 @@
'verify_peer_name' => true] 'verify_peer_name' => true]
]); ]);
} }
else
{
} }
} }
else else
@ -803,6 +831,9 @@
$content = implode(chr(10),$logging).$cCRLF.$cCRLF.'=== MAILDATA ==='.$cCRLF.$cCRLF.json_encode($mailData,JSON_PRETTY_PRINT|JSON_NUMERIC_CHECK); $content = implode(chr(10),$logging).$cCRLF.$cCRLF.'=== MAILDATA ==='.$cCRLF.$cCRLF.json_encode($mailData,JSON_PRETTY_PRINT|JSON_NUMERIC_CHECK);
$content = str_replace(chr(13),'',$content); $content = str_replace(chr(13),'',$content);
file_put_contents($z_log_path.'log.'.$p_eventId.'.'.date('YmdHis').'.dump',$content); $logName = 'log.'.$p_eventId.'.'.date('YmdHis').'.dump';
file_put_contents($z_log_path.$logName,$content);
_log('= Log stored to '.$z_log_path.$logName);
} }
?> ?>