File: 0.02.13a/server/web/history.test.php (View as Code)

1: 2: ob_start(); 3: require("include.php"); 4: $NATS->Start(); 5: if (!$NATS_Session->Check($NATS->DB)) 6: { 7: header("Location: ./?login_msg=Invalid+Or+Expired+Session"); 8: exit(); 9: } 10: if ($NATS_Session->userlevel<1) UL_Error("View Test History"); 11: 12: $tmode=""; 13: switch($_REQUEST['testid'][0]) 14: { 15: case "L": $tmode="local"; 16: break; 17: default: $tmode="unknown"; 18: } 19: $stid=substr($_REQUEST['testid'],1,128); 20: 21: // get test info 22: $tnode=""; 23: $tname=""; 24: $ttype=""; 25: $tparam=""; 26: $tlastrunx=""; 27: $trecord=1; 28: 29: $q=""; 30: if ($tmode=="local") $q="SELECT * FROM fnlocaltest WHERE localtestid=".ss($stid); 31: 32: $r=$NATS->DB->Query($q); 33: 34: if (!$row=$NATS->DB->Fetch_Array($r)) 35: { 36: header("main.php?message=Error+opening+test+history"); 37: exit(); 38: } 39: 40: $tnode=$row['nodeid']; 41: $ttype=$row['testtype']; 42: $tparam=$row['testparam']; 43: $tlastrunx=$row['lastrunx']; 44: $tname=lText($ttype); 45: if ($tparam!="") $tname.=" (".$tparam.")"; 46: $NATS->DB->Free($r); 47: Screen_Header("History for ".$tname." on ".$tnode,1); 48: ob_end_flush(); 49: 50: $td_day=date("d"); 51: $td_mon=date("m"); 52: $td_yr=date("Y"); 53: 54: $start=array(); 55: $finish=array(); 56: if (isset($_REQUEST['st_day'])) $start['day']=$_REQUEST['st_day']; 57: else $start['day']=$td_day; 58: if (isset($_REQUEST['st_mon'])) $start['mon']=$_REQUEST['st_mon']; 59: else $start['mon']=$td_mon; 60: if (isset($_REQUEST['st_yr'])) $start['yr']=$_REQUEST['st_yr']; 61: else $start['yr']=$td_yr; 62: if (isset($_REQUEST['st_hour'])) $start['hour']=$_REQUEST['st_hour']; 63: else $start['hour']=0; 64: if (isset($_REQUEST['st_min'])) $start['min']=$_REQUEST['st_min']; 65: else $start['min']=0; 66: if (isset($_REQUEST['st_sec'])) $start['sec']=$_REQUEST['st_sec']; 67: else $start['sec']=0; 68: 69: if (isset($_REQUEST['fi_day'])) $finish['day']=$_REQUEST['fi_day']; 70: else $finish['day']=$td_day; 71: if (isset($_REQUEST['fi_mon'])) $finish['mon']=$_REQUEST['fi_mon']; 72: else $finish['mon']=$td_mon; 73: if (isset($_REQUEST['fi_yr'])) $finish['yr']=$_REQUEST['fi_yr']; 74: else $finish['yr']=$td_yr; 75: if (isset($_REQUEST['fi_hour'])) $finish['hour']=$_REQUEST['fi_hour']; 76: else $finish['hour']=23; 77: if (isset($_REQUEST['fi_min'])) $finish['min']=$_REQUEST['fi_min']; 78: else $finish['min']=59; 79: if (isset($_REQUEST['fi_sec'])) $finish['sec']=$_REQUEST['fi_sec']; 80: else $finish['sec']=59; 81: 82: 83: $startx=mktime($start['hour'],$start['min'],$start['sec'],$start['mon'],$start['day'],$start['yr']); 84: $finishx=mktime($finish['hour'],$finish['min'],$finish['sec'],$finish['mon'],$finish['day'],$finish['yr']); 85: //echo $startx." ".nicedt($startx)."
";
86: //echo $finishx." ".nicedt($finishx)."
";
87: 88: echo "
"; 89: echo "
"; 90: echo "".$tname."
";
91: 92: echo ""; 93: echo ""; 94: echo ""; 96: echo ""; 97: echo ""; 105: echo ""; 106: echo "
Node :".$tnode.""; 95: echo "
Last Run :"; 98: if ($tlastrunx>0) 99: { 100: echo nicedt($tlastrunx)."
";
101: echo dtago($tlastrunx); 102: } 103: else echo "Never"; 104: echo "
";
107: 108: echo "
 "; 109: 110: echo "Reporting Period
";
111: 112: echo ""; 113: echo ""; 114: echo "
";
115: echo ""; 116: 117: function slist($var,$min,$max,$val) 118: { 119: echo "\n\n"; 124: } 125: 126: 127: echo ""; 128: echo ""; 132: 133: echo ""; 137: 138: echo ""; 142: 143: echo ""; 147: 148: echo ""; 152: 153: echo ""; 159: 160: echo ""; 161: 162: // ----- finish 163: 164: echo ""; 165: echo ""; 169: 170: echo ""; 174: 175: echo ""; 179: 180: echo ""; 184: 185: echo ""; 189: 190: echo ""; 196: 197: echo ""; 198: 199: // 7 200: echo ""; 201: echo ""; 214: 215: echo ""; 216: echo "
 HourMinSecDayMonYear
