ASNMTAP
view release on metacpan or search on metacpan
applications/htmlroot/cgi-bin/admin/plugins.pl view on Meta::CPAN
# Init parameters
my ($rv, $dbh, $sth, $sql, $header, $numberRecordsIntoQuery, $nextAction, $formDisabledAll, $formDisabledUniqueKey, $submitButton);
# User Session and Access Control
my ($sessionID, $iconAdd, $iconDelete, $iconDetails, $iconEdit, $iconQuery, $iconTable, $errorUserAccessControl, undef, undef, undef, undef, undef, undef, undef, undef, undef, undef, undef, $subTitle) = user_session_and_access_control (1, 'admin', $c...
# Serialize the URL Access Parameters into a string
my $urlAccessParameters = "pagedir=$pagedir&pageset=$pageset&debug=$debug&CGISESSID=$sessionID&pageNo=$pageNo&pageOffset=$pageOffset&filter=$filter&orderBy=$orderBy&action=$action&catalogID=$CcatalogID&catalogIDreload=$CcatalogIDreload&uKey=$CuKey&te...
# Debug information
print "<pre>pagedir : $pagedir<br>pageset : $pageset<br>debug : $debug<br>CGISESSID : $sessionID<br>page no : $pageNo<br>page offset : $pageOffset<br>filter : $filter<br>order by ...
if ( defined $sessionID and ! defined $errorUserAccessControl ) {
if ( $ChelpPluginFilename eq '' or $ChelpPluginFilename eq '<NIHIL>' ) {
$ChelpPluginFilename = ( $ChelpPluginTextname eq '' ? '<NIHIL>' : $ChelpPluginTextname );
$ChelpPluginTextname = '';
} else {
if ( $cgi->param('helpPluginFilename') eq '' ) {
$ChelpPluginFilename = $ChelpPluginTextname;
$ChelpPluginTextname = '';
} else {
$ChelpPluginFilename =~ s/^.*(?:\/|\\)//;
$ChelpPluginTextname = '<br><br>Help Plugin Filename: '. $ChelpPluginFilename;
my $type = $cgi->uploadInfo( $cgi->param('helpPluginFilename') )->{'Content-Type'};
if ( $type eq 'application/pdf') {
my $fhOpen = open( FHOPEN, ">$PDPHELPPATH/$ChelpPluginFilename" );
if ($fhOpen) {
binmode FHOPEN;
my $fh = $cgi->upload('helpPluginFilename');
if ( defined $fh ) {
while (<$fh>) { print FHOPEN; }
$ChelpPluginTextname .= ', Uploaded and wrote file OK!';
} else {
$ChelpPluginTextname .= ', Cannot upload PDF file!';
}
close FHOPEN;
} else {
$ChelpPluginFilename = '<NIHIL>';
$ChelpPluginTextname .= ', Cannot create PDF file!';
}
} else {
$ChelpPluginFilename = '<NIHIL>';
$ChelpPluginTextname .= ', PDF files only!';
}
}
}
# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
my ($catalogIDSelect, $environmentSelect, $holidayBundleSelect, $pagedirsSelect, $resultsdirSelect, $matchingPlugins, $navigationBar, $matchingViewsCrontabs, $generatePluginCrontabSchedulingReport);
my $urlWithAccessParameters = $ENV{SCRIPT_NAME} . "?pagedir=$pagedir&pageset=$pageset&debug=$debug&CGISESSID=$sessionID&pageNo=$pageNo&pageOffset=$pageOffset&filter=$filter&catalogID=$CcatalogID";
# open connection to database and query data
$rv = 1;
$dbh = DBI->connect("dbi:mysql:$DATABASE:$SERVERNAMEREADWRITE:$SERVERPORTREADWRITE", "$SERVERUSERREADWRITE", "$SERVERPASSREADWRITE" ) or $rv = error_trap_DBI(*STDOUT, "Cannot connect to the database", $debug, $pagedir, $pageset, $htmlTitle, $subTit...
if ($dbh and $rv) {
$formDisabledAll = $formDisabledUniqueKey = '';
if ($action eq 'duplicateView' or $action eq 'insertView') {
$htmlTitle = "Insert Plugin";
$submitButton = "Insert";
$nextAction = "insert" if ($rv);
$CcatalogID = $CATALOGID if ($action eq 'insertView');
} elsif ($action eq 'insert') {
$htmlTitle = "Check if Plugin $CuKey from $CcatalogID exist before to insert";
$sql = "select title from $SERVERTABLPLUGINS WHERE catalogID='$CcatalogID' and uKey='$CuKey'";
($rv, $numberRecordsIntoQuery) = do_action_DBI ($rv, $dbh, $sql, $pagedir, $pageset, $htmlTitle, $subTitle, $sessionID, $debug);
if ( $numberRecordsIntoQuery ) {
$htmlTitle = "Plugin $CuKey from $CcatalogID exist already";
$nextAction = "insertView";
} else {
$htmlTitle = "Plugin $CuKey inserted from $CcatalogID";
my $dummyOndemand = ($Condemand eq 'on') ? 1 : 0;
my $dummyProduction = ($Cproduction eq 'on') ? 1 : 0;
my $dummyActivated = ($Cactivated eq 'on') ? 1 : 0;
$sql = 'INSERT INTO ' .$SERVERTABLPLUGINS. ' SET catalogID="' .$CcatalogID. '", uKey="' .$CuKey. '", test="' .$Ctest. '", environment="' .$Cenvironment. '", arguments="' .$Carguments. '", argumentsOndemand="' .$CargumentsOndemand. '", title="...
$dbh->do ( $sql ) or $rv = error_trap_DBI(*STDOUT, "Cannot dbh->do: $sql", $debug, $pagedir, $pageset, $htmlTitle, $subTitle, 3600, '', $sessionID);
$nextAction = "listView" if ($rv);
}
} elsif ($action eq 'deleteView') {
$formDisabledUniqueKey = $formDisabledAll = 'disabled';
$htmlTitle = "Delete plugin $CuKey from $CcatalogID";
$submitButton = "Delete";
$nextAction = "delete" if ($rv);
} elsif ($action eq 'delete') {
$sql = "select uKey, title from $SERVERTABLCOMMENTS where catalogID = '$CcatalogID' and uKey = '$CuKey' order by title, uKey";
($rv, $matchingPlugins) = check_record_exist ($rv, $dbh, $sql, 'Comments from ' .$CcatalogID, 'Unique Key', 'Title', '', $pagedir, $pageset, $htmlTitle, $subTitle, $sessionID, $debug);
$sql = "select lineNumber, uKey from $SERVERTABLCRONTABS where catalogID = '$CcatalogID' and uKey = '$CuKey' order by uKey, lineNumber";
($rv, $matchingPlugins) = check_record_exist ($rv, $dbh, $sql, 'Crontabs from ' .$CcatalogID, 'Unique Key', 'Linenumber', $matchingPlugins, $pagedir, $pageset, $htmlTitle, $subTitle, $sessionID, $debug);
$sql = "select uKey, displayDaemon from $SERVERTABLVIEWS where catalogID = '$CcatalogID' and uKey = '$CuKey' order by displayDaemon, uKey";
($rv, $matchingPlugins) = check_record_exist ($rv, $dbh, $sql, 'Views from ' .$CcatalogID, 'Unique Key', 'Display Daemon', $matchingPlugins, $pagedir, $pageset, $htmlTitle, $subTitle, $sessionID, $debug);
$sql = "select $SERVERTABLREPORTS.uKey, concat( LTRIM(SUBSTRING_INDEX($SERVERTABLPLUGINS.title, ']', -1)), ' (', $SERVERTABLENVIRONMENT.label, ')' ) as title from $SERVERTABLREPORTS, $SERVERTABLPLUGINS, $SERVERTABLENVIRONMENT where $SERVERTABLR...
($rv, $matchingPlugins) = check_record_exist ($rv, $dbh, $sql, 'Reports from ' .$CcatalogID, 'Unique Key', 'Title', $matchingPlugins, $pagedir, $pageset, $htmlTitle, $subTitle, $sessionID, $debug);
if ($matchingPlugins eq '') {
$htmlTitle = "Plugin $CuKey from $CcatalogID deleted";
$sql = 'DELETE FROM ' .$SERVERTABLPLUGINS. ' WHERE catalogID="' .$CcatalogID. '" and uKey="' .$CuKey. '"';
$dbh->do ( $sql ) or $rv = error_trap_DBI(*STDOUT, "Cannot dbh->do: $sql", $debug, $pagedir, $pageset, $htmlTitle, $subTitle, 3600, '', $sessionID);
} else {
$htmlTitle = "Plugin $CuKey from $CcatalogID not deleted, still used by";
}
$nextAction = "listView" if ($rv);
} elsif ($action eq 'displayView') {
$formDisabledUniqueKey = $formDisabledAll = 'disabled';
$htmlTitle = "Display plugin $CuKey from $CcatalogID";
$nextAction = "listView" if ($rv);
} elsif ($action eq 'editView') {
$formDisabledUniqueKey = 'disabled';
applications/htmlroot/cgi-bin/admin/plugins.pl view on Meta::CPAN
if ( $sth->rows ) {
while( $sth->fetch() ) {
my $actionSkip = ( ( $ScatalogID eq $CATALOGID ) ? 0 : 1 );
if ($prevSserverID eq '' or $prevSserverID ne $SserverID) {
$urlWithAccessParametersAction = "../sadmin/servers.pl?pagedir=$pagedir&pageset=$pageset&debug=$debug&CGISESSID=$sessionID&pageNo=1&pageOffset=0&catalogID=$ScatalogID&serverID=$SserverID&orderBy=serverID ...
$actionItem = " ";
$actionItem .= "<a href=\"$urlWithAccessParametersAction=displayView\" target=\"_blank\"><img src=\"$IMAGESURL/$ICONSRECORD{details}\" title=\"Display Server\" alt=\"Display Server\" border=\"0\"></a> " if ($iconDetails);
$actionItem .= "<a href=\"$urlWithAccessParametersAction=editView\" target=\"_blank\"><img src=\"$IMAGESURL/$ICONSRECORD{edit}\" title=\"Edit Server\" alt=\"Edit Server\" border=\"0\"></a> " if ($iconEdit and ! $actionSkip);
$notActivated = ($Sactivated) ? '' : ' not';
$matchingViewsCrontabs .= "<tr bgcolor=\"$COLORSTABLE{ENDBLOCK}\"><td colspan=\"2\"><b>Server: $SserverTitle ($SserverID) -$notActivated activated </b></td><td>$actionItem</td></tr>\n";
my $typeMonitoringText = ($StypeMonitoring) ? 'Distributed' : 'Central';
$matchingViewsCrontabs .= "<tr><td bgcolor=\"$COLORSTABLE{NOBLOCK}\">type monitoring</td><td>$typeMonitoringText</td><td> </td></tr>\n";
my $typeServersText = ($StypeServers) ? 'Failover' : 'Standalone';
my $typeActiveServerText = ($StypeActiveServer eq 'S') ? 'Slave' : 'Master';
$matchingViewsCrontabs .= "<tr><td bgcolor=\"$COLORSTABLE{NOBLOCK}\">type servers</td><td>$typeServersText</td><td> </td></tr>\n";
$matchingViewsCrontabs .= "<tr><td bgcolor=\"$COLORSTABLE{NOBLOCK}\">type active server</td><td>$typeActiveServerText</td><td> </td></tr>\n";
$matchingViewsCrontabs .= "<tr><td bgcolor=\"$COLORSTABLE{NOBLOCK}\">master FQDN</td><td>$SmasterFQDN</td><td> </td></tr>\n";
$matchingViewsCrontabs .= "<tr><td bgcolor=\"$COLORSTABLE{NOBLOCK}\">slave FQDN</td><td>$SslaveFQDN</td><td> </td></tr>\n";
}
if ($prevCDcollectorDaemon eq '' or $prevCDcollectorDaemon ne $CDcollectorDaemon) {
$urlWithAccessParametersAction = "../sadmin/collectorDaemons.pl?pagedir=$pagedir&pageset=$pageset&debug=$debug&CGISESSID=$sessionID&pageNo=1&pageOffset=0&catalogID=$ScatalogID&collectorDaemon=$CDcollectorDaem...
$actionItem = " ";
$actionItem .= "<a href=\"$urlWithAccessParametersAction=displayView\" target=\"_blank\"><img src=\"$IMAGESURL/$ICONSRECORD{details}\" title=\"Display Collector Daemon\" alt=\"Display Collector Daemon\" border=\"0\"></a> " if ($ico...
$actionItem .= "<a href=\"$urlWithAccessParametersAction=editView\" target=\"_blank\"><img src=\"$IMAGESURL/$ICONSRECORD{edit}\" title=\"Edit Collector Daemon\" alt=\"Edit Collector Daemon\" border=\"0\"></a> " if ($iconEdit and ! ...
$notActivated = ($CDactivated) ? '' : ' not';
$matchingViewsCrontabs .= "<tr bgcolor=\"$COLORSTABLE{STARTBLOCK}\"><td colspan=\"2\"><b>Collector daemon: CollectorCT-$CDcollectorDaemon -$notActivated activated </b></td><td>$actionItem</td></tr>\n";
$matchingViewsCrontabs .= "<tr><td bgcolor=\"$COLORSTABLE{NOBLOCK}\">Group name</td><td>$CDgroupName</td><td> </td></tr>\n";
}
$urlWithAccessParametersAction = "crontabs.pl?pagedir=$pagedir&pageset=$pageset&debug=$debug&CGISESSID=$sessionID&pageNo=1&pageOffset=0&catalogID=$ScatalogID&lineNumber=$CTlinenumber&uKey=$CuKey&orderBy...
$actionItem = " ";
$actionItem .= "<a href=\"$urlWithAccessParametersAction=displayView\" target=\"_blank\"><img src=\"$IMAGESURL/$ICONSRECORD{details}\" title=\"Display Crontab\" alt=\"Display Crontab\" border=\"0\"></a> " if ($iconDetails);
$actionItem .= "<a href=\"$urlWithAccessParametersAction=editView\" target=\"_blank\"><img src=\"$IMAGESURL/$ICONSRECORD{edit}\" title=\"Edit Crontab\" alt=\"Edit Crontab\" border=\"0\"></a> " if ($iconEdit and ! $actionSkip);
$notActivated = ($CTactivated) ? '' : ' not';
$matchingViewsCrontabs .= "<tr bgcolor=\"$COLORSTABLE{NOBLOCK}\"><td colspan=\"2\"><b>Crontab: $CuKey-$CTlinenumber -$notActivated activated </b></td><td>$actionItem</td></tr>\n";
$matchingViewsCrontabs .= "<tr><td bgcolor=\"$COLORSTABLE{NOBLOCK}\">Arguments</td><td>$CTarguments</td><td> </td></tr>\n";
$matchingViewsCrontabs .= "<tr><td bgcolor=\"$COLORSTABLE{NOBLOCK}\">Minute</td><td>$CTminute</td><td> </td></tr>\n";
$matchingViewsCrontabs .= "<tr><td bgcolor=\"$COLORSTABLE{NOBLOCK}\">Hour</td><td>$CThour</td><td> </td></tr>\n";
$matchingViewsCrontabs .= "<tr><td bgcolor=\"$COLORSTABLE{NOBLOCK}\">Day of the Month</td><td>$CTdayOfTheMonth</td><td> </td></tr>\n";
$matchingViewsCrontabs .= "<tr><td bgcolor=\"$COLORSTABLE{NOBLOCK}\">Month of the Year</td><td>$CTmonthOfTheYear</td><td> </td></tr>\n";
$matchingViewsCrontabs .= "<tr><td bgcolor=\"$COLORSTABLE{NOBLOCK}\">Day of the Week</td><td>$CTdayOfTheWeek</td><td> </td></tr>\n";
$matchingViewsCrontabs .= "<tr><td bgcolor=\"$COLORSTABLE{NOBLOCK}\">no Offline</td><td>$CTnoOffline</td><td> </td></tr>\n";
$prevSserverID = $SserverID;
$prevCDcollectorDaemon = $CDcollectorDaemon;
}
$generatePluginCrontabSchedulingReport = 1;
} else {
$matchingViewsCrontabs .= "<tr><td>No records found</td></tr>\n";
}
$sth->finish() or $rv = error_trap_DBI(*STDOUT, "Cannot sth->finish: $sql", $debug, $pagedir, $pageset, $htmlTitle, $subTitle, 3600, '', $sessionID);
}
$matchingViewsCrontabs .= "</table>\n";
}
$dbh->disconnect or $rv = error_trap_DBI(*STDOUT, "Sorry, the database was unable to add your entry.", $debug, $pagedir, $pageset, $htmlTitle, $subTitle, 3600, '', $sessionID);
}
if ( $rv ) {
# HTML - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
if ($action eq 'duplicateView' or $action eq 'editView' or $action eq 'insertView') {
print_header (*STDOUT, $pagedir, $pageset, $htmlTitle, $subTitle, 3600, '', 'F', '', $sessionID);
print <<HTML;
<script language="JavaScript1.2" type="text/javascript">
function validateForm() {
HTML
if ($action eq 'duplicateView' or $action eq 'insertView') {
print <<HTML;
if ( document.plugins.uKey.value == null || document.plugins.uKey.value == '' ) {
document.plugins.uKey.focus();
alert('Please enter a unique key!');
return false;
} else {
var objectRegularExpressionUkeyFormat = /\^[a-zA-Z0-9-]\+\$/;
if ( ! objectRegularExpressionUkeyFormat.test(document.plugins.uKey.value) ) {
document.plugins.uKey.focus();
alert('Please re-enter a unique key: Bad unique key value!');
return false;
}
}
HTML
}
print <<HTML;
if ( document.plugins.title.value == null || document.plugins.title.value == '' ) {
document.plugins.title.focus();
alert('Please enter a title!');
return false;
} else {
var objectRegularExpressionTitleFormat = /[{}]/;
if ( objectRegularExpressionTitleFormat.test(document.plugins.title.value) ) {
document.plugins.title.focus();
alert('Please re-enter a Title: Bad title value, not allowed characters are { and } !');
return false;
}
}
if ( document.plugins.test.value == null || document.plugins.test.value == '' ) {
document.plugins.test.focus();
alert('Please enter a plugin name!');
return false;
}
if ( document.plugins.trendline.value == null || document.plugins.trendline.value == '' ) {
document.plugins.trendline.focus();
alert('Please enter a trendline!');
return false;
}
if ( document.plugins.percentage.value == null || document.plugins.percentage.value == '' ) {
document.plugins.percentage.focus();
alert('Please enter a percentage!');
return false;
}
if ( document.plugins.tolerance.value == null || document.plugins.tolerance.value == '' ) {
document.plugins.tolerance.focus();
alert('Please enter a tolerance!');
return false;
}
if ( document.plugins.step.value == null || document.plugins.step.value == '' || document.plugins.step.value == '0' ) {
document.plugins.step.focus();
alert('Please enter a step!');
return false;
}
if ( document.plugins.pagedirs.selectedIndex == -1 ) {
document.plugins.pagedirs.focus();
alert('Please create/select one or more view pagedirs!');
return false;
}
if ( document.plugins.resultsdir.options[document.plugins.resultsdir.selectedIndex].value == 'none' ) {
document.plugins.resultsdir.focus();
alert('Please create/select a results subdir!');
return false;
}
return true;
}
</script>
<form action="$ENV{SCRIPT_NAME}" method="post" name="plugins" enctype="multipart/form-data" onSubmit="return validateForm();">
HTML
} elsif ($action eq 'listView') {
print_header (*STDOUT, $pagedir, $pageset, $htmlTitle, $subTitle, 3600, '', 'F', '', $sessionID);
print <<HTML;
<script language="JavaScript1.2" type="text/javascript">
function submitForm() {
document.plugins.catalogIDreload.value = 1;
document.plugins.submit();
return true;
}
function validateForm() {
if ( document.plugins.filter.value != null || document.plugins.filter.value != "") {
document.plugins.pageNo.value = 1;
document.plugins.pageOffset.value = 0 ;
}
return true;
}
</script>
<form action="$ENV{SCRIPT_NAME}" method="post" name="plugins" enctype="multipart/form-data" onSubmit="return validateForm();">
HTML
} elsif ($action eq 'deleteView') {
print_header (*STDOUT, $pagedir, $pageset, $htmlTitle, $subTitle, 3600, '', 'F', '', $sessionID);
print "<form action=\"" . $ENV{SCRIPT_NAME} . "\" method=\"post\" name=\"plugins\">\n";
$pageNo = 1; $pageOffset = 0;
} else {
print_header (*STDOUT, $pagedir, $pageset, $htmlTitle, $subTitle, 3600, '', 'F', '', $sessionID);
}
if ($action eq 'deleteView' or $action eq 'duplicateView' or $action eq 'editView' or $action eq 'insertView' or $action eq 'listView') {
print <<HTML;
<input type="hidden" name="pagedir" value="$pagedir">
<input type="hidden" name="pageset" value="$pageset">
<input type="hidden" name="debug" value="$debug">
<input type="hidden" name="CGISESSID" value="$sessionID">
<input type="hidden" name="pageNo" value="$pageNo">
<input type="hidden" name="pageOffset" value="$pageOffset">
<input type="hidden" name="action" value="$nextAction">
<input type="hidden" name="orderBy" value="$orderBy">
<input type="hidden" name="catalogIDreload" value="0">
HTML
} else {
print "<br>\n";
}
print " <input type=\"hidden\" name=\"catalogID\" value=\"$CcatalogID\">\n <input type=\"hidden\" name=\"uKey\" value=\"$CuKey\">\n" if ($formDisabledUniqueKey ne '' and $action ne 'displayView');
print <<HTML;
<table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr align="center"><td colspan="2">
<table border="0" cellspacing="0" cellpadding="0"><tr>
HTML
if ( $iconAdd ) {
print <<HTML;
<td class="StatusItem"><a href="$urlWithAccessParameters&action=insertView&orderBy=$orderBy">[Insert plugin]</a></td>
<td class="StatusItem"> </td>
HTML
}
print <<HTML;
<td class="StatusItem"><a href="$urlWithAccessParameters&action=listView&orderBy=$orderBy">[List all/filtered plugins]</a></td>
</tr></table>
</td></tr>
HTML
if ($action eq 'deleteView' or $action eq 'displayView' or $action eq 'duplicateView' or $action eq 'editView' or $action eq 'insertView') {
my $ondemandChecked = ($Condemand eq 'on') ? ' checked' : '';
my $productionChecked = ($Cproduction eq 'on') ? ' checked' : '';
my $activatedChecked = ($Cactivated eq 'on') ? ' checked' : '';
print <<HTML;
<tr><td> </td></tr>
<tr><td>
<table border="0" cellspacing="0" cellpadding="0">
<tr><td><b>Catalog ID: </b></td><td>
<input type="text" name="catalogID" value="$CcatalogID" size="5" maxlength="5" disabled>
</td></tr>
<tr><td><b>Unique Key: </b></td><td>
<input type="text" name="uKey" value="$CuKey" size="11" maxlength="11" $formDisabledUniqueKey>
( run in 1.613 second using v1.01-cache-2.11-cpan-39bf76dae61 )