<?php
// flat_file_engine.php
// RJM Programming
// April, 2017
// Flat file data source engine
//ourdatatable1
//|col1_1,col2_1,col3_1
//|internal1_1,internal2_1
//|r1c1_1,r1c2 1,r1c3_1~r2c1_1,r2c2_1,r2c3_1~r3c1_1,r3c2_1,r3c3_1~r4c1_1,r4c2_1,r4c3_1
//`
//ourdatatable2
//|col1_2,col2_2,col3_2
//|internal1_2,internal2_2
//|r1c1_2,r1c2_2,r1c3_2~r2c1_2,r2c2_2,r2c3_2~r3c1_2,r3c2_2,r3c3 2~r4c1_2,r4c2_2,r4c3_2
//`
$results="";
$insql="";
$datais="";
$yellow="yellow";
$irecord="";
$tnis="";
$fis="";
$deletenow=false;
$updatenow=-1;
$shownow=0;
$bitsd="";
$cwherefld="";
$cwhereeq="";
$cwhereval="";
$cwhereao="";
$cwheredelim="";
$cwheretrues="";
$cwheretrue=false;
$cwhereset="";
$gotridof="";

$cfilter=" function filter(oi) { 
 var iois=oi.value;
 var wasi=iois;
 iois=iois.replace(/\+/g, \"~ + char(43) + ~\");
 iois=iois.replace(/\'/g, \"' + char(39) + '\");
 iois=iois.replace(/\~ \+ char(43) \+ \~/g,\"' + char(43) + '\");
 iois=iois.replace(/\,/g, \"' + char(44) + '\");
 iois=iois.replace(/\`/g, \"' + char(96) + '\");
 iois=iois.replace(/\|/g, \"' + char(124) + '\");
 iois=iois.replace(/\~/g, \"' + char(126) + '\");
 iois=iois.replace(/\"/g, \"' + char(34) + '\");
 iois=iois.replace(/\' \+ char\(126\) \+ \' \+ char\(43\) \+ \' \+ char\(126\) \+ \'/g,\"' + char(43) + '\");
 if (iois != oi.value) {
   oi.value=iois;
   oi.title+=' ... ' + wasi;
 }
 return iois;
} 
";

function reverse_filter($iois) {
 $iois=str_replace("' + char(43) + '", "+",$iois);
 $iois=str_replace("' + char(39) + '", "'",$iois);
 $iois=str_replace("' + char(44) + '", ",",$iois);
 $iois=str_replace("' + char(96) + '", "`",$iois);
 $iois=str_replace("' + char(126) + '", "~",$iois);
 $iois=str_replace("' + char(124) + '", "|",$iois);
 $iois=str_replace("' + char(34) + '", '"',$iois);
 
 $iois=str_replace("' char(43) '", "+",$iois);
 $iois=str_replace("' char(39) '", "'",$iois);
 $iois=str_replace("' char(44) '", ",",$iois);
 $iois=str_replace("' char(96) '", "`",$iois);
 $iois=str_replace("' char(126) '", "~",$iois);
 $iois=str_replace("' char(124) '", "|",$iois);
 $iois=str_replace("' char(34) '", '"',$iois);
 
 $iois=str_replace("'  char(43)  '", "+",$iois);
 $iois=str_replace("'  char(39)  '", "'",$iois);
 $iois=str_replace("'  char(44)  '", ",",$iois);
 $iois=str_replace("'  char(96)  '", "`",$iois);
 $iois=str_replace("'  char(126)  '", "~",$iois);
 $iois=str_replace("'  char(124)  '", "|",$iois);
 $iois=str_replace("'  char(34)  '", '"',$iois);
 
 $iois=str_replace("'   char(43)   '", "+",$iois);
 $iois=str_replace("'   char(39)   '", "'",$iois);
 $iois=str_replace("'   char(44)   '", ",",$iois);
 $iois=str_replace("'   char(96)   '", "`",$iois);
 $iois=str_replace("'   char(126)   '", "~",$iois);
 $iois=str_replace("'   char(124)   '", "|",$iois);
 $iois=str_replace("'   char(34)   '", '"',$iois);
 return $iois;
}

function rev_filter($iois) {
 $iois=str_replace("' char(43) '", "' + char(43) + '",$iois);
 $iois=str_replace("' char(39) '", "' + char(39) + '",$iois);
 $iois=str_replace("' char(44) '", "' + char(44) + '",$iois);
 $iois=str_replace("' char(96) '", "' + char(96) + '",$iois);
 $iois=str_replace("' char(126) '", "' + char(126) + '",$iois);
 $iois=str_replace("' char(124) '", "' + char(124) + '",$iois);
 $iois=str_replace("' char(34) '", "' + char(34) + '",$iois);
 
 $iois=str_replace("'  char(43)  '", "' + char(43) + '",$iois);
 $iois=str_replace("'  char(39)  '", "' + char(39) + '",$iois);
 $iois=str_replace("'  char(44)  '", "' + char(44) + '",$iois);
 $iois=str_replace("'  char(96)  '", "' + char(96) + '",$iois);
 $iois=str_replace("'  char(126)  '", "' + char(126) + '",$iois);
 $iois=str_replace("'  char(124)  '", "' + char(124) + '",$iois);
 $iois=str_replace("'  char(34)  '", "' + char(34) + '",$iois);
 
 $iois=str_replace("'   char(43)   '", "' + char(43) + '",$iois);
 $iois=str_replace("'   char(39)   '", "' + char(39) + '",$iois);
 $iois=str_replace("'   char(44)   '", "' + char(44) + '",$iois);
 $iois=str_replace("'   char(96)   '", "' + char(96) + '",$iois);
 $iois=str_replace("'   char(126)   '", "' + char(126) + '",$iois);
 $iois=str_replace("'   char(124)   '", "' + char(124) + '",$iois);
 $iois=str_replace("'   char(34)   '", "' + char(34) + '",$iois);
 
 $iois=str_replace(" + char(126) + ' char(43) ' + char(126) + "," + char(43) + ",$iois);
 return $iois;
}

function within($cwheresset, $inrecis, $inrecsis, $colsarris) {
  $outrec=$inrecis;
  $ju=0;
  for ($iu=0; $iu<sizeof($cwheresset); $iu++) {
    $fldname=str_replace(" SET ","",explode("=",$cwheresset[$iu])[0]);
    if (strpos($cwheresset[$iu],"='") !== false) {
      $versus=str_replace("`","",str_replace("'`","",(explode("='",$cwheresset[$iu])[1] . "`")));
    } else {
      $versus=explode("=",$cwheresset[$iu])[1];
    }
    $interim="";
    $idel="";
    for ($ku=0; $ku<sizeof($colsarris); $ku++) {
      if ($fldname == $colsarris[$ku]) {
        $interim.=$idel . $versus;
      } else {
        $interim.=$idel . $inrecsis[$ku];
      }
      $idel=",";
    }
    $outrec=$interim;
  }
  //echo $outrec . "<br>";
  return $outrec;   
}

function isrec_relevant($inrecis, $colarris, $arrayindex, $uptonow) {
  global $bitsd,$cwhereset,$cwherefld,$cwhereeq,$cwhereval,$cwhereao,$cwheretrues,$cwheredelim,$cwheretrue,$deletenow,$updatenow,$shownow;
  if (!$cwheretrue) return true;
  $colsarris=explode(',',$colarris);
  $inrecsis=explode(',',$inrecis);
  $cwheresset=explode(',',$cwhereset);
  $cwheresfld=explode(',',$cwherefld);
  $cwhereweq=explode(',',$cwhereeq);
  $cwheresval=explode(',',$cwhereval);
  $cwheresao=explode(',',$cwhereao);
  $cwherestrues=explode(',',$cwheretrues);
  $ju=0;
  $val="";
  $versus="";
  $retval=$cwheretue;
  for ($iu=0; $iu<sizeof($cwheresfld); $iu++) {
    $versus=$cwheresval[$iu];
    for ($ku=0; $ku<sizeof($colsarris); $ku++) {
      if ($cwheresfld[$iu] == $colsarris[$ku]) {
        $ju=$ku;
        $val=$inrecsis[$ku];
        //echo $iu . " " . $ku . " " . $cwhereweq[$iu] . "<br>";
        if ($cwhereweq[$iu] == "=") {
          if ($val == $versus) {
            //echo sizeof($cwheresfld) . " val=" . $val . " versus=" . $versus . " equal<br>";
            $cwherestrues[$iu] = "1";
          } else {
            //echo sizeof($cwheresfld) . " val=" . $val . " versus=" . $versus . " not equal<br>";
            $cwherestrues[$iu] = "0";
          }
        } else if ($cwhereweq[$iu] == "!=") {
          if ($val == $versus) {
            $cwherestrues[$iu] = "0";
          } else {
            $cwherestrues[$iu] = "1";
          }
        } else if ($cwhereweq[$iu] == ">") {
          if ($val > $versus) {
            $cwherestrues[$iu] = "1";
          } else {
            $cwherestrues[$iu] = "0";
          }
        } else if ($cwhereweq[$iu] == ">=") {
          if ($val >= $versus) {
            $cwherestrues[$iu] = "1";
          } else {
            $cwherestrues[$iu] = "0";
          }
        } else if ($cwhereweq[$iu] == "<") {
          if ($val < $versus) {
            $cwherestrues[$iu] = "1";
          } else {
            $cwherestrues[$iu] = "0";
          }
        } else if ($cwhereweq[$iu] == "<=") {
          if ($val <= $versus) {
            $cwherestrues[$iu] = "1";
          } else {
            $cwherestrues[$iu] = "0";
          }
         } else if (str_replace("not","",$cwhereweq[$iu]) != $cwhereweq[$iu] && str_replace("like","",$cwhereweq[$iu]) != $cwhereweq[$iu]) {
          $huhf=preg_match("/" . $versus . "/",$val);
          if ($huhf == 1) {
            $cwherestrues[$iu] = "0";
          } else {
            $cwherestrues[$iu] = "1";
          }
         } else if (str_replace("like","",$cwhereweq[$iu]) != $cwhereweq[$iu]) {
          $huhf=preg_match("/" . $versus . "/",$val);
          //echo $cwhereweq[$iu] . "  " . $huhf . "<br>";
          if ($huhf == 1) {
            //echo "here at versus,val=" . $versus . "," . $val . " " . preg_match("/" . $versus . "/",$val) . "<br>";
            $cwherestrues[$iu] = "1";
          } else {
            $cwherestrues[$iu] = "0";
          }
       }  
      }
    }
  }
  if ($cwherestrues[0] == "1") $retval=true;
  if ($cwherestrues[0] == "0") $retval=false;
  for ($iu=1; $iu<sizeof($cwherestrues); $iu++) {
    if (!$retval && $cwherestrues[$iu] == "1" && $cwheresao == "OR") {
      $retval=true;
    } else if (!$retval && $cwherestrues[$iu] == "1" && $cwheresao != "OR") {
      if ($retval) {
        $shownow=0;
        $updatenow=0;
        $deletenow=true;
        //echo $inrecis . "  " . $colarris . "  " . $arrayindex . " d " . $retval . "<br>";
if (strpos($bitsd, "~" . $inrecis . "~") !== false) {
    if ($cwhereset != "") {
    $outrecis=within($cwheresset, $inrecis, $inrecsis, $colsarris);
    $bitsd=str_replace("~" . $inrecis . "~","~" . $outrecis . "~",$bitsd);
    } else {
    $bitsd=str_replace("~" . $inrecis . "~","~",$bitsd);
//if ($bitsd != "") echo $inrecis . " " . $bitsd . "<br>";
}
  } else if (strpos($bitsd, $inrecis . "~") !== false) {
    if ($cwhereset != "") {
    $outrecis=within($cwheresset, $inrecis, $inrecsis, $colsarris);
    $bitsd=str_replace($inrecis . "~",$outrecis . "~",$bitsd);
    } else {
    $bitsd=str_replace($inrecis . "~","",$bitsd);
//if ($bitsd != "") echo $inrecis . " " . $bitsd . "<br>";
}
  } else if (strpos($bitsd, "~" . $inrecis) !== false) {
    if ($cwhereset != "") {
    $outrecis=within($cwheresset, $inrecis, $inrecsis, $colsarris);
    $bitsd=str_replace($inrecis . "~",$outrecis . "~",$bitsd);
    } else {
    $bitsd=str_replace("~" . $inrecis,"",$bitsd);
//if ($bitsd != "") echo $inrecis . " " . $bitsd . "<br>";
}
      }  
  } 
      return $retval;
    } else if ($retval && $cwherestrues[$iu] == "1" && $cwheresao != "OR") {
      $retval=true;
    } else if ($retval && $cwherestrues[$iu] == "1" && $cwheresao == "OR") {
      if ($retval) {
        $shownow=0;
        $updatenow=0;
        $deletenow=true;
if (strpos($bitsd, "~" . $inrecis . "~") !== false) {
    if ($cwhereset != "") {
    $outrecis=within($cwheresset, $inrecis, $inrecsis, $colsarris);
    $bitsd=str_replace("~" . $inrecis . "~","~" . $outrecis . "~",$bitsd);
    } else {
    $bitsd=str_replace("~" . $inrecis . "~","~",$bitsd);
//if ($bitsd != "") echo $inrecis . " " . $bitsd . "<br>";
}
  } else if (strpos($bitsd, $inrecis . "~") !== false) {
    if ($cwhereset != "") {
    $outrecis=within($cwheresset, $inrecis, $inrecsis, $colsarris);
    $bitsd=str_replace($inrecis . "~",$outrecis . "~",$bitsd);
    } else {
    $bitsd=str_replace($inrecis . "~","",$bitsd);
//if ($bitsd != "") echo $inrecis . " " . $bitsd . "<br>";
}
  } else if (strpos($bitsd, "~" . $inrecis) !== false) {
    if ($cwhereset != "") {
    $outrecis=within($cwheresset, $inrecis, $inrecsis, $colsarris);
    $bitsd=str_replace("~" . $inrecis,"~" . $outrecis,$bitsd);
    } else {
    $bitsd=str_replace("~" . $inrecis,"",$bitsd);
//if ($bitsd != "") echo $inrecis . " " . $bitsd . "<br>";
}
      }  
  } 
      //echo $inrecis . " x " . $colarris . " x " . $arrayindex . " d " . $retval . "<br>";
      return $retval;
    } else if (!$retval && $cwherestrues[$iu] == "0" && $cwheresao == "OR") {
      $retval=false;
    } else if (!$retval && $cwherestrues[$iu] == "0" && $cwheresao != "OR") {
      if ($retval) {
        $shownow=0;
        $updatenow=0;
        $deletenow=true;
if (strpos($bitsd, "~" . $inrecis . "~") !== false) {
    if ($cwhereset != "") {
    $outrecis=within($cwheresset, $inrecis, $inrecsis, $colsarris);
    $bitsd=str_replace("~" . $inrecis . "~","~" . $outrecis . "~",$bitsd);
    } else {
    $bitsd=str_replace("~" . $inrecis . "~","~",$bitsd);
//if ($bitsd != "") echo $inrecis . " " . $bitsd . "<br>";
}
  } else if (strpos($bitsd, $inrecis . "~") !== false) {
    if ($cwhereset != "") {
    $outrecis=within($cwheresset, $inrecis, $inrecsis, $colsarris);
    $bitsd=str_replace($inrecis . "~",$outrecis . "~",$bitsd);
    } else {
    $bitsd=str_replace($inrecis . "~","",$bitsd);
//if ($bitsd != "") echo $inrecis . " " . $bitsd . "<br>";
}
  } else if (strpos($bitsd, "~" . $inrecis) !== false) {
    if ($cwhereset != "") {
    $outrecis=within($cwheresset, $inrecis, $inrecsis, $colsarris);
    $bitsd=str_replace("~" . $inrecis,"~" . $outrecis,$bitsd);
    } else {
    $bitsd=str_replace("~" . $inrecis,"",$bitsd);
//if ($bitsd != "") echo $inrecis . " " . $bitsd . "<br>";
}
      } 
      } 
            //echo $inrecis . " z " . $colarris . " z " . $arrayindex . " d " . $retval . "<br>";
      return $retval;
    } else if ($retval && $cwherestrues[$iu] == "0" && $cwheresao != "OR") {
      $retval=false;
      if ($retval) {
        $shownow=0;
        $updatenow=0;
        $deletenow=true;
if (strpos($bitsd, "~" . $inrecis . "~") !== false) {
    if ($cwhereset != "") {
    $outrecis=within($cwheresset, $inrecis, $inrecsis, $colsarris);
    $bitsd=str_replace("~" . $inrecis . "~","~" . $outrecis . "~",$bitsd);
    } else {
    $bitsd=str_replace("~" . $inrecis . "~","~",$bitsd);
//if ($bitsd != "") echo $inrecis . " " . $bitsd . "<br>";
}
  } else if (strpos($bitsd, $inrecis . "~") !== false) {
    if ($cwhereset != "") {
    $outrecis=within($cwheresset, $inrecis, $inrecsis, $colsarris);
    $bitsd=str_replace($inrecis . "~",$outrecis . "~",$bitsd);
    } else {
    $bitsd=str_replace($inrecis . "~","",$bitsd);
//if ($bitsd != "") echo $inrecis . " " . $bitsd . "<br>";
}
  } else if (strpos($bitsd, "~" . $inrecis) !== false) {
    if ($cwhereset != "") {
    $outrecis=within($cwheresset, $inrecis, $inrecsis, $colsarris);
    $bitsd=str_replace("~" . $inrecis,"~" . $outrecis,$bitsd);
    } else {
    $bitsd=str_replace("~" . $inrecis,"",$bitsd);
//if ($bitsd != "") echo $inrecis . " " . $bitsd . "<br>";
}
      }  
      } 
      //echo $inrecis . " b " . $colarris . " b " . $arrayindex . " d " . $retval . "<br>";
      return $retval;
    } else if ($retval && $cwherestrues[$iu] == "0" && $cwheresao == "OR") {
      $retval=true;
    }
  }
  if ($retval) {
    $shownow=0;
    $updatenow=0;
    $deletenow=true;
if (strpos($bitsd, "~" . $inrecis . "~") !== false) {
    if ($cwhereset != "") {
    $outrecis=within($cwheresset, $inrecis, $inrecsis, $colsarris);
    $bitsd=str_replace("~" . $inrecis . "~","~" . $outrecis . "~",$bitsd);
    } else {
    $bitsd=str_replace("~" . $inrecis . "~","~",$bitsd);
//if ($bitsd != "") echo $inrecis . " " . $bitsd . "<br>";
}
  } else if (strpos($bitsd, $inrecis . "~") !== false) {
    if ($cwhereset != "") {
    $outrecis=within($cwheresset, $inrecis, $inrecsis, $colsarris);
    $bitsd=str_replace($inrecis . "~",$outrecis . "~",$bitsd);
    } else {
    $bitsd=str_replace($inrecis . "~","",$bitsd);
//if ($bitsd != "") echo $inrecis . " " . $bitsd . "<br>";
}
  } else if (strpos($bitsd, "~" . $inrecis) !== false) {
     if ($cwhereset != "") {
    $outrecis=within($cwheresset, $inrecis, $inrecsis, $colsarris);
    $bitsd=str_replace("~" . $inrecis,"~" . $outrecis,$bitsd);
    } else {
   $bitsd=str_replace("~" . $inrecis,"",$bitsd);
//if ($bitsd != "") echo $inrecis . " " . $bitsd . "<br>";
}
      }    
      //echo $inrecis . " d " . $colarris . " d " . $arrayindex . " d " . $cwhereval . " d " . $cwherestrues[0] . "GG" . $retval . "<br>";
  } 
  //echo $inrecis . " d " . $colarris . " d " . $arrayindex . " d " . $cwhereval . " d " . sizeof($cwherestrues) . "F" . $cwherestrues[0] . "G" . $retval . "<br>";
  return $retval;
}

if (!isset($_GET['first'])) {
if (isset($_GET['sql'])) {
  $insql=urldecode($_GET['sql']);
} else if (isset($_POST['sql'])) {
  $insql=urldecode($_POST['sql']);
}

if (isset($_POST['ssql'])) {
  $tnis=urldecode($_POST['stable']);
  $insql="SELECT * FROM " . $tnis;
} else if (isset($_POST['isql'])) {
  $tnis=urldecode($_POST['itable']);
  $insql="INSERT INTO " . $tnis;
} else if (isset($_POST['usql'])) {
  $tnis=urldecode($_POST['utable']);
  $insql="UPDATE " . $tnis . " SET 1=1 WHERE 1=1";
} else if (isset($_POST['dsql'])) {
  $tnis=urldecode($_POST['dtable']);
  $insql="DELETE FROM " . $tnis;
}

$iwhatisleft=explode("INSERT INTO ", $insql);
$dwhatisleft=explode("DELETE FROM ", $insql);
$uwhatisleft=explode("UPDATE ", $insql);

if (isset($_GET['file'])) {
  $fis=urldecode($_GET['file']);
  $datais=@file_get_contents(urldecode($_GET['file']));
} else if (isset($_POST['file'])) {
  $fis=urldecode($_POST['file']);
  $datais=@file_get_contents(urldecode($_POST['file']));
} else if (file_exists("flat_file.dat")) {
  $fis="flat_file.dat";
  $datais=@file_get_contents("flat_file.dat");
}

$dbrecs=explode("`", $datais);
$insideoptions="";
$cwherefld="";
$cwhereeq="";
$cwhereval="";
$cwhereao="";
$cwheredelim="";
$cwheretrues="";
$cwheretrue=false;
$cwhereset="";
    
for ($i=0; $i<sizeof($dbrecs); $i++) {
  if (strpos($dbrecs[$i],"|") !== false) {
    $ucollistbit="";
    $uwcollistbit="";
    $collistbit="";
    $blanks="";
    $dl="";
    $cdl="'";
    $acdl="";
    $aacdl="";
    $eqetc="<select title=EqEtc onchange='ltitle=String.fromCharCode(32);' onclick='ltitle=String.fromCharCode(32);' name=eq?><option value='='>=</option><option value='!='>!=</option><option value='<'>&lt;</option><option value='>'>&gt;</option><option value='<='>&lt;=</option><option value='>='>&gt;=</option><option value=' like '> like </option><option value=' not like '> not like </option></select>";
    $andor="<select title=AndOr onchange='ltitle=String.fromCharCode(32);' onclick='ltitle=String.fromCharCode(32);' name=ao?><option value=AND>AND</option><option value=OR>OR</option></select>";
    $selgen="<select title=SelGen onchange='ltitle=String.fromCharCode(32);' onclick='ltitle=String.fromCharCode(32);' name=n?></select>";
    $bits=explode("|",$dbrecs[$i]);
    $colblanks=explode(",",str_replace("\n","",$bits[1]));
    if (sizeof($bits) == 4 && isset($_POST['isql']) && str_replace("\n","",$bits[0]) == $tnis) {
      $insql.=" (" . str_replace("\n","",$bits[1]) . ") VALUES (";
      $rows=explode("~",$bits[3]);
      if (str_replace("\n","",$bits[3]) != "") {
        if ($irecord == "") $irecord="~";
      }
    }
    $idelim="";

    for ($ii=0; $ii<sizeof($colblanks); $ii++) {
        $selgen=str_replace("</select>","<option value=" . $colblanks[$ii] . ">" . $colblanks[$ii] . "</option></select>",$selgen);

        if ($ii == 0) { // update where
          if (!isset($_POST['nw' . $colblanks[$ii]]) && isset($_POST['usql']) && str_replace("\n","",$bits[0]) == $tnis) {
            $updatenow=0;
          } else if (isset($_POST['eqq' . $colblanks[$ii]]) && isset($_POST['nw' . $colblanks[$ii]]) && isset($_POST['usql']) && str_replace("\n","",$bits[0]) == $tnis) {
            if (isset($_POST['ao' . $colblanks[$ii]])) $cwhereao=urldecode($_POST['ao' . $colblanks[$ii]]);
            $cwherefld=urldecode($_POST['nw' . $colblanks[$ii]]);
            $cwhereeq=urldecode($_POST['eqq' . $colblanks[$ii]]);
            $cwhereval=urldecode($_POST['ux_' . $colblanks[$ii]]);
            $cwhereset=" SET " . urldecode($_POST['un' . $colblanks[$ii]]) . "='" . urldecode($_POST['u' . $colblanks[$ii]]) . "'";
            $cwheretrues="0";
            $cwheretrue=true;
            $cwheredelim=",";
            $bitsd=str_replace("\n","",$bits[3]);
            $insql=str_replace(" SET 1=1 WHERE 1=1","",$insql) . " WHERE " . $cwherefld . $cwhereeq . "'" . $cwhereval . "'";
          }
        } else if ($cwheredelim != "" && isset($_POST['nw' . $colblanks[$ii]]) && isset($_POST['usql']) && str_replace("\n","",$bits[0]) == $tnis) {
            if (isset($_POST['ao' . $colblanks[$ii]])) $cwhereao.=$cwheredelim . urldecode($_POST['ao' . $colblanks[$ii]]);
            $cwherefld.=$cwheredelim . urldecode($_POST['nw' . $colblanks[$ii]]);
            $cwhereeq.=$cwheredelim . urldecode($_POST['eqq' . $colblanks[$ii]]);
            $cwhereval.=$cwheredelim . urldecode($_POST['ux_' . $colblanks[$ii]]);
            $cwheretrues.=$cwheredelim . "0";
            $cwheretrue=true;
            $cwheredelim=",";
            $bitsd=str_replace("\n","",$bits[3]);
            if (isset($_POST['un' . $colblanks[$ii]])) $cwhereset.=$cwheredelim . urldecode($_POST['un' . $colblanks[$ii]]) . "='" . urldecode($_POST['u' . $colblanks[$ii]]) . "'";
            $insql.=" " . urldecode($_POST['ao' . $colblanks[$ii]]) . " " . urldecode($_POST['nw' . $colblanks[$ii]]) . urldecode($_POST['eqq' . $colblanks[$ii]]) . "'" . urldecode($_POST['ux_' . $colblanks[$ii]]) . "'";
        } else if ($cwheredelim != "" && isset($_POST['un' . $colblanks[$ii]]) && isset($_POST['usql']) && str_replace("\n","",$bits[0]) == $tnis) {
			$cwhereset.=$cwheredelim . urldecode($_POST['un' . $colblanks[$ii]]) . "='" . urldecode($_POST['u' . $colblanks[$ii]]) . "'";
            $bitsd=str_replace("\n","",$bits[3]);
        }

        if ($ii == 0) { // delete where
          if (!isset($_POST['ynw' . $colblanks[$ii]]) && isset($_POST['dsql']) && str_replace("\n","",$bits[0]) == $tnis) {
            $deletenow=true;
          } else if (isset($_POST['yeqq' . $colblanks[$ii]]) && isset($_POST['ynw' . $colblanks[$ii]]) && isset($_POST['dsql']) && str_replace("\n","",$bits[0]) == $tnis) {
            if (isset($_POST['yao' . $colblanks[$ii]])) $cwhereao=urldecode($_POST['yao' . $colblanks[$ii]]);
            $cwherefld=urldecode($_POST['ynw' . $colblanks[$ii]]);
            $cwhereeq=urldecode($_POST['yeqq' . $colblanks[$ii]]);
            $cwhereval=urldecode($_POST['yux_' . $colblanks[$ii]]);
            $cwheretrues="0";
            $cwheretrue=true;
            $cwheredelim=",";
            $insql.=" WHERE " . $cwherefld . $cwhereeq . "'" . $cwhereval . "'";
            $bitsd=str_replace("\n","",$bits[3]);
          }
        } else if ($cwheredelim != "" && isset($_POST['ynw' . $colblanks[$ii]]) && isset($_POST['dsql']) && str_replace("\n","",$bits[0]) == $tnis) {
            if (isset($_POST['yao' . $colblanks[$ii]])) $cwhereao.=$cwheredelim . urldecode($_POST['yao' . $colblanks[$ii]]);
            $cwherefld.=$cwheredelim . urldecode($_POST['ynw' . $colblanks[$ii]]);
            $cwhereeq.=$cwheredelim . urldecode($_POST['yeqq' . $colblanks[$ii]]);
            $cwhereval.=$cwheredelim . urldecode($_POST['yux_' . $colblanks[$ii]]);
            $cwheretrues.=$cwheredelim . "0";
            $cwheretrue=true;
            $cwheredelim=",";
            $insql.=" " . urldecode($_POST['yao' . $colblanks[$ii]]) . " " . urldecode($_POST['ynw' . $colblanks[$ii]]) . urldecode($_POST['yeqq' . $colblanks[$ii]]) . "'" . urldecode($_POST['yux_' . $colblanks[$ii]]) . "'";
            $bitsd=str_replace("\n","",$bits[3]);
        }
        
        if ($ii == 0) { // select where
          if (!isset($_POST['knw' . $colblanks[$ii]]) && isset($_POST['ssql']) && str_replace("\n","",$bits[0]) == $tnis) {
            $shownow=0;
          } else if (isset($_POST['keqq' . $colblanks[$ii]]) && isset($_POST['knw' . $colblanks[$ii]]) && isset($_POST['ssql']) && str_replace("\n","",$bits[0]) == $tnis) {
            if (isset($_POST['kao' . $colblanks[$ii]])) $cwhereao==urldecode($_POST['kao' . $colblanks[$ii]]);
            $cwherefld=urldecode($_POST['knw' . $colblanks[$ii]]);
            $cwhereeq=urldecode($_POST['keqq' . $colblanks[$ii]]);
            $cwhereval=urldecode($_POST['kux_' . $colblanks[$ii]]);
            $cwheretrues="0";
            $cwheretrue=true;
            $cwheredelim=",";
            $insql.=" WHERE " . $cwherefld . $cwhereeq . "'" . $cwhereval . "'";
          }
        } else if ($cwheredelim != "" && isset($_POST['knw' . $colblanks[$ii]]) && isset($_POST['ssql']) && str_replace("\n","",$bits[0]) == $tnis) {
            if (isset($_POST['kao' . $colblanks[$ii]])) $cwhereao.=$cwheredelim . urldecode($_POST['kao' . $colblanks[$ii]]);
            $cwherefld.=$cwheredelim . urldecode($_POST['knw' . $colblanks[$ii]]);
            $cwhereeq.=$cwheredelim . urldecode($_POST['keqq' . $colblanks[$ii]]);
            $cwhereval.=$cwheredelim . urldecode($_POST['kux_' . $colblanks[$ii]]);
            $cwheretrues.=$cwheredelim . "0";
            $cwheretrue=true;
            $cwheredelim=",";
            $insql.=" " . urldecode($_POST['kao' . $colblanks[$ii]]) . " " . urldecode($_POST['knw' . $colblanks[$ii]]) . urldecode($_POST['keqq' . $colblanks[$ii]]) . "'" . urldecode($_POST['kux_' . $colblanks[$ii]]) . "'";
        }
        if (isset($_POST[$colblanks[$ii]]) && isset($_POST['isql']) && str_replace("\n","",$bits[0]) == $tnis) {
          $irecord.=($idelim . str_replace('`','',str_replace('~','',str_replace(',','',str_replace('|','',urldecode($_POST[$colblanks[$ii]]))))));
          $insql.=($idelim . "'" . str_replace('`','',str_replace('~','',str_replace(',','',str_replace('|','',urldecode($_POST[$colblanks[$ii]])))))) . "'";
          $idelim=",";
        }
    }
    if (isset($_POST['isql']) && sizeof($iwhatisleft) == 2 && str_replace("\n","",$bits[0]) == $tnis) {
        $insql.=")";
        $newdatais=str_replace(rtrim($dbrecs[$i]), rtrim($dbrecs[$i]) . $irecord, $datais);
        file_put_contents($fis, rev_filter($newdatais));
    } 
    if (isset($_POST['dsql']) && sizeof($dwhatisleft) == 2 && str_replace("\n","",$bits[0]) == $tnis && ($deletenow || $bitsd != "")) {
        if ($bitsd != "") {
       $gotridof="; /* ... got rid of the following record(s) ... */";
       $jnum=0;
       for ($qi=0; $qi<sizeof($dbrecs); $qi++) {
        if (str_replace("\n","",explode("|",$dbrecs[$qi])[0]) == explode(" ",$tnis)[0]) {
          $bits=explode("|",$dbrecs[$qi]);
          if (sizeof($bits) == 4) {
            $yellow="orange";
            $results.="<table border=20 cellspacing=15 cellpadding=15><thead><tr><th>#</th></tr></thead><tbody></tbody></table><br><br>";
            $cols=explode(",",$bits[1]);
            for ($j=0; $j<sizeof($cols); $j++) {
              $results=str_replace("</tr>", "<th><b>" . str_replace("\n","",$cols[$j]) . "</b></th></tr>", $results);
            }
            $rows=explode("~",$bits[3]);
            for ($j=0; $j<sizeof($rows); $j++) {
             $rowcols=explode(",", $rows[$j]);
             $show=false;
             for ($jj=0; $jj<sizeof($rowcols); $jj++) {
               if ($jj == 0) $show=isrec_relevant(reverse_filter($rows[$j]), str_replace("\n","",$bits[1]), $j, false);
             }
             if ($show) {
               $results=str_replace("</tbody>", "<tr><td><i>" . ($jnum + 1) . "</i></td></tr></tbody>", $results);
               $jnum++;
             }
             for ($jj=0; $jj<sizeof($rowcols); $jj++) {
              //$show=false;
              //if ($jj == 0) $show=isrec_relevant(reverse_filter($rows[$j]), str_replace("\n","",$bits[1]), $j, false);
              if ($show) $results=str_replace("</tr></tbody>", "<td>" . reverse_filter($rowcols[$jj]) . "</td></tr></tbody>", $results);
             }
            }
            if ($jnum == 1) {
             $results.="<h4 id=zrs>" . $jnum . " row selected.</h4>";
            } else {
             $results.="<h4 id=zrs>" . $jnum . " rows selected.</h4>";
            }
            if ($shownow < 0) $results="<h4 id=zrs>No rows found with " . rev_filter($qinsql) . "</h4>";
          } else {
            $results="<p>Data table called " . explode(" ",$whatisleft[1])[0] . " found in flat file database has invalid data content.</p><br><br>";
          }
        }
       }
       //echo $bitsd . "<br><br>";
      }
        $deletenow=true;
        if (rtrim($bits[3]) != "") {
          if ($bitsd != "") {
            //if (strpos(rtrim($dbrecs[$i]),rtrim($bits[3])) !== false) echo "is " . rtrim($bitsd) . " in " . rtrim($dbrecs[$i]);
            $newdatais=str_replace(rtrim($dbrecs[$i]), str_replace(rtrim($bits[3]),rtrim($bitsd),rtrim($dbrecs[$i])), $datais);
          } else {
            $newdatais=str_replace(rtrim($dbrecs[$i]), str_replace(rtrim($bits[3]),"",rtrim($dbrecs[$i])), $datais);
          }
          file_put_contents($fis, rev_filter($newdatais));
        }
    } 


    if (isset($_POST['usql']) && sizeof($uwhatisleft) == 2 && str_replace("\n","",$bits[0]) == $tnis && ($updatenow >= 0 || $bitsd != "")) {
        if ($bitsd != "") {
       $gotridof="; /* ... updated the following record(s) ... */";
       $jnum=0;
       for ($qi=0; $qi<sizeof($dbrecs); $qi++) {
        if (str_replace("\n","",explode("|",$dbrecs[$qi])[0]) == explode(" ",$tnis)[0]) {
          $bits=explode("|",$dbrecs[$qi]);
          if (sizeof($bits) == 4) {
            $yellow="orange";
            $results.="<table border=20 cellspacing=15 cellpadding=15><thead><tr><th>#</th></tr></thead><tbody></tbody></table><br><br>";
            $cols=explode(",",$bits[1]);
            for ($j=0; $j<sizeof($cols); $j++) {
              $results=str_replace("</tr>", "<th><b>" . str_replace("\n","",$cols[$j]) . "</b></th></tr>", $results);
            }
            $rows=explode("~",$bits[3]);
            for ($j=0; $j<sizeof($rows); $j++) {
             $rowcols=explode(",", $rows[$j]);
             $show=false;
             for ($jj=0; $jj<sizeof($rowcols); $jj++) {
               if ($jj == 0) $show=isrec_relevant(reverse_filter($rows[$j]), str_replace("\n","",$bits[1]), $j, false);
             }
             if ($show) {
               $results=str_replace("</tbody>", "<tr><td><i>" . ($jnum + 1) . "</i></td></tr></tbody>", $results);
               $jnum++;
             }
             for ($jj=0; $jj<sizeof($rowcols); $jj++) {
              //$show=false;
              //if ($jj == 0) $show=isrec_relevant(reverse_filter($rows[$j]), str_replace("\n","",$bits[1]), $j, false);
              if ($show) $results=str_replace("</tr></tbody>", "<td>" . reverse_filter($rowcols[$jj]) . "</td></tr></tbody>", $results);
             }
            }
            if ($jnum == 1) {
             $results.="<h4 id=zrs>" . $jnum . " row selected.</h4>";
            } else {
             $results.="<h4 id=zrs>" . $jnum . " rows selected.</h4>";
            }
            if ($shownow < 0) $results="<h4 id=zrs>No rows found with " . rev_filter($qinsql) . "</h4>";
          } else {
            $results="<p>Data table called " . explode(" ",$whatisleft[1])[0] . " found in flat file database has invalid data content.</p><br><br>";
          }
        }
       }
       //echo $bitsd . "<br><br>";
      }
        $updatenow=0;
        if (rtrim($bits[3]) != "") {
          if ($bitsd != "") {
            //if (strpos(rtrim($dbrecs[$i]),rtrim($bits[3])) !== false) echo "is " . rtrim($bitsd) . " in " . rtrim($dbrecs[$i]);
            $newdatais=str_replace(rtrim($dbrecs[$i]), str_replace(rtrim($bits[3]),rtrim($bitsd),rtrim($dbrecs[$i])), $datais);
          } else {
            $newdatais=str_replace(rtrim($dbrecs[$i]), str_replace(rtrim($bits[3]),"",rtrim($dbrecs[$i])), $datais);
          }
          file_put_contents($fis, rev_filter($newdatais));
        }
    } 



    for ($ii=0; $ii<sizeof($colblanks); $ii++) {
        $blanks.=$dl . "''";
        $ucollistbit.=$aacdl . str_replace("'","",$cdl) . str_replace(" value=" . $colblanks[$ii], " selected value=" . $colblanks[$ii], str_replace("?",$colblanks[$ii],$selgen)) . "=" . str_replace(",","",$cdl) . "<input onblur=filter(this); onclick=ltitle=this.title; title=Where style=display:inline; name=" .  $colblanks[$ii] . " type=text value=></input>" . str_replace(",","",str_replace(",'","'</div>",$cdl));
        $uwcollistbit.=$acdl . str_replace(" value=" . $colblanks[$ii], " selected value=" . $colblanks[$ii], str_replace("?","w" . $colblanks[$ii],$selgen)) . str_replace("?","q" . $colblanks[$ii],$eqetc) . str_replace(",","",$cdl) . "<input onblur=filter(this); onclick=ltitle=this.title; title=Where style=display:inline; name=ux_" .  $colblanks[$ii] . " type=text value=></input>" . str_replace(",","",str_replace(",'","'</div>",$cdl));
        $collistbit.=$cdl . "<input onblur=filter(this); onclick=ltitle=this.title; title=" .  $colblanks[$ii] . " style=display:inline; name=" .  $colblanks[$ii] . " type=text value=></input>" . str_replace(",","",$cdl);
        $dl=",";
        $cdl=",'";
        if ($ii < (-1 + sizeof($colblanks))) {
          $acdl=" <div style=display:inline; id=cb_" .  $colblanks[1 + $ii] . " onclick=oc(this); title=ClickDeletes> " . str_replace("?",$colblanks[1 + $ii],$andor) . " ";
          $aacdl="<div style=display:inline; id=bc_" .  $colblanks[1 + $ii] . " onclick=oc(this); title=ClickDeletes>";
        }
    }
    $insideoptions.="<option title=\"" . explode("\n", $bits[1])[0] . "|" . $blanks . "|" . $collistbit . "|" . $ucollistbit . "|" . $uwcollistbit . "\" value='" . str_replace("\n","",explode("|",$dbrecs[$i])[0]) . "'>" . str_replace("\n","",explode("|",$dbrecs[$i])[0]) . "</option>";
  }
}

$ask="<form target='myiframe' action='./flat_file_engine.php' method='POST' id='mysqlform'>
<input type='hidden' name='sql' id='sql' value='SELECT * FROM '></input>
<div id='dselect' style='background-color:lightgreen;'>SELECT SQL to process<div id=ddselect style=display:none;> (please note that clicking between non-initial WHERE clause element part bits can remove that clause and clicking WHERE itself deletes all)</div>:<br> SELECT * FROM <select name=stable onchange=' if (this.value.length > 0) { document.getElementById(\"ddselect\").style.display=\"inline\"; document.getElementById(\"suwcollist\").innerHTML=\" <a style=text-decoration:none;cursor:pointer; onclick=ocsuw();>WHERE</a> \" + this.options[this.selectedIndex].title.split(\"|\")[4].replace(/ name=/g,\" name=k\"); document.getElementById(\"sql\").value=\"SELECT * FROM \" + this.value;  document.getElementById(\"ssql\").style.display=\"inline\"; } '><option value=>Please choose flat file data table name below ...</option>" . $insideoptions . "</select><br> <div title=ClickDeletes style=display:inline; id=suwcollist></div></div><br><br>
<hr></hr>
<div id='dinsert' style='background-color:lightblue;'>INSERT SQL to process:<br> INSERT INTO <select name=itable onchange=' if (this.value.length > 0) { document.getElementById(\"icollist\").innerHTML=\"(\" + this.options[this.selectedIndex].title.split(\"|\")[0] + \")\"; document.getElementById(\"sql\").value=\"INSERT INTO \" + this.value + \" (\" + String.fromCharCode(39) + this.options[this.selectedIndex].title.split(\"|\")[0].replace(/,/g,String.fromCharCode(39) + String.fromCharCode(44) + String.fromCharCode(39)) + String.fromCharCode(39) + \") VALUES (\" + this.options[this.selectedIndex].title.split(\"|\")[1] + \")\"; document.getElementById(\"collist\").innerHTML=this.options[this.selectedIndex].title.split(\"|\")[2]; document.getElementById(\"isql\").style.display=\"inline\"; } '><option value=>Please choose flat file data table name below ...</option>" . $insideoptions . "</select> <div style=display:inline; id=icollist></div> VALUES (<div style=display:inline; id='collist'>''</div>)</div><br><br>
<hr></hr>
<div id='dupdate' style='background-color:lightgray;'>UPDATE SQL to process<div id=ddupdate style=display:none;> (please note that clicking between non-initial SET and/or WHERE clause element part bits can remove that clause)</div>:<br> UPDATE <select name=utable onchange=' if (this.value.length > 0) {  document.getElementById(\"ddupdate\").style.display=\"inline\";   document.getElementById(\"sql\").value=\"UPDATE \" + this.value + \" SET 1=1\"; document.getElementById(\"ucollist\").innerHTML=this.options[this.selectedIndex].title.split(\"|\")[3].replace(/ name=/g,\" name=u\"); document.getElementById(\"uwcollist\").innerHTML=this.options[this.selectedIndex].title.split(\"|\")[4];  document.getElementById(\"usql\").style.display=\"inline\"; } '><option value=>Please choose flat file data table name below ...</option>" . $insideoptions . "</select><br> SET <div style=display:inline; id=ucollist>1=1</div><br> WHERE <div style=display:inline; id=uwcollist>1=1</div></div><br><br>
<hr></hr>
<div id='ddelete' style='background-color:pink;'>DELETE SQL to process<div id=dddelete style=display:none;> (please note that clicking between non-initial WHERE clause element part bits can remove that clause and clicking WHERE itself deletes all)</div>:<br> DELETE FROM <select name=dtable onchange=' if (this.value.length > 0) {  document.getElementById(\"dddelete\").style.display=\"inline\";   document.getElementById(\"suwdcollist\").innerHTML=\" <a style=text-decoration:none;cursor:pointer; onclick=ocsuwd();>WHERE</a> \" + this.options[this.selectedIndex].title.split(\"|\")[4].replace(/ name=/g,\" name=y\");  document.getElementById(\"sql\").value=\"DELETE FROM \" + this.value;  document.getElementById(\"dsql\").style.display=\"inline\"; } '><option value=>Please choose flat file data table name below ...</option>" . $insideoptions . "</select><br> <div title=ClickDeletes style=display:inline; id=suwdcollist></div></div><br><br>
<hr></hr>
<input onclick=\" document.getElementById('myiframe').style.display='block'; location.href='#ssql'; \" name='ssql' id='ssql' type='submit' value='Process SELECT SQL Above' style='display:none;background-color:lightgreen;'></input>
<input onclick=\" document.getElementById('myiframe').style.display='block'; \" name='isql' id='isql' type='submit' value='Process INSERT SQL Above' style='display:none;background-color:lightblue;'></input>
<input onclick=\" document.getElementById('myiframe').style.display='block'; \" name='usql' id='usql' type='submit' value='Process UPDATE SQL Above' style='display:none;background-color:lightgray;'></input>
<input onclick=\" document.getElementById('myiframe').style.display='block'; \" name='dsql' id='dsql' type='submit' value='Process DELETE SQL Above' style='display:none;background-color:pink;'></input>
</form><iframe style='display:none;width:100%;height:1200px;' name='myiframe' id='myiframe' src='./flat_file_engine.php?first=y'></iframe>";

if ($cwhereset != "") {
  $insql=str_replace(" WHERE ", " " . $cwhereset . " WHERE ",$insql);
  $cwhereset="";
}

if ($datais != "") {
  if ($insql != "") {
    if (strpos(rev_filter($insql), "UPDATE ") !== false) {
    $whatisleft=["",$tnis];
    } else {
    $whatisleft=explode("SELECT * FROM ", str_replace("DELETE FROM ","SELECT * FROM ",rev_filter($insql)));
    }
    if (sizeof($whatisleft) > 1) {
      if ($whatisleft[1] == "") {
       $results="<p>Nothing much to do.</p><br><br>";
      } else if (strpos($insideoptions,">" . explode(" ",$whatisleft[1])[0] . "<") === false) {
       $results="<p>No data table called " . explode(" ",$whatisleft[1])[0] . " found in flat file database.</p><br><br>";
      } else {
       $results="<h4>Results for ... " . rev_filter($insql) . $gotridof . "</h4><br>";
       $jnum=0;
       for ($i=0; $i<sizeof($dbrecs); $i++) {
        if (str_replace("\n","",explode("|",$dbrecs[$i])[0]) == explode(" ",$whatisleft[1])[0]) {
          $bits=explode("|",$dbrecs[$i]);
          if (sizeof($bits) == 4) {
            $yellow="orange";
            $results.="<table border=20 cellspacing=15 cellpadding=15><thead><tr><th>#</th></tr></thead><tbody></tbody></table><br><br>";
            $cols=explode(",",$bits[1]);
            for ($j=0; $j<sizeof($cols); $j++) {
              $results=str_replace("</tr>", "<th><b>" . str_replace("\n","",$cols[$j]) . "</b></th></tr>", $results);
            }
            $rows=explode("~",$bits[3]);
            for ($j=0; $j<sizeof($rows); $j++) {
             $rowcols=explode(",", $rows[$j]);
             $show=false;
             for ($jj=0; $jj<sizeof($rowcols); $jj++) {
               if ($jj == 0) $show=isrec_relevant(reverse_filter($rows[$j]), str_replace("\n","",$bits[1]), $j, false);
             }
             if ($show) {
               $results=str_replace("</tbody>", "<tr><td><i>" . ($jnum + 1) . "</i></td></tr></tbody>", $results);
               $jnum++;
             }
             for ($jj=0; $jj<sizeof($rowcols); $jj++) {
              //$show=false;
              //if ($jj == 0) $show=isrec_relevant(reverse_filter($rows[$j]), str_replace("\n","",$bits[1]), $j, false);
              if ($show) $results=str_replace("</tr></tbody>", "<td>" . reverse_filter($rowcols[$jj]) . "</td></tr></tbody>", $results);
             }
            }
            if ($jnum == 1) {
             $results.="<h4 id=zrs>" . $jnum . " row selected.</h4>";
            } else {
             $results.="<h4 id=zrs>" . $jnum . " rows selected.</h4>";
            }
            if ($shownow < 0) $results="<h4 id=zrs>No rows found with " . rev_filter($insql) . "</h4>";
          } else {
            $results="<p>Data table called " . explode(" ",$whatisleft[1])[0] . " found in flat file database has invalid data content.</p><br><br>";
          }
        }
       }
      }
    } else if (isset($_POST['dsql']) && sizeof($dwhatisleft) == 2 && deletenow) {
      $results="<p>Record(s) deleted via " . rev_filter($insql) . ";</p><br><br>";
    } else if (isset($_POST['usql']) && sizeof($uwhatisleft) == 2) {
      if ($cwhereset != "") {
       $insql=str_replace(" WHERE ", " " . $cwhereset . " WHERE ",$insql);
       $cwhereset="";
      }
      $results="<p>Record(s) updated via " . rev_filter($insql) . ";</p><br><br>";
    } else if (isset($_POST['isql']) && sizeof($iwhatisleft) == 2) {
      $results="<p>Record inserted via " . rev_filter($insql) . ";</p><br><br>";
    } else {
      $results="<p>Nothing to do for " . rev_filter($insql) . ";</p><br><br>";
    }
  }
  echo "<!doctype html<html><head><title>Flat file data source engine - RJM Programming - April, 2017</title><scr" . "ipt type='text/javascript'> var ltitle='ClickDeletes'; " . $cfilter . " function oc(othis) { if (ltitle == 'ClickDeletes') { othis.innerHTML=String.fromCharCode(32); } ltitle='ClickDeletes';  } function ocsuw() { document.getElementById('suwcollist').innerHTML='';  }  function ocsuwd() { document.getElementById('suwdcollist').innerHTML='';  } </scr" . "ipt></head><body style='background-color:" . $yellow . ";'><h1>Flat File SQL Engine</h1><h3>RJM Programming</h3><h3>April, 2017</h3>" . $results . $ask . "</body></html>";
} else {
  echo "<!doctype html<html><head><title>Flat file data source engine - RJM Programming - April, 2017</title><scr" . "ipt type='text/javascript'> var ltitle='ClickDeletes'; " . $cfilter . " function oc(othis) { if (ltitle == 'ClickDeletes') { othis.innerHTML=String.fromCharCode(32); } ltitle='ClickDeletes';  } function ocsuw() { document.getElementById('suwcollist').innerHTML='';  }  function ocsuwd() { document.getElementById('suwdcollist').innerHTML='';  } </scr" . "ipt></head><body style='background-color:" . $yellow . ";' onload=\" alert('Sorry, but no flat file data source found.'); \"></body></html>";
}
}
?>

