| 
<?php
 /*
 ###################### chk4needle ######################
 ####                                                 ####
 ####    Author : Paul Soltermann,                    ####
 ####    eMail  : [email protected]   web: www.g2p.ch/myRGi/  ####
 ####    Date   : 2017-05-12                          ####
 ####    Updated:                                     ####
 ####                                                 ####
 #########################################################
 * example for use of class findneedle
 */
 ?>
 <!DOCTYPE html >
 <html>
 <head>
 <title>check4needle</title>
 <META HTTP-EQUIV="Content-Type" CONTENT="text-html: charset=UTF-8">
 
 <style type="text/css">
 tr
 {
 font-family: Arial, Helvetica, sans-serif;
 font-size: 12px;
 background-color: transparent;
 }
 tr#i
 {
 font-family: Arial, Helvetica, sans-serif;
 font-size: 12px;
 font-weight: bold;
 background-color: transparent;
 color: white;
 }
 input
 {
 font-family: Verdana, Arial, Helvetica, sans-serif;
 font-size: 12px;
 background-color: #D2CACA;
 color: #4A4A4A;
 }
 select
 {
 font-family: Verdana, Arial, Helvetica, sans-serif;
 font-size: 12px;
 
 color: #7F7F7F;
 }
 </style>
 </head>
 <body>
 <form action="<?php $_SERVER['PHP_SELF']; ?>" method="GET">
 <?php
 // Formulardaten anzeigen
 // foreach ($_GET as $k => $v) echo "Get: $k $v <br>";
 $status ="please select options and press go";
 
 $needle         = isset($_GET['needle'])? $_GET['needle'] :"eval";
 $spath             = isset($_GET['spath'])? $_GET['spath'] :"/var/www/html/";
 $mesh            = isset($_GET['mesh'])? $_GET['mesh'] :"php";
 $opt            = isset($_GET['opt'])? $_GET['opt'] :"screen_only";
 $directories    = isset($_GET['directories'])? TRUE:FALSE;
 $show        = isset($_GET['show'])? TRUE:FALSE;
 $go                = isset($_GET['go'])? TRUE:FALSE;
 
 
 
 echo"<table style = \"background-color:#FFAAAA;\" border=0 width=400 >";
 echo"<tr style=\"color:#715307;  font-weight: bolder;\"><td colspan=2>Easy locate <b>dangerous</b> foreign code (e)val<br>
 and<br>
 obsolete expressions (split) in your program library.</td></tr>";
 echo"<tr><td>";
 echo"<table style = \"background-color:#A49E9E;padding:10px;\" width=100%  >
 <tr id=i>
 <td width=130 >needle:</td>
 <td width=200 ><input name=needle  type=text  value=$needle ></td></tr>
 <tr id=i><td >base directory:</td>
 <td><input name=spath  type=text value=$spath ></td></tr>
 <tr id=i><td >text-filetyp in which to search:</td>
 <td>";
 echo"<select name=\"mesh\">";
 $mesh_arr = array(0 => 'choose a filetyp',1 => 'php',2 => 'txt');
 foreach ( $mesh_arr as $key => $val )
 {
 $sel = ($val == $mesh) ?  "selected" : "" ;
 echo "<option  value=$val $sel >$val</option>";
 }
 echo "</select>";
 
 echo"</td></tr>";
 echo"<tr id=i><td colspan=2 >output to:";
 
 $out_opt = array("screen_only","csv","txt");
 foreach ($out_opt as  $k => $v)
 {
 $sel = ($v == $opt) ? "checked" : "" ;
 echo "<input type='radio' $sel  name='opt' value=$v>$v";
 }
 echo"</td></tr>";
 if($go)
 {
 echo"<tr id=i><td><INPUT name=show type=submit value=\"show results\"></td>
 <td><INPUT name=directories type=submit value=\"show scanned directories\"></td></tr>";
 $status = "edit options or hit result or directory button";
 }
 
 echo"<tr id=i ><td><INPUT name=go type=submit value=go></td><td >it works fine on my web <a href=\"http://www.g2p.ch/myRGi/\" title=\"go to www.g2p.ch/myRGi/\"><img src=\"./favicon.jpg\" height=16 ></a></td></tr>";
 echo"</td></tr>";
 echo"</table>";
 $link =FALSE;
 if($go or $show or  $directories )
 {
 if($show or $directories)
 {
 $ts =  date("Ymd-His");
 $log = "./scores/needle_txt"."_$ts";
 if ($opt == 'csv') $log = $log.".csv";
 if ($opt == 'txt') $log = $log.".txt";
 
 require_once('./findneedle.php');
 $heugabel = new findneedle($log);
 $stat = $heugabel->open($log);
 if($heugabel==false)
 {
 echo $heugabel->error;
 die;
 }
 $wagen    = $heugabel->getHaystack($spath);
 if($directories)
 {
 $needle_box        = $heugabel->getEvents($wagen,$needle,$mesh);
 if(count($wagen) > 0 ) $heugabel->boost($wagen); else $status = "press \"no directory found\"";
 }
 elseif($show)
 {
 $needle_box        = $heugabel->getEvents($wagen,$needle,$mesh);
 if(count($needle_box) > 0 )
 {
 if($heugabel->needle_box($needle_box, $needle))
 $status ="please ckeck result table!";
 if($opt == 'txt' or $opt == 'csv' )
 {
 
 if($heugabel->needle_box_to_file($needle_box, $needle))
 if ($heugabel->close())
 {
 $link = TRUE;
 }
 else
 {
 $status = "fehler";
 }
 echo"<table  style = \"background-color:#FFAAAA;\" border=0 width=100%  ><tr><td>output written to $log.</td></tr></table>";
 }
 }
 elseif(count($needle_box) == 0)
 {
 $status = "\"$needle\""." not found in directory tree.";
 }
 }
 
 }
 else {$status = "press for results or scanned directories";}
 }else {$status = "please select options and press go";}
 echo"<table  style = \"background-color:#FFAAAA;\" border=0 width=100%  ><tr><td colspan=2>$status";
 if($link) echo"<a href=\"$log\" type=\"application/text\"><img  alt=\"$log\"</a></td>
 </tr></table>";
 echo"</table></form>";
 ?>
 
 |