<?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>";
 
?>
 
 
 |