<%!
struct icm_slog_info_type
{
  string file;
  string format;
  int maxsize;
  string switcht;
  string wrap;
  int loglevel;
};

%>

<%
  int count, rc;
  int i, line_no, size, options;
  int line_count = 0;
  string browser;
  string tabsel, formfld, filter, lastControlID;
  boolean is_admin;
  boolean show_lineno;
  int nr;

  struct icm_slog_info_type icm_slog_info;

  string tab_header[3];
  string tab_content[3];
  string tab_tabsel[3];
  string ltab[];

  tab_header[0] = "Settings";
  tab_header[1] = "Logfile Contents";

  tab_tabsel[0] = "tab0";
  tab_tabsel[1] = "tab1";

  is_admin = __icm_get_system_property ("is_admin");
  browser = __icm_get_browser_type();
  lastControlID = __icm_get_form_field ("lastControlID");
  show_lineno = __icm_get_form_field ("slineno");
  filter = filterenc(urldec(__icm_get_form_field ("filter")));
  tabsel = anumenc(__icm_get_form_field ("tabsel"));
  if (tabsel == "")
    tabsel = "tab0";
 
%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
  <html>
    <head>
      <link rel=stylesheet type="text/css" href="../public/css/controls_<%=browser%>.css">
      <link rel=stylesheet type="text/css" href="../public/css/sapbsp.css">
	<title> Security Logfile </title>
      <script type="text/javascript" src="../public/js/bspMenu.js"></script>
      <script language="JavaScript" type="text/javascript">
      <!--
      function restoreFocus(lastControlID) {
        if (lastControlID != '') {
      	  var lastUsedControl=document.getElementById(lastControlID);
      	  if (lastUsedControl != null && lastUsedControl.className != 'bspMenuBox') {
      	    lastUsedControl.focus();
      	  }
        }
      }
      function callLineFilterAction(form,lastControlID) {
        var Form = document[form];
        Form.lastControlID.value = lastControlID;
        Form.submit();
      }
      function callSubmitAction(form,tab,op,lastControlID)
      {
	var Form = document[form];
      	Form.tabsel.value = tab;
      	Form.page_op.value = op;
      	Form.lastControlID.value = lastControlID;
      	Form.submit();
      }
      
      function callSubmitActionWithKey(form,tab,op,event,keycode) {
        if (event.keyCode == keycode) {
          callSubmitAction(form,tab,op);
        }
      }
      
      function callGotoAction(form,value)
      {
	var Form = document[form];
      	Form.line_no.value = value;
      	Form.submit();
      }
      
      function reloadWithKey(event, keycode) {
        if (event.keyCode == keycode) {
	  javascript:location.reload();
        }
      }
      
      window.onload = function() {
        initializeMenu ("TrcFileMenu", "trcFileObj");
        restoreMenuFocus('<%=lastControlID%>');
      }
      
      document.onclick=bspMenuHide;
      
      
      
      //-->
      </script>
    </head>
    <body class="sapBdy">
      <div id="TrcFileMenu" class="bspMenuBox" onMouseover="bspMenuHighlight(event)" onMouseout="bspMenuUnHighlight(event)" onClick="bspMenuSelect(event,'TrcFileMenu')" display:none>
      <div>dev_icm_sec:</div>
      <div title="Download" class="bspMenuItem" url="../download?ftype=1">Download</div>

<%
	if (show_lineno == 0) {
%>
      <div title="Show line numbers" class="bspMenuItem" url="./show_slog.icp?slineno=1&amp;tabsel=tab1">Show line numbers</div>
<%
	} else {
%>
      <div title="Hide line numbers" class="bspMenuItem" url="./show_slog.icp?slineno=0&amp;tabsel=tab1">Hide line numbers</div>

<%
	} 
