ibm-information-center/dist/eclipse/plugins/i5OS.ic.rzaie_5.4.0.1/rzaiedirectivefinder10.htm

480 lines
22 KiB
HTML

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<HTML>
<HEAD><META http-equiv="Content-Type" content="text/html; charset=utf-8">
<TITLE>HTTP Server directive finder</TITLE>
<meta name="Copyright" content="Copyright (c) 2004 by IBM Corporation">
<!-- All rights reserved. Licensed Materials Property of IBM -->
<!-- US Government Users Restricted Rights -->
<!-- Use, duplication or disclosure restricted by -->
<!-- GSA ADP Schedule Contract with IBM Corp. -->
<LINK rel="stylesheet" type="text/css" href="../rzahg/ic.css">
</HEAD>
<BODY>
<!-- Java sync-link -->
<SCRIPT LANGUAGE="Javascript" TYPE="text/javascript">
//START NON-TRANSLATABLE
var cookieName="httpdir";
function getCookieData(label) {
var labelLen = label.length;
var cLen = document.cookie.length;
var i=0;
var cEnd;
while (i < cLen) {
var j = i + labelLen;
if (document.cookie.substring(i,j) == label) {
cEnd = document.cookie.indexOf(";",j);
if (cEnd == -1) {
cEnd = document.cookie.length;
}
return unescape(document.cookie.substring(j+1,cEnd));
}
i++
}
//If they get here, cookie not found (might get here from search)
window.location = "rzaiedirectivefinder.htm"; //load first page
}
function alphabetizeArray(zArray, loB, hiB) {
//Quick sort, sorts with N log N efficiency (fastest for big arrays)
var pit0, pit1, pit2, pit3, pit4, pit5, loS, hiS, temp0, temp1, temp2, temp3, temp4, temp5;
if (hiB - loB == 1) {
if (zArray[loB][0].toUpperCase() > zArray[hiB][0].toUpperCase()) {
temp0 = zArray[loB][0];
temp1 = zArray[loB][1];
temp2 = zArray[loB][2];
temp3 = zArray[loB][3];
temp4 = zArray[loB][4];
zArray[loB][0] = zArray[hiB][0];
zArray[loB][1] = zArray[hiB][1];
zArray[loB][2] = zArray[hiB][2];
zArray[loB][3] = zArray[hiB][3];
zArray[loB][4] = zArray[hiB][4];
zArray[hiB][0] = temp0;
zArray[hiB][1] = temp1;
zArray[hiB][2] = temp2;
zArray[hiB][3] = temp3;
zArray[hiB][4] = temp4;
}
return;
}
pit0 = zArray[parseInt((loB + hiB) / 2)][0];
pit1 = zArray[parseInt((loB + hiB) / 2)][1];
pit2 = zArray[parseInt((loB + hiB) / 2)][2];
pit3 = zArray[parseInt((loB + hiB) / 2)][3];
pit4 = zArray[parseInt((loB + hiB) / 2)][4];
zArray[parseInt((loB + hiB) / 2)][0] = zArray[loB][0];
zArray[parseInt((loB + hiB) / 2)][1] = zArray[loB][1];
zArray[parseInt((loB + hiB) / 2)][2] = zArray[loB][2];
zArray[parseInt((loB + hiB) / 2)][3] = zArray[loB][3];
zArray[parseInt((loB + hiB) / 2)][4] = zArray[loB][4];
zArray[loB][0] = pit0;
zArray[loB][1] = pit1;
zArray[loB][2] = pit2;
zArray[loB][3] = pit3;
zArray[loB][4] = pit4;
loS = loB + 1;
hiS = hiB;
do {
while (loS <= hiS && zArray[loS][0].toUpperCase() <= pit0.toUpperCase()) {
loS++;
}
while (zArray[hiS][0].toUpperCase() > pit0.toUpperCase()) {
hiS--;
}
if (loS < hiS) {
temp0 = zArray[loS][0];
temp1 = zArray[loS][1];
temp2 = zArray[loS][2];
temp3 = zArray[loS][3];
temp4 = zArray[loS][4];
zArray[loS][0] = zArray[hiS][0];
zArray[loS][1] = zArray[hiS][1];
zArray[loS][2] = zArray[hiS][2];
zArray[loS][3] = zArray[hiS][3];
zArray[loS][4] = zArray[hiS][4];
zArray[hiS][0] = temp0;
zArray[hiS][1] = temp1;
zArray[hiS][2] = temp2;
zArray[hiS][3] = temp3;
zArray[hiS][4] = temp4;
}
} while (loS < hiS);
zArray[loB][0] = zArray[hiS][0];
zArray[loB][1] = zArray[hiS][1];
zArray[loB][2] = zArray[hiS][2];
zArray[loB][3] = zArray[hiS][3];
zArray[loB][4] = zArray[hiS][4];
zArray[hiS][0] = pit0;
zArray[hiS][1] = pit1;
zArray[hiS][2] = pit2;
zArray[hiS][3] = pit3;
zArray[hiS][4] = pit4;
if (loB < hiS - 1) {
alphabetizeArray(zArray, loB, hiS - 1);
}
if (hiS + 1 < hiB) {
alphabetizeArray(zArray, hiS + 1, hiB);
}
}
function alphabetizeArrayMod(zArray, loB, hiB) {
//Quick sort, sorts with N log N efficiency (fastest for big arrays)
var pit0, pit1, pit2, pit3, pit4, pit5, loS, hiS, temp0, temp1, temp2, temp3, temp4, temp5;
if (hiB - loB == 1) {
if (zArray[loB][2].toUpperCase() > zArray[hiB][2].toUpperCase()) {
temp0 = zArray[loB][0];
temp1 = zArray[loB][1];
temp2 = zArray[loB][2];
temp3 = zArray[loB][3];
temp4 = zArray[loB][4];
zArray[loB][0] = zArray[hiB][0];
zArray[loB][1] = zArray[hiB][1];
zArray[loB][2] = zArray[hiB][2];
zArray[loB][3] = zArray[hiB][3];
zArray[loB][4] = zArray[hiB][4];
zArray[hiB][0] = temp0;
zArray[hiB][1] = temp1;
zArray[hiB][2] = temp2;
zArray[hiB][3] = temp3;
zArray[hiB][4] = temp4;
}
return;
}
pit0 = zArray[parseInt((loB + hiB) / 2)][0];
pit1 = zArray[parseInt((loB + hiB) / 2)][1];
pit2 = zArray[parseInt((loB + hiB) / 2)][2];
pit3 = zArray[parseInt((loB + hiB) / 2)][3];
pit4 = zArray[parseInt((loB + hiB) / 2)][4];
zArray[parseInt((loB + hiB) / 2)][0] = zArray[loB][0];
zArray[parseInt((loB + hiB) / 2)][1] = zArray[loB][1];
zArray[parseInt((loB + hiB) / 2)][2] = zArray[loB][2];
zArray[parseInt((loB + hiB) / 2)][3] = zArray[loB][3];
zArray[parseInt((loB + hiB) / 2)][4] = zArray[loB][4];
zArray[loB][0] = pit0;
zArray[loB][1] = pit1;
zArray[loB][2] = pit2;
zArray[loB][3] = pit3;
zArray[loB][4] = pit4;
loS = loB + 1;
hiS = hiB;
do {
while (loS <= hiS && zArray[loS][2].toUpperCase() <= pit2.toUpperCase()) {
loS++;
}
while (zArray[hiS][2].toUpperCase() > pit2.toUpperCase()) {
hiS--;
}
if (loS < hiS) {
temp0 = zArray[loS][0];
temp1 = zArray[loS][1];
temp2 = zArray[loS][2];
temp3 = zArray[loS][3];
temp4 = zArray[loS][4];
zArray[loS][0] = zArray[hiS][0];
zArray[loS][1] = zArray[hiS][1];
zArray[loS][2] = zArray[hiS][2];
zArray[loS][3] = zArray[hiS][3];
zArray[loS][4] = zArray[hiS][4];
zArray[hiS][0] = temp0;
zArray[hiS][1] = temp1;
zArray[hiS][2] = temp2;
zArray[hiS][3] = temp3;
zArray[hiS][4] = temp4;
}
} while (loS < hiS);
zArray[loB][0] = zArray[hiS][0];
zArray[loB][1] = zArray[hiS][1];
zArray[loB][2] = zArray[hiS][2];
zArray[loB][3] = zArray[hiS][3];
zArray[loB][4] = zArray[hiS][4];
zArray[hiS][0] = pit0;
zArray[hiS][1] = pit1;
zArray[hiS][2] = pit2;
zArray[hiS][3] = pit3;
zArray[hiS][4] = pit4;
if (loB < hiS - 1) {
alphabetizeArrayMod(zArray, loB, hiS - 1);
}
if (hiS + 1 < hiB) {
alphabetizeArrayMod(zArray, hiS + 1, hiB);
}
}
function alphabetizeArraySubDir(zArray) {
var j;
var highCount;
var numEntries = zArray.length-1;
for (var i=0; i < numEntries; i++) {
j = i+1;
highCount = i;
while ((zArray[i][2].toUpperCase() == zArray[j][2].toUpperCase()) && j < numEntries) { //while same module name and numEntries not exceeded
if (zArray[highCount][0].toUpperCase() > zArray[j][0].toUpperCase()) { //if further directive is greater than earlier directive
//Mark array entry as highest entry
//alert(zArray[i][0] + " is less than " + zArray[j][0]);
highCount = j;
}
j++;
} //end while
//if highCount is greater than i, swap array entry highCount with i
if (highCount > i) {
temp0 = zArray[i][0];
temp1 = zArray[i][1];
temp2 = zArray[i][2];
temp3 = zArray[i][3];
temp4 = zArray[i][4];
zArray[i][0] = zArray[highCount][0];
zArray[i][1] = zArray[highCount][1];
zArray[i][2] = zArray[highCount][2];
zArray[i][3] = zArray[highCount][3];
zArray[highCount][0] = temp0;
zArray[highCount][1] = temp1;
zArray[highCount][2] = temp2;
zArray[highCount][3] = temp3;
}
}
}
//END NON-TRANSLATABLE
</script>
</head>
<body>
<!-- Include array data -->
<!-- CHANGE NAME OF JS FILE TO MATCH CURRENT JS FILE YOU ARE BUILDING FROM -->
<script language="Javascript" src="rzaiefinderdatav5r4GA.js" type="text/javascript"></script>
<h2>HTTP Server directive finder</h2>
<NOSCRIPT><strong>Important:</strong> This finder uses JavaScript, but JavaScript is either not available or enabled in your browser.
If you do not have access to a browser that supports Javascript,
you can still view the <a href="rzaiedirectivefinderall.htm">complete list of HTTP directives</a>.</NOSCRIPT>
<script language="Javascript" type="text/javascript">
<!-- // Hide script from older browsers
//START NON-TRANSLATABLE
var tstring = getCookieData(cookieName);
var findType = tstring.substring(0,3);
tstring = tstring.substring(3, tstring.length);
var findByDir = "dir";
var findByMod = "mod";
var anchorChar = "#";
var searchText = tstring;
tstring = tstring.toUpperCase();
var isOddRow = new Boolean(true);
var input = "";
input = tstring.split(" ");
var arraystring = "";
counter = 0; //Indicates first hit
smallcounter = 0; //Counts number of hits for each directive
numCount = 0; //Total number of hits
alphaA = new Array(); //Array to hold positive search results
if (findType == findByDir) { //by directive
for (var i=0; i < s1.length; i++) {
if (s1[i][0] != 0) {
arraystring = s1[i][0]; //directive name
arraystring = arraystring.toUpperCase();
temporCount = 0; //keep track of how many hits in each directive
for (var a=0; a < input.length; a++) { //for each search word
if ((arraystring.indexOf(input[a])) >= 0) { //Compare search word to directive name
temporCount = temporCount + 1; //found one of search terms in arraystring
}
}
if (temporCount > 0) { //if there were hits in the last array entry
alphaA[numCount] = new Array; //create new entry in array
for (var j=0; j < s1[i].length; j++) {
alphaA[numCount][j] = s1[i][j]; //Add array data to search results array
}
numCount = numCount + 1; //A hit
}
}
}
//Alphabetize the results
if (alphaA.length > 1) { //only alphabetize if more than one result
alphabetizeArray(alphaA,0,alphaA.length-1);
}
//END NON-TRANSLATABLE
//Weight the results - the more hits, the closer to the top of the hit list.
var r = input.length; //start at highest possible number of hits (one hit for each search word)
var percentageMatch;
while (r > 0) { //for the number of search words (this weights the search)
percentageMatch = (r/input.length);
percentageMatch = Math.round(100 * percentageMatch);
for (var i=0; i < alphaA.length; i++) { //for each directive in the array
if (alphaA[i][0] != 0) { //if still array entries left to process
tstring = alphaA[i][0];
tstring = tstring.toUpperCase(); //make all text uppercase
for (var j=0; j < input.length; j++) { //for each search word
if ((tstring.indexOf(input[j])) >= 0) { //Compare search word to directive
smallcounter = smallcounter + 1; //A hit
}
}
if (smallcounter == r || (r == input.length && smallcounter >= r)) {
if (counter == 0) { //First hit
var textA = "";
if (numCount == 1) { //only one hit
textA = "<table border='0' width='100%'><tr><td><font size='+1'>" + "One match found for '" + searchText + "'<\/font><\/td><td align='right'><font size='-1'><a href='rzaiedirectivefinder.htm'>Back<\/a> to the HTTP directive finder<\/font><\/td><\/tr><\/table><hr><br>";
} else { //many hits
textA = "<table border='0' width='100%'><tr><td><font size='+1'>" + numCount + " matches found for '" + searchText + "'<\/font><\/td><td align='right'><font size='-1'><a href='rzaiedirectivefinder.htm'>Back<\/a> to the HTTP directive finder<\/font><\/td><\/tr><\/table><hr><br>";
}
textA += "<table style='background-color:#ffffff; border-style:solid; border-width:1px; border-color:#cccccc; margin-top: 0em; margin-bottom: 0em' border='0' frame='border' cellpadding='3' width='75%' cellspacing = '1' rules='none'><tr class='tablemainheaderbar'><th align='left' width='1%' nowrap=''>Match %</th><th align='left'>Directive</th><th align='left'>Module</th></tr>";
document.writeln(textA);
counter = 1;
}
//For links to modules, strip off anchor tag
var modLink = alphaA[i][1];
if (modLink.indexOf(anchorChar) > 0) { //if contains a # character
modLink = modLink.substring(0,modLink.indexOf(anchorChar)); //strip off # character and any text which follows it
}
if (isOddRow) { //gray out background
if (parseInt(alphaA[i][3]) != 0) { //New or changed directive
var textC3 = "<tr class='oddrowgrey'><td>" + percentageMatch + "%</td><td width='10%'><img src='delta.gif' alt='Start of change' border='0'><a href='" + alphaA[i][1] + "'>" + alphaA[i][0] + "<\/a><img src='deltaend.gif' alt='End of change' border='0'><\/td>";
textC3 += "<td><a href='" + modLink + "'>" + alphaA[i][2] + "<\/a><\/td><\/tr>";
document.writeln(textC3);
} else { //not new or changed
var textD3 = "<tr class='oddrowgrey'><td>" + percentageMatch + "%</td><td width='10%'><a href='" + alphaA[i][1] + "'>" + alphaA[i][0] + "<\/a><\/td>";
textD3 += "<td><a href='" + modLink + "'>" + alphaA[i][2] + "<\/a><\/td><\/tr>";
document.writeln(textD3);
}
} else { //even row, white background
if (parseInt(alphaA[i][3]) != 0) { //New or changed directive
var textC3 = "<tr><td>" + percentageMatch + "%</td><td width='10%'><img src='delta.gif' alt='Start of change' border='0'><a href='" + alphaA[i][1] + "'>" + alphaA[i][0] + "<\/a><img src='deltaend.gif' alt='End of change' border='0'><\/td>";
textC3 += "<td><a href='" + modLink + "'>" + alphaA[i][2] + "<\/a><\/td><\/tr>";
document.writeln(textC3);
} else { //not new or changed
var textD3 = "<tr><td>" + percentageMatch + "%</td><td width='10%'><a href='" + alphaA[i][1] + "'>" + alphaA[i][0] + "<\/a><\/td>";
textD3 += "<td><a href='" + modLink + "'>" + alphaA[i][2] + "<\/a><\/td><\/tr>";
document.writeln(textD3);
}
}
isOddRow = !isOddRow;
}
smallcounter = 0;
}
}
r--;
} //end while
} else { //not by directory
if (findType == findByMod) { //by module
for (var i=0; i < s1.length; i++) {
if (s1[i][0] != 0) {
arraystring = s1[i][2]; //module name
arraystring = arraystring.toUpperCase();
temporCount = 0; //keep track of how many hits in each module
for (var a=0; a < input.length; a++) { //for each search word
if ((arraystring.indexOf(input[a])) >= 0) { //Compare search word to module name
temporCount = temporCount + 1; //found one of search terms in arraystring
}
}
if (temporCount > 0) { //if there were hits in the last array entry
alphaA[numCount] = new Array; //create new entry in array
for (var j=0; j < s1[i].length; j++) {
alphaA[numCount][j] = s1[i][j]; //Add array data to search results array
}
numCount = numCount + 1; //A hit
}
}
}
//Alphabetize the results by module, the subalphabetize by directive
if (alphaA.length > 1) { //only alphabetize if more than one result
alphabetizeArrayMod(alphaA,0,alphaA.length-1); //first by directive
alphabetizeArraySubDir(alphaA);
//alphaA = alphabetizeArrayByMod(alphaA); //second by module
}
//Weight the results - the more hits, the closer to the top of the hit list.
var r = input.length; //start at highest possible number of hits (one hit for each search word)
var percentageMatch;
while (r > 0) { //for the number of search words (this weights the search)
percentageMatch = (r/input.length);
percentageMatch = Math.round(100 * percentageMatch);
for (var i=0; i < alphaA.length; i++) { //for each entry in the array
if (alphaA[i][0] != 0) { //if still array entries left to process
tstring = alphaA[i][2];
tstring = tstring.toUpperCase(); //make all text uppercase
for (var j=0; j < input.length; j++) { //for each search word
if ((tstring.indexOf(input[j])) >= 0) { //Compare search word to module
smallcounter = smallcounter + 1; //A hit
}
}
if (smallcounter == r || (r == input.length && smallcounter >= r)) {
if (counter == 0) { //First hit
var textA = "";
if (numCount == 1) { //only one hit
textA = "<table border='0' width='100%'><tr><td><font size='+1'>" + "One match found for '" + searchText + "'<\/font><\/td><td align='right'><font size='-1'><a href='rzaiedirectivefinder.htm'>Back<\/a> to the HTTP directive finder<\/font><\/td><\/tr><\/table><hr><br>";
} else { //many hits
textA = "<table border='0' width='100%'><tr><td><font size='+1'>" + numCount + " matches found for '" + searchText + "'<\/font><\/td><td align='right'><font size='-1'><a href='rzaiedirectivefinder.htm'>Back<\/a> to the HTTP directive finder<\/font><\/td><\/tr><\/table><hr><br>";
}
textA += "<table style='background-color:#ffffff; border-style:solid; border-width:1px; border-color:#cccccc; margin-top: 0em; margin-bottom: 0em' border='0' frame='border' cellpadding='3' width='75%' cellspacing = '1' rules='none'><tr class='tablemainheaderbar'><th align='left' width='1%' nowrap=''>Match %</th><th align='left'>Module</th><th align='left'>Directive</th></tr>";
document.writeln(textA);
counter = 1;
}
//For links to modules, strip off anchor tag
var modLink = alphaA[i][1];
if (modLink.indexOf(anchorChar) > 0) { //if contains a # character
modLink = modLink.substring(0,modLink.indexOf(anchorChar)); //strip off # character and any text which follows it
}
if (isOddRow) { //gray out background
if (parseInt(alphaA[i][3]) != 0) { //New or changed directive
var textC3 = "<tr class='oddrowgrey'><td>" + percentageMatch + "%</td><td width='10%'><a href='" + modLink + "'>" + alphaA[i][2] + "<\/a><\/td>";
textC3 += "<td><img src='delta.gif' alt='Start of change' border='0'><a href='" + alphaA[i][1] + "'>" + alphaA[i][0] + "<\/a><img src='deltaend.gif' alt='End of change' border='0'></td><\/tr>";
document.writeln(textC3);
} else { //not new or changed
var textD3 = "<tr class='oddrowgrey'><td>" + percentageMatch + "%</td><td width='10%'><a href='" + modLink + "'>" + alphaA[i][2] + "<\/a><\/td>";
textD3 += "<td><a href='" + alphaA[i][1] + "'>" + alphaA[i][0] + "<\/a></td><\/tr>";
document.writeln(textD3);
}
} else { //even row, white background
if (parseInt(alphaA[i][3]) != 0) { //New or changed directive
var textC3 = "<tr><td>" + percentageMatch + "%</td><td width='10%'><a href='" + modLink + "'>" + alphaA[i][2] + "<\/a><\/td>";
textC3 += "<td><img src='delta.gif' alt='Start of change' border='0'><a href='" + alphaA[i][1] + "'>" + alphaA[i][0] + "<\/a><img src='deltaend.gif' alt='End of change' border='0'></td><\/tr>";
document.writeln(textC3);
} else { //not new or changed
var textD3 = "<tr><td>" + percentageMatch + "%</td><td width='10%'><a href='" + modLink + "'>" + alphaA[i][2] + "<\/a><\/td>";
textD3 += "<td><a href='" + alphaA[i][1] + "'>" + alphaA[i][0] + "<\/a></td><\/tr>";
document.writeln(textD3);
}
}
isOddRow = !isOddRow;
}
smallcounter = 0;
}
}
r--;
} //end while
} //end if module
} //end else if not directive
if (counter == 0) { //No hits
var textK = "<table COLS='2' WIDTH='100%'>" + "<FONT SIZE='+1'>No matches found for '" + searchText + "'<\/FONT SIZE='+1'><P>Your search for directives did not find any results. Please <A HREF='rzaiedirectivefinder.htm'>try again<\/A>.<\/P>";
document.writeln(textK);
} else {
var textL = "<\/TABLE><BR><BR>";
document.writeln(textL);
}
////////// -->
</script>
</body>
</html>