Start:"; 129: slist("st_hour",0,23,$start['hour']); 130: echo ":"; 131: echo ""; 134: slist("st_min",0,59,$start['min']); 135: echo ":"; 136: echo ""; 139: slist("st_sec",0,59,$start['sec']); 140: echo "  "; 141: echo ""; 144: slist("st_day",1,31,$start['day']); 145: echo "/"; 146: echo ""; 149: slist("st_mon",1,12,$start['mon']); 150: echo "/"; 151: echo ""; 154: echo ""; 155: 156: echo " Today"; 157: 158: echo "
Finish:"; 166: slist("fi_hour",0,23,$finish['hour']); 167: echo ":"; 168: echo ""; 171: slist("fi_min",0,59,$finish['min']); 172: echo ":"; 173: echo ""; 176: slist("fi_sec",0,59,$finish['sec']); 177: echo "  "; 178: echo ""; 181: slist("fi_day",1,31,$finish['day']); 182: echo "/"; 183: echo ""; 186: slist("fi_mon",1,12,$finish['mon']); 187: echo "/"; 188: echo ""; 191: echo ""; 192: 193: echo " "; 194: 195: echo "
Opts:"; 202: function cbd($var,$name) 203: { 204: if (isset($_REQUEST[$var])) $s=" checked"; 205: else $s=""; 206: echo " ".$name; 207: } 208: cbd("disp_hdata","Hide Data"); 209: echo " "; 210: cbd("disp_pass","Show Passed"); 211: echo " "; 212: cbd("hide_graph","Hide Graph"); 213: echo "
";
217: 218: echo "
";
219: 220: echo "

";
221: 222: echo "Report from ".nicedt($startx)." to ".nicedt($finishx); 223: // echo " (".nicediff($finishx-$startx).")"; 224: echo "

";
225: 226: // graph data 227: if (!isset($_REQUEST['hide_graph'])) 228: { 229: mt_srand(microtime()*1000000); 230: $i=mt_rand(1000,1000000); 231: echo "

";
232: } 233: 234: // table data 235: 236: if (!isset($_REQUEST['disp_hdata'])) 237: { 238: $q="SELECT alertlevel,testvalue,recordx FROM fnrecord WHERE "; 239: $q.="testid=\"".ss($_REQUEST['testid'])."\" AND recordx>=".$startx." AND recordx<=".$finishx; 240: //if (!isset($_REQUEST['disp_pass'])) $q.=" AND alertlevel!=0"; 241: $q.=" ORDER BY recordx DESC"; 242: //echo $q; 243: $r=$NATS->DB->Query($q); 244: 245: $testc=0; 246: $tested=0; 247: $passc=0; 248: $warnc=0; 249: $failc=0; 250: $levelt=0; 251: 252: echo ""; 253: while ($row=$NATS->DB->Fetch_Array($r)) 254: { 255: if (isset($_REQUEST['disp_pass']) || ($row['alertlevel']!=0) ) 256: { 257: echo ""; 258: echo ""; 259: echo ""; 260: echo ""; 261: } 262: $testc++; 263: switch ($row['alertlevel']) 264: { 265: case 0: 266: $passc++; 267: $tested++; 268: $levelt+=$row['testvalue']; 269: break; 270: case 1: 271: $warnc++; 272: $tested++; 273: $levelt+=$row['testvalue']; 274: break; 275: case 2: 276: $failc++; 277: $tested++; 278: $levelt+=$row['testvalue']; 279: break; 280: } 281: } 282: 283: echo ""; 284: echo "
".nicedt($row['recordx'])."".oText($row['alertlevel'])."".$row['testvalue']."
";
285: } 286: echo "

";
287: echo ""; 288: 289: function np($big,$part) 290: { 291: if ($big==0) return "n/a"; 292: if ($part==0) return "0%"; 293: 294: $p=($part/$big)*100; 295: $p=round($p,2); 296: return $p."%"; 297: } 298: 299: 300: echo ""; 304: 305: $notpass=$tested-$passc; 306: 307: echo ""; 311: 312: echo ""; 313: 314: echo ""; 318: 319: echo ""; 323: 324: echo ""; 328: 329: echo ""; 333: 334: echo ""; 335: 336: echo ""; 337: echo ""; 342: 343: echo ""; 344: 345: echo ""; 349: 350: $nowx=time(); 351: if ($finishx>$nowx) $fx=$nowx; 352: else $fx=$nowx; 353: $p=$fx-$startx; 354: $five_min=60*5; 355: $shouldhave=floor($p/$five_min); 356: 357: 358: echo ""; 362: 363: echo "
".$passc." passed out of ".$tested." valid tests"; 301: echo " "; 302: echo np($tested,$passc); 303: echo "
".$notpass." did not pass out of ".$tested." valid tests"; 308: echo " "; 309: echo np($tested,$notpass); 310: echo "
 
".$warnc." generated warnings out of ".$tested." valid tests"; 315: echo " "; 316: echo np($tested,$warnc); 317: echo "
".$failc." generated failures out of ".$tested." valid tests"; 320: echo " "; 321: echo np($tested,$failc); 322: echo "
".$warnc." generated warnings out of ".$notpass." unpassed tests"; 325: echo " "; 326: echo np($notpass,$warnc); 327: echo "
".$failc." generated failures out of ".$notpass." unpassed tests"; 330: echo " "; 331: echo np($notpass,$failc); 332: echo "
 
the average test value returned by valid tests was "; 338: if ($tested<=0) echo "n/a"; 339: else if ($levelt==0) echo "0"; 340: else echo round($levelt/$tested,4); 341: echo "
 
".$testc." records of which ".$tested." returned a valid alert level"; 346: echo " "; 347: echo np($testc,$tested); 348: echo "
".$testc." records and you should have ".hlink("History:Should",12)." ".$shouldhave; 359: echo " "; 360: echo np($shouldhave,$testc); 361: echo "

";
364: 365: Screen_Footer(); 366: ?> 367: