multiple minor adjustments and fixes

This commit is contained in:
Andre Lorbach 2010-02-24 15:11:01 +01:00
parent 7d6c73cff4
commit 7ecb873495
14 changed files with 82 additions and 27 deletions

View File

@ -95,6 +95,7 @@ if ( isset($_GET['op']) )
// Get Reference to parser!
$myReport = $content['REPORTS'][ $content['ReportID'] ];
$content['Category'] = $myReport['Category'];
$content['DisplayName'] = $myReport['DisplayName'];
$content['Description'] = $myReport['Description'];
@ -103,6 +104,23 @@ if ( isset($_GET['op']) )
$content['EnableHelpArticle'] = true;
$content['ReportHelpArticle'] = $myReport['ReportHelpArticle'];
}
// check for custom fields
if ( isset($myReport['RequiredFieldsList']) && count($myReport['RequiredFieldsList']) > 0 )
{
// Needs custom fields!
$content['EnableRequiredFields'] = true;
// $content['CustomFieldsList'] = $myParser['CustomFieldsList'];
foreach( $myReport['RequiredFieldsList'] as $myField )
{
if ( isset($fields[$myField]) )
$content['RequiredFieldsList'][$myField] = array ("FieldID" => $myField, "FieldDefine" => $fields[$myField]["FieldDefine"], "FieldCaption" => $fields[$myField]["FieldCaption"] );
else
$content['RequiredFieldsList'][$myField] = array ("FieldID" => $myField, "FieldDefine" => $myField, "FieldCaption" => $myField );
}
}
// check for custom fields
if ( $myReport['NeedsInit'] ) // && count($myReport['CustomFieldsList']) > 0 )
@ -1270,13 +1288,13 @@ function CreateCronCommand( $myReportID, $mySavedReportID = null )
{
// Running on Windows
$phpCmd = PHP_BINDIR . "\\php.exe";
$phpScript = realpath($gl_root_path) . "cron\\cmdreportgen.php";
$phpScript = realpath($gl_root_path) . "\\cron\\cmdreportgen.php";
}
else
{
// Running on LINUX
$phpCmd = PHP_BINDIR . "/php";
$phpScript = realpath($gl_root_path) . "cron/cmdreportgen.php";
$phpScript = realpath($gl_root_path) . "/cron/cmdreportgen.php";
}
// Enable display of report command

View File

@ -441,6 +441,15 @@ abstract class Report {
}
/*
* Helper function to return the arrProperties
*/
public function GetRequiredProperties()
{
// return Filebasename
return $this->_arrProperties;
}
/*
* Helper function to return the BaseFileName
*/

View File