%>
      <hr>
      <div title="Close Menu" class="bspMenuItem">Close Menu</div>
      </div>

    <table border="0" cellspacing="0" cellpadding="0" class="sapTbvAlt" width="100%">
    <tr>
      <td class="sapTbvCellAlt">
	<b><i>Security Logfile Monitor</i></b>
      </td>
      <td class="sapTbvCellAlt" align="right">
	<nobr></nobr>
      </td>
      <td class="sapTbvCellAlt" align="right">
          <a href="javascript:callSubmitAction('FormTabStrip','<%=tabsel%>','','')" class="sapBtnEmph" title="refresh page"><nobr>Refresh</nobr></a>
      </td>
    </tr>
    <tr>
    <td class="sapTbvCellStd" Colspan="3">
	<table border="0" cellpadding="0" cellspacing="0" width="100%">
	  <tr>
	    <td valign="top">
	      <br>
		<table border="0" cellpadding="0" cellspacing="0" width="100%">
		  <tr valign="top">	
		    <td>
		      <!--HEADERS-->
		      <table border="0" cellpadding="0" cellspacing="0">
			<form action="show_slog.icp" method="POST" name="FormTabStrip">
			<input type="hidden" name="tabsel" value="<%=tabsel%>">
			<input type="hidden" name="page_op" value="0">
			<input type="hidden" name="lastControlID" value="<%=lastControlID%>">
			<tr>
			  <!--HEADER ITEM-->
			  <td nowrap></td>
<%
    for (nr = 0; nr < 2; nr++) {
%>
                          
			  <td nowrap
<%
      if (tab_tabsel[nr] == tabsel)
      {
%>
			    class="sapTbsTabSel">
			    <a title="<%=tab_header[nr]%>" class="sapLnk" OnMouseOver="window.status = '<%= tab_header[nr] %>'; return true;"
			     style="text-decoration:none">
			     <b>
				<%=tab_header[nr]%>
			      </b>

<%    } 
      else
      {
%>
			    class="sapTbsTab">
			    <a title="<%=tab_header[nr]%>" class="sapLnk" OnMouseOver="window.status = '<%= tab_header[nr] %>'; return true;"
			    href="javascript:callSubmitAction('FormTabStrip','<%= tab_tabsel[nr] %>','','')"
			     style="text-decoration:none">
				<%=tab_header[nr]%>
<%    }
%>
			    </a>
			  </td>
<%
   }
%>
			  <!--HEADER ITEM END-->
			  <td nowrap class="sapTbsTabBlk"> </td>
			</tr>
			</form>
		      </table>
		      <!--HEADER END-->
		      <!--CONTENTS-->
		      <table class="sapTbsWhl" border="0" cellspacing="0" cellpadding="0" width="100%">
			<tr>
			  <td align="left" valign="top">