@ -52,7 +52,7 @@ class Report_eventsummary extends Report {
public $_reportFileBasicName = "report.eventlog.eventsummary"; // Basic Filename for reportfiles
public $_reportTitle = "EventLog Summary Report"; // Display name for the report
public $_reportDescription = "This is a EventLog Summary Report";
public $_reportHelpArticle = "";
public $_reportHelpArticle = "http://loganalyzer.adiscon.com/plugins/reports/eventlog-eventsummary";
public $_reportNeedsInit = false; // True means that this report needs additional init stuff
public $_reportInitialized = false; // True means report is installed

View File

@ -52,7 +52,7 @@ class Report_syslogsummary extends Report {
public $_reportFileBasicName = "report.syslog.syslogsummary"; // Basic Filename for reportfiles
public $_reportTitle = "Syslog Summary Report"; // Display name for the report
public $_reportDescription = "This is a Syslog Summary Report";
public $_reportHelpArticle = "";
public $_reportHelpArticle = "http://loganalyzer.adiscon.com/plugins/reports/syslog-syslogsummary";
public $_reportNeedsInit = false; // True means that this report needs additional init stuff
public $_reportInitialized = false; // True means report is installed

Binary file not shown.

Before

Width:  |  Height:  |  Size: 13 KiB

After

Width:  |  Height:  |  Size: 18 KiB

View File

@ -68,7 +68,7 @@ $LANG = "en"; // Default language
// Default Template vars
$content['BUILDNUMBER'] = "3.0.0";
$content['UPDATEURL'] = "http://loganalyzer.adiscon.com/files/version.txt";
$content['TITLE'] = "LogAnalyzer :: Release " . $content['BUILDNUMBER']; // Default page title
$content['TITLE'] = "Adiscon LogAnalyzer :: Release " . $content['BUILDNUMBER']; // Default page title
$content['BASEPATH'] = $gl_root_path;
$content['SHOW_DONATEBUTTON'] = true; // Default = true!
@ -127,7 +127,7 @@ function CheckForInstallPhp()
// Check for installscript!
if ( file_exists($content['BASEPATH'] . "install.php") )
$strinstallmsg = '<br><br>'
. '<center><b>Click <a href="' . $content['BASEPATH'] . 'install.php">here</a> to Install LogAnalyzer!</b><br><br>'
. '<center><b>Click <a href="' . $content['BASEPATH'] . 'install.php">here</a> to Install Adiscon LogAnalyzer!</b><br><br>'
// . 'See the Installation Guides for more Details!<br>'
// . '<a href="docs/installation.htm" target="_blank">English Installation Guide</a>&nbsp;|&nbsp;'
// . '<a href="docs/installation_de.htm" target="_blank">German Installation Guide</a><br><br>'
@ -801,7 +801,7 @@ function InitConfigurationValues()
else if ( defined('IS_ADMINPAGE') )
{
// Language System not initialized yet
DieWithFriendlyErrorMsg( "You need to be logged in in order to access the admin pages." );
DieWithFriendlyErrorMsg( "You need to be logged in in order to access the admin pages.", "login.php", "Click here to login" );
}
}
@ -984,7 +984,7 @@ function DieWithErrorMsg( $szerrmsg )
else if ( $RUNMODE == RUNMODE_WEBSERVER )
{
print(
"<html><title>LogAnalyzer :: Critical Error occured</title><head>" .
"<html><title>Adiscon LogAnalyzer :: Critical Error occured</title><head>" .
"<link rel=\"stylesheet\" href=\"" . $gl_root_path . "themes/default/main.css\" type=\"text/css\"></head><body><br><br>" .
"<table width=\"600\" align=\"center\" class=\"with_border_alternate ErrorMsg\" cellpadding=\"2\"><tr>".
"<td class=\"PriorityError\" align=\"center\" colspan=\"2\">" .
@ -1002,7 +1002,7 @@ function DieWithErrorMsg( $szerrmsg )
exit;
}
function DieWithFriendlyErrorMsg( $szerrmsg )
function DieWithFriendlyErrorMsg( $szerrmsg, $szLink = "", $szLinkLable = "" )
{
global $RUNMODE, $content, $gl_root_path;
if ( $RUNMODE == RUNMODE_COMMANDLINE )
@ -1014,19 +1014,23 @@ function DieWithFriendlyErrorMsg( $szerrmsg )
else if ( $RUNMODE == RUNMODE_WEBSERVER )
{
print(
"<html><title>LogAnalyzer :: Error occured</title><head>" .
echo
"<html><title>Adiscon LogAnalyzer :: Error occured</title><head>" .
"<link rel=\"stylesheet\" href=\"" . $gl_root_path . "themes/default/main.css\" type=\"text/css\"></head><body><br><br>" .
"<table width=\"600\" align=\"center\" class=\"with_border_alternate ErrorMsg\" cellpadding=\"2\"><tr>".
"<td class=\"PriorityWarning\" align=\"center\" colspan=\"2\">" .
"<H3>Error occured</H3>" .
"</td></tr>" .
"<tr><td class=\"cellmenu1_naked\" align=\"left\">Errordetails:</td>" .
"<td class=\"tableBackground\" align=\"left\"><br>" .
"<td class=\"tableBackground\" align=\"left\"><br>" .
$szerrmsg .
"<br><br></td></tr></table>" .
"</body></html>"
);
"<br><br></td></tr>";
if ( strlen($szLink) > 0 && strlen($szLinkLable) > 0 )
echo "<tr><td class=\"tableBackground\" align=\"center\" colspan=\"2\"><a href=\"$gl_root_path$szLink\" target=\"\">$szLinkLable</a></tr></td>";
echo
"</table>" .
"</body></html>";
}
// Abort further execution
@ -1053,7 +1057,7 @@ function InitPageTitle()
}
// Append LogAnalyzer
$szReturn .= "LogAnalyzer";
$szReturn .= "Adiscon LogAnalyzer";
if ( defined('IS_ADMINPAGE') )
$szReturn .= " :: " . $content['LN_ADMIN_CENTER'] . " :: ";

View File

@ -323,6 +323,7 @@ function InitReportModules()
$szReportHelpArticle = $tmpReport->_reportHelpArticle;
$bNeedsInit = $tmpReport->_reportNeedsInit;
$bInitialized = $tmpReport->_reportInitialized;
$aRequiredFieldsList = $tmpReport->GetRequiredProperties();
/*
// check for required fields!
@ -351,7 +352,7 @@ function InitReportModules()
"Initialized" => $bInitialized,
"ObjRef" => $tmpReport,
// "CustomFields" => $bCustomFields,
// "CustomFieldsList" => $aCustomFieldList,
"RequiredFieldsList" => $aRequiredFieldsList,
);
// --- Now Search and populate savedReports | but only if DB Version is 9 or higher.

View File

@ -353,7 +353,7 @@ $content['LN_PARSERS_NAME'] = "Melungs Parser Name";
$content['LN_PARSERS_DESCRIPTION'] = "Meldungs Parser Beschreibung";
$content['LN_PARSERS_ERROR_NOPARSERS'] = "Es konnte kein g&uuml;ltiger Meldungs Parser in Ihrer Installation gefunden werden. ";
$content['LN_PARSERS_HELP'] = "Hilfe";
$content['LN_PARSERS_HELP_CLICK'] = "Klicken Sie hier, um weitere Hilfe zu erhalten";
$content['LN_PARSERS_HELP_CLICK'] = "Klicken Sie hier, um weitere Hilfe und Beschreibung zu erhalten";
$content['LN_PARSERS_INFO'] = "Details f&uuml;r diesen Meldungs Parser anzeigen.";
$content['LN_PARSERS_INIT'] = "Einstellungen f&uuml;r diesen Meldungs Parser.";
$content['LN_PARSERS_REMOVE'] = "Einstellungen f&uuml;r diesen Meldungs Parser entfernen.";
@ -387,11 +387,13 @@ $content['LN_CMD_'] = "";
$content['LN_REPORTS_EDIT'] = "Edit Report";
$content['LN_REPORTS_DELETE'] = "Remove Report";
$content['LN_REPORTS_ID'] = "Report ID";
$content['LN_REPORTS_CAT'] = "Report Category";
$content['LN_REPORTS_NAME'] = "Report Name";
$content['LN_REPORTS_DESCRIPTION'] = "Report Description";
$content['LN_REPORTS_REQUIREDFIELDS'] = "Required Fields";
$content['LN_REPORTS_ERROR_NOREPORTS'] = "There were no valid reports found in your installation.";
$content['LN_REPORTS_HELP'] = "Help";
$content['LN_REPORTS_HELP_CLICK'] = "Click here for more help";
$content['LN_REPORTS_HELP_CLICK'] = "Klicken Sie hier, um weitere Hilfe und Beschreibung zum Report zu erhalten";
$content['LN_REPORTS_INFO'] = "Show more Information for this report module.";
$content['LN_REPORTS_INIT'] = "Initialize settings for this report module.";
$content['LN_REPORTS_REMOVE'] = "Remove settings for this report module.";

View File

@ -366,7 +366,7 @@ $content['LN_PARSERS_NAME'] = "Message Parser Name";
$content['LN_PARSERS_DESCRIPTION'] = "Message Parser Description";
$content['LN_PARSERS_ERROR_NOPARSERS'] = "There were no valid message parsers found in your installation. ";
$content['LN_PARSERS_HELP'] = "Help";
$content['LN_PARSERS_HELP_CLICK'] = "Click here for more help";
$content['LN_PARSERS_HELP_CLICK'] = "Click here for a detailed description";
$content['LN_PARSERS_INFO'] = "Show more Information for this message parser.";
$content['LN_PARSERS_INIT'] = "Initialize settings for this message parser.";
$content['LN_PARSERS_REMOVE'] = "Remove settings for this message parser.";
@ -399,12 +399,14 @@ $content['LN_CMD_'] = "";
// Report Options
$content['LN_REPORTS_EDIT'] = "Edit Report";
$content['LN_REPORTS_DELETE'] = "Remove Report";
$content['LN_REPORTS_CAT'] = "Report Category";
$content['LN_REPORTS_ID'] = "Report ID";
$content['LN_REPORTS_NAME'] = "Report Name";
$content['LN_REPORTS_DESCRIPTION'] = "Report Description";
$content['LN_REPORTS_REQUIREDFIELDS'] = "Required Fields";
$content['LN_REPORTS_ERROR_NOREPORTS'] = "There were no valid reports found in your installation.";
$content['LN_REPORTS_HELP'] = "Help";
$content['LN_REPORTS_HELP_CLICK'] = "Click here for more help";
$content['LN_REPORTS_HELP_CLICK'] = "Click here for a detailed report description";
$content['LN_REPORTS_INFO'] = "Show more Information for this report module.";
$content['LN_REPORTS_INIT'] = "Initialize settings for this report module.";
$content['LN_REPORTS_REMOVE'] = "Remove settings for this report module.";

View File

@ -364,7 +364,7 @@ $content['LN_PARSERS_NAME'] = "Message Parser Name";
$content['LN_PARSERS_DESCRIPTION'] = "Message Parser Description";
$content['LN_PARSERS_ERROR_NOPARSERS'] = "There were no valid message parsers found in your installation. ";
$content['LN_PARSERS_HELP'] = "Help";
$content['LN_PARSERS_HELP_CLICK'] = "Click here for more help";
$content['LN_PARSERS_HELP_CLICK'] = "Click here for a detailed description";
$content['LN_PARSERS_INFO'] = "Show more Information for this message parser.";
$content['LN_PARSERS_INIT'] = "Initialize settings for this message parser.";
$content['LN_PARSERS_REMOVE'] = "Remove settings for this message parser.";
@ -398,11 +398,13 @@ $content['LN_CMD_'] = "";
$content['LN_REPORTS_EDIT'] = "Edit Report";
$content['LN_REPORTS_DELETE'] = "Remove Report";
$content['LN_REPORTS_ID'] = "Report ID";
$content['LN_REPORTS_CAT'] = "Report Category";
$content['LN_REPORTS_NAME'] = "Report Name";
$content['LN_REPORTS_DESCRIPTION'] = "Report Description";
$content['LN_REPORTS_REQUIREDFIELDS'] = "Required Fields";
$content['LN_REPORTS_ERROR_NOREPORTS'] = "There were no valid reports found in your installation.";
$content['LN_REPORTS_HELP'] = "Help";
$content['LN_REPORTS_HELP_CLICK'] = "Click here for more help";
$content['LN_REPORTS_HELP_CLICK'] = "Click here for a detailed report description";
$content['LN_REPORTS_INFO'] = "Show more Information for this report module.";
$content['LN_REPORTS_INIT'] = "Initialize settings for this report module.";
$content['LN_REPORTS_REMOVE'] = "Remove settings for this report module.";

View File

@ -353,7 +353,7 @@ $content['LN_PARSERS_NAME'] = "Message Parser Name";
$content['LN_PARSERS_DESCRIPTION'] = "Message Parser Description";
$content['LN_PARSERS_ERROR_NOPARSERS'] = "There were no valid message parsers found in your installation. ";
$content['LN_PARSERS_HELP'] = "Help";
$content['LN_PARSERS_HELP_CLICK'] = "Click here for more help";
$content['LN_PARSERS_HELP_CLICK'] = "Click here for a detailed description";
$content['LN_PARSERS_INFO'] = "Show more Information for this message parser.";
$content['LN_PARSERS_INIT'] = "Initialize settings for this message parser.";
$content['LN_PARSERS_REMOVE'] = "Remove settings for this message parser.";
@ -386,12 +386,14 @@ $content['LN_CMD_'] = "";
// Report Options
$content['LN_REPORTS_EDIT'] = "Edit Report";
$content['LN_REPORTS_DELETE'] = "Remove Report";
$content['LN_REPORTS_CAT'] = "Report Category";
$content['LN_REPORTS_ID'] = "Report ID";
$content['LN_REPORTS_NAME'] = "Report Name";
$content['LN_REPORTS_DESCRIPTION'] = "Report Description";
$content['LN_REPORTS_REQUIREDFIELDS'] = "Required Fields";
$content['LN_REPORTS_ERROR_NOREPORTS'] = "There were no valid reports found in your installation.";
$content['LN_REPORTS_HELP'] = "Help";
$content['LN_REPORTS_HELP_CLICK'] = "Click here for more help";
$content['LN_REPORTS_HELP_CLICK'] = "Click here for a detailed report description";
$content['LN_REPORTS_INFO'] = "Show more Information for this report module.";
$content['LN_REPORTS_INIT'] = "Initialize settings for this report module.";
$content['LN_REPORTS_REMOVE'] = "Remove settings for this report module.";

View File

@ -132,6 +132,10 @@
<tr>
<td align="center" class="cellmenu1" colspan="3"><b>{LN_REPORTS_DETAILS}</b></td>
</tr>
<tr>
<td align="left" class="cellmenu2" width="250"><b>{LN_REPORTS_CAT}</b></td>
<td align="left" class="line1" width="350" colspan="2">{Category}</td>
</tr>
<tr>
<td align="left" class="cellmenu2" width="250"><b>{LN_REPORTS_ID}</b></td>
<td align="left" class="line1" width="350" colspan="2">{ReportID}</td>
@ -144,6 +148,17 @@
<td align="left" class="cellmenu2_naked" valign="top"><b>{LN_REPORTS_DESCRIPTION}</b></td>
<td align="left" class="line1" colspan="2">{Description}</td>
</tr>
<!-- IF EnableRequiredFields="true" -->
<tr>
<td align="left" class="cellmenu2_naked" valign="top"><b>{LN_REPORTS_REQUIREDFIELDS}</b></td>
<td align="left" class="line1" colspan="2">
<!-- BEGIN RequiredFieldsList -->
<br><B>{FieldCaption}</B> ({FieldDefine})
<!-- END RequiredFieldsList -->
<br><br>
</td>
</tr>
<!-- ENDIF EnableRequiredFields="true" -->
<!-- IF EnableHelpArticle="true" -->
<tr>
<td align="left" class="cellmenu2"><b>{LN_REPORTS_HELP}</b></td>

View File

@ -3,7 +3,7 @@
<tr>
<td align="center" class="line0" valign="_top">Made by <a href="http://www.adiscon.com" target="_blank">Adiscon GmbH</a> (2008)</td>
<td align="center" class="line1" valign="_top">
&nbsp;<a href="http://loganalyzer.adiscon.com" target="_blank">LogAnalyzer</A> Version {BUILDNUMBER}
&nbsp;<a href="http://loganalyzer.adiscon.com" target="_blank">Adiscon LogAnalyzer</A> Version {BUILDNUMBER}
</td>
<td align="center" class="line0" valign="_top">
&nbsp;<B>Partners:</B>

View File

@ -23,7 +23,7 @@
<td rowspan="4" width="500" align="left" valign="top"><a href="{BASEPATH}index.php"><img src="{EXTRA_PHPLOGCON_LOGO}" width="500" height="79" name="HeaderLogo"></a></td>
<td rowspan="4" width="100%" align="center" nowrap>
<!-- IF SHOW_DONATEBUTTON="true" -->
<b>Satisfied with LogAnalyzer?</b><br>
<b>Satisfied with Adiscon LogAnalyzer?</b><br>
<form action="https://www.paypal.com/cgi-bin/webscr" method="post"> <input type="hidden" name="cmd" value="_s-xclick"> <input type="image" src="https://www.paypal.com/en_US/i/btn/x-click-but11.gif" border="0" name="submit" alt="PayPal - The safer, easier way to pay online!"> <img alt="" border="0" src="https://www.paypal.com/en_US/i/scr/pixel.gif" width="1" height="1"> <input type="hidden" name="encrypted" value="-----BEGIN PKCS7-----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-----END PKCS7----- "> </form>
Donate and help keep the project alive!
<!-- ENDIF SHOW_DONATEBUTTON="true" -->