<%
    if (tabsel == "tab0") {
      rc = __icm_get_slog_info (icm_slog_info);
      if (rc == -1) {
%>
			    <table border="0" cellspacing="0" cellpadding="0" class="sapTbvAlt" width="100%">
			      <tr>
				<td class="sapTbvCellAlt" Colspan="2">
				  <b><i>No information available</i></b>
				</td>
				<td class="sapTbvCellAlt" align="right"></td>
			      </tr>
			    </table>
<%
      } else {
%>
			    <table border="0" cellspacing="0" cellpadding="0" class="sapTbvAlt" width="100%">
			      <tr>
				<td class="sapTbvCellAlt" Colspan="2">
				  <b><i>Settings for HTTP Log</i></b>
				</td>
				<td class="sapTbvCellAlt" align="right"></td>
			      </tr>

			      <tr>
				<td class="sapTbvCellStd">Logfile name</td>
				<td class="sapTbvCellStd"><%= icm_slog_info.file%></td>
				<td class="sapTbvCellStd">&nbsp;</td>
			      </tr>
			      <tr>
				<td class="sapTbvCellStd">Logfile format</td>
				<td class="sapTbvCellStd"><%= icm_slog_info.format%></td>
				<td class="sapTbvCellStd">&nbsp;</td>
			      </tr>
			      <tr>
				<td class="sapTbvCellStd">Switchtype</td>
				<td class="sapTbvCellStd"><%= icm_slog_info.switcht%></td>
				<td class="sapTbvCellStd">&nbsp;</td>
			      </tr>
			      <tr>
				<td class="sapTbvCellStd">Maximum size (kbytes)</td>
				<td class="sapTbvCellStd"><%= icm_slog_info.maxsize%></td>
				<td class="sapTbvCellStd">&nbsp;</td>
			      </tr>
			      <tr>
				<td class="sapTbvCellStd">Filewrap</td>
				<td class="sapTbvCellStd"><%= icm_slog_info.wrap%></td>
				<td class="sapTbvCellStd">&nbsp;</td>
			      </tr>
			      <tr>
				<td class="sapTbvCellStd">Logfile level</td>
				<td class="sapTbvCellStd"><%= icm_slog_info.loglevel%></td>
				<td class="sapTbvCellStd">&nbsp;</td>
			      </tr>
			    </table>
<%
      }
    }
    else
    {
	formfld = __icm_get_form_field ("line_no");
	if (formfld == "")
	  line_no = 0;
	else
	  line_no = formfld;

	formfld = __icm_get_form_field ("page_op");
	if (formfld == "outleft")
	  line_no = 0;
	else if (formfld == "left"){
	  line_no -= 500; if (line_no < 0) line_no = 0;
	}
	else if (formfld == "right")
	  line_no += 500;
	else if (formfld == "outright")
	  line_no = -500;

	rc = __icm_get_slog_info (icm_slog_info);
	if (rc == -1) {
%>
			    <table border="0" cellspacing="0" cellpadding="0" class="sapTbvAlt" width="100%">
			      <tr>
				<td class="sapTbvCellAlt" Colspan="2">
				  <b><i>No information available</i></b>
				</td>
				<td class="sapTbvCellAlt" align="right"></td>
			      </tr>
			    </table>
<%
	} else {
	  if (show_lineno) options = 4;
	  line_count = __icm_get_log_lines (line_no, icm_slog_info.file, filter, ltab, size, options);
%>
    <table border=0 cellspacing=1 cellpadding=0 class="sapTbvAlt" width="100%" rules="rows">
    <form action="show_slog.icp" name="traceFormA" method="POST">
    <input type="hidden" name="tabsel" value="<%=tabsel%>">
    <input type="hidden" name="page_op" value="0">
    <input type="hidden" name="lastControlID" value="<%=lastControlID%>">
    <tr>
      <td class="sapTbvCellAlt">
<%
	if (is_admin) {
%>
	<a title="Security Log Menu" accesskey="s" href="javascript:void(0);" id="trcFileObj" class="sapBtnStd" onClick="bspMenuMainAction('TrcFileMenu',event,this,83)" onKeyUp="bspMenuMainAction('TrcFileMenu',event,this,83)">
	  <b><i><u>S</u>ecurity Log</i></b>&nbsp;<img border=0 src="../public/images/cmenu/Triangle.gif"></a>
<%
	} else __output ("<i>Security Log</i>");
%>
	&nbsp; (<%=size%>bytes)
      </td>
      <td class="sapTbvCellAlt" align="center"><label for="line_no1">Line</label>:
          <input title="Line" type="text" class="sapEdfTxtEnbl" id="line_no1" name="line_no" size="3" value="<%= line_no %>"></span>
          <label for="filter1">Filter</label>:
          <input title="Filter" type="text" class="sapEdfTxtEnbl" id="filter1" name="filter" size="12" value="<%=filter %>"></span>
          <!--
          <input type="submit" class="sapBtnStd" name="send" value="Display"></span>
          -->
          <a id="FilterButton" href="javascript:callLineFilterAction('traceFormA','FilterButton')" class="sapBtnStd">Display</a>
      </td>
      <td class="sapTbvCellAlt" align="center">
          <a id="outleftPager" href="javascript:callSubmitAction('traceFormA','<%=tabsel%>','outleft','outleftPager')"><nobr><img width=15 height=15 src="../public/images/hbrowser/outleft.gif" BORDER=0 title="first page"></nobr></a>
          <a id="leftPager" href="javascript:callSubmitAction('traceFormA','<%=tabsel%>','left','leftPager')"><nobr><img width=15 height=15 src="../public/images/hbrowser/left.gif" BORDER=0 title="previous page"></nobr></a>
          <a id="rightPager" href="javascript:callSubmitAction('traceFormA','<%=tabsel%>','right','rightPager')"><nobr><img width=15 height=15 src="../public/images/hbrowser/right.gif" BORDER=0 title="nex page"></nobr></a>
          <a id="outrightPager" href="javascript:callSubmitAction('traceFormA','<%=tabsel%>','outright','outrightPager')"><nobr><img width=15 height=15 src="../public/images/hbrowser/outright.gif" BORDER=0 title="last page"></nobr></a>
      </td>
      <td class="sapTbvCellAlt" align="center">
          <a href="#page_top"><nobr><img width=15 height=15 src="../public/images/tableview/top_off.gif" BORDER=0 title="Top of page"></nobr></a>
          <a href="#page_bottom"><nobr><img width=15 height=15 src="../public/images/tableview/bottom.gif" BORDER=0 title="Bottom of page"></nobr></a>
      </td>
    </tr>
    </form>
    <form action="show_slog.icp" name="traceFormTxt" method="POST">
      <input type="hidden" name="line_no" value="">
      <input type="hidden" name="tabsel" value="<%=tabsel%>">
      <input type="hidden" name="lastControlID" value="<%=lastControlID%>">
    <tr>
      <td class="sapTbvCellStd" colspan="5">
      </td>
    </tr>
    <tr>
      <td class="sapTbvCellStdTT" colspan="5">
<%
    for (i = 0; i < line_count; i++)
    {
	__output(ltab[i],"<br>");
    }
%>
    </td>
    </tr>
    </form>
    <form action="show_slog.icp" name="traceFormB" method="POST">
    <input type="hidden" name="tabsel" value="<%=tabsel%>">
    <input type="hidden" name="page_op" value="0">
    <input type="hidden" name="lastControlID" value="<%=lastControlID%>">
    <tr>
      <td class="sapTbvCellAlt" width="100">
        <a name="page_bottom"></a>
        <b><i>Log File</i></b>
      </td>
      <td class="sapTbvCellAlt" align="center"> <label for="line_no2">Line</label>:
          <input title="Line" type="text" class="sapEdfTxtEnbl" id="line_no" name="line_no" size="3" value="<%= line_no %>">
          <label for="filter2">Filter</label>:
          <input title="Filter" type="text" class="sapEdfTxtEnbl" id="filter2" name="filter" size="12" value="<%=filter %>">
          <!--
          <input type="submit" class="sapBtnStd" name="send" value="Display">
          -->
          <a id="FilterButton2" href="javascript:callLineFilterAction('traceFormB','FilterButton2')" class="sapBtnStd">Display</a>
      </td>

      <td class="sapTbvCellAlt" align="center">
          <a id="outleftPager2" href="javascript:callSubmitAction('traceFormB','<%=tabsel%>','outleft','outleftPager2')"><nobr><img width=15 height=15 src="../public/images/hbrowser/outleft.gif" BORDER=0 title="first page"></nobr></a>
          <a id="leftPager2" href="javascript:callSubmitAction('traceFormB','<%=tabsel%>','left','leftPager2')"><nobr><img width=15 height=15 src="../public/images/hbrowser/left.gif" BORDER=0 title="previous page"></nobr></a>
          <a id="rightPager2" href="javascript:callSubmitAction('traceFormB','<%=tabsel%>','right','rightPager2')"><nobr><img width=15 height=15 src="../public/images/hbrowser/right.gif" BORDER=0 title="next page"></nobr></a>
          <a id="outrightPager2" href="javascript:callSubmitAction('traceFormB','<%=tabsel%>','outright','outrightPager2')"><nobr><img width=15 height=15 src="../public/images/hbrowser/outright.gif" BORDER=0 title="last page"></nobr></a>
      </td>
      <td class="sapTbvCellAlt" align="center">
          <a href="#page_top"><nobr><img width=15 height=15 src="../public/images/tableview/top.gif" BORDER=0 title="Top of page"></nobr></a>
          <a href="#page_bottom"><nobr><img width=15 height=15 src="../public/images/tableview/bottom_off.gif" BORDER=0 title="Bottom of page"></nobr></a>
      </td>
    </tr>
    </table>

<%
       }
    }
%>
			  </td>
			</tr>
		      </table>
		      <!--CONTENTS END-->
		    </td>
		  </tr>
		</table>
	    </td>
	  </tr>
	</table>
    </form>
    </td>
    </tr>
    </table>
  <script language="JavaScript" type="text/javascript">
    <!--
    restoreFocus('<%=lastControlID%>');
    -->
  </script>
  </body>
  </html